Nanbeige4.3-33B — MLX 4-bit
Source code and reproduction guide on GitHub
Unofficial standard MLX conversion of Nanbeige/Nanbeige4.3-33B,
pinned to c1093c501cc6460427c0ac634db7223d0450c0ee.
Original model: Nanbeige LLM Lab. License: Apache 2.0.
| Property | Value |
|---|---|
| Original parameters | 33,118,977,024 |
| Architecture | LlamaForCausalLM (llama) |
| Source dtype | BF16 |
| Quantization | MLX affine 4-bit, group size 64 |
| Weight files | 18.631 GB, excluding tokenizer and runtime memory |
| Conversion | mlx 0.32.3; official quantizer equivalence checked against mlx-lm 0.32.0 |
| Full-model generation | Not tested by this conversion |
No custom architecture or remote Python code is required. This repository contains weights and the original tokenizer/chat template; it does not train or alter the model's behavior intentionally beyond quantization.
Run on Apple Silicon
pip install mlx-lm==0.32.0 mlx==0.32.3
mlx_lm.generate --model Nurymanau/Nanbeige4.3-33B-MLX-4bit \
--prompt "Explain how a hash table works." \
--max-tokens 512 --temp 0.6 --top-p 0.95
Weight files alone exceed 16 GB. A 32 GB or larger Apple Silicon Mac is a reasonable starting point, not a measured hardware guarantee. Runtime, KV cache, context length and other applications need additional memory. Long contexts can require substantially more memory.
Python with the original chat-template options:
from mlx_lm import load, generate
from mlx_lm.sample_utils import make_sampler
model, tokenizer = load("Nurymanau/Nanbeige4.3-33B-MLX-4bit")
prompt = tokenizer.apply_chat_template(
[{"role": "user", "content": "Explain how a hash table works."}],
tokenize=False,
add_generation_prompt=True,
enable_thinking=False,
preserve_thinking=False,
)
print(generate(model, tokenizer, prompt=prompt, max_tokens=512,
sampler=make_sampler(temp=0.6, top_p=0.95)))
The upstream template supports enable_thinking, preserve_thinking, and
XML/JSON tool-call formatting. It is copied byte-for-byte. Runtime integration
with tool parsers, agent frameworks and long contexts has not been tested here.
Validation and limits
- Source shards verified against upstream SHA256; revision pinned above.
- Shardwise converter checked on a synthetic two-layer Llama: all 53 tensors match official mlx-lm quantization exactly; strict weight loading passes.
- Every converted file/header/shape/dtype/index entry is independently audited.
- The first two rows of all 366 quantized matrices are unpacked with NumPy and checked against the original BF16 rows.
- Original norms and tokenizer metadata are checked for exact preservation.
- The full pretrained model was not loaded for inference or generation. No generation quality, throughput, context-length, or full-model parity measurements are claimed. Quantization can change outputs and quality.
VALIDATION.json, CONVERSION.json and SHA256SUMS record the checks and
provenance. Conversion/audit source is included in conversion/.
Published benchmark results in the upstream card belong to the original
authors and were not rerun for this MLX conversion.