ToPo-ToPo's picture
Add/standardize MTP usage with the model's matching drafter
868f376 verified
|
Raw
History Blame Contribute Delete
2.54 kB
---
license: gemma
base_model: google/gemma-4-31b-it
library_name: mlx
tags:
- mlx
- vision
pipeline_tag: image-text-to-text
---
# ToPo-ToPo/gemma-4-31b-it-mlx-bf16
MLX **bf16** conversion of [`google/gemma-4-31b-it`](https://huggingface.co/google/gemma-4-31b-it) for Apple Silicon (mlx-vlm).
## Provenance (self-converted from official weights)
- Source: [`google/gemma-4-31b-it`](https://huggingface.co/google/gemma-4-31b-it) (license: gemma)
- Tool: `mlx-vlm 0.6.3``mlx_vlm.convert --hf-path google/gemma-4-31b-it --mlx-path . --dtype bfloat16`
- Effective: **16.0 bits/weight**
- Validation: reproduced geometrically exact CAD output in an agentic CAD+FEM pipeline
(volumes match the reference mlx-community conversion).
## Usage
```python
from mlx_vlm import load, generate
model, processor = load("ToPo-ToPo/gemma-4-31b-it-mlx-bf16")
```
## License
This is a derivative of Google **Gemma**. Use is governed by the [Gemma Terms of Use](https://ai.google.dev/gemma/terms) and the [Gemma Prohibited Use Policy](https://ai.google.dev/gemma/prohibited_use_policy). Weights were converted/quantized to MLX format (modification notice per the Gemma Terms).
## ⚡ Faster generation with MTP (speculative decoding, lossless)
**Recommended drafter: `google/gemma-4-31b-it-assistant`** — Google's official MTP drafter for this
model. It loads **directly in mlx-vlm (no conversion needed)** and gives up to
~3x faster generation (≈1.4–1.5x measured on short prompts); output is
**identical** to non-MTP decoding.
```python
# requires: pip install "mlx-vlm>=0.6.3"
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config
model, processor = load("ToPo-ToPo/gemma-4-31b-it-mlx-bf16")
draft_model, _ = load("google/gemma-4-31b-it-assistant")
config = load_config("ToPo-ToPo/gemma-4-31b-it-mlx-bf16")
prompt = apply_chat_template(processor, config, "Hello!", num_images=0)
out = generate(model, processor, prompt,
draft_model=draft_model, draft_kind="mtp", max_tokens=256)
```
CLI (draft_kind auto-detected):
`mlx_vlm.generate --model ToPo-ToPo/gemma-4-31b-it-mlx-bf16 --draft-model google/gemma-4-31b-it-assistant`
### Notes
- `draft_kind="mtp"` is required in the Python API (the CLI auto-detects it).
- Use **this model's own** drafter above — drafters are size-specific and not interchangeable across Gemma 4 variants.
- Needs **mlx-vlm >= 0.6.3**. MTP is lossless — if output differs from non-MTP, your versions are mismatched.