BTL-4-OptiQ-4bit / README.md
codelion's picture
Upload README.md with huggingface_hub
bccf203 verified
|
Raw
History Blame Contribute Delete
2.68 kB
metadata
license: apache-2.0
library_name: mlx
pipeline_tag: text-generation
base_model: badtheorylabs/BTL-4
tags:
  - mlx
  - optiq
  - quantized
  - 4bit
  - mixed-precision
  - moe
  - agentic
  - tool-use
  - code
  - apple-silicon

mlx-community/BTL-4-OptiQ-4bit

Built with mlx-optiq, the MLX-native toolkit to quantize, fine-tune, and serve LLMs locally on Apple Silicon, no PyTorch and no cloud. All OptiQ quants · Docs · Qwen3.5 family

An OptiQ mixed-precision quant of badtheorylabs/BTL-4, a 35B agentic reasoning model built for tool use, software engineering and long-horizon agent work. 22.2 GB on disk, down from 70.2 GB at bf16.

What it is

Property Value
Base badtheorylabs/BTL-4
Architecture qwen3_5_moe — sparse mixture-of-experts
Method OptiQ mixed-precision, per-layer bit allocation reused from the base family
On disk 22.2 GB (bf16: 70.2 GB)

BTL-4 keeps the architecture of the family it is derived from, so which layers tolerate fewer bits is unchanged and a fresh sensitivity sweep would only rediscover the same answer. The per-layer allocation comes from Qwen3.5-35B-A3B-OptiQ-4bit: 512 of 512 layers matched, with the routed experts mostly at 4-bit and attention, router and layer edges kept at 8-bit.

No Capability Score is published for this quant. The base model's own benchmarks are on its card.

Run it

pip install mlx-optiq
optiq serve --model mlx-community/BTL-4-OptiQ-4bit

That gives you an OpenAI and Anthropic compatible endpoint with mixed-precision KV cache, tool-call healing and prompt caching — useful for an agentic model, where a malformed tool call costs a whole turn.

Or from Python:

from mlx_lm import load, generate

model, tokenizer = load("mlx-community/BTL-4-OptiQ-4bit")
prompt = tokenizer.apply_chat_template(
    [{"role": "user", "content": "List the files in the current directory."}],
    add_generation_prompt=True, tokenize=False,
)
print(generate(model, tokenizer, prompt=prompt, max_tokens=512))

Links