mlx-communityは、inclusionAI/Ming-Image-0.1-Design(MIT)のApple Silicon向け事前量子化版としてmlx-community/Ming-Image-0.1-Design-4bitをHugging Faceで公開しました。総サイズは20.5GBで、bf16リポジトリの49.8GBに対して36GB Macに収まるメモリ制約向けのtierとされています。
どこを量子化したか
量子化はweight-only affine quantization、group size 64です。mllm/(MoE MLLM: attention、dense/shared-expert MLP、256のrouted experts)が4bit、connector/(Qwen2-1.5B connector)とtransformer/(DiTのattentionとfeed-forward)が8bitです。MoE routers、embeddings、norms、Qwen2.5 ViT、f32 projection heads(mlp/)、VAE、DiTのconditioning layers(adaLN、embedders、final layer)はbf16/f32のフル精度で保持されます。DiTは8bitを下限とし、原文はDiTへのweight-only int4は速度の利得なしに品質を損なうと説明しています。
レイアウトはbf16リポジトリの上流ツリーに従い、各量子化重みの隣にMLXの.scales/.biasesを置き、量子化コンポーネントのconfig.jsonにquantizationブロックを持ちます。このリポジトリをロードした結果は、bf16スナップショットをロード時に量子化した場合と全パラメータでビット同一であることが検証されています。Mac側でbf16重みを保持する必要はありません。
メモリと速度、品質(M5 Max)
計測はM5 Maxのプロセスphys_footprint、MLXのバッファキャッシュを2GB(MLXEngineの既定)に制限した条件です。
| 項目 | 4bit | bf16 |
|---|---|---|
| ロード後常駐 | 7.6 GB | |
| ピークフットプリント | 19.7 GB | |
| 12ステップ・1024² | 42 s | 39 s |
| 12ステップ・2048² | 243 s | 245 s |
| レンダー品質(fp32真値比、1024²) | 29.0 dB | 41.9 dB |
| テキストボード完全一致 | 116/122 | 117/122 |
| 完全に正しいボード | 10/16 | 12/16 |
ピークはconditioning段階で、4bit MLLMがロード・条件付けを行って解放されるタイミングであり、1024²・2048²・2560×1440のいずれでも19.7GBです。2048²クラスのVAEデコードは、chunkedなmid-attentionとtiled up pathで厳密に境界が定められています。MLXEngineは常駐7.9GB+activation 14.6GBと宣言し、36GB Macで許容されます。
テキストの取りこぼしは「Kexmote」「6 frt 8 in」のような1文字のタイポで、構図とゾーンは保たれています。live text用に予約されたゾーンはclean 19/20・text-free 20/20です。一方、native alphaがこのtierの最も弱い点で、ゲートの6被写体のうち1つ(鉢植え)を落とし、4/6となりました。別シードの実行では、bf16と8bitで初回から透明になったコーヒーカップが、4bitでは両フレーズとも不透明で返ったとされています。conditioning driftはfp32真値比のlearnable relL2でshort/json 0.290/0.291です。
使い方と注意
実行はApple Silicon Mac上のSwift/MLX port ming-image-swift(xocialize)が担います。Swift/MLXEngineではMLXMingImageとMLXToolKitをインポートし、以下のように4bit設定のパッケージを作ります。
import MLXMingImage
import MLXToolKit
let package = MingImageT2IPackage(configuration: MingImageConfiguration(quant: .int4))
try await package.load()
let response = package.run(T2IRequest(prompt: "…", width: 1024, height: 1024, seed: 42))
透明アセットを扱う場合は8bit版またはbf16版を使い、いずれの場合もインポート時にアルファを確認するよう案内されています。テキスト生成ではOCRで検証し、必要に応じて再生成するワークフローを維持します。
MLXはAppleの機械学習研究チームが開発する配列計算フレームワークで、Appleシリコン向けの機械学習を想定しています。本リポジトリはMITライセンスで、mlx-community/Ming-Image-0.1-Design-bf16と並ぶMing-Image (MLX) collectionの一部です。

まだコメントはありません。