L’evoluzione del programma utilizzando grandi perturbazioni basate sul linguaggio colma il divario tra gli algoritmi evolutivi e quelli che operano al livello dei pensieri umani.
 
OpenAI, in collaborazione con GitHub e Microsoft, ha rilasciato un assistente di codifica, GitHub Copilot , nel 2021. Un programmatore di coppie di intelligenza artificiale, Copilot, è formato su un ampio corpus di codici open source su GitHub; prende il contesto dal codice su cui si sta lavorando e suggerisce righe successive di codice e funzione. 

Avanti veloce di due anni, OpenAI ha ora introdotto i risultati della loro recente ricerca in cui i grandi modelli linguistici addestrati per generare codici potrebbero essere utilizzati anche per migliorare l’efficacia degli operatori di mutazione applicati alla programmazione genetica . Sostengono che poiché questi modelli linguistici sono addestrati su dati che includono cambiamenti e modifiche sequenziali, possono approssimare i cambiamenti che gli esseri umani farebbero.

 
Evoluzione attraverso modelli di grandi dimensioni
Il calcolo evolutivo è un tipo di famiglia di algoritmi che si ispira all’evoluzione biologica e viene utilizzata per l’ottimizzazione globale. Nel calcolo evolutivo, un sottocampo dell’intelligenza artificiale, viene generato un insieme iniziale di soluzioni che viene aggiornato in modo iterativo per rimuovere soluzioni meno desiderate e introdurre piccoli cambiamenti.

L’ascesa del deep learning ha sollevato interrogativi sulle sue implicazioni per il calcolo evolutivo. Sono paradigmi in competizione o sono complementari? Nell’approccio Evolution through Large Models (ELM), un grande modello di linguaggio addestrato sul codice può suggerire mutazioni intelligenti e facilitare un operatore di mutazione più efficace che superi le sfide che sono state affrontate nel caso di programmi in evoluzione , osservano gli autori dello studio.

L’insieme di campioni generati da questi grandi modelli linguistici può eventualmente sviluppare un nuovo set di formazione in un nuovo dominio, che può quindi mettere a punto il modello linguistico per funzionare bene in una nuova procedura di generazione dei dati, un nuovo dominio. Secondo gli autori, questo approccio apre nuove opportunità nella ricerca dell’open-endness, che riguarda la ricerca al di fuori della distribuzione dell’esperienza precedente. Il campo dell’open-ended cerca di creare sistemi algoritmici in grado di produrre soluzioni infinite, soprattutto nel contesto degli sviluppi nel campo dell’IA. Sebbene la ricerca sull’open-ended sia stata limitata alla ricerca aperta e tale focus abbia portato a progressi algoritmici, c’è una crescente consapevolezza dell’importanza dell’ambiente in cui vengono applicati questi algoritmi. D’altro canto, 

Questo approccio aumenta anche le capacità generative del modello linguistico esclusivamente attraverso i propri dati generati. I modelli linguistici di grandi dimensioni fanno il bootstrap dalla conoscenza umana imparando da grandi set di dati per ottenere una competenza di codifica generale. Tutti questi fattori sono molto importanti per la programmazione genetica .

Semplicemente spingendo i grandi modelli linguistici a generare cambiamenti, questi strumenti possono fungere da operatori di mutazione altamente sofisticati incorporati con l’algoritmo evolutivo. In effetti, l’evoluzione del programma utilizzando grandi perturbazioni basate sul linguaggio colma il divario tra gli algoritmi evolutivi e quelli che operano al livello dei pensieri umani. I modelli linguistici di grandi dimensioni possono essere addestrati per approssimare il modo in cui gli esseri umani possono cambiare intenzionalmente i programmi, il tutto pur essendo funzionali.

Sulla ricerca
I modelli linguistici di grandi dimensioni possono essere ulteriormente perfezionati per l’auto-miglioramento, che si conclude con una nuova tecnica per migliorare in modo iterativo le prestazioni dell’evoluzione attraverso modelli di grandi dimensioni. A tal fine, i ricercatori di OpenAI hanno generato un intero set di dati in un nuovo dominio da un singolo esempio iniziale mediocre progettato dagli esseri umani. Il dominio è Sodarace 2, dove vengono sviluppati robot ambulanti bidimensionali di morfologia arbitraria per diversi terreni. Questo dominio è economico da simulare e consente un’iterazione veloce. Facilita una rapida valutazione del successo di un progetto, sia quantitativamente che qualitativamente.

I Sodaracers sono codificati come programmi Python grezzi che generano l’enumerazione dei componenti dei robot ambulanti. In questo modo, è possibile dimostrare l’ELM come una forma di programmazione genetica che può operare direttamente su un moderno linguaggio di programmazione, senza disposizioni speciali necessarie oltre al modello di linguaggio di grandi dimensioni esistente per la generazione di codice.

Questo approccio dimostra anche la capacità di generare diverse soluzioni in un dominio o in una parte dello spazio di ricerca in cui sono disponibili pochi dati di addestramento per il bootstrap di un processo aperto. Secondo i ricercatori, questa capacità ha implicazioni di vasta portata. 

Di ihal