CoolFace
Modelpublic

sakamakismile/MiMo-V2.6-Distill-Qwen-9B-GGUF

sourceHugging Faceotherupdated 5d agoView on Hugging Face
2likes482downloads
Model Card

MiMo-V2.6-Distill-Qwen-9B — GGUF (Q4KM)

自分のパソコンで動く AI です。インターネットにつながっていなくても、あなたの PC の中だけで動きます。

このページは 中学生・高校生で、AI をはじめて自分で動かしてみる人に向けて書いています。 専門用語が出てきたら、そのつど説明します。あせらず上から順に読んでください。


1. これは何?

Xiaomi(シャオミ)というスマホの会社が公開した AI モデル MiMo-V2.6-Distill-Qwen-9B を、 ふつうのパソコンでも動くように軽くしたものです。

元のモデルはファイルサイズが 18GB もあって、とても大きいです。 これを 5.4GB まで小さくしました。だいたい3分の1以下です。

元のモデルこのモデル
サイズ18 GB5.4 GB
必要なメモリ20GB以上6GB くらい
形式safetensorsGGUF

用語:GGUF(ジー・ジー・ユー・エフ)って?

AI モデルを保存するファイル形式のひとつです。.mp4 が動画、.jpg が画像のファイル形式であるのと同じで、 `.gguf` は「自分のPCで動かすAI」のためのファイル形式だと思ってください。

用語:量子化(りょうしか / quantization)って?

AI の中身は、ものすごい数の「数字」でできています。 元のモデルは 1個の数字を 16ビットという細かさで記録しています。 これを 4ビットくらいまでざっくりさせると、ファイルが小さくなって、動きも速くなります。これが量子化です。

写真を JPEG で保存するときに「画質をちょっと下げてファイルを軽くする」のと、考え方は同じです。 少しおバカになるかわりに、ずっと軽くなるというトレードオフがあります。

Q4_K_M という名前は「4ビットくらいで、バランス重視の設定」という意味です。 迷ったらこれを選べば大丈夫、という定番の設定です。


2. ファイル一覧

ファイル名サイズ説明
MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf5.4 GBこれが本体。必ずダウンロード
mmproj-MiMo-V2.6-Distill-Qwen-9B-F16.gguf918 MB画像を見せたいとき用(なくてもOK)

まずは本体だけでいいです。画像を使いたくなったら mmproj も足してください。


3. 必要なパソコン

最低ライン

  • —空きストレージ: 8GB以上
  • —メモリ(RAM): 8GB以上(16GBあると安心)
  • —OS: Windows / Mac / Linux どれでもOK

GPU(グラフィックボード)がなくても動きます。ただし遅いです(後の表を見てください)。

快適に動かすなら

  • —VRAM 6GB 以上のグラフィックボード(GeForce RTX 3060、4060 など)
  • —Mac なら メモリ 16GB 以上の M1/M2/M3/M4
用語:VRAM … グラフィックボードが持っている専用メモリ。ここに AI を丸ごと載せられると一気に速くなります。

4. セットアップ手順

AI を動かすには、llama.cpp(ラマ・シーピーピー) というソフトが必要です。 GGUF ファイルは「データ」なので、それを再生するソフトがいる、というイメージです(動画ファイルと動画プレイヤーの関係と同じ)。

重要:このモデルは Qwen3.5 という新しい設計で作られています。 2026年9月以降の新しい llama.cpp でないと開けません。古いバージョンだとエラーになります。 LM Studio や Ollama を使いたい人は、中で使われている llama.cpp が Qwen3.5 に対応しているかを先に確認してください。対応していないと読み込めません。

手順①:llama.cpp をダウンロードする

  1. 1.llama.cpp のリリースページ を開く
  2. 2.一番上(最新)のリリースを見る
  3. 3.自分の環境に合うファイルをダウンロードする
環境選ぶファイル(例)
Windows + NVIDIA GPUllama-*-bin-win-cuda-x64.zip
Windows(GPUなし)llama-*-bin-win-cpu-x64.zip
Mac(M1〜M4)llama-*-bin-macos-arm64.zip
Linuxllama-*-bin-ubuntu-x64.zip
  1. 1.ZIP を展開する。中に llama-cli や llama-server が入っていればOK

手順②:このモデルをダウンロードする

このページ上部の 「Files and versions」 タブを開き、 MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf の右側にあるダウンロードボタンを押します。

5.4GB あるので、Wi-Fi 環境で、時間に余裕があるときにやってください。

コマンドで入れたい人はこちら: ``bash pip install huggingface_hub hf download sakamakismile/MiMo-V2.6-Distill-Qwen-9B-GGUF \ MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf --local-dir ./models ``

手順③:話しかけてみる

ターミナル(Windows なら PowerShell、Mac なら「ターミナル」アプリ)を開いて、 llama.cpp を展開したフォルダで次を実行します。

GPU がある人:

bash
./llama-cli -m MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf \
  --gpu-layers 999 --ctx-size 32768 --flash-attn on \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  --jinja --temp 0.6 --top-p 0.95 --top-k 20

GPU がない人(CPUだけ):

bash
./llama-cli -m MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf \
  --gpu-layers 0 --ctx-size 2048 \
  --jinja --temp 0.6 --top-p 0.95 --top-k 20

> が出たら準備完了です。日本語で質問を打ち込んで Enter を押してください。 終わるときは /exit と打つか、Ctrl+C を押します。

オプションの意味

オプション意味困ったときは
--gpu-layers 999AI を全部 GPU に載せるメモリ不足エラーが出たら 20 など小さくする
--ctx-size 32768一度に覚えていられる長さ足りなければ増やす、重ければ減らす
--cache-type-k/v q8_0記憶を8ビットに圧縮して省メモリ長い会話をするなら付ける
--flash-attn on高速化・省メモリの機能エラーが出たら消す
--jinja会話の形式を正しく読み込む。必須消すと変な返事になります
--temp 0.6返事のランダムさ小さいと固い、大きいと自由
--repeat-penalty 1.1同じことの繰り返しを防ぐ同じ文が何度も出たら付ける(後述)

困ったとき:同じ文が何度も出てくる

AI が同じセリフを3回も4回も繰り返すことがあります。これは「繰り返しループ」という有名な現象です。 次の2つを足すと、だいたい直ります。

bash
--repeat-penalty 1.1 --repeat-last-n 256

実際、下の「テスト4」ではこれを付けるかどうかで結果がまるで変わりました。

手順④(おまけ):ブラウザで使う

llama-server を使うと、ChatGPT のような画面がブラウザで使えます。

bash
./llama-server -m MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf \
  --gpu-layers 999 --ctx-size 32768 --flash-attn on \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  --jinja --temp 0.6 --top-p 0.95 --top-k 20 \
  --host 127.0.0.1 --port 8080

そのままブラウザで http://127.0.0.1:8080 を開いてください。

手順⑤(おまけ):画像を見せる

mmproj ファイルも一緒にダウンロードすると、画像について質問できます。

bash
./llama-mtmd-cli -m MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf \
  --mmproj mmproj-MiMo-V2.6-Distill-Qwen-9B-F16.gguf \
  --gpu-layers 999 --flash-attn on \
  --image あなたの画像.png \
  -p "この画像には何が写っていますか?"

5. 動作テストの結果

実際に手元の PC で動かして確認した結果です。すべて実測値です。

テスト環境

項目内容
GPUNVIDIA GeForce RTX 4060 Laptop(VRAM 8GB)
CPU20コア
メモリ61GB
OSUbuntu Linux
llama.cppb10685
設定全32層をGPUに配置、flash-attn on(速度テストは ctx 8192 で計測)

速度

動かし方読む速さ書く速さ体感
GPU(VRAM 8GB)171〜493 トークン/秒38〜42 トークン/秒読むより速く出てくる。快適
CPU のみ(20コア)19.7 トークン/秒5.8 トークン/秒ゆっくり。待てば使える
用語:トークン … AI が文章を区切る単位。日本語だとだいたい1文字〜2文字で1トークンくらいです。 40トークン/秒なら、1秒で40〜60文字くらい書いてくれる感じです。

メモリ使用量(GPU): モデル本体だけで 4,812 MiB → VRAM 6GB のグラフィックボードがあれば全部載ります。

どれくらい長く覚えていられる?(--ctx-size)

AI が一度に覚えていられる長さを コンテキスト長 といいます。--ctx-size(略して -c)で指定します。 長くするほど、長い文章を読ませたり、長い会話を続けたりできますが、そのぶんメモリを食います。

VRAM 8GB での実測結果(使える容量 7,807 MiB のうち、モデル本体が 4,812 MiB 固定):

`--ctx-size`記憶の圧縮記憶に使う量合計結果
8,192なし(f16)256 MiB約5.2 GB✅ 余裕
32,768なし(f16)1,024 MiB—✅ 余裕
65,536なし(f16)2,048 MiB7,062 MiB✅ OK
131,072なし(f16)4,096 MiB—❌ メモリ不足
98,304q8_01,632 MiB7,030 MiB✅ おすすめ
131,072q8_02,176 MiB7,734 MiB❌ わずかに足りない
131,072q8_0 + `-ub 256`2,176 MiB7,642 MiB✅ ギリギリ成功
262,144q8_04,352 MiB10,550 MiB❌ 無理

VRAM 8GB での上限は 131,072(12万8千トークン) でした。ただしギリギリなので、 --batch-size 512 --ubatch-size 256 を足して計算用のメモリを減らす必要があります。

bash
# 安全に長くしたいとき(96K)
--ctx-size 98304 --cache-type-k q8_0 --cache-type-v q8_0 --flash-attn on

# 限界まで攻めるとき(128K)
--ctx-size 131072 --cache-type-k q8_0 --cache-type-v q8_0 --flash-attn on \
  --batch-size 512 --ubatch-size 256

128K でも生成速度は 37.4 トークン/秒 で、ちゃんと実用的でした。

なぜこんなに長くできるの?

ふつうの AI は、全部の層が「これまでの会話」を丸ごと覚えておこうとするので、 長くするとメモリがあっという間に足りなくなります。

このモデル(Qwen3.5 系)はハイブリッド構造といって、32層のうち 会話を丸ごと覚えるのは8層だけ(3, 7, 11, 15, 19, 23, 27, 31層目)。 残りの24層は linear attention という仕組みで、どれだけ長くなってもメモリが増えません(全部合わせて50MiB固定)。

そのおかげで、記憶に必要なメモリは1トークンあたり 32KB(f16)/ 17KB(q8_0) と、 同じ大きさのふつうのモデルに比べて桁違いに軽くなっています。

用語:q8_0 … 記憶(KVキャッシュ)を8ビットに圧縮する設定。 メモリが約半分になります。品質の低下はほとんど感じません。長い会話をするなら付けておくのがおすすめです。

テスト1:プログラムを書かせる

Write a Python function that returns the n-th Fibonacci number iteratively. Keep it short.
python
def fib(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a

正しいコードが出ました。速度は 224 t/s(読み) / 42.0 t/s(書き)。

テスト2:日本語で考えさせる

りんごが5個あります。3人で等分すると1人何個で、余りは何個ですか。

このモデルは答える前に <think> という「頭の中で考えるパート」を出します。 そのあとで最終的な答えを出します。

答えの前半(正解):

5 ÷ 3 = 1あまり2 / 1人あたり 1個、余りは 2個

答えの後半(まちがい):

2個の余りを、3人に1個ずつ配ると、1人あたり2個、余りは0個になります。

…2個しかないのに3人に1個ずつは配れません。AI がはっきり間違えた例です。 速度は 493 t/s(読み) / 41.3 t/s(書き)。

テスト3:画像を見せる

赤い正方形を白い背景に描いた PNG 画像を見せて質問しました。

A solid red square is centered on a plain light gray background. (明るいグレーの背景の中央に、赤い正方形があります)

正しく答えられました。画像機能もちゃんと動きます。

テスト4:ロールプレイ(キャラクターになりきってもらう)

「高校2年生の男子・木村くん、パソコン部、自作PCとゲームが好き、朝の教室」という設定を渡して、 友達として話しかけてみました。

話しかけた内容:

おはよう木村! シルバーウィークにはローカルLLMを試して遊ぼうよ。ゲーミングPCでさ。どう思う?

木村くんの返事:

えー、うわぁいいね!!それ、ぜひやりたい!ゲーミングPCでローカルLLMって、やっぱ最高だよね。 ……えっと、今はまだ勉強とかやることあるから、今日はちょっと無理かなぁ。でも週末とか、絶対一緒にやろう!

ちゃんと高校生っぽいテンションで返ってきました。速度は 885 t/s(読み) / 39.7 t/s(書き)。

ただし1回目は失敗しました。 --repeat-penalty を付けずに実行したら、こうなりました。

正直、ローカルLLMって何それって思ったけど、ゲーミングPCで動かせるとなると急に面白くなってきたよな。 正直、ローカルLLMって何それって思ったけど、ゲーミングPCで動かせるとなると急に面白くなってきたよな。 正直、ローカルLLMって何それって思ったけど、ゲーミングPCで動かせるとなると急に面白くなってきたよな。

まったく同じ文を3回繰り返しています。これが「繰り返しループ」です。 --repeat-penalty 1.1 --repeat-last-n 256 を足したら、上の自然な返事になりました。 ロールプレイをするなら、このオプションはほぼ必須だと思ってください。

キャラを演じさせるときは、-sys に設定を書きます。

bash
./llama-cli -m MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf \
  --gpu-layers 999 --ctx-size 32768 --flash-attn on --jinja \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  --temp 0.6 --top-p 0.95 --top-k 20 \
  --repeat-penalty 1.1 --repeat-last-n 256 \
  -sys "あなたは高校2年生の男子「木村」です。パソコン部に所属していて、自作PCとゲームが大好き。人なつっこくて少しテンションが高い話し方をします。相手は同じクラスの友達です。ここは朝の教室、始業前です。説明口調にならず、短めのセリフで会話してください。"
なお、このモデルはプログラミングや作業の自動化が得意なように訓練されています。 ロールプレイは「おまけ」くらいに考えてください。会話専用に作られたモデルほど上手ではありません。

6. 大事な注意

AI は平気でウソをつきます

上のテスト2を見てください。計算の途中までは合っていたのに、最後でしっかり間違えました。 しかも自信満々の口調で間違えます。 これはこのモデルが特別ダメなのではなく、 今の AI 全般に共通する性質です。

  • —答えは必ず自分で確かめる
  • —宿題やレポートをそのまま写さない(先生にはバレますし、自分の力になりません)
  • —調べものは、AI の答えを出発点にして、本や公式サイトで裏を取る

AI を「なんでも知っている先生」ではなく、 「ときどき間違える、おしゃべりな友だち」だと思って付き合うのがちょうどいいです。

個人情報を入れない

このモデルは自分の PC の中だけで動くので、打ち込んだ内容が外に送られることは基本的にありません。 それでも、本名・住所・学校名・電話番号・パスワードなどを入力する習慣はつけないでください。 将来オンラインの AI を使うときに、そのクセが事故につながります。

量子化したぶん、少し賢さが落ちています

このモデルは元の18GBを5.4GBに圧縮しています。 元のモデルと比べると、難しい問題での正確さは少し下がっています。 「軽さと引きかえに、賢さを少しあきらめた版」だと理解しておいてください。


7. どうやって作ったか(作ってみたい人向け)

上級者向けです。わからなくても飛ばして大丈夫です。

bash
# 1. 元のモデルをダウンロード(約18GB)
hf download XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B \
  --local-dir ./MiMo-V2.6-Distill-Qwen-9B

# 2. GGUF に変換(--no-mtp が必須。理由は下記)
python convert_hf_to_gguf.py ./MiMo-V2.6-Distill-Qwen-9B \
  --outtype bf16 --no-mtp \
  --outfile MiMo-V2.6-Distill-Qwen-9B-BF16.gguf

# 3. Q4_K_M に量子化
./llama-quantize MiMo-V2.6-Distill-Qwen-9B-BF16.gguf \
  MiMo-V2.6-Distill-Qwen-9B-Q4_K_M.gguf Q4_K_M 16

# 4. 画像用の mmproj を作る
python convert_hf_to_gguf.py ./MiMo-V2.6-Distill-Qwen-9B \
  --mmproj --outtype f16 \
  --outfile mmproj-MiMo-V2.6-Distill-Qwen-9B-F16.gguf

ハマりポイント:--no-mtp が必要な理由

--no-mtp を付けずに変換すると、モデルを読み込むときにこのエラーが出ます。

llama_model_load: error loading model:
check_tensor_dims: tensor 'blk.32.attn_norm.weight' not found

原因はこうです。元モデルの config.json には mtp_num_hidden_layers: 1 と書かれています。 これを見た変換ツールは「32層+MTP用に1層で、合計33層だな」と判断して block_count=33 を書き込みます。 ところが この配布物には MTP 層の重みが入っていません(model.safetensors.index.json に mtp.* が1つもない)。 その結果、「33層目があるはずなのに無い」という食い違いが起きます。

--no-mtp を付けると block_count=32 になり、MTP のメタデータも書かれないので、正しく読み込めます。

用語:MTP(Multi-Token Prediction) … 次の単語を1個ずつではなく複数まとめて予測して高速化する仕組み。 今回の配布物にはその部品が入っていなかった、ということです。

量子化の結果

model size  = 17080.05 MiB (16.00 BPW)
quant size  =  5357.88 MiB (5.02 BPW)

16ビット → 約5ビットになり、サイズは 約3.2分の1 になりました。


8. 元のモデルについて

  • —元モデル: XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B
  • —そのまた元(ベース): Qwen/Qwen3.5-9B(Apache-2.0)
  • —パラメータ数: 約94億(9.4B)
  • —得意分野: プログラミング、エージェント(道具を使う作業)、画像を見ながらのコーディング

Xiaomi は、自社の大きな AI が作ったデータを使って Qwen3.5-9B を訓練しました。 これを 蒸留(じょうりゅう / distillation) といいます。 賢い先輩の解き方を後輩が真似して学ぶイメージです。だから名前に "Distill" が入っています。


ライセンスについて

元の配布元(XiaomiMiMo)はライセンスを明示していません。

ベースの Qwen3.5-9B は Apache-2.0 ですが、それが自動的にこの派生モデルにも適用されるとは限りません。 利用する前に、必ず元のモデルページを 自分で確認してください。とくに商用利用を考えている場合は要注意です。

このリポジトリは元の重みを量子化しただけのもので、中身の権利は元の配布元にあります。


クレジット