Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Calcolo e linguaggio

Progressi nei modelli linguistici per problemi di matematica

Questo studio esplora nuovi metodi per migliorare la risoluzione dei problemi di matematica usando modelli linguistici.

― 6 leggere min


Risoluzione di problemiRisoluzione di problemimatematici con modellilinguisticicompiti di matematica.prestazioni dei modelli linguistici neiMetodi innovativi migliorano le
Indice

Recenti sviluppi nei modelli di linguaggio hanno mostrato dei buoni risultati per risolvere problemi di matematica attraverso un metodo chiamato prompting. Però, creare prompt efficaci che funzionano per diversi tipi di problemi può essere un casino. Inoltre, molti problemi matematici hanno un sacco di Dati di addestramento, ma senza annotazioni utili. Questo limita le possibilità di usare l'apprendimento supervisionato in modo efficace.

In questo studio, guardiamo a due approcci per usare i dati di addestramento esistenti in uno scenario di few-shot. Questi due approcci sono noti come dynamic program prompting e program distillation. Sostituendo i passaggi di ragionamento tradizionali con programmi, possiamo controllare se le risposte sono corrette eseguendo questi programmi.

Dynamic Program Prompting

Nel dynamic program prompting, annotiamo i dati di addestramento generando programmi corretti usando un grande modello di linguaggio. Questo ci permette di creare un set di dati di addestramento che include questi programmi. Il vantaggio principale qui è che possiamo eseguire questi programmi per verificare le risposte, rendendo il nostro approccio più affidabile rispetto ai metodi tradizionali.

Possiamo campionare diversi programmi finché non troviamo uno che produce la risposta corretta. Una volta che identifichiamo un programma che funziona, possiamo usare questi dati di addestramento annotati per migliorare le performance sui problemi di test.

Program Distillation

La program distillation si concentra sull'addestramento di modelli di linguaggio più piccoli usando i dati annotati che raccogliamo. Affinando questi modelli più piccoli, speriamo di ottenere buone performance simili a quelle dei modelli di linguaggio più grandi. I modelli più piccoli sono addestrati per generare programmi Python corrispondenti ai problemi matematici. Questo approccio ci permette di sfruttare i benefici dei modelli grandi, mentre utilizziamo anche le risorse disponibili per i modelli più piccoli.

Experiment Setup

I nostri esperimenti coinvolgono tre dataset standard: GSM8K, SVAMP e MathQA. Questi dataset contengono vari gradi di problemi matematici impegnativi. Usiamo un massimo di 5 tentativi per trovare un programma corretto per ogni problema di matematica. Se non riusciamo a trovare un programma funzionante entro questi tentativi, scartiamo il problema dal nostro set di addestramento.

Per il dataset più facile, SVAMP, possiamo ottenere annotazioni di programmi corretti per una grande percentuale di casi. Il dataset MathQA, con problemi più complessi, si rivela più impegnativo, e otteniamo annotazioni corrette per una frazione minore di casi.

Performance Comparison

Facciamo esperimenti sia di prompting che di fine-tuning su tutti i dataset. I nostri approcci basati su programmi superano di gran lunga i metodi precedenti, ottenendo risultati migliori in tutti i test. In particolare, vediamo notevoli miglioramenti nel dataset MathQA, noto per la sua difficoltà e per i dati rumorosi.

In particolare, i nostri risultati dimostrano che usare esempi simili nel prompting aiuta ad aumentare la capacità del modello di capire le domande, portando a risposte migliori. Inoltre, confrontiamo il nostro approccio con prompt fissi tradizionali e scopriamo che recuperare esempi simili produce costantemente migliori risultati.

Similarity-Based Prompting

Per capire come i prompt influenzano i risultati, analizziamo il livello di somiglianza tra i prompt recuperati e le domande di matematica. Mostriamo che quando il nostro approccio seleziona prompt strettamente correlati alla domanda, si ottengono previsioni più accurate.

Tuttavia, scopriamo anche che i prompt fissi a volte funzionano meglio di quelli basati sulla somiglianza. Il nostro metodo basato sulla somiglianza tende a migliorare i risultati in generale ma non è sempre superiore ai metodi tradizionali.

Program Annotation Process

Annotiamo i dati di addestramento campionando programmi per ogni problema matematico. Questo processo ci permette di verificare le risposte eseguendo i programmi generati. Ogni volta che generiamo un programma, controlliamo se l'output corrisponde alla risposta attesa. Se non corrisponde, modifichiamo il nostro approccio per aumentare le possibilità di trovare un programma corretto.

Retrieval Strategy and Effectiveness

Usare i migliori campioni di addestramento simili come prompt si è rivelato fondamentale nei nostri esperimenti. Abbiamo testato diverse strategie di recupero e abbiamo stabilito che i prompt più simili portano a performance migliori. Selezionare casualmente prompt o scegliere gli esempi meno simili non ha fornito gli stessi vantaggi.

Selezionare gli esempi giusti come prompt è particolarmente importante in dataset come MathQA, dove esiste una gamma più ampia di conoscenze. I nostri risultati suggeriscono che un recupero efficace dei prompt è cruciale per ottenere un’alta accuratezza nella risoluzione dei problemi matematici.

Fine-Tuning Smaller Models

Oltre al prompting, esploriamo l'efficacia del fine-tuning di modelli di linguaggio più piccoli sui dati di addestramento annotati. I nostri modelli piccoli affinati si comportano molto bene, ottenendo risultati migliori rispetto ai modelli più grandi in alcuni scenari.

Quando confrontiamo il nostro approccio di fine-tuning con i metodi tradizionali di CoT (Chain of Thought), notiamo che il nostro approccio basato sui programmi è decisamente più efficace. Questo dimostra che la struttura fornita dalle annotazioni dei programmi contribuisce in modo significativo alla performance del modello.

Limitations and Future Directions

Anche se i nostri metodi mostrano promesse, riconosciamo alcune limitazioni. Continuiamo a dipendere molto dai grandi modelli di linguaggio per ottenere performance ottimali, che possono essere costosi. L'efficienza del recupero rappresenta anche una sfida quando si tratta di grandi dataset, poiché identificare esempi rilevanti può richiedere un tempo considerevole.

Nel lavoro futuro, puntiamo a progettare modelli strutturati che sfruttino ulteriormente il potenziale dei programmi annotati mentre affrontiamo il divario di performance visto nei modelli più piccoli. In particolare, vogliamo esplorare come i modelli che seguono le istruzioni possano integrare capacità di ragionamento matematico senza perdere la comprensione più ampia del linguaggio.

Inoltre, la nostra ricerca evidenzia la necessità di un algoritmo più efficiente per il recupero dei prompt, rendendolo più veloce e gestibile. Man mano che sviluppiamo questi miglioramenti, restiamo impegnati a migliorare le performance dei modelli che si occupano di problemi matematici complessi.

Conclusion

Dimostriamo che sfruttare i dati di addestramento annotati con programmi può migliorare significativamente le performance dei modelli nella risoluzione di problemi di matematica. I nostri risultati suggeriscono che il dynamic program prompting e la program distillation sono strategie efficaci per sfruttare i dati di addestramento disponibili.

Concentrandoci su esempi simili per il prompting e affinando modelli più piccoli, abbiamo osservato migliori performance su vari dataset. La nostra ricerca apre nuove strade per ulteriori esplorazioni nel migliorare i progetti dei modelli e potenziare le capacità dei modelli di linguaggio nei compiti di ragionamento matematico.

Fonte originale

Titolo: Leveraging Training Data in Few-Shot Prompting for Numerical Reasoning

Estratto: Chain-of-thought (CoT) prompting with large language models has proven effective in numerous natural language processing tasks, but designing prompts that generalize well to diverse problem types can be challenging, especially in the context of math word problem (MWP) solving. Additionally, it is common to have a large amount of training data that have a better diversity coverage but CoT annotations are not available, which limits the use of supervised learning techniques. To address these issues, we investigate two approaches to leverage the training data in a few-shot prompting scenario: dynamic program prompting and program distillation. Our approach is largely inspired by Gao et al., (2022), where they proposed to replace the CoT with the programs as the intermediate reasoning step. Such a prompting strategy allows us to accurately verify the answer correctness through program execution in MWP solving. Our dynamic program prompting involves annotating the training data by sampling correct programs from a large language model, while program distillation involves adapting a smaller model to the program-annotated training data. Our experiments on three standard MWP datasets demonstrate the effectiveness of these approaches, yielding significant improvements over previous baselines for prompting and fine-tuning. Our results suggest that leveraging a large amount of training data can improve the generalization ability of prompts and boost the performance of fine-tuned small models in MWP solving.

Autori: Zhanming Jie, Wei Lu

Ultimo aggiornamento: 2023-06-09 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2305.18170

Fonte PDF: https://arxiv.org/pdf/2305.18170

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili