oQを紹介:Apple Silicon向けのデータ駆動型ミックス精度量子化(mlx-lm互換)

Reddit r/LocalLLaMA / 2026/3/24

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • 本投稿では、mlx-lmで一般的に用いられる一様なビット幅による量子化ではなく、Apple Silicon向けに品質を向上させるデータ駆動型のミックス精度量子化手法「oQ」を紹介します。
  • 固定ルールを使う代わりに、oQは各層をキャリブレーションして量子化感度を推定し、そのうえで本当に重要な箇所にダイナミックに精度(ビット数)を割り当てます。
  • 特定の推論サーバに依存しない汎用的なアプローチとして機能し、mlx-lmエコシステムにも組み込める(mlx-lm互換)ことで、ユーザーの手間(摩擦)を減らすことを目指します。
  • 著者は、モデルのアーキテクチャによって重要な層は異なり、oQはキャリブレーションデータセットと設定可能な精度フロアを用いてそれを考慮すると述べています。
  • Qwen3.5-35B-A3Bに対する予備ベンチマークでは、mlx-lmの標準的な一様量子化と比べて、低ビット設定においてoQが大きな精度向上を示すことが示唆されています。
Introducing oQ: data-driven mixed-precision quantization for Apple Silicon (mlx-lm compatible)

mlx-lm を使っていて最も不満だったことのひとつは、単一の一様なビット幅で量子化されたモデルの品質でした。確かに mlx-lm はさまざまな量子化オプションをサポートしていますが、ほとんどのユーザーにとっては、フル精度のモデルをダウンロードして自分で量子化することが、現実的なハードルになっています。(誰かに「簡単だよ」と言われてもですね。CLI の恐怖は本物です。)

そこで考え始めました。量子化は、特定の推論サーバーに限定されるべきではありません。mlx-lm プラットフォームはすでにしっかりした土台を提供していて、その上でユーザーは、誰が量子化したかに関係なく、好きな任意のモデルを、好みの任意のサーバーで使えるべきです。

その考えに至って私は oQ: oMLX Universal Dynamic Quantization. を作りました。

oQ は Apple Silicon 向けの、データ駆動型の混合精度量子化システムです。固定ルールやテンソルの種類によってビットを割り当てるのではなく、oQ はキャリブレーションによって各層の実際の量子化感度を測定し、データが「重要だ」と示すところにビットを割り当てます。

すべてのモデルが同じアーキテクチャを共有しているわけではありません。最初の層と最後の層は、本当にいつも最重要なのでしょうか?(まあ多くの場合はそうです。でも常にではありません。)モデル構造によって重要な層は異なり、最低限の精度の床(フロア)もまた変わります。oQ はキャリブレーションデータセットを使って感度に基づく割り当てを行い、どの層が重要で、どの層はより低い精度に耐えられるかを特定します。

技術的な詳細はここでは手短にします。さらに深掘りしたい場合は、完全なドキュメントをご覧ください:oQ Quantization

少なくとも今のところ、私は探していた「日常使いの」量子化を見つけたと思っています。誰もがそれぞれお気に入りの量子化アプローチを持っていますが、まだ自分のやり方が見つかっていない、あるいはまだデフォルトの mlx-lm 量子化を使っているなら、oQ を試してみることをおすすめします。

ベンチマーク(Qwen3.5-35B-A3B)

Benchmark Samples 2-bit mlx-lm 2-bit oQ 3-bit mlx-lm 3-bit oQ 4-bit mlx-lm 4-bit oQ
MMLU 300 14.0% 64.0% 76.3% 85.0% 79.7% 83.3%
TRUTHFULQA 300 17.0% 80.0% 81.7% 86.7% 87.7% 88.0%
HUMANEVAL 164 (full) 0.0% 78.0% 84.8% 86.6% 87.2% 85.4%
MBPP 300 0.3% 63.3% 69.0% 72.0% 71.7% 74.3%

Githubomlx.ai)からモデルを量子化できます。そして出力はどんな推論サーバーでも動作します。oMLX で試してみるか、すでに使っているものにそのまま事前量子化済みモデルを読み込んでください。LM Studio でも、その他の何でも構いません:https://huggingface.co/Jundot/models

submitted by /u/cryingneko
[link] [comments]