To Q2 or Not to Q2? Spoiler: It’s Not. (Benchmarking Qwen 3.5 397B)

2026-02-18

To Q2 or Not to Q2? Spoiler: It’s Not. (Benchmarking Qwen 3.5 397B)

Machine-translated — the English original is authoritative.

TL;DR:* Ho provato il nuovissimo modello multimodale Qwen 3.5 397B sul mio Mac Studio (M3 Ultra, 512GB di RAM). L'ho quantizzato a 2-bit, 3-bit, 6-bit e 8-bit per testare le capacità di visione per un flusso di lavoro di editing video locale. Spoiler:* Q2 è incomprensibile, Q3 è sorprendentemente capace e Q6 è la zona di Goldilocks (quella giusta). Più grande non è sempre meglio quando la velocità è la chiave.


Eccomi qui a scrivere alle 23:07 dopo essere stato teletrasportato dalle 17:10, quando ho ingenuamente detto: “Farò una prova veloce con questo nuovo modello”. LOL.

Il modello in questione è l'assoluta bestia che è Qwen 3.5 Vision (397B), rilasciata solo ieri. Lo sto eseguendo su un Mac Studio M3 Ultra con 512GB di RAM. Ho fortuna, lo so—and è esattamente per questo che condivido queste scoperte stasera. Se non hai la fortuna di avere mezzo terabyte di memoria unificata seduta sulla tua scrivania, spero che questo ti risparmi il tempo di download e ti dia una consapevolezza di ciò che è possibile.

Sto attualmente valutando un deployment di OpenClaw leggermente più sicuro (enormi congratulazioni a @steipete per il suo prossimo viaggio in OpenAI—Sei una Leggenda! Non credo che Sam sarà in grado di domarti. Grazie!!) utilizzandolo solo con modelli locali. Sono in modalità profonda di ottimizzazione delle prestazioni. Se qualcuno ricorda i “bei vecchi tempi” di tentativo di cacciare i driver Linux per una scheda SoundBlaster, beh, sono felice di riportare che siamo tornati completamente al punto di partenza nel mondo dell'AI. Il modello MoE utilizzato non era nella libreria Python integrata in LM Studio (sorpresa, sorpresa), quindi è arrivato il momento di avviare un nuovo ambiente virtuale e iniziare a pip-are.

L'ironia non mi sfugge che mentre abbiamo questi strumenti all'avanguardia, i gemelli di Gemini e ChatGPT spesso non possono aiutare a debuggarli perché semplicemente non sanno ancora che esistono. Lunga vita ai Github Issues.

La Missione: Editing Video Automatizzato Locale

Il punto dell'impresa di stasera non era solo mostrare i muscoli hardware. Sto costruendo uno strumento di editing video automatizzato. Ho centinaia di ore di girato e un link di upload a banda larga scadente, quindi l'elaborazione cloud è fuori discussione. L'elaborazione locale è fondamentale.

Il mio obiettivo è determinare se posso cavarmela con un modello pesantemente quantizzato (più piccolo). Un modello più piccolo significa inferenza più veloce e una finestra di contesto più ampia, che è cruciale dato che ho intenzione di eseguire diversi modelli contemporaneamente per altri compiti. Ho bisogno che questa macchina sia autofinanziante una volta che la lancerò!

L'Esperimento: Scontro di Quantizzazione Qwen 3.5

Ho fatto passare un'immagine di riferimento (un selfie del sottoscritto in tenuta da moto sopra) attraverso le versioni Quant 2 (Q2), Quant 3 (Q3), Quant 6 (Q6) e Quant 8 (Q8) del nuovo modello vision Qwen 3.5. Ecco la scomposizione visiva dei risultati.

Il Comando di Test

Per ogni test, ho usato il seguente comando curl contro il mio server MLX locale:

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. L'Esperienza Q2: Collasso Totale

Verdetto: Inutile.

A 2-bit di quantizzazione, il modello è completamente crollato. Ha allucinato una completa incomprensibilità.

{
    "choices": [
        {
            "message": {
                "content": ")nameUnc\u0901Op\u90f4\u5ddeG 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. L'Esperienza Q3: Il Contendente Sorpresa

Verdetto: L'Eroe della “Bozza Iniziale”.

Mi aspettavo che fosse appena leggibile, ma in realtà ha catturato perfettamente l'essenza dell'immagine. Ha perso alcune texture più fini, ma per un filtro di primo passaggio? Questo è fattibile.

{
    "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. L'Esperienza Q6: La Zona di Goldilocks

Verdetto: Bilancio Perfetto.

È qui che avviene la magia. La descrizione è ricca, accurata e fluida. Ha colto il “leggero sorriso” dentro l'elmo e il riflesso specifico nello specchio.

{
    "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. L'Esperienza Q8: Rendimenti Decrescenti?

Verdetto: Alta Definizione, ma Pesante.

Il modello Q8 aggiunge una sfumatura leggermente maggiore all'illuminazione e ai colori (“vibes autunnali”), ma al costo di un utilizzo della memoria significativamente più alto. Per la mia pipeline video, Q6 è probabilmente sufficiente.

{
    "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"
            }
        }
    ]
}

Come Replicare Questo (La Guida del “Geek”)

Per quelli di voi con l'hardware per eseguire questo, ecco la ricetta esatta che ho usato per farli funzionare localmente su Apple Silicon.

1. Quantizzazione

Ho convertito i pesi originali di Hugging Face usando mlx_vlm. Nota l'uso del flag a 2-bit qui (che ho poi cancellato perché, beh, vedi sopra).

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. Avvio del Server

Una volta convertito, ho lanciato il server usando mlx-openai-server. Prevedi alcuni avvisi AVFFrameReceiver se hai OpenCV installato—puoi ignorarli.

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

3. La Verità sullo Spazio di Archiviazione

Prima di iniziare a scaricare, controlla lo spazio su disco. Ecco l'impronta dei diversi livelli di quantizzazione sul mio drive:

(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

Conclusione

Questo esperimento ha dimostrato che più grande NON è sempre meglio. Se stai costruendo una pipeline dove la velocità è critica, il modello Q3 (a 162GB) è sorprendentemente competente nel “vedere” la scena, identificare gli oggetti e comprendere il contesto. È un fantastico filtro di primo passaggio.

Per la rifinitura finale o l'analisi ad alto dettaglio, Q6 è il vincitore. Fornisce il 99% dei dettagli di Q8 ma risparmia quasi 100GB di spazio RAM/Disco.

Vado a dormire. Domani, inizia l'automazione.

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

← All posts