Migliore di GPT-4 per le query SQL NSQL (Completamente OpenSource)

GPT-4 migliore di NSQL per le query SQL (OpenSource)

NSQL è una nuova famiglia di modelli di base large open-source (FMs) progettata specificamente per le attività di generazione di SQL

Alza la mano se hai provato a utilizzare ChatGPT o uno degli altri LLM per generare query SQL. Io l’ho fatto, e lo sto ancora facendo! Ma sono entusiasta di condividere con te che è stata rilasciata una nuova famiglia di modelli di base large open-source (FMs) progettata specificamente per le attività di generazione di SQL. Il suo nome è NSQL. Ha diverse versioni a partire da NSQL-350M, NSQL-2B e NSQL-6B. NSQL-6B supera tutti i modelli open-source esistenti sui benchmark di SQL standard e persino modelli generali commerciali come ChatGPT, GPT3, GPT3.5 e GPT4.

Fuori dalla scatola vs Fine-tuning?

Perché SQL; SQL è ancora il linguaggio più comunemente utilizzato. Potresti utilizzare diverse varianti di SQL, da Oracle, MySQL, PostgreSQL a MSSQL; ma SQL è ancora universalmente utilizzato. Non sarebbe fantastico se potessimo scrivere query SQL chiedendo a un grande modello di linguaggio? Sarebbe un grande risparmio di lavoro e probabilmente democratizzerebbe l’accesso alle informazioni praticamente per tutti in azienda che ne hanno bisogno.

Come possiamo fare in modo che ciò accada? Di solito, pensiamo a uno dei due, un modello preconfezionato o un modello di base large fine-tuned per un compito specifico. Entrambi hanno vantaggi e svantaggi, ad esempio i modelli preconfezionati sono addestrati sui dati pubblici e mancano delle conoscenze specifiche per la tua organizzazione.

Se sei come me, sai cosa intendo. Ogni azienda, unità aziendale e talvolta anche ingegnere (purtroppo) possono avere la propria convenzione di denominazione per vari database, schemi, nomi delle tabelle e campi. Sapere cosa significa ogni campo rappresenta l’80% della battaglia che tutti affrontiamo nei primi 3-6 mesi del processo di formazione che inizia con l’onboarding e apparentemente non finisce mai. Ma a parte gli scherzi, questo è davvero il problema con i modelli open-source sviluppati utilizzando dati pubblici. Personalizzare questi modelli utilizzando dati specifici dell’organizzazione è il lavoro dei data scientist e l’opportunità per l’azienda. Ciò consente al modello di essere più flessibile con i dati che ogni organizzazione ha da offrire.

Si potrebbe utilizzare un mega modello come i GPT e pensare che funzionerà se si fornisce solo il contesto. Beh, dico che non hai del tutto torto, ma comunque ti sorprenderai quante volte il modello allucina (anche con impostazioni di temperatura=0). Inoltre, chiedere a un modello generale delle dimensioni di 500B di parametri di scrivere una query SQL specifica potrebbe non essere un lavoro adatto alle risorse utilizzate. Qual è quindi la soluzione?

Un FM totalmente open-source specifico per le attività di SQL

L’IA sta prendendo velocità, e l’adozione dell’IA è stata piuttosto lenta nelle aziende. Alcuni settori sono pronti per la sua adozione, ma c’è ancora molto ritardo in termini di competenze, infrastrutture e in generale la volontà di investire in soluzioni di dati basate su IA. Di fatto, poche aziende hanno la capacità di costruire il proprio codice FM. Ciò significa che avranno bisogno di un’alternativa open-source o closed-source per colmare il vuoto. Ci sono alcune lacune specifiche quando si tratta di utilizzare modelli del genere fuori dalla scatola aperta/chiusa.

Mancano di personalizzazione, come discusso in precedenza. Ogni dato in ogni azienda e il suo codice sono quasi sempre unici. Ciò significa che il modello unico che si adatta a tutti potrebbe non essere la migliore idea.

Inoltre, ci sono molti linguaggi di programmazione utilizzati nelle aziende in vari dipartimenti. I modelli sviluppati per gestire molti linguaggi possono funzionare come generalisti ma non come specialisti. A volte ciò significa che si “quasi” ottiene la risposta, ma il “quasi” lo rende completamente e assolutamente inutilizzabile.

La privacy è un altro dei grandi problemi. Le aziende sono spesso riluttanti a utilizzare un motore di terze parti per guidare l’AI. Preferirebbero non condividere nulla con l’azienda che fornisce loro il modello di IA. Ciò significa che è difficile costruire effettivamente cose specializzate nel compito. Se si fa un sondaggio, scommetto che la maggior parte delle aziende oggi preferirebbe utilizzare la propria hardware per gestire il tutto piuttosto che una terza parte (soprattutto se le attività sono incentrate sulla privacy).

L’Approccio NSQL per Rispondere alle tue Domande

NSQL ha eseguito la seguente soluzione. Il primo passo è stato raccogliere molti dati. Questo è il corpus dei codici SQL generali provenienti dal web utilizzando l’apprendimento autosupervisionato. I dati di input per il processo di addestramento del modello contengono sia il codice SQL che lo schema dei dati utilizzando coppie etichettate di testo-SQL. Ciò è stato ulteriormente addestrato per seguire i compiti specifici più comuni e fornito dei codici che eseguono questi compiti. Questo è il processo di fine-tuning per un modello SQL generale per essere più attento alle richieste più comuni che una persona può fare al database.

NSQL: Dati e dettagli di addestramento

Per addestrare NSQL sono stati creati 2 dataset.

  1. Un dataset di pre-addestramento composto dalle query SQL generali (I dati sono disponibili su huggingface qui https://huggingface.co/datasets/bigcode/the-stack )
  2. Un dataset di fine-tuning composto da coppie di testo-SQL (Queste coppie di testo-SQL etichettate provengono da 20 diverse fonti pubbliche su Internet e vanno da WiliSQL a dati medici come MIMIC_III (leggi di più sulla serie MIMIC qui https://medium.com/mlearning-ai/what-is-mimic-iv-newer-better-modular-release-of-mimic-4083e3cb14fe )

Ecco l’elenco completo del database di fine-tuning

Questi dati sono stati aumentati con l’aumento dello schema, la pulizia SQL e la generazione di istruzioni migliori. Nel dataset di fine-tuning sono stati inclusi in totale 300.000 campioni. I dati saranno disponibili su HuggingFace.

L’addestramento è stato eseguito come un processo a 2 fasi con il pre-addestramento utilizzando solo i codici SQL come primo passo e quindi il fine-tuning utilizzando le coppie di testo-SQL con lo schema.

Performance

NSQL è stato valutato su due benchmark standard di testo-SQL:

The Spider

Il benchmark The Spider contiene domande da oltre 200 diversi database che vanno da attori a veicoli. Leggi di più su di esso qui https://yale-lily.github.io/spider .

Geoquery

Geoquery si concentra sulle domande sulla geografia degli Stati Uniti. Leggi di più su GeoQuery qui

Verdetto

La versione 6B di NSQL funziona meglio di tutti i modelli open-source esistenti fino a 6 punti nei benchmark di accuratezza di esecuzione di Spider.

Rispetto ai modelli closed-source, la versione 6B mostra risultati ancora migliori con un vantaggio di 9 punti nel benchmark di accuratezza di esecuzione di Spider (rispetto a ChatGPT) anche. Rispetto al modello Salesforce CodeGen, sia NSQL pre-addestrato (non fine-tuning) funziona meglio del 35-60%, mentre il modello NSQL addestrato (fine-tuning) funziona meglio del 100-400%.

Analisi qualitativa:

I ricercatori hanno anche condotto la valutazione del modello utilizzando metodi qualitativi. Il risultato di tale valutazione è che il modello NSQL può seguire meglio le istruzioni e inoltre, fa meno allucinazioni rispetto a qualsiasi modello esistente. Questo è particolarmente vero quando lo schema viene fornito come contesto. Il modello NSQL funziona meglio se le istruzioni sono esplicite. Ecco un esempio di casi in cui il modello ha funzionato bene e alcuni (5,6) in cui il modello ha fallito piuttosto male dato che il ricavo nel contesto non era definito.

Codice di creazione dello schema —

Valutazione qualitativa.

Cosa significa questo?

Qualche giorno fa qualcuno mi ha contattato dicendo “Ehi, lavoro nel settore sanitario e non possiamo inviare i dati ad altre parti. Vorremmo generare interrogazioni basate sull’input dell’utente. Ero sicuro di poterlo fare utilizzando modelli preconfezionati, ma ora sono sicuro di riuscirci.”

Forse le prestazioni di questo modello pre-addestrato saranno inferiori a quelle che mi aspetto, ma potrei ottimizzarlo utilizzando i dati aziendali o potrei semplicemente fornire una formazione ai dipendenti per consentire loro di utilizzare correttamente lo strumento.

Tutti i crediti vanno a NnumbersStation.ai per aver reso accessibile il potere di NSQL alle persone. Questo rilascio è completamente gratuito sia per il lavoro accademico che per quello commerciale, il che lo rende un modello incredibilmente flessibile per iniziare a giocarci. Inoltre, non dimenticate il potere delle persone. Quando i pesi di LLaMa sono stati resi pubblici, abbiamo ottenuto ogni modello animale dal Regno dei Mammiferi! Credo che ora dovremmo aspettarci una tonnellata di modelli derivati da questo rilascio di NSQL.

Dove posso giocare con il modello?

Il NSQL-350M, NSQL-2B e NSQL-6B sono tutti disponibili su HuggingFace, compresi i pesi del modello. Puoi utilizzare il playground con il modello 350M (gli altri modelli sono troppo grandi per essere caricati nell’API di inferenza)

NumbersStation (NumbersStation)

Profilo dell’organizzazione per NumbersStation su Hugging Face, la comunità di intelligenza artificiale che costruisce il futuro.

huggingface.co

Dove posso trovare il codice di avvio?

Su GitHub, puoi trovare notebook che guidano l’installazione e il lavoro per i flavor SQL di Postgres e Sqlite. Il repository e gli esempi non sono ben configurati. Quindi aspettati problemi come il pacchetto manifesto è stato segnalato con la versione 0.1.9 nei requisiti, ma le versioni disponibili sono solo fino alla 0.1.8. Fai gli aggiustamenti necessari prima di eseguirlo in locale utilizzando SQLite (consiglio SQLite in quanto non richiede di creare un database e un utente Postgres solo per iniziare.

Buona fortuna! E divertiti!

Se hai letto fino a questo punto, grazie! Sei un eroe! Mi scuso per l’articolo breve e possibilmente affrettato questa volta. Cerco di tenere i miei lettori aggiornati su “eventi interessanti nel mondo dell’intelligenza artificiale”, quindi per favore 🔔 battito delle mani | segui | iscriviti

Diventa membro utilizzando il mio referral: https://ithinkbot.com/membership

Trova su Linkedin https://www.linkedin.com/in/mandarkarhade/

GPT-4: 8 Modelli in Uno; Il segreto è stato svelato

GPT4 ha mantenuto il modello segreto per evitare la concorrenza, ora il segreto è stato svelato!

pub.towardsai.net

Incontra il modello di base completamente open-source di Salesforce XGen-7B

Questo modello consente sequenze lunghe fino a 8K token completamente gratuite

pub.towardsai.net

Incontra MPT-30B: un LLM completamente open-source che supera GPT-3

Rilascio di due varianti ottimizzate, MPT-30B-Instruct e MPT-30B-Chat, che sono costruite su MPT-30B

pub.towardsai.net

Dimentica lo stack LAMP: ecco qui lo stack LLM!

Huggingface si è posizionato come il nuovo stack standard nell’ecosistema NLP/LLM. Ora le aziende stanno chiedendo…

pub.towardsai.net

Incontra Gorilla: un LLM completamente Open Source ottimizzato per le chiamate API

Meno allucinazioni e migliore di GPT-4 nella scrittura di chiamate API

pub.towardsai.net

Raffina la modalità GPT utilizzando Lit-Parrot di Lightening-AI

BYOD Porta i tuoi dati! e Alleniamoci sulla tua GPU

pub.towardsai.net

WizardLM: Generatore di Dati di Istruzione completamente Open Source e automatizzato

Automatizza i passaggi noiosi della generazione di dati di addestramento basati su istruzioni

pub.towardsai.net

Falcon-40B: Un LLM di base completamente Open Source

pub.towardsai.net

H2Oai rilascia GPT completamente Open Source

I modelli h2oGPT-20B, h2oGPT-12B v1 e h2oGPT-12B v2 sono stati rilasciati con licenza Apache 2.0 (Completamente gratuiti per…

pub.towardsai.net