Q2にするか、しないか?ネタバレ:しないよ。(Qwen 3.5 397Bのベンチマーク)

2026-02-18

Q2にするか、しないか?ネタバレ:しないよ。(Qwen 3.5 397Bのベンチマーク)

Machine-translated — the English original is authoritative.

要約:* 私は、Mac Studio(M3 Ultra、RAM 512GB)で、最新 multimodal モデル「Qwen 3.5 397B」を試しました。ローカルでの動画編集ワークフローにおけるビジョン(画像認識)能力をテストするため、2ビット、3ビット、6ビット、8ビットに量子化しました。ネタバレ:Q2は意味不明な文字の羅列、Q3は驚くほど有能力、Q6が「ちょうどいい」ゾーンです。速度が重視される場合、必ずしも大きいモデルが良いわけではありません。


今、私は午後11時07分に、無邪気に「この新しいモデルをちょっと試してみよう」と言った午後5時10分からタイムスリップしたかのように、こうしてタイピングしています。LOL(笑)。

対象となったモデルは、昨日リリースされたばかりの、まさに「化け物」のようなQwen 3.5 Vision (397B)です。私はRAM 512GBを積んだMac Studio M3 Ultraでこれを実行しています。ラッキーなことに、私は知っていますし、だからこそ今夜これらの知見を共有しているのです。もしあなたの机の上に半テラバイトのユニファイドメモリが搭載された環境が整っていないとしても、この情報があなたのダウンロード時間を節約し、何が可能かについての認識をもたらすことを願っています。

現在、私はOpenClawのよりセキュアなデプロイメントを評価しています(@steipete氏、OpenAIへの次の旅へ向けての大きな成功をお祝いします!あなたは伝説です!サム・アルトマン氏にはあなたを飼いならせないと思います。ありがとう!!)。ローカルモデルのみを使用してそれを行っています。私はパフォーマンスチューニングの最中です。もし「昔ながらの」サウンドブラスターカードのLinuxドライバーを探し回っていた時代を覚えている方がいれば、AIの世界では完全にループを回ったことを報告して喜ばしく思います。MoEモデルは、LM StudioにビルトインされているPythonライブラリには含まれていませんでした(驚き、驚き)、そのため新しい仮想環境を立ち上げて pip をインストールし始める必要がありました。

これらの最先端のツールがある一方で、GeminiやChatGPTのようなモデルは、それらがまだ存在すること自体を知らないため、デバッグを手伝えないという皮肉は、私にはよくわかります。Github Issuesの長寿を祈ります。

ミッション:ローカルでの自動動画編集

今夜の取り組みの目的は、単にハードウェアのパフォーマンスを見せびらかすることではありません。私は自動動画編集ツールを構築しています。私は何百時間もの映像素材を持っており、回線速度の低いブロードバンドアップロードリンクしか持っていないため、クラウド処理は現実的ではありません。ローカルでの処理が鍵となります。

私の目標は、大幅に量子化された(小さい)モデルで済むかどうかを判断することです。小さいモデルは、推論速度が速く、コンテキストウィンドウが大きくなるため、他のタスクのために複数のモデルを同時に実行する予定である私にとって重要です。このマシンを解放した後は、自己採算が取れるようにしたいのです!

実験:Qwen 3.5 量子化対決

私は、新しいQwen 3.5ビジョンモデルのQuant 2 (Q2)Quant 3 (Q3)Quant 6 (Q6)Quant 8 (Q8)バージョンそれぞれで、参照画像(上記の私のオートバイ装備のセルフィー)を処理しました。以下に結果の視覚的な内訳を示します。

テストコマンド

各テストでは、ローカルのMLXサーバーに対して以下の curl コマンドを使用しました。

curl http://localhost:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "/Users/graz/ai-models/Qwen3.5-397B-MLX-QX",
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "Describe this image in detail." },
          { "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,'$IMAGE_B64'" } }
        ]
      }
    ],
    "max_tokens": 300
  }' | python3 -m json.tool

1. Q2の体験:完全な崩壊

判定: 無用。

2ビット量子化では、モデルは完全に崩壊し、絶対的な意味不明な文字列を生成しました。

{
    "choices": [
        {
            "message": {
                "content": ")nameUnc\u0901Op\u90f4\u5州G forOP MG, #clar sp  sp \\ sp spNgG Sign       h ${Ag1X/work ${))\r\n\r\n{$ \\\"Se\u00bb^#\\\",81 signifLaMd_M_Y_Y_\\up'\\ \\a)\\\\ra%d\\n#\\cd\\u#\\xe8\\f#888888 :)\" \\VAR{\\O\u2713\ufffd\ufffd}",
                "role": "assistant"
            }
        }
    ],
    "usage": {
        "total_tokens": 243
    }
}

2. Q3の体験:驚きの候補

判定: 「下書き」の英雄。

これはほとんど読めないだろうと思っていましたが、実際には画像の本質を完璧に捉えていました。細かい質感のいくつかは見逃していましたが、ファーストパスのフィルタとしては?これは実用可能です。

{
    "choices": [
        {
            "message": {
                "content": "The user wants a detailed description of the image.\n\n1.  **Identify the main subject:** A man wearing a motorcycle helmet and jacket. He is positioned on the left side of the frame.\n2.  **Identify the background:** A scenic landscape featuring a large body of water (lake), rolling hills with trees showing autumn colors, and a blue sky with scattered clouds.\n3.  **Identify specific details:**\n    * **Helmet:** Silver/grey, full-face, with \"SHOEI\" branding visible. The visor is up.\n    * **Clothing:** A dark grey or black motorcycle jacket with zippers and pockets.\n    * **Motorcycle parts:** Handlebars, rear-view mirrors, and a phone mount with a phone attached are visible in the foreground and right side.\n    * **Setting:** Looks like a scenic overlook or a stop during a ride. There's a wooden fence in the lower right.\n    * **Lighting:** Bright, sunny day. Shadows are distinct.",
                "role": "assistant"
            }
        }
    ]
}

3. Q6の体験:ゴールドロックスゾーン(ちょうどいいところ)

判定: 完璧なバランス。

ここで魔法が起こります。説明は豊かで、正確で、流暢です。ヘルメット内の「わずかな笑顔」やミラーの特定の反射まで捉えていました。

{
    "choices": [
        {
            "message": {
                "content": "The user wants a detailed description of the provided image.\n\n1.  **Identify the main subject:** A person wearing a motorcycle helmet and jacket. They are in the foreground on the left.\n2.  **Analyze the subject's details:**\n    * **Helmet:** Full-face, black/dark grey, \"SHOEI\" logo visible on the forehead area. The visor is clear and raised slightly or just transparent enough to see the face. The person inside looks like a middle-aged man with light skin.\n    * **Jacket:** Black motorcycle textile jacket. Zippers and padding are visible.\n    * **Expression:** Slight smile, looking towards the camera (selfie style).\n\n3.  **Identify the secondary subject/foreground objects:**\n    * **Motorcycle parts:** Handlebars, side mirrors (one on the left, one on the right), and a phone mount on a tall stalk extending upwards on the right.",
                "role": "assistant"
            }
        }
    ]
}

4. Q8の体験:逓減するリターン?

判定: 高精細だが、重い。

Q8モデルは、照明や色(「秋の雰囲気」)にわずかなニュアンスを追加しますが、その代償としてメモリ使用量が大幅に増加します。私の動画パイプラインでは、Q6で十分でしょう。

{
    "choices": [
        {
            "message": {
                "content": "The user wants a detailed description of the image.\n\n1.  **Identify the main subject:** A person wearing a motorcycle helmet and gear, taking a selfie.\n2.  **Analyze the foreground:**\n    * **Person:** Wearing a dark grey/black full-face helmet with \"SHOEI\" branding. Only their eyes and part of their nose/forehead are visible through the visor.\n    * **Motorcycle parts:** Visible handlebars, side mirrors (one reflecting the sky/trees), and a phone mount on a tall stalk extending upwards on the right side. The phone is mounted vertically.\n    * **Background:** ... The trees show autumn colors (yellows, browns, greens), suggesting the season is autumn.",
                "role": "assistant"
            }
        }
    ]
}

これを再現する方法(「ギーク」ガイド)

これを動かすためのハードウェアをお持ちの方へ、Apple Silicon上でローカルにこれらを立ち上げるために私が使用した正確なレシピを以下に示します。

1. 量子化

元のHugging Faceのウェイトを mlx_vlm を使用して変換しました。ここでは2ビットフラグを使用していることに注意してください(後で削除しましたが、まあ、上記の通りです)。

python -m mlx_vlm.convert \
  --hf-path ~/ai-models/Qwen3.5-Original \
  --mlx-path ~/ai-models/Qwen3.5-397B-MLX-Q2 \
  -q --q-bits 2

2. サーバーの起動

変換後、 mlx-openai-server を使用してサーバーを起動しました。OpenCVがインストールされている場合、いくつかの AVFFrameReceiver 警告が表示されるかもしれませんが、無視して構いません。

mlx-openai-server launch \
  --model-path ~/ai-models/Qwen3.5-397B-MLX-Q3 \
  --model-type multimodal \
  --port 1234

3. ストレージの現実的な確認

ダウンロードを始める前に、ディスク容量を確認してください。私のドライブ上の異なる量子化レベルのフットプリントは以下の通りです。

(base) graz@GeekwiththePeak 🤓 ~/ai-models $ for i in `ls ~/ai-models | grep Qwen3.5-397B-MLX-Q`; do du -sh $i; done 
162G    Qwen3.5-397B-MLX-Q3
301G    Qwen3.5-397B-MLX-Q6
393G    Qwen3.5-397B-MLX-Q8

結論

この実験は、大きいことが常に良いわけではないことを証明しました。速度が重要なパイプラインを構築している場合、Q3モデル(162GB)は、シーンを「見て」、オブジェクトを識別し、コンテキストを理解する上で驚くほど有能です。それは素晴らしいファーストパスのフィルタとなります。

最終的な磨き上げや高詳細な分析には、Q6が勝者です。Q8の99%の詳細さを提供しながら、RAM/ディスク容量をほぼ100GB節約できます。

私はもう寝ます。明日、自動化が始まります。

Originally published on allthingscloud.eu (2026-02-18).

← All posts