All models

EEG reconstruction · Five profiles

ZUNA · Core ML

Five profiles, each checked against the original.

The original ZUNA reconstruction model as five enumerated Core ML profiles, from a 14-channel EPOC X layout to 64 channels.

Open on Hugging Face
Upstream
Zyphra ZUNA · 380M
Profiles
14, 16, 32, 64 channels
Precision
fp16, plus a 64-channel fp32 reference
Parity
20-step diffusion vs PyTorch
License
Apache-2.0
Updated
18 Aug 2026

Overview

ZUNA is Zyphra’s 380M-parameter masked diffusion autoencoder, trained on roughly two million channel-hours of public EEG. From a subset of channels and their positions it denoises, fills in dropped channels, and predicts new ones.

This release converts it into enumerated Core ML profiles, one fixed shape per channel count, so an app picks the profile that matches its headset.

Fig. 01 · Illustration

Fourteen electrodes, three missing

ZUNA takes the channels that were recorded, with their 3D positions, and estimates the ones that were not by iterative denoising.

AF3F7F3FC5T7P7O1O2P8T8FC6F4F8AF4
5 s window · 256 Hzstep 20 / 20
F3measured
T7estimated
O2estimated
F4estimated
P8measured
Electrode positions are the real EPOC X layout (MNE standard_1005). The traces are synthetic, drawn to show the task: not recorded EEG and not model output.

Profiles and parity

Every published profile was run against the original PyTorch weights for a 20-step diffusion loop and gated on the relative L2 error of the final latent. Lower-channel fp16 profiles are best for quick mobile validation; the fp32 profile is a high-fidelity reference.

Fig. 02 · Parity

Every profile, gated against PyTorch

Relative L2 error of the final latent after a 20-step diffusion loop, on a log scale. Lower is better.

14ch-fp16560 tokens · [1, 560, 32]

0.011380Pass

16ch-fp16640 tokens · [1, 640, 32]

0.006580Pass

32ch-fp161,280 tokens · [1, 1280, 32]

0.005629Pass

64ch-fp162,560 tokens · [1, 2560, 32]

0.004366Pass

64ch-fp322,560 tokens · [1, 2560, 32]

0.000002Pass

Source: the ZUNA Core ML model card, Validation.
View as table
ProfileMAERelative L2GateResult
14ch-fp160.0062580.0113800.012Pass
16ch-fp160.0048430.0065800.010Pass
32ch-fp160.0041890.0056290.010Pass
64ch-fp160.0032650.0043660.010Pass
64ch-fp320.0000010.0000020.005Pass

How it works

Fig. 03 · Inference

Encode once, denoise N times

  1. 01

    EEG window

    5 s · 256 Hz · C channels

  2. 02

    Tokens

    32 samples each · {x, y, z, t}

  3. 03

    ZunaEncoder

    runs once

  4. 04

    ZunaDecoderStep

    repeated N diffusion steps

  5. 05

    Signal

    denoised and estimated channels

Throughput depends strongly on N. Fewer steps are useful for rapid iteration; more steps improve reconstruction.
PackageRole
ZunaEncoderEncodes the tokenized EEG context, once
ZunaDecoderStepOne denoising step of the diffusion loop
ZunaDecoderStepUpdateA decoder step plus the Euler update, z ← z − dt · v, for a minimal host loop

Input contract

Sampling rate
256 Hz
Window
5 seconds, 1,280 samples
Tokens
40 per channel; tok_idx = {x, y, z, t}
Positions
3D electrode coordinates are required
Normalization
data_norm = 10, as upstream

Know the boundaries

  • Throughput depends strongly on the number of diffusion steps; fewer steps are faster and coarser.
  • Reconstructed channels are estimates, not measurements.
  • Research and engineering use only; not validated for medical diagnosis, treatment, or clinical decisions.

About this page

Summarized from the public model card and its published files. Repository updated 18 Aug 2026; reviewed 26 Sep 2026. The Hugging Face card is the source of truth for licenses and current details.

Upstream: Zyphra / ZUNA