Instructions to use Mayank022/personaplex-edge-q4 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Mayank022/personaplex-edge-q4 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir personaplex-edge-q4 Mayank022/personaplex-edge-q4
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
PersonaPlex Edge Q4
This repository contains a 4-bit MLX conversion of
kyutai/personaplex-rl-seamless.
It takes streaming speech as input and produces speech and text tokens as output. The
language model and embeddings stay packed at inference time and run through MLX
quantized_matmul; they are not expanded back to BF16.
I built this to answer a fairly narrow question: can PersonaPlex run a sustained local conversation on an ordinary Apple Silicon laptop? On an M4 MacBook Pro with 16 GB of unified memory, the answer is yes, with some caveats. This is not a tiny phone model. The complete artifact is 5.24 GiB, Android has no backend here yet, and a Raspberry Pi with 4 GB of RAM is too small for it.
Release details
| Field | Value |
|---|---|
| Upstream revision | 3fa800309a4b743a8a6d764253eb45def0334afc |
| Parameters | 8,371,408,896 |
| Quantization | affine Q4, group size 32, BF16 activations |
| Source weights | 15.59 GiB |
| Packed language model | 4.87 GiB |
| Complete artifact | 5.24 GiB |
| Size reduction | 2.98x |
| Runtime | MLX quantized_matmul and rustymimi |
| Audio format | 24 kHz, 80 ms frames |
| Packed model SHA-256 | 9840e8618cdff1b1251341c5970ea25c5288c794e470fc1f9087aba15967771f |
The repository includes the packed language model, Mimi codec, SentencePiece tokenizer, normalized configuration, 18 voice states, runtime code, and a manifest with the SHA-256 and size of every artifact file.
Run it on a Mac
The tested setup is an Apple Silicon Mac with 16 GB of memory and Python 3.10 through 3.12. The first clone is a little over 5 GiB.
git clone https://huggingface.co/Mayank022/personaplex-edge-q4
cd personaplex-edge-q4
uv sync
uv run personaplex-edge inspect --artifact . --verify
uv run personaplex-edge serve \
--artifact . \
--host 127.0.0.1 \
--port 8998 \
--metrics-dir outputs/live
Open http://127.0.0.1:8998, allow microphone access, choose a voice and role prompt, then
start the session. Audio remains on the machine.
What was measured
Conversion and weight validation
The published artifact was converted on a Modal NVIDIA L40S. Conversion took 45.33 seconds, numeric validation took 15.83 seconds, and packaging took 104.09 seconds. The complete job took 165.26 seconds. Modal's estimated function cost was $0.13, excluding image-build and persistent-volume charges.
All 578 eligible tensors were reconstructed and compared with the pinned BF16 checkpoint.
| Check | Result | Acceptance gate |
|---|---|---|
| Failed tensors | 0 | 0 |
| Mean normalized RMSE | 0.08292 | reported only |
| Maximum normalized RMSE | 0.10947 | at most 0.12 |
| Minimum cosine similarity | 0.99400 | at least 0.985 |
These checks catch missing tensors, bad name mapping, corrupt files, and excessive weight error. They do not measure conversational quality.
Apple M4 streaming benchmark
The deployment benchmark used 14 fixed English recordings, voice NATF2, fixed seeds, and a
six-second response tail. Mimi encode, model inference, and Mimi decode ran as three ordered
pipeline stages.
| Metric | Result |
|---|---|
| Cases and frames | 14 and 1,420 |
| Aggregate stream RTF | 0.8589 |
| Steady-state output RTF | 0.8326 |
| Mean output interval | 66.61 ms |
| p95 output interval | 83.06 ms |
| Strict 80 ms deadline misses | 108/1,406 (7.68%) |
| Model load time | 3.01 s |
| Peak MLX allocation | 5.03 GiB |
RTF below 1 means the pipeline sustained real-time throughput on that machine. The p95 output interval is slightly over one frame, so the browser uses a small playback buffer. A separate paced WebSocket test delivered 53/53 frames with no underruns, 102 ms mean frame latency, and 259 ms to first generated audio.
The M4 test predates the final Hub upload, but the packed model, Mimi codec, NATF2 voice,
tokenizer, and configuration used in that test are byte-identical to this release.
Exact-artifact English evaluation
The Hub artifact was run again after conversion on a Modal L40S. It completed all 14 cases and
emitted all 1,420 requested audio frames. Whisper.cpp Small English then transcribed the
downloaded outputs. The ASR checkpoint SHA-256 is
c6138d6d58ecc8322097e0f987c32f1be8bb0a18532a3f88f734d1bbf9c41e5d.
| Metric | Result |
|---|---|
| Nonempty model text | 14/14 |
| Nonempty output ASR | 14/14 |
| Model-text to output-ASR WER | 6.57% |
| Expected-keyword coverage | 52.38% |
| Input recording ASR WER | 5.48% |
| Mean active-audio fraction | 49.94% |
| Mean clipping fraction | 0.00% |
The keyword check caught two obvious semantic misses. The snow response described winter without explaining snow, and the quantum-mechanics prompt received an answer about kinetic energy. The other automatic scores do not cancel those failures. This is a small smoke set, not a factuality benchmark or a human listening study.
The serial Modal loop reported RTF 1.63. That number is included in eval/ for reproducibility,
but it is not the edge throughput result: MLX CUDA streams are thread-local, so this control
could not use the three-stage Metal pipeline measured on the M4.
Matched Q4 and BF16 control
Q4 and the original BF16 checkpoint were run on the same L40S with the same inputs, prompts, voices, seeds, codec, and generator path.
| Metric | Q4 | BF16 |
|---|---|---|
| Expected-keyword coverage | 52.38% | 52.38% |
| Output-ASR WER | 6.57% | 4.37% |
| Mean model stage | 23.47 ms | 33.78 ms |
| Peak MLX allocation | 5,135.89 MB | 16,112.65 MB |
| Runtime load | 2.75 s | 17.84 s |
Q4 cut peak MLX allocation by 68.13% and made the model stage 1.44 times faster. Its output-ASR WER was 2.20 percentage points worse. With only 14 prompts and sampled generation, this is evidence of a tradeoff, not proof that Q4 and BF16 have equal conversational quality.
Known limits
- The runtime is MLX-only and has been measured on one Apple M4 MacBook Pro.
- Android needs a separate native backend, audio integration, and sustained thermal tests.
- The artifact cannot fit in 4 GB of RAM. It is not a Raspberry Pi 4 GB release.
- The automatic English set is small, clean, and mostly synthetic.
- There is no blinded MOS, speaker-similarity, accent, noise, interruption, or preference study.
- Responses are capped by a six-second tail, so some samples end mid-sentence.
- Voice and role prefill takes several seconds and is separate from streaming RTF.
- PersonaPlex can produce incorrect or unrelated answers. Do not use it for high-stakes advice.
License and attribution
The model weights are not MIT-licensed. They inherit both CC BY-NC 4.0 and the NVIDIA Open
Model License from the upstream model lineage. Commercial use is not permitted under the
CC BY-NC 4.0 terms. Read MODEL_LICENSE.md and the
upstream model card
before downloading or redistributing the files.
The original conversion, evaluation, and serving code in src/personaplex_edge is MIT-licensed.
That code license does not replace or weaken the model-weight licenses.
Citation
@article{ohashi2026multifaceted,
title={Multi-Faceted Interactivity Alignment in Full-Duplex Speech Models},
author={Ohashi, Atsumoto and Zeghidour, Neil and D\'efossez, Alexandre and Kharitonov, Eugene},
journal={arXiv preprint arXiv:2606.11167},
year={2026}
}
Please also cite the upstream PersonaPlex and Moshi work when this conversion is used in a paper or public benchmark.
- Downloads last month
- 17
Quantized
Model tree for Mayank022/personaplex-edge-q4
Base model
kyutai/moshiko-pytorch-bf16