Il modello di inferenza 32B utilizza solo 1/8 dei dati ed è alla pari con DeepSeek-R1 delle stesse dimensioni!

Proprio ora, istituzioni come Stanford, UC Berkeley e l'Università di Washington hanno rilasciato congiuntamente un modello di inferenza di livello SOTA, OpenThinker-32Be hanno anche reso open source fino a 114k dati di formazione.

Pagina iniziale del progetto OpenThinker:

OpenThinker Abbracciando il viso:

Pensieri aperti Dataset:

Scoperta del team: utilizzando un set di dati di alta qualità su larga scala con annotazioni verificate DeepSeek-R1 (basate sulla distillazione R1), è possibile addestrare un modello di inferenza SOTA.

Il metodo specifico consiste nel ridimensionare i dati, verificare il processo di inferenza e ridimensionare il modello.

Il modello OpenThinker-32B risultante ha superato i modelli s1 e s1.1 di Li Fei-Fei in numerosi test di benchmark in matematica, programmazione e scienze, ed è risultato vicino a R1-Distill-32B.

Vale la pena ricordare che, rispetto a R1-Distill-32B, che utilizzava 800k dati (inclusi 600k campioni di inferenza), OpenThinker-32B ne ha utilizzati solo 114k, ottenendo risultati pressoché identici ed eccellenti.

Inoltre, OpenThinker-32 ha reso pubblici anche tutti i pesi dei modelli, i set di dati, il codice di generazione dei dati e il codice di addestramento!

Cura dei dati

I ricercatori hanno addestrato OpenThinker-32B utilizzando lo stesso set di dati OpenThoughts-114k con cui avevano precedentemente addestrato OpenThinker-7B.

Hanno utilizzato il modello DeepSeek-R1 per raccogliere i processi di ragionamento e i tentativi di risposta per un set attentamente selezionato di 173.000 domande. Questi dati grezzi sono stati poi pubblicati come dataset OpenThoughts-Unverified-173k.

L'ultimo passaggio del processo consiste nel filtrare i campioni di dati corrispondenti se il processo di ragionamento non supera la verifica.

La figura seguente mostra visivamente l'intero processo.

Il team di ricerca inserisce innanzitutto i dati sorgente o gli spunti di ricerca, che possono provenire da diversi campi e piattaforme, come BAAI/TACO, DeepMind, invii Python, ecc., che coprono vari aspetti come codice, puzzle, scienza e matematica.

Questi input diversi vengono poi passati al modulo di elaborazione principale, DeepSeek-R1, dove i dati vengono analizzati ed elaborati. Le domande sono divise in tre categorie: domande scientifiche, matematica e puzzle e codice.

Alcuni risultati non richiedono verifica e possono essere semplici analisi o output diretti. Per alcuni contenuti che richiedono una verifica approfondita, viene utilizzato un modello linguistico di grandi dimensioni (LLM) per giudicarli in un modo che sia paragonabile a GT (Ground Truth). Se si tratta di codice, il codice viene eseguito e vengono eseguiti test unitari per garantirne la correttezza e l'efficacia.

Infine, i risultati provenienti da diverse direzioni possono essere combinati per generare un pensiero aperto e soluzioni più complete.

Il team di ricerca ha aggiornato il dataset finale OpenThoughts-114k con una configurazione chiamata "metadati" che contiene alcune colonne aggiuntive utilizzate per costruire il dataset:

  • problema
  • soluzione_alla_verità_fondamentale
  • test_cases (solo codice)
  • starter_code (solo codice)
  • DeepSeek_ragionamento
  • DeepSeek_soluzione
  • dominio
  • fonte

Questi metadati aggiuntivi renderanno più semplice l'utilizzo di questo set di dati in nuovi scenari, come il filtraggio dei dati, il cambio di dominio, i controlli di verifica e la modifica del modello del processo di inferenza.

Questi metadati aggiuntivi renderanno più semplice l'utilizzo di questo set di dati e potranno essere eseguiti con una sola riga di codice, ad esempio filtrando, modificando il dominio, controllando la verifica e modificando il modello di monitoraggio dell'inferenza.

load_dataset("pensieri-aperti/PensieriAperti-114k", "metadati", split="treno")

Il team di ricerca afferma di non vedere l'ora di vedere la comunità sfruttare queste domande e risposte standard per la ricerca sull'apprendimento per rinforzo (RL) sul modello OpenThinker. DeepScaleR ha già dimostrato che questo approccio funziona particolarmente bene su scale più piccole.

Verifica

Per arrivare al set di dati finale di OpenThoughts-114k, il team di ricerca ha verificato le risposte ed eliminato quelle errate.

Come mostrato nella tabella seguente, conservare inferenze che non superano la verifica può compromettere le prestazioni, sebbene il modello non verificato offra comunque buone prestazioni rispetto agli altri modelli di inferenza 32B.

Il ruolo della verifica è quello di mantenere la qualità delle annotazioni R1 espandendo al contempo la diversità e la dimensione del set di prompt di training. D'altro canto, i dati non verificati possono essere espansi più facilmente e pertanto vale la pena esplorarli ulteriormente.

Per i problemi di codice, completiamo la verifica del processo di inferenza confrontando i tentativi di risposta con i casi di test esistenti.

Ispirati dalle sfide affrontate durante l'esecuzione del codice, abbiamo implementato un framework di esecuzione del codice in Curator che consente agli utenti di eseguire codice su larga scala, in modo sicuro, e di verificarlo rispetto all'output previsto.

Per i problemi matematici, il team di ricerca ha utilizzato un giudice LLM (Large Language Model) per la verifica, che riceve sia la risposta standard sia il tentativo di soluzione DeepSeek-R1.

Si è scoperto che l'utilizzo del valutatore LLM per la generazione dei dati al posto del motore di analisi più rigoroso (Math-Verify) ha prodotto una velocità di elaborazione dati effettiva più elevata e ha consentito l'addestramento di modelli downstream con prestazioni migliori.

Formazione

Il team di ricerca ha utilizzato LLaMa-Factory per mettere a punto Qwen2.5-32B-Instruct tre volte sul dataset OpenThoughts-114k con una lunghezza di contesto di 16k. La configurazione di training completa può essere trovata su GitHub.

OpenThinker-32B è stato addestrato per 90 ore utilizzando quattro nodi 8xH100 P5 su un cluster AWS SageMaker, per un totale di 2.880 ore H100.

Nel frattempo, OpenThinker-32B-Unverified è stato addestrato per 30 ore sul supercomputer Leonardo utilizzando 96 nodi 4xA100 (64 GB per GPU), accumulando 11.520 ore A100.

Valutazione

Il team di ricerca ha utilizzato la libreria di valutazione open source Evalchemy per valutare tutti i modelli.

Per AIME24 e AIME25, hanno calcolato l'accuratezza facendo la media dei risultati di cinque esecuzioni. La configurazione di valutazione ha utilizzato un parametro di temperatura di 0,7, ha limitato la risposta del modello a 32.768 token, non ha aggiunto parole aggiuntive di sistema o di prompt utente e non ha utilizzato strategie di decodifica speciali (come il budget forcing).

Quando è stato lanciato il progetto OpenThoughts, ci si è prefissati l'obiettivo di creare un modello di dati aperto con prestazioni in grado di eguagliare quelle di DeepSeek-R1-Distill-Qwen-32B.

Ora quel divario è stato quasi colmato.

Infine, il team di ricerca è entusiasta dei rapidi progressi compiuti dalla comunità nella creazione di modelli di inferenza di dati aperti nelle ultime settimane e non vede l'ora di continuare ad andare avanti sulla base delle reciproche intuizioni.

La versione open source di OpenThinker-32B dimostra che le sinergie tra dati, convalida e dimensioni del modello sono essenziali per migliorare le capacità di inferenza.

Questo risultato non solo promuove lo sviluppo di modelli di inferenza open source, ma fornisce anche risorse preziose e ispirazione per l'intera comunità dell'intelligenza artificiale.

Messaggi simili

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *