RFD4-Proteina, now on your Mac
Test RFD4-Proteina locally on your Mac before scaling to NVIDIA GPUs. BIOS brings MLX, custom Metal acceleration, and local structure screening to Apple silicon.
By Geeve George

BIOS is bringing RFD4-Proteina to Apple silicon. Our MLX/Metal port puts binder generation and local structure screening on a MacBook, so researchers and developers can test locally before deploying a larger pipeline on NVIDIA GPUs.
On our M5 Pro, an 80-residue design took 20.8 seconds on average: 2.2× faster than stock PyTorch-MPS at its default precision. A complete run generated 20 designs, screened them locally with Boltz-2, and exported a ranked, diverse shortlist in 12 minutes, 4 seconds. After setup, the workflow can run offline.
Get the Mac port on Hugging Face
RFD4-Proteina was developed by the Baker Lab at the University of Washington’s Institute for Protein Design and NVIDIA GenAIR. Our port brings it to Apple silicon with an MLX/Metal implementation and a complete local workflow.
Why RFD4 is our top pick for binder design
RFD4-Proteina generates amino-acid sequences and all-atom structures together. A learned, compact representation connects residue identity with local geometry, so sequence and structure can develop in the same generation process. That removes the separate sequence-design handoff required by some earlier workflows. Read the original model card.
Its strengths go beyond protein backbones. The model can work with molecular contexts containing modified amino acids, glycans, nucleic acids, and small molecules. It also supports recurrent refinement: spending additional computation on a design as it takes shape. Optional search can branch trajectories and retain candidates that satisfy external scoring criteria.
The upstream benchmarks reward distinct passing structures, making diversity part of the result. Under the authors’ AF3 evaluation, high-thinking RFD4-Proteina reports:
- Protein binding: 10.6% clustered pass rate, compared with 5.9% for BindCraft.
- Enzyme scaffolding: 12.1%, compared with 5.7% for AlphaProtein-novo.
- Small-molecule binding: 14.3%, compared with 2.4% for RFdiffusion3.
- DNA binding: 3.5%, compared with 0.8% for BoltzGen.
The benchmark explorer defines a clustered pass rate as distinct passing folds divided by attempted designs, averaged across targets. The authors also report experimental validation: for example, 158 of 188 designs bound human TrkA below 1 µM in their unconstrained campaign. That finding belongs to the original study, currently a preprint.
The RFD4 Proteina Mac Port
To our knowledge, this is the first RFD4-Proteina MLX port with custom Metal acceleration and published comparisons against both PyTorch-MPS and CUDA. Earlier Mac work includes an RFdiffusion3 MLX port; our release targets the new RFD4-Proteina model.
We reimplemented the recurrent transformer trunk—the part responsible for about 96% of generation time in our profiling—in MLX. The port compiles each pass, uses FP16 for the trunk, and fuses operations to reduce overhead. Features, sampling, prediction heads, and the decoder retain the upstream PyTorch implementation and run through MPS.
We also wrote a custom Metal 4 tensor-operation matrix-multiplication kernel for M5-class GPUs. It activates only when the GPU is supported and a startup self-test passes; other machines use MLX’s own matrix operations. This is engineering specifically for Apple’s GPU. The original NVIDIA implementation already has its own CUDA optimizations.
The overall 2.2× speedup comes from the implementation as a whole. The isolated custom-kernel gain was modest: roughly 0–10%, with one paired test measuring 1.11× and no visible gain in two longer runs. We publish that distinction, along with the raw timings and unsuccessful approaches, in BENCHMARKS.md.
BIOS RFD4 Mac port compared to PyTorch MPS
The measured task was 80-residue designs against the GLP-1R extracellular domain, using 60 sampling steps and medium/front-loaded recycling. Hardware: MacBook Pro, M5 Pro, 20-core GPU, 48 GB unified memory, macOS 26.4.1.

- BIOS MLX/Metal: 20.8 seconds per design; 95% interval 18.4–21.7 seconds.
- Stock PyTorch-MPS, BF16 mixed precision: 46.5 seconds; interval 38.3–54.3 seconds.
- Stock PyTorch-MPS, FP32: 66.8 seconds; interval 62.0–70.0 seconds.
The baselines use unmodified upstream PyTorch on MPS, without compilation or tuning. Our trunk uses FP16 while the remaining PyTorch stages use FP32, so this compares practical implementations, not identical precision settings. The 2.2× speedup has a reported 95% interval of 1.8–2.7×; the small, single-machine study leaves uncertainty from thermal state and repeated measurements. M1–M4 speedups have not been measured.
What the quality metrics tell us
A fast generator is useful only if its outputs remain worth evaluating. We compared 100 designs per implementation on the same task, using independent structure predictors:
- ESMFold designability: 86% for MLX FP16, 81% for CUDA BF16, and 82% for CUDA FP32. A pass required the binder alone to refold within 2 Å Cα-RMSD and have pLDDT above 70.
- Boltz-2 pose agreement: 75% for MLX, 64% for CUDA BF16, and 68% for CUDA FP32. Here the complex prediction had to reproduce the designed pose within 5 Å. This comparison used cloud GPU evaluation with a target MSA.
The differences were not statistically significant. The result supports no detected degradation in this test, rather than proof of equivalence or improved biology. Against CUDA BF16, the 95% interval for the designability difference was −5 to +15 percentage points.
For readers tracking ipSAE—interaction prediction Score from Aligned Errors—it is useful to distinguish the measurements:
- ipSAE: assesses inter-chain confidence from predicted aligned errors, using a PAE cutoff and adjusted length normalization. Higher is better. We do not report an ipSAE benchmark for this port; ipTM is not a substitute measurement. Dunbrack Lab’s metric and implementation.
- ipTM and interface PAE: describe confidence in the relative arrangement of interacting chains. Higher ipTM and lower interface PAE are favorable.
- pLDDT and RMSD: answer different questions. pLDDT measures local prediction confidence; RMSD measures geometric disagreement between structures, in ångströms. High confidence alone does not establish that the intended pose was recovered.
Our on-device Boltz-2 screen uses ipTM ≥ 0.8, mean interface PAE ≤ 6 Å, and pose agreement within 5 Å. On the tested target, 66/100 designs and 0/30 residue-shuffled controls passed; the design pass-rate interval was 56–75%. The target is supplied as a structural template without an MSA, so this screen cannot diagnose a wrong target conformation. These are computational screening results, not binding rates, and they do not reproduce the upstream AF3 benchmark.
Try it on your Mac
Start with the Hugging Face release, which contains the code, examples, benchmarks, and installation guide. Use an Apple-silicon Mac; 16 GB or more unified memory is recommended. MLX requires macOS 14+, while this release’s measurements come from macOS 26.4.1 on an M5 Pro. The custom tensor-operation kernel requires M5-class hardware. Budget about 9 GB of disk space for the full workflow. First setup took roughly 30–45 minutes on our connection, mostly downloads.
Install uv first. From a fresh working directory in Terminal:
uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install huggingface_hub
export HF_HUB_DISABLE_XET=1
hf download bios-labs/RFD4-Proteina-MLX-fp16 --local-dir rfd4-mlx
uv pip install ./rfd4-mlx
hf download nvidia/RFD4-Proteina \
model.safetensors config.json LICENSE \
release-checkpoints.json provenance.json inference.yaml
The download flag disables Xet downloads, which were slow in our setup tests. The install also brings in the upstream RFD4 package. Our clean-room setup had Xcode Command Line Tools installed; the model card records the tested environment.
For a first generation run, use the supplied example:
cd rfd4-mlx/examples
python -m rfd4_mlx.generate \
inputs=glp1r_binder80.yaml \
num_replicates=1 out_dir=./first-run
This generates a candidate using the bundled input; it does not run the local Boltz-2 screen. To add screening, install its separate local environment once:
python -m rfd4_mlx.setup_oracles boltz
Then follow BINDER_PIPELINE.md to supply your own target file and residue selection. The complete pipeline writes ranked.csv, report.md, and the selected design and co-folded structures. Keep the report with the structures so the screening assumptions travel with the result. After all required downloads, export HF_HUB_OFFLINE=1 enforces offline Hugging Face lookups.
Built on open science
RFD4-Proteina was introduced by co-first authors Nathaniel Corley, Kieran Didi, Maxwell W. Kazman, and Rafael I. Brent, and the wider Baker Lab, Institute for Protein Design, and NVIDIA GenAIR collaboration. Read and cite their paper, source repository, and original weights. The model and port use BSD-3-Clause; the other tools retain their own licenses.
BIOS’s contribution is the Apple-silicon implementation, custom Metal work, local workflow, and published performance and fidelity checks. We believe local AI and local experiments have a central place in the future of science. This port is a practical step toward that future: helping researchers test ideas, inspect results, and build their own tools on the laptop already on their desk.
Follow BIOS on X for new releases, experiments, and updates from the team.