Image-Text-to-Text
MLX
Safetensors
gemma4
mlx-vlm
4-bit precision
quantized
affine
snowfox
conversational
Instructions to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit") config = load_config("MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "MichaelAnthony/gemma4-e2b-Snowfox-MLX-4bit" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Update README for corrected quantization (527 layers, embeddings quantized)
Browse files
README.md
CHANGED
|
@@ -35,18 +35,19 @@ tokenizer needed by MLX-VLM.
|
|
| 35 |
|
| 36 |
## What is quantized
|
| 37 |
|
| 38 |
-
- **
|
| 39 |
-
projectors) are 4-bit affine quantized:
|
| 40 |
-
word, low nibble first) + float16
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
|
|
|
| 45 |
|
| 46 |
## Package contents
|
| 47 |
|
| 48 |
-
- `model-00001-of-
|
| 49 |
-
|
| 50 |
- `model.safetensors.index.json`: complete shard map.
|
| 51 |
- `config.json` (with `quantization` + `quantization_config`), `generation_config.json`,
|
| 52 |
`processor_config.json`, tokenizer files, and `chat_template.jinja`.
|
|
@@ -56,13 +57,13 @@ tokenizer needed by MLX-VLM.
|
|
| 56 |
The conversion host has no Apple-Silicon MLX runtime, so the quantized package
|
| 57 |
was structurally validated before upload:
|
| 58 |
|
| 59 |
-
- 1,951 source tensors mapped with no missing or extra keys;
|
| 60 |
-
|
| 61 |
- Quantized weight format matches the MLX affine contract: 4-bit values packed
|
| 62 |
8-per-`uint32` (low nibble first), dequantization `scale * q + bias`, group 64.
|
| 63 |
-
- Round-trip dequantization of sampled layers (
|
| 64 |
-
the source weights to within
|
| 65 |
-
-
|
| 66 |
|
| 67 |
**Apple-Silicon MLX-VLM inference has not been run.** Treat this as a
|
| 68 |
structurally validated quantization pending a real Apple-Silicon text / image /
|
|
|
|
| 35 |
|
| 36 |
## What is quantized
|
| 37 |
|
| 38 |
+
- **527 linear and embedding layers** (`q/k/v/o` projections, MLP gate/up/down,
|
| 39 |
+
multimodal projectors, and the large embeddings) are 4-bit affine quantized:
|
| 40 |
+
packed `uint32` `weight` (8 values per word, low nibble first) + float16
|
| 41 |
+
`scales`/`biases`.
|
| 42 |
+
- **Layer norms, convolutions, and biases stay float16** — matching MLX-VLM's
|
| 43 |
+
standard affine quantization. The dense per-layer input embedding
|
| 44 |
+
(`embed_tokens_per_layer`) **is** quantized here, so the package stays under
|
| 45 |
+
~2.9 GB rather than the ~7 GB a dense embedding would force.
|
| 46 |
|
| 47 |
## Package contents
|
| 48 |
|
| 49 |
+
- `model-00001-of-00001.safetensors` (2,894,953,598 bytes): the 4-bit MLX model
|
| 50 |
+
in a single shard (~2.9 GB total).
|
| 51 |
- `model.safetensors.index.json`: complete shard map.
|
| 52 |
- `config.json` (with `quantization` + `quantization_config`), `generation_config.json`,
|
| 53 |
`processor_config.json`, tokenizer files, and `chat_template.jinja`.
|
|
|
|
| 57 |
The conversion host has no Apple-Silicon MLX runtime, so the quantized package
|
| 58 |
was structurally validated before upload:
|
| 59 |
|
| 60 |
+
- 1,951 source tensors mapped with no missing or extra keys; 527 linear +
|
| 61 |
+
embedding layers quantized.
|
| 62 |
- Quantized weight format matches the MLX affine contract: 4-bit values packed
|
| 63 |
8-per-`uint32` (low nibble first), dequantization `scale * q + bias`, group 64.
|
| 64 |
+
- Round-trip dequantization of sampled layers (attention projections + the
|
| 65 |
+
2.35B-param `embed_tokens_per_layer`) reproduces the source weights to within
|
| 66 |
+
4-bit precision (max relative error ≈ 5%).
|
| 67 |
|
| 68 |
**Apple-Silicon MLX-VLM inference has not been run.** Treat this as a
|
| 69 |
structurally validated quantization pending a real Apple-Silicon text / image /
|