Instructions to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-6bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-6bit 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-6bit") config = load_config("MichaelAnthony/gemma4-e2b-Snowfox-MLX-6bit") # 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-6bit 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-6bit"
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-6bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-6bit 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-6bit"
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-6bit
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use MichaelAnthony/gemma4-e2b-Snowfox-MLX-6bit 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-6bit"
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-6bit" \ --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
|
@@ -17,9 +17,9 @@ tags:
|
|
| 17 |
# Gemma 4 E2B SnowFox MLX 6-bit (affine, group 64)
|
| 18 |
|
| 19 |
Standard MLX-VLM 6-bit affine weight quantization of the SnowFox model —
|
| 20 |
-
the MLX equivalent of GGUF `Q6_K`.
|
| 21 |
-
`safetensors` + `config.json` carrying a `quantization` field),
|
| 22 |
-
file or a renamed HF checkpoint.
|
| 23 |
|
| 24 |
SnowFox is a language-only LoRA merge based on Google's Gemma 4 E2B
|
| 25 |
instruction QAT-derived checkpoint. The image and audio towers were frozen
|
|
@@ -35,18 +35,20 @@ tokenizer needed by MLX-VLM.
|
|
| 35 |
|
| 36 |
## What is quantized
|
| 37 |
|
| 38 |
-
- **
|
| 39 |
-
projectors) are 6-bit affine quantized:
|
| 40 |
-
3 bytes) + 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,14 +58,14 @@ 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
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
- Round-trip dequantization of sampled layers (
|
| 65 |
-
the source weights to within
|
| 66 |
-
-
|
| 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 /
|
|
|
|
| 17 |
# Gemma 4 E2B SnowFox MLX 6-bit (affine, group 64)
|
| 18 |
|
| 19 |
Standard MLX-VLM 6-bit affine weight quantization of the SnowFox model —
|
| 20 |
+
the MLX equivalent of GGUF `Q6_K`. This is a genuine MLX-VLM package
|
| 21 |
+
(quantized `safetensors` + `config.json` carrying a `quantization` field),
|
| 22 |
+
not a GGUF file or a renamed HF checkpoint.
|
| 23 |
|
| 24 |
SnowFox is a language-only LoRA merge based on Google's Gemma 4 E2B
|
| 25 |
instruction QAT-derived checkpoint. The image and audio towers were frozen
|
|
|
|
| 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 6-bit affine quantized:
|
| 40 |
+
packed `uint32` `weight` (4 values per 3 bytes, low bits 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 |
+
~4.2 GB rather than the ~7 GB a dense embedding would force.
|
| 46 |
|
| 47 |
## Package contents
|
| 48 |
|
| 49 |
+
- `model-00001-of-00002.safetensors` (4,000,099,030 bytes) and
|
| 50 |
+
`model-00002-of-00002.safetensors` (166,857,424 bytes): the 6-bit MLX model
|
| 51 |
+
(~4.2 GB total).
|
| 52 |
- `model.safetensors.index.json`: complete shard map.
|
| 53 |
- `config.json` (with `quantization` + `quantization_config`), `generation_config.json`,
|
| 54 |
`processor_config.json`, tokenizer files, and `chat_template.jinja`.
|
|
|
|
| 58 |
The conversion host has no Apple-Silicon MLX runtime, so the quantized package
|
| 59 |
was structurally validated before upload:
|
| 60 |
|
| 61 |
+
- 1,951 source tensors mapped with no missing or extra keys; 527 linear +
|
| 62 |
+
embedding layers quantized.
|
| 63 |
+
- Quantized weight format matches the MLX affine contract: 6-bit values packed
|
| 64 |
+
4-per-3-bytes (24-bit little-endian word), dequantization `scale * q + bias`,
|
| 65 |
+
group 64.
|
| 66 |
+
- Round-trip dequantization of sampled layers (attention projections + the
|
| 67 |
+
2.35B-param `embed_tokens_per_layer`) reproduces the source weights to within
|
| 68 |
+
6-bit precision (max relative error ≈ 1.4%).
|
| 69 |
|
| 70 |
**Apple-Silicon MLX-VLM inference has not been run.** Treat this as a
|
| 71 |
structurally validated quantization pending a real Apple-Silicon text / image /
|