NeoHorse-1-9B-mlx-4bit

4-bit MLX conversion of TokenRhythm/NeoHorse-1-9B optimized for Apple Silicon native GPU inference.

Converted by: SirSahOl
Source Model: TokenRhythm/NeoHorse-1-9B
Framework: MLX by Apple
Quantization: 4-bit (Average 4.50 bits per weight)
Format: safetensors
License: apache-2.0


Model Details

  • Architecture: Qwen3_5ForCausalLM
  • Parameters: 9.0B
  • Context Length: 262,144 tokens
  • Format: MLX (Apple Silicon native GPU format)
  • Quantization: 4-bit (Average 4.50 bits per weight)
  • Active VRAM Footprint: ~5.4 GB (Minimum recommended: 16 GB Unified Memory)

Quick Start

Installation

pip install mlx-lm

CLI Usage

# Chat interactively
mlx_lm.chat --model SirSahOl/NeoHorse-1-9B-chat-mlx-4bit

# Generate text
mlx_lm.generate --model SirSahOl/NeoHorse-1-9B-chat-mlx-4bit --prompt "Write a short poem about artificial intelligence."

Python API (with Chat Template)

from mlx_lm import load, generate

model, tokenizer = load("SirSahOl/NeoHorse-1-9B-chat-mlx-4bit")

messages = [
    {"role": "user", "content": "Explain quantum superposition in simple terms."}
]
prompt = tokenizer.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)

response = generate(model, tokenizer, prompt=prompt, verbose=True)
print(response)

Performance Benchmarks

Apple Silicon Hardware Sizing Matrix

Estimated decoding throughput, time-to-first-token (TTFT), and active unified memory footprint across Apple Silicon tiers:

Apple Silicon Tier Unified Memory Active VRAM Estimated Speed Est. TTFT Recommended Use Case
M1 / M2 / M3 / M4 (Base) 16 GB Unified Memory ~5.4 GB ~28 tokens/sec ~141 ms Everyday interactive assistant & fast local completions
M1 / M2 / M3 / M4 Pro 18 GB – 36 GB ~5.4 GB ~42 tokens/sec ~96 ms Balanced daily driver for coding, tool invocation, and multi-turn chat
M1 / M2 / M3 / M4 Max 36 GB – 128 GB ~5.4 GB ~60 tokens/sec ~59 ms High-throughput generation, low latency, agent orchestration
M1 / M2 / M3 Ultra 64 GB – 192 GB ~5.4 GB ~84 tokens/sec ~39 ms Peak concurrency, batch document extraction, production serving

Estimates based on Apple Silicon unified memory bandwidth and active parameter footprint. Real-world speeds may vary with context length.


Multi-Quantization Comparison

Evaluate your hardware budget and choose the optimal precision:

Variant Disk Size VRAM Footprint Target Apple Silicon Hardware Key Advantage
4-bit MLX (This Repository) ~5.3 GB ~5.3 GB M1 / M2 / M3 / M4 (8GB+) Maximum generation speed and lowest RAM overhead.
8-bit MLX ~9.9 GB ~9.9 GB M1 / M2 / M3 / M4 Pro/Max (16GB+) Balanced accuracy and generation speed; near-lossless reasoning.
16-bit MLX ~18.8 GB ~18.8 GB M2 / M3 / M4 Max/Ultra (32GB+) Full unquantized precision; reference evaluation quality.

Who Should Use This?

Your Hardware Recommended Quantization
M1/M2/M3/M4 (8GB – 16GB) 4-bit — Best balance of speed, low memory, and multitasking capability
M1/M2/M3/M4 Pro/Max (18GB – 36GB) 8-bit — Higher quality reasoning with comfortable memory headroom
M1/M2/M3/M4 Max/Ultra (36GB – 192GB) 16-bit — Unquantized full precision, zero quality degradation

General guidance:

  • Use 4-bit if you want to run this model alongside IDEs, browsers, and background development tools.
  • Use 8-bit if you have 16GB+ unified memory and require superior reasoning and code accuracy.
  • Use 16-bit for research, benchmarking, evaluation, or high-end workstation deployments.

Other Quantization Variants


LM Studio & Local Inference Setup Guide

To prevent runaway loops and ensure correct conversational turn-taking, configure custom stop strings in your local inference runtime.

Custom Stop Strings Configuration

Ensure the following sequence tokens are configured as strict stop boundaries:

  1. <|im_start|>
  2. <|im_end|>
  3. <|endoftext|>

Option A: Automatic Preset (Recommended for LM Studio)

Create a custom prompt preset JSON file named ChatML.json in your LM Studio config directory:

  • macOS / Linux: ~/.lmstudio/config-presets/ChatML.json
  • Windows: %USERPROFILE%\.lmstudio\config-presets\ChatML.json
{
  "name": "ChatML",
  "inference_params": {
    "pre_prompt": "You are a helpful, respectful, and honest assistant.",
    "input_prefix": "<|im_start|>user\n",
    "input_suffix": "<|im_end|>\n",
    "pre_prompt_prefix": "<|im_start|>system\n",
    "pre_prompt_suffix": "<|im_end|>\n",
    "antiprompt": [
      "<|im_start|>",
      "<|im_end|>",
      "<|endoftext|>"
    ],
    "stopStrings": [
      "<|im_start|>",
      "<|im_end|>",
      "<|endoftext|>"
    ],
    "temperature": 0.7,
    "max_tokens": 2048
  }
}

Restart LM Studio, load SirSahOl/NeoHorse-1-9B-chat-mlx-4bit, and select "ChatML" from the Prompt Template dropdown.

Option B: Manual LM Studio Configuration

  1. Load SirSahOl/NeoHorse-1-9B-chat-mlx-4bit in LM Studio.
  2. In the right-hand Advanced Configuration / Inference Parameters panel:
    • Stop Strings (antiprompt / stopStrings): Add <|im_start|>, <|im_end|>, <|endoftext|>
    • System Prefix: <|im_start|>system\n
    • System Suffix: <|im_end|>\n
    • User Prefix: <|im_start|>user\n
    • Assistant Suffix: <|im_end|>\n<|im_start|>assistant\n

Option C: Ollama Modelfile Setup

Create a Modelfile to run this model in Ollama:

FROM SirSahOl/NeoHorse-1-9B-chat-mlx-4bit

PARAMETER stop "<|im_start|>"
PARAMETER stop "<|im_end|>"
PARAMETER stop "<|endoftext|>"
PARAMETER temperature 0.7

TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
"""

Create and run with Ollama:

ollama create neohorse-1-9b-chat-mlx-4bit -f Modelfile
ollama run neohorse-1-9b-chat-mlx-4bit

Conversion Details

Property Value
Source Model TokenRhythm/NeoHorse-1-9B
Quantization 4-bit
mlx-lm Version 0.31.3
Conversion Time 101.37s
Output Size 4.7 GB
Date 2026-09-14T23:31:53.987005+00:00

Reproduction

To reproduce this conversion:

pip install mlx-lm==0.31.3
python3 -m mlx_lm.convert --hf-path /root/.cache/huggingface/hub/models--TokenRhythm--NeoHorse-1-9B/snapshots/ba5b6e40d88a6ddf4591e176738254a3bc715765 --mlx-path output/NeoHorse-1-9B-mlx-4bit -q --q-bits 4

Limitations & Known Issues

  • 4-bit group-wise quantization introduces minor precision loss compared to unquantized weights; for deep mathematical derivations or precision-critical reasoning, test the 8-bit or 16-bit variants.
  • High context sequences (>32K tokens) require sufficient unified memory headroom; ensure unified memory is not overcommitted.
  • This is a weight-only MLX conversion designed specifically for Apple Silicon GPUs (M1/M2/M3/M4 series).

License

This model conversion inherits the license of the source model: apache-2.0.

See the original model card for full license details.


Changelog

Version Date Changes
v1.0 2026-09-14 Initial conversion

Converted with MLX Foundry — a professional pipeline for converting models to Apple MLX format.

Downloads last month
16
Safetensors
Model size
9B params
Tensor type
U32
·
BF16
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for SirSahOl/NeoHorse-1-9B-chat-mlx-4bit

Finetuned
Qwen/Qwen3.5-9B
Quantized
(13)
this model

Collection including SirSahOl/NeoHorse-1-9B-chat-mlx-4bit