SAVRN
Search Contact SAVRN

Open-weight model · Image and text to text

Jev-Omni-MLX-4bit

by Ruiruiz30 Ruiruiz30/Jev-Omni-MLX-4bit

Jev-Omni-MLX-4bit is an open-weight model for image and text to text from Ruiruiz30, released under Apache License 2.0. It has 12B parameters and a 262,144-token context. At 16-bit it needs about 28.7 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

An Apple Silicon MLX conversion of akhilaaa3/Jev-Omni for local inference on a Mac mini with 16GB unified memory.

Parameters12B
Context262,144
Weights6.8 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads

Runs On

What it takes to serve Jev-Omni-MLX-4bit (12B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 23.9 GB 28.7 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 12.0 GB 14.4 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 6.0 GB 7.2 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Sep 24, 2026.

Jev-Omni-MLX-4bit on every accelerator the SAVRN Index prices, at every precision

Model Card

By Ruiruiz30, published under apache-2.0, revision 3ec255958b8b.

An Apple Silicon MLX conversion of akhilaaa3/Jev-Omni for local inference on a Mac mini with 16GB unified memory. This repository keeps the upstream Jev-Omni unified multimodal checkpoint and its trained 256-way decision head, then converts the language-model weights to 4-bit affine quantization with group size 64. The vision weights remain BF16 and the decision head remains FP32. It is an independent conversion. It is not an official TypeSafe Jev release and does not claim to reproduce TypeSafe's proprietary system. It is also not a new fine-tune. - Mac mini, Apple M4, 10 CPU cores, 16GB unified memory - macOS 26.5.1 - Python 3.13.12 - MLX 0.32.2 - MLX-VLM 0.7.1 - single request, batch…

Read Ruiruiz30's full model card

An Apple Silicon MLX conversion of akhilaaa3/Jev-Omni for local inference on a Mac mini with 16GB unified memory.

This repository keeps the upstream Jev-Omni unified multimodal checkpoint and its trained 256-way decision head, then converts the language-model weights to 4-bit affine quantization with group size 64. The vision weights remain BF16 and the decision head remains FP32.

It is an independent conversion. It is not an official TypeSafe Jev release and does not claim to reproduce TypeSafe's proprietary system. It is also not a new fine-tune.

Hardware and speed

Measured on:

  • Mac mini, Apple M4, 10 CPU cores, 16GB unified memory
  • macOS 26.5.1
  • Python 3.13.12
  • MLX 0.32.2
  • MLX-VLM 0.7.1
  • single request, batch size 1, no token generation

Ten warm requests were measured after one warm-up request. The image test used the recommended 20 visual-token budget and a 3-option question.

Mode Median P95 Peak Metal memory
Text decision ~963 ms ~998 ms ~7.0 GB
Image decision, 20 visual tokens ~994 ms ~1,021 ms ~7.0 GB

The first request includes MLX graph and memory warm-up. On the same machine, a 70-token image request is slower (roughly 1.8 seconds warm in an earlier run). Lowering visual tokens reduces latency but can lose small details; validate on your own game frames.

The published Jev-Omni H200 numbers are not transferable to this Mac mini. This model card reports local measurements only.

Results

The public JevBench files were evaluated with the same typed-choice mapping used by the runtime. Temperature scaling changes probabilities only; it does not change the selected option.

Benchmark Accuracy / state macro Micro accuracy ECE-10
JevBench public · 195 groups / 231 decisions 85.90% 87.88% 0.04497 raw / 0.03069 scaled
DecisionBench Medium · 293 questions Full run not published

The JevBench result is our local public-set measurement, not a claim that the 4-bit MLX conversion reproduces the upstream card's protocol. The upstream Jev-Omni card reports its own merged-model result separately. Dataset revisions, item filtering and scoring splits must match before comparing the numbers.

Validation

  • Upstream unified verification cases: 4/4 argmax decisions matched after 4-bit conversion.
  • Six simple red/blue/green circle and square image checks: 6/6 color decisions matched.
  • Maximum absolute probability difference on the four upstream text cases: 0.244 in this small check.
  • Public JevBench v1.2 public items (195 groups / 231 decisions) were re-run locally. Raw micro accuracy was 87.88% and group-macro accuracy was 85.90%. Raw ECE-10 was 0.04497.
  • A single global temperature was fit on even source rows (116 items) and checked on odd rows (115 items): T=1.11517. On all 231 items, ECE-10 was 0.03069 after scaling; the held-out ECE was 0.06774 versus raw 0.06261, so this is a published post-hoc calibration artifact, not a universal confidence guarantee.
  • DecisionBench medium was started with the original full states; an exact checkpoint (68/293 questions, 0 errors) is under artifacts/benchmarks/runs/ in the source project. The partial aggregate is deliberately not presented as the official complete score because long states take tens of seconds to minutes on a 16GB Mac.
  • The runtime supports the published temperature file through --calibration calibration.json. Accuracy/argmax is unchanged by temperature scaling; only the returned probability distribution changes.

Installation

This release is intended for Apple Silicon. Download the repository and install the small MLX runtime:

hf download Ruiruiz30/Jev-Omni-MLX-4bit \
  --local-dir Jev-Omni-MLX-4bit

cd Jev-Omni-MLX-4bit
python3.13 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Image decision

python -m omni_mlx.classifier \
  --model . \
  --calibration calibration.json \
  --image /path/to/frame.png \
  --state "A kart is approaching a right turn." \
  --question "Which steering action is best?" \
  --options "Turn left" "Hold center" "Turn right" \
  --image-tokens 20

The classifier returns candidate probabilities and the selected option. It does not generate a free-form explanation. Use --image-tokens 70 when the scene contains small or dense visual details.

Omit --calibration to inspect the raw quantized probabilities. The included calibration file was fit only on the public JevBench split described above; it is not trained on a user's game or on private benchmark items.

Benchmark artifacts

  • benchmarks/jevbench-4bit-report.json contains the raw and temperature-scaled aggregate metrics.
  • calibration.json is the small runtime file consumed by --calibration.
  • The benchmark runner and raw checkpoints remain in the source project so the long DecisionBench run can be resumed without putting the full benchmark text into this model repository.

Calibration

Temperature scaling was fit on 116 even-indexed public JevBench rows and checked on 115 odd-indexed rows. The fitted temperature is T=1.11516790625. On the full public set, ECE-10 moves from 0.04497 to 0.03069; on the held-out split it moves from 0.06261 to 0.06774. This is a transparent post-hoc calibration file, not a guarantee of calibrated confidence on game footage.

Local conversion code

omni_mlx/convert.py contains the conversion path used for this release. The original unquantized checkpoint is not bundled here; it can be obtained from the upstream repository under its own license and terms.

License and attribution

Apache-2.0. See LICENSE and NOTICE.md. The upstream model card, Gemma 4 terms, and dataset rights remain authoritative for their respective components.

Configuration

Architecture
Gemma4UnifiedForConditionalGeneration
Context length (tokens)
262,144
Layers
48
Hidden size
3,840
Feed-forward size
15,360
Attention heads
16
Key/value heads
8
Head dimension
256
Vocabulary size
262,144
Sliding window (tokens)
1,024
Model type
gemma4_unified

Identity and Version

Repository
Ruiruiz30/Jev-Omni-MLX-4bit
Publisher
Ruiruiz30
Task
Image and text to text
Modality
Image and text
Library
mlx
Parameters
12B parameters
Languages
mlx
Revision
3ec255958b8b650e8d01be10af7e11741867ce3f
First published
2026-09-23
Last updated
2026-09-24

Files and Weights

45 files, 6.8 GB in total. The weights are 17 files totalling 6.8 GB in safetensors.

Weights17 files · 6.8 GB
Configuration11 files · 150.3 KB
Tokenizer2 files · 32.2 MB
Documentation3 files · 18.4 KB
Other11 files · 61.9 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
decision_head/weights.safetensorsWeights4.0 MB 21ee232647cd
weights-001.safetensorsWeights600.6 MB fdb0abb73a09
weights-002.safetensorsWeights411.5 MB 8ce22e87811e
weights-003.safetensorsWeights421.5 MB 89ea0ae6aec9
weights-004.safetensorsWeights411.5 MB a176555c9df5
weights-005.safetensorsWeights410.4 MB cd17b1be4ab7
weights-006.safetensorsWeights415.9 MB f0ea90160454
weights-007.safetensorsWeights421.5 MB 11c415ff671f
weights-008.safetensorsWeights411.5 MB 7891f4536440
weights-009.safetensorsWeights410.4 MB 9b04affc543c
weights-010.safetensorsWeights415.9 MB d8dcbae18026
weights-011.safetensorsWeights421.5 MB 9d7c18bd26c8
weights-012.safetensorsWeights411.5 MB d0c452c1abcc
weights-013.safetensorsWeights410.4 MB 114c9752669f
weights-014.safetensorsWeights415.9 MB 85134bc69f35
weights-015.safetensorsWeights431.4 MB ed1833b87918
weights-016.safetensorsWeights382.3 MB 46438c76c4ed
benchmarks/jevbench-4bit-report.jsonConfiguration10.9 KB
calibration.jsonConfiguration311 B
config.jsonConfiguration4.6 KB
conversion.jsonConfiguration315 B
generation_config.jsonConfiguration260 B
model.safetensors.index.jsonConfiguration117.4 KB
omni_mlx/__init__.pyConfiguration71 B
omni_mlx/classifier.pyConfiguration7.7 KB
omni_mlx/convert.pyConfiguration6.1 KB
processor_config.jsonConfiguration1.4 KB
verification_unified.jsonConfiguration1.3 KB
LICENSEDocumentation11.4 KB
NOTICE.mdDocumentation600 B
README.mdDocumentation6.4 KB
assets/jevbench-accuracy.svgOther3.2 KB
assets/jevbench-calibration.svgOther4.7 KB
assets/local-latency.svgOther2.7 KB
chat_template.jinjaOther18.7 KB
omni_mlx/__pycache__/__init__.cpython-310.pycOther189 B
omni_mlx/__pycache__/__init__.cpython-313.pycOther221 B
omni_mlx/__pycache__/classifier.cpython-310.pycOther6.2 KB
omni_mlx/__pycache__/classifier.cpython-313.pycOther10.6 KB
omni_mlx/__pycache__/convert.cpython-310.pycOther5.3 KB
omni_mlx/__pycache__/convert.cpython-313.pycOther10.1 KB
requirements.txtOther51 B
.gitattributesRepository1.6 KB
tokenizer.jsonTokenizer32.2 MB cc8d3a0ce364
tokenizer_config.jsonTokenizer3.7 KB

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
6.8 GB
Download from Ruiruiz30

Released by Ruiruiz30 through its official repository on Hugging Face. Read the license.

Built From

  • Derived from akhilaaa3/Jev-Omni
  • Quantized from akhilaaa3/Jev-Omni

Memory Requirements

PrecisionWeights in memory
As published6.8 GB
16-bit23.9 GB
8-bit12.0 GB
4-bit6.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Jev-Omni-MLX-4bit

How much GPU memory does Jev-Omni-MLX-4bit need?

About 28.7 GB at 16-bit and 7.2 GB at 4-bit: the weights (12B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run Jev-Omni-MLX-4bit on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use Jev-Omni-MLX-4bit commercially?

Yes. Jev-Omni-MLX-4bit is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is Jev-Omni-MLX-4bit's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Image and text to text

SDRPN-Gemma-4-12B

Yuhengsss

Papers: https://arxiv.org/abs/2609.19745 (Vision-RL²) · https://arxiv.org/abs/2509.16944 (SD-RPN) SD-RPN stage-1 checkpoint: a self-distilled RoI predictor twig (K = 27, T = 3) trained on a frozen, encoder-free google/gemma-4-12B-it. This is the initialisation of the Vision-RL² RL run The backbone weights are unchanged from the base model; only the three attached twig blocks are trained, from self-distilled attention pseudo-labels (no human RoI annotation). The Gemma stage-1 driver trains the delta and its assemble stage turns it into the full directory; both forms are published so you can start from either. These weights need the modeling code in YuHengsss/VisionRL2. They are not loadable…

Open weights apache-2.0 12.6B parameters 262,144 tokens

Model · Image and text to text

SDRPN-Qwen3.5-9B

Yuhengsss

Papers: https://arxiv.org/abs/2609.19745 (Vision-RL²) · https://arxiv.org/abs/2509.16944 (SD-RPN) SD-RPN stage-1 checkpoint: a self-distilled RoI predictor twig (K = 21, T = 3) trained on a frozen Qwen/Qwen3.5-9B. This is the initialisation of the Vision-RL² RL run YuhengSSS/VisionRL2-Qwen3.5-9B. The backbone weights are unchanged from the base model; only the three attached twig blocks are trained, from self-distilled attention pseudo-labels (no human RoI annotation). These weights need the modeling code in YuHengsss/VisionRL2. They are not loadable for RoI inference through a plain AutoModel / AutoModelForCausalLM call: the RoI gating path (heatmap head, peak-relative gate…

Open weights apache-2.0 10B parameters 262,144 tokens

Model · Image and text to text

VLX-Seek-1.5-10B

OmAI Lab

VLX-Seek-1.5-10B is the open-source 10B model in the VLX-Seek 1.5 family, designed for fine-grained perception and visual grounding in embodied scenarios. It targets practical settings such as drones, robots, robotic dogs, surveillance cameras, inspection systems, and other edge-side visual intelligence applications where a model must identify what is present, localize the right instance, and avoid grounding objects that are absent. Unlike coordinate-generation-based VLMs that directly decode bounding-box numbers, VLX-Seek reformulates localization as region retrieval and region reference. Candidate visual regions are represented as addressable entities, and the model answers by selecting…

Open weights apache-2.0 10B parameters 262,144 tokens transformers

Model · Image and text to text

Qwen3.5-9B

Qwen

Over recent months, we have intensified our focus on developing foundation models that deliver exceptional utility and performance. Qwen3.5 represents a significant leap forward, integrating breakthroughs in multimodal learning, architectural efficiency, reinforcement learning scale, and global accessibility to empower developers and enterprises with unprecedented capability and efficiency. For more details, please refer to our blog post Qwen3.5. WMT24++: a harder subset of WMT24 after difficulty labeling and rebalancing; we report the averaged scores on 55 languages using XCOMET-XXL. Empty cells (--) indicate scores not yet available or not applicable. Empty cells (--) indicate scores not…

Open weights apache-2.0 9.7B parameters 262,144 tokens transformers

Model · Image and text to text

Qwen3.5-9B-AWQ

QuantTrio

This repo quantizes the model using data-free quantization technique. As of 2026-02-25, make sure your system has cuda12.8 installed. Then, create a fresh Python environment (e.g. python3.12 venv) and run: Over recent months, we have intensified our focus on developing foundation models that deliver exceptional utility and performance. Qwen3.5 represents a significant leap forward, integrating breakthroughs in multimodal learning, architectural efficiency, reinforcement learning scale, and global accessibility to empower developers and enterprises with unprecedented capability and efficiency. For more details, please refer to our blog post Qwen3.5. WMT24++: a harder subset of WMT24 after…

Open weights apache-2.0 9.7B parameters 262,144 tokens transformers

Model · Image and text to text

q35-sr-step24

Trxcc2002

This repository contains the completed training step25 HF export. The repository name retains step24 for compatibility with the requested upload destination. Optimizer and scheduler state are not included.

Open weights 9.7B parameters 262,144 tokens transformers