circuito integrato con microchip AI

VibeThinker-3B: come un modello da 3 miliardi di parametri batte concorrenti cento volte più grandi

VibeThinker-3B è un modello linguistico da 3 miliardi di parametri che su compiti di ragionamento verificabili (matematica, coding, STEM) ottiene punteggi paragonabili a modelli centinaia di volte più grandi. Creato da ricercatori di Sina Weibo (Cina), è disponibile con licenza MIT. Su AIME26 segna 94.3, in linea con DeepSeek V3.2 (671B) e Kimi K2.5 (1T). Con il metodo di test-time scaling CLR, sale a 97.1.

Il modello si basa su Qwen2.5-Coder-3B e non viene addestrato da zero, ma post-addestrato con un processo chiamato Spectrum-to-Signal (già usato su VibeThinker-1.5B). In pratica: prima un supervised fine-tuning (SFT) costruisce uno spazio ampio di percorsi di ragionamento validi (lo “spettro”), poi il reinforcement learning (RL) amplifica quelli corretti (il “segnale”). Il tutto per una sola categoria di compiti: quelli in cui un verificatore esterno può confermare la risposta. Per domande aperte o conoscenza generale, il paper stesso raccomanda modelli più grandi.

Benchmark

Il confronto con modelli molto più grandi parla chiaro sulle specialità di VibeThinker-3B.

Modello Parametri AIME26 HMMT25 IMO-Ans LCBv6 GPQA-D
VibeThinker-3B 3B 94.3 89.3 76.4 80.2 70.2
VibeThinker-3B +CLR 3B 97.1 95.4 80.6 72.9
DeepSeek V3.2 671B 94.2 90.2 78.3 80.8 82.4
Kimi K2.5 1T 93.3 95.4 81.8 85.0 87.6

Su GPQA-Diamond (un test di conoscenza generale) il gap coi modelli grandi resta evidente. Ma su matematica e codice il 3B siede nel cluster di testa. Il test di coding fuori distribuzione (LeetCode contests tra aprile e maggio 2026) conferma: 123 pass su 128 invii Python al primo tentativo (96.1%).

Il pipeline di post-addestramento

Il processo si articola in quattro fasi, ognuna pensata per risolvere un problema specifico dei modelli di ragionamento piccoli.

  • SFT curriculare in due stadi: il primo copre matematica, codice, STEM e dialogo in generale; il secondo si concentra su esempi più difficili filtrati per lunghezza e complessità del ragionamento. In entrambi si preservano percorsi di soluzione multipli (distillazione esplorativa della diversità).
  • RL su più domini (Math, Code, STEM): si usa MaxEnt-Guided Policy Optimization (MGPO), che pesa di più i prompt al confine tra risposte corrette e sbagliate. La finestra di contesto è fissa a 64K (niente espansione progressiva, che qui penalizza i ragionamenti lunghi). Nella fase Math RL c’è anche una sottofase “Long2Short” che premia le risposte corrette più brevi, riducendo token ridondanti senza perdere accuratezza.
  • Self-distillation offline: i checkpoint RL vengono fusi in un singolo modello studente.
  • Instruct RL: migliora l’aderenza alle istruzioni (su IFEval segna 93.4, su IFBench 74.5), dimostrando che il tuning al ragionamento non ha rotto la controllabilità.

CLR: scalare a test-time senza aumentare i parametri

Claim-Level Reliability Assessment (CLR) è un metodo di test-time scaling che non aggiunge parametri. Funziona in due passi:

  1. Il modello genera K=32 traiettorie per problema. Da ciascuna estrae M=5 “claim” rilevanti per la decisione più la risposta finale.
  2. Il modello fa da verificatore a sé stesso: convalida o falsifica ogni claim, producendo verdetti binari. Da questi calcola un punteggio di affidabilità non lineare della traiettoria (un claim debole abbassa molto il peso).

Le risposte vengono raggruppate per equivalenza; vince quella con il peso di affidabilità più alto. L’intero flusso viene ripetuto 8 volte e la media Pass@1 diventa il punteggio finale. Con CLR, AIME26 sale a 97.1 e BruMO25 a 99.2.

Casi d’uso

VibeThinker-3B è uno specialista: va usato dove la risposta può essere verificata automaticamente.

  • Tutor di matematica competitiva: risolve problemi stile AIME e HMMT con catene di ragionamento complete, ideale per tool di studio locali.
  • Assistente di coding algoritmico: il 96.1% su LeetCode lo rende adatto a plugin IDE che generano soluzioni per problemi di competizione.
  • Backend economico per RL o agenti: servire un 3B costa molto meno di un 671B. I team che eseguono molti sottocompiti verificabili possono instradarli qui.
  • Ragionamento on-device: i pesi in BF16 occupano circa 6 GB, quindi girano su una singola GPU consumer.

Come avviarlo

Con vLLM (versione >=0.10.1) si espone un endpoint compatibile con OpenAI:

pip install vllm
vllm serve "WeiboAI/VibeThinker-3B"
curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "WeiboAI/VibeThinker-3B",
    "messages": [{"role": "user", "content": "Prove there are infinitely many primes."}],
    "temperature": 1.0, "top_p": 0.95
  }'

Con Transformers (>=4.54.0) il codice standard funziona, ma max_new_tokens va impostato alto (102400) perché il modello produce tracce di ragionamento lunghe. Un cap troppo basso tronca la risposta.

Articoli simili