Richiamo di tutte le funzioni.  Benchmarking della chiamata della funzione OpenAI… |  di Amber Roberts |  Dicembre 2023

 | Intelligenza-Artificiale

Prima di passare all’analisi dei risultati, è possibile riprodurre personalmente questi risultati in questo Taccuino di Google Colab. Tieni presente che normalmente non saresti in grado di ricreare esattamente i numeri in queste tabelle, a causa della natura non deterministica degli LLM, ma per questo taccuino abbiamo aggiunto un seme al campionamento in modo che sia sempre lo stesso. Inoltre, è stato aggiunto il campionamento stratificato in modo che le categorie binarie siano esattamente 50/50. Tieni presente che è previsto un costo computazionale associato all’esecuzione di questo notebook con le chiavi API OpenAI. Il numero predefinito di campioni è stato impostato su 2, ma puoi modificare il numero su 100 se desideri replicare i risultati di questo post del blog.

Tempo di elaborazione medio

Per chiarezza, questi confronti (utilizzando 100 campioni) sono stati eseguiti su Google Colab con un account e una chiave API OpenAI standard. Pertanto, anche se è improbabile che i valori di latenza siano esatti se eseguiti su una configurazione diversa, verranno riprodotti i modelli più lenti e più veloci.

Inoltre, è probabile che l’utilizzo delle spiegazioni nelle valutazioni richieda da 3 a 20 volte più tempo per la compilazione (questo è indipendente dalla chiamata di funzione).

Per la capacità predittiva del modello sulla pertinenza complessiva

  • Latenza: GPT-3.5-istruzione > GPT-3.5-turbo > GPT-4-turbo > GPT-4

Per la capacità predittiva del modello sulle allucinazioni

  • Latenza: GPT-3.5-istruzione > GPT-3.5-turbo ~ GPT-4-turbo > GPT-4

I modelli GPT con chiamata di funzione tendono ad avere una latenza leggermente superiore rispetto ai LLM senza chiamata di funzione, ma prendilo con le pinze perché ci sono alcuni avvertimenti. Innanzitutto, la latenza viene estratta dalle intestazioni HTTP restituite a noi da OpenAI, quindi a seconda del tuo account e del metodo con cui effettui queste richieste, i valori di latenza possono cambiare poiché sono stati calcolati internamente da OpenAI. I compromessi relativi alle chiamate di funzione dipendono anche dal caso d’uso. Ad esempio, senza la chiamata di funzione dovresti specificare esattamente come vorresti che fosse strutturato il tuo output fornendo esempi e una descrizione dettagliata. Tuttavia, se il tuo caso d’uso è estrazione strutturata dei dati quindi è più semplice lavorare direttamente con la funzione OpenAI che chiama l’API.

Nel complesso, i LLM con chiamata di funzione funzionano alla pari con i LLM che non sfruttano la chiamata di funzione e utilizzano invece il normale completamento del prompt. La decisione di utilizzare la funzione OpenAI che chiama l’API anziché il prompt engineering dovrebbe dipendere dal caso d’uso e dalla complessità dei risultati.

Confronti delle prestazioni dei modelli GPT

Per la capacità predittiva del modello sulla pertinenza complessiva:

  • Prestazioni: GPT-4 ~ GPT-4-turbo ~ GPT-3.5-turbo >>> GPT-3.5-istruzione

Per la capacità predittiva del modello sulle allucinazioni:

  • Prestazioni: GPT-4 ~ GPT-4-turbo > GPT-3.5-turbo > GPT-3.5-istruzione

È interessante notare che in entrambi i casi d’uso l’uso delle spiegazioni non sempre migliora le prestazioni. Maggiori informazioni su questo argomento di seguito.

Metriche di valutazione

Se stai decidendo quale LLM prevedere la pertinenza, desideri utilizzare GPT-4, GPT-4-turbo o GPT-3.5-turbo.

GPT-4-turbo identifica con precisione quando un output è rilevante, ma si sacrifica nel ricordare tutti i 50 esempi, infatti il ​​richiamo non è migliore del lancio di una moneta anche quando si utilizzano le spiegazioni.

GPT-3.5-turbo soffre dello stesso compromesso, pur avendo una latenza inferiore e una precisione inferiore. Da questi risultati GPT-4 ha i punteggi F1 più alti (media armonica di precisione e richiamo) e le migliori prestazioni complessive, pur con tempi paragonabili a GPT4-turbo.

GPT-3.5 istruisce e prevede che tutto sia rilevante e quindi non è un LLM praticabile per prevedere la pertinenza. È interessante notare che quando si utilizzano le spiegazioni le prestazioni predittive migliorano drasticamente, sebbene siano ancora sottoperformanti rispetto agli altri LLM. Inoltre, l’istruzione GPT-3.5 non può utilizzare la funzione OpenAI che chiama l’API ed è probabile che sarà ritirato all’inizio del 2024.

Se stai decidendo quale LLM prevedere le allucinazioni, desideri utilizzare GPT-4, GPT-4-turbo o GPT-3.5-turbo.

I risultati mostrano che GPT-4 identifica correttamente gli output allucinati e reali più spesso (~ 3% delle volte in più) in termini di precisione, accuratezza, richiamo e F1 rispetto a GPT-4-turbo.

Sebbene sia GPT-4 che GPT-4-turbo abbiano prestazioni leggermente superiori rispetto a GPT-3.5-turbo (si noti che è necessario utilizzare un numero maggiore di campioni prima di concludere che il piccolo margine non è rumore), potrebbe valere la pena lavorare con GPT-3.5-turbo se prevedi di utilizzare le spiegazioni.

Le spiegazioni per prevedere i ritorni allucinatori e reali a una velocità maggiore di tre volte più veloce per GPT-3.5-turbo rispetto a GPT-4 e GPT-4-turbo, tuttavia il richiamo ha sofferto per entrambi i modelli GPT-3.5 rispetto a il richiamo dei modelli GPT-4 per prevedere correttamente le allucinazioni.

Quando decidi quale LLM utilizzare per la tua applicazione, sono necessari una serie di esperimenti e iterazioni per prendere tale decisione. Allo stesso modo, sono necessari anche il benchmarking e la sperimentazione quando si decide se un LLM debba essere utilizzato o meno come valutatore. Essenzialmente questi sono i due metodi principali di benchmarking degli LLM: valutazione del modello LLM (valutazione dei modelli di fondazione) e valutazione del sistema LLM attraverso l’osservabilità.

Fonte: towardsdatascience.com

Lascia un commento

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