Ricercatori a Stanford presentano DSPy un framework di intelligenza artificiale per risolvere compiti avanzati con modelli di linguaggio (LMs) e modelli di recupero (RMs)

Researchers at Stanford present DSPy, an AI framework for solving advanced tasks with language models (LMs) and retrieval models (RMs).

Varie attività complesse possono essere facilmente risolte utilizzando Modelli Linguistici e Modelli di Recupero. I modelli linguistici, come il GPT-3, sono progettati per generare testo simile a quello umano in base all’input che ricevono. D’altra parte, i modelli di recupero vengono utilizzati per recuperare informazioni rilevanti da un database o da una collezione di documenti. Definire chiaramente l’attività che si desidera risolvere determina se è necessario generare nuovo testo o recuperare dati da fonti esistenti.

Con GPT-3 o modelli simili, è necessario fornire un prompt che descriva l’attività e consentire al modello di generare testo basato su di esso. Richiede di sperimentare con la formulazione e la struttura del prompt per ottenere l’output desiderato. Coinvolge la combinazione di testo generato da modelli linguistici con informazioni recuperate da database. Ciò potrebbe includere la generazione di sommari o informazioni basate su informazioni recuperate.

I ricercatori di Stanford hanno sviluppato un framework per risolvere attività avanzate con modelli linguistici (LM) e modelli di recupero (RM). Lo chiamano DSPy. DSPy è composto da varie tecniche per il prompt e il fine-tuning dei LM e per il miglioramento del loro ragionamento e del recupero delle informazioni. DSPy si basa sulla sintassi Python per fornire moduli componibili e dichiarativi per istruire i LM.

DSPy ha anche un compilatore automatico che addestra il LM per eseguire i passaggi dichiarativi nel tuo programma. Questo compilatore può eseguire il fine-tuning con un minimo di dati senza etichette intermedie manuali. Utilizza uno spazio sistematico di pezzi modulari e addestrabili invece della manipolazione di stringhe.

DSPy utilizza due concetti semplici chiamati “Signatures” e “Teleprompters” per compilare qualsiasi programma che scrivi. Una signature è una specifica dichiarativa del comportamento di input/output di un modulo DSPy. Al contrario, i teleprompters sono ottimizzatori potenti (inclusi in DSPy) che possono imparare a inizializzare e selezionare prompt efficaci per i moduli di qualsiasi programma.

La signature consiste in una descrizione minima del sotto-task e una o più domande di input che verranno poste al LM. Spiega anche la risposta alla domanda che ci aspettiamo dal LM. I teleprompters sono prompting automatici a distanza. Dicono che rispetto ad altri, DSPy richiede un numero minimo di etichette. Inizializzerà qualsiasi etichetta intermedia richiesta per supportare la pipeline dell’utente, che coinvolge più passaggi complessi.

Dato che il framework DSPy differisce significativamente da altre librerie, è abbastanza facile giustificarne l’uso in base al nostro caso d’uso. I ricercatori dicono che questo framework unificato è utile per un ricercatore NLP / AI o per qualcuno che sta esplorando nuove pipeline o nuovi compiti per risolvere problemi avanzati e complessi. Per renderlo accessibile a tutti, hanno pubblicato un manuale utente di installazione. Dicono anche che saranno rilasciati in futuro vari tutorial introduttivi e dimostrazioni con materiale di riferimento.