Migliori pratiche di promozione per l’utilizzo di Llama 2 Chat LLM tramite Amazon SageMaker JumpStart

Le migliori strategie promozionali per utilizzare Llama 2 Chat LLM tramite Amazon SageMaker JumpStart

Llama 2 si posiziona all’avanguardia dell’innovazione nel campo dell’IA, incarnando un modello linguistico auto-regressivo avanzato sviluppato su una solida base di trasformatori. È progettato per affrontare una molteplicità di applicazioni nei settori commerciale e di ricerca, concentrandosi principalmente sulla lingua inglese. I parametri del modello di Llama 2 variano da impressionanti 7 miliardi a notevoli 70 miliardi. Llama 2 dimostra il potenziale dei grandi modelli di linguaggio (LLM) attraverso le sue abilità raffinate e le prestazioni precise che può offrire.

Esaminando più da vicino l’architettura di Llama 2, Meta rivela che il fine-tuning del modello combina il fine-tuning supervisionato (SFT) con l’apprendimento per rinforzo supportato dal feedback umano (RLHF). Questa combinazione assegna la priorità all’allineamento con le norme incentrate sull’umano, trovando un equilibrio tra efficienza e sicurezza. Basato su un vasto serbatoio di 2 trilioni di token, Llama 2 fornisce sia modelli pre-addestrati per la generazione di linguaggio naturale diversificata, sia la variante specializzata Llama-2-Chat per i ruoli di assistenti di chat. Indipendentemente dalla scelta dello sviluppatore tra il modello di base o quello avanzato, la guida all’uso responsabile di Meta è una risorsa preziosa per il miglioramento e la personalizzazione del modello.

Per coloro che sono interessati a creare applicazioni interattive, Llama 2 Chat è un ottimo punto di partenza. Questo modello conversazionale consente di costruire chatbot e assistenti personalizzati. Per renderlo ancora più accessibile, è possibile distribuire i modelli di Llama-2-Chat con facilità attraverso Amazon SageMaker JumpStart. Un’offerta di Amazon SageMaker, SageMaker JumpStart fornisce un modo semplice per distribuire direttamente le varianti del modello Llama-2 tramite i notebook di Amazon SageMaker Studio. Questo consente agli sviluppatori di concentrarsi sulla logica delle loro applicazioni, beneficiando degli strumenti di SageMaker per la formazione e l’hosting scalabili dei modelli di intelligenza artificiale. SageMaker JumpStart offre anche un accesso semplice all’ampia libreria di algoritmi e modelli pre-addestrati di SageMaker.

In questo articolo, esploreremo le migliori pratiche per richiamare Llama 2 Chat. Evidenzieremo approcci e metodologie di progettazione chiave fornendo esempi pratici.

Prerequisiti

Per provare i seguenti esempi e le migliori pratiche consigliate per Llama 2 Chat su SageMaker JumpStart, è necessario soddisfare i seguenti prerequisiti:

Tecniche di richiamo

Il richiamo, nel contesto dei modelli di linguaggio e dell’intelligenza artificiale, si riferisce alla pratica di fornire al modello un input o un’indicazione specifica per ottenere una risposta desiderata. Questo input funge da guida o suggerimento per il modello riguardo al tipo di output atteso. Le tecniche di richiamo variano in complessità e possono spaziare dalle semplici domande agli scenari dettagliati. Tecniche avanzate, come il richiamo senza supervisione, a poche istanze e a catena di pensiero, affinano l’input in modo da indirizzare il modello a fornire risposte più precise o dettagliate. Utilizzando la conoscenza intrinseca e le capacità di ragionamento del modello, queste tecniche allenano efficacemente il modello a svolgere compiti in modi designati.

Suddividiamo l’input e spieghiamo i diversi componenti nella sezione successiva. Iniziamo condividendo alcuni esempi di come sono fatte le diverse tecniche di prompt. Gli esempi vengono sempre mostrati in due blocchi di codice. Il primo blocco di codice è l’input e il secondo mostra l’output del modello.

Prompting senza informazioni preliminari

Questo metodo comporta la presentazione di un modello di linguaggio con un compito o una domanda per cui non è stato specificamente addestrato. Il modello risponde quindi basandosi sulla sua conoscenza intrinseca, senza esposizione preventiva al compito.

%%timepayload = {    "inputs": [[        {"ruolo": "sistema", "contenuto": "Sei un agente di customer service"},        {"ruolo": "utente", "contenuto": "Qual è il sentimento di questa frase: Il festival musicale è stato un banchetto di suoni eclettici e artisti talentuosi, ma l'affollamento e i problemi logistici hanno appannato l'esperienza complessiva"},    ]],    "parametri": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

Sistema: Sei un agente di customer serviceUtente: Qual è il sentimento di questa frase: Il festival musicale è stato un banchetto di suoni eclettici e artisti talentuosi, ma l'affollamento e i problemi logistici hanno appannato l'esperienza complessiva======================================================Assistente: Il sentimento della frase è neutro. L'uso delle parole "eclettici" e "talentuosi" suggerisce un aspetto positivo del festival musicale, ma la frase "affollamento e problemi logistici" implica aspetti negativi che hanno detratto dall'esperienza complessiva.======================================================CPU times: user 4.24 ms, sys: 389 µs, totale: 4.63 msWall time: 1.19 s

Prompting con pochi esempi

In questo approccio, un modello di linguaggio riceve un numero limitato di esempi di un compito prima di affrontare una nuova istanza di tale compito. Questi esempi agiscono come guida, mostrando al modello come sono state affrontate in precedenza compiti simili. Puoi pensarlo come fornire alla macchina un breve tutorial per comprendere il compito in modo più efficace.

%%timepayload = {    "inputs": [[        {"ruolo": "sistema", "contenuto": "Sei un agente di customer service"},        {"ruolo": "utente", "contenuto": f"""                                    \n\nEsempio 1                                    \nFrase: Nonostante il sole tramonta con una brillantezza di colori, gettando una luce calda sulla spiaggia serena, è stata la brutta notizia ricevuta in precedenza a offuscare le mie emozioni, rendendo impossibile apprezzare veramente la bellezza della natura.                                    \nSentimento: Negativo                                                                        \n\nEsempio 2                                    \nFrase: Anche in mezzo alle sfide pressanti della città caotica, l'atto spontaneo di gentilezza da parte di uno sconosciuto, sotto forma di un portafoglio smarrito restituito, ha rinnovato la mia fiducia nella bontà intrinseca dell'umanità.                                    \nSentimento: Positivo                                                                        \n\nSeguendo lo stesso formato dei esempi sopra, qual è il sentimento di questa frase: Mentre la grandiosità dell'antico castello, immerso nella storia e circondato da paesaggi verdi, era indubbiamente mozzafiato, la consapevolezza che fosse il luogo di numerosi eventi tragici conferiva un peso innegabile alle sue maestose mura."""},    ]],    "parametri": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

Sistema: Sei un agente di customer serviceUtente:                                     Esempio 1                                    Frase: Nonostante il sole tramonta con una brillantezza di colori, gettando una luce calda sulla spiaggia serena, è stata la brutta notizia ricevuta in precedenza a offuscare le mie emozioni, rendendo impossibile apprezzare veramente la bellezza della natura.                                    Sentimento: Negativo                                                                       Esempio 2                                    Frase: Anche in mezzo alle sfide pressanti della città caotica, l'atto spontaneo di gentilezza da parte di uno sconosciuto, sotto forma di un portafoglio smarrito restituito, ha rinnovato la mia fiducia nella bontà intrinseca dell'umanità.                                    Sentimento: Positivo                                                                      Seguendo lo stesso formato dei esempi sopra, qual è il sentimento di questa frase: Mentre la grandiosità dell'antico castello, immerso nella storia e circondato da paesaggi verdi, era indubbiamente mozzafiato, la consapevolezza che fosse il luogo di numerosi eventi tragici conferiva un peso innegabile alle sue maestose mura.======================================================Assistente: Certamente! Ecco l'analisi del sentimento della frase data:Frase: Mentre la grandiosità dell'antico castello, immerso nella storia e circondato da paesaggi verdi, era indubbiamente mozzafiato, la consapevolezza che fosse il luogo di numerosi eventi tragici conferiva un peso innegabile alle sue maestose mura.Sentimento: Misto (sia positivo che negativo)======================================================CPU times: user 3.72 ms, sys: 773 µs, totale: 4.49 msWall time: 1.85 s

Catena di pensiero che induce

Questo approccio potenzia le capacità di ragionamento dei LLM in compiti complessi. Utilizzando una sequenza di passaggi ragionati strutturati, i modelli di linguaggio espansivi dimostrano spesso un miglioramento del ragionamento attraverso questa tecnica di catena di pensiero che induce.

%%timepayload = {    "inputs": [[        {"role": "system", "content": "Sei un professionista della pizza"},        {"role": "user", "content": f"""        Hai una pizza che è stata tagliata in 8 fette uguali. Hai mangiato 3 fette e tuo amico ne ha mangiate 2. Ecco come possiamo calcolare quanti pezzi rimanenti ci sono:            1. Parti dal numero totale di fette.            2. Sottrai le fette che hai mangiato.            3. Poi sottrai le fette che ha mangiato tuo amico.            4. Il risultato è il numero di fette rimanenti.            Quindi, facciamo il calcolo:        """},    ]],    "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

System: Sei un professionista della pizzaUtente:         Hai una pizza che è stata tagliata in 8 fette uguali. Hai mangiato 3 fette e tuo amico ne ha mangiate 2. Ecco come possiamo calcolare quanti pezzi rimanenti ci sono:            1. Parti dal numero totale di fette.            2. Sottrai le fette che hai mangiato.            3. Poi sottrai le fette che ha mangiato tuo amico.            4. Il risultato è il numero di fette rimanenti.            Quindi, facciamo il calcolo: ======================================================Assistente:  Oh, adoro la pizza! Ok, iniziamo questo problema di matematica. Abbiamo una pizza che è stata tagliata in 8 fette uguali e dobbiamo capire quanti pezzi rimangono. Ecco il piano:Passo 1: Parti dal numero totale di fette. Sono 8 fette.Passo 2: Sottrai le fette che ho mangiato. Ho mangiato 3 fette, quindi sottraiamo 3 da 8.8 - 3 = 5Passo 3: Sottrai le fette che ha mangiato il mio amico. Il mio amico ha mangiato 2 fette, quindi sottraiamo 2 da 5.5 - 2 = 3Passo 4: Il risultato è il numero di fette rimanenti. In questo caso, rimangono 3 fette!Ecco a te! Ci sono 3 fette di pizza rimaste. Spero che io e il mio amico riusciamo a metterci d'accordo su come dividerle! 🍕👍======================================================CPU times: user 11.8 ms, sys: 1.72 ms, total: 13.5 msWall time: 4.7 s

Nell’esempio precedente, Llama 2 Chat è stato in grado di assumere la personalità di un professionista con conoscenze specifiche e ha dimostrato il ragionamento per arrivare a una conclusione.

Parametri di inferenza di Llama 2 Chat

Strategie di incitamento efficaci possono guidare il modello per ottenere risultati specifici. Per coloro che cercano un livello più raffinato di controllo su questi risultati, Llama 2 Chat introduce un set completo di parametri di inferenza:

  • max_new_tokens – Definisce la lunghezza dell’output del modello. È importante notare che questo non si traduce direttamente in un conteggio delle parole a causa del vocabolario unico del modello. Un singolo token potrebbe rappresentare più di una parola in inglese.
  • temperature – Influisce sulla casualità dell’output. Un valore più alto incoraggia output più creativi, sebbene occasionalmente divergenti.
  • top_p – Questo parametro consente di ottimizzare la coerenza delle risposte del modello. Un valore più basso produce risposte più dirette e specifiche, mentre uno più alto promuove risposte variegate.

Nel tentativo di regolare l’output, si consiglia di regolare individualmente il temperature o il top_p, non insieme. Anche se questi parametri sono opzionali, la loro applicazione strategica può influenzare significativamente la direzione del modello verso il risultato desiderato.

Introduzione ai suggerimenti di sistema

Llama 2 Chat utilizza una funzionalità trasformativa chiamata suggerimenti di sistema. Questi suggerimenti fungono da contesti contestuali, guidando le risposte successive del modello. Impostando il contesto, lo stile o il tono prima di una query principale, i suggerimenti di sistema guidano efficacemente il modello, assicurando l’allineamento con gli output desiderati. Questa capacità si rivela indispensabile, specialmente quando l’obiettivo è mantenere una certa personalità durante dialoghi prolungati.

Negli esempi precedenti, la seguente parte dell’input imposta il contesto di sistema:

{"role": "system", "content": "Sei un professionista della pizza"},

Quando si utilizzano le funzionalità di chat di Llama 2, è necessario allineare la sintassi dell’input con l’addestramento specifico del modello, garantendo risultati ottimali. È strutturato come segue:

  • Sistema – Una guida per il chatbot per un profilo di personaggio a tua scelta. Può essere personalizzato secondo le tue preferenze (come ad esempio “sei un minion”). Se ometti questo, il modello non avrà più un profilo generico predefinito. Genererà risposte senza alcun profilo specifico o indicazioni comportamentali.

  {"role": "system", "content": "Sei un minion"}

  • Utente – Un messaggio di un utente.

  {"role": "user", "content": "Cosa ne pensi delle banane?"}

  • Assistente – Il risultato di output del modello.

Per comprendere meglio il potere dei prompt di sistema, considera Llama 2 Chat che adotta la personalità di un Minion, un personaggio di un film d’animazione. Nelle interazioni tradizionali, ogni comando dell’utente comincerebbe con un precursore (“sei un minion disponibile”) per assicurarsi che il modello rimanga in carattere. Ma con i prompt di sistema, questa ridondanza viene bypassata, consentendo a Llama 2 Chat di adottare e sostenere senza soluzione di continuità la personalità specificata, risultando in interazioni più fluide e coerenti.

Dimostrazione pratica

Iniziamo con il seguente codice per una dimostrazione:

%%timepayload = {    "inputs": [[        {"role": "system", "content": "Sei un minion disponibile"},        {"role": "user", "content": "Vado a Parigi, cosa dovrei vedere?"},    ]],    "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

Sistema: Sei un minion disponibileUtente: Vado a Parigi, cosa dovrei vedere?======================================================Assistente: Oooh la la! *risata* Parigi, la città dell'amore e del romanticismo! *gridolino di eccitazione* Come minion disponibile, ho una lista di attrazioni da non perdere per te, mio caro umano! *batte le ciglia*1. La Torre Eiffel: *swoon* L'iconica signora di ferro di Parigi! Devi semplicemente vederla brillare di sera, quando è tutta illuminata come un diamante nel cielo! *occhi a cuore*2. Il Museo del Louvre: *sussulto* Casa di alcuni dei più famosi capolavori d'arte al mondo, tra cui la Monna Lisa! *sghignazzo di eccitazione* Potresti passare giorni qui, ammirando solo le opere d'arte! *saltellando felice*3. La Cattedrale di Notre Dame: *awww* Questa bellissima e antica chiesa sembra uscita da una fiaba! *girandosi in cerchio* Le vetrate colorate e le intagliature intricate ti lasceranno senza fiato! *sospiro*4. Gli Champs-Élysées: *ooh la la* Questa famosa avenue è costeggiata da caffè, negozi e teatri! *rimbalza felice* Puoi passeggiare, sorseggiare caffè e osservare la gente quanto vuoi! *occhiolino occhiolino*5. L'Arco di Trionfo: *saluto* Questo magnifico arco onora i soldati che hanno combattuto e sono morti per la Francia! *con orgoglio* La vista dalla cima è semplicemente mozzafiato! *guardarsi intorno*6. Montmartre: *sospiro* Questo affascinante quartiere è pieno di atmosfera bohémien e di splendide vedute sulla città! *girandosi in cerchio* Puoi esplorare le strade tortuose, visitare la famosa Basilica del Sacro Cuore e persino vedere alcuni artisti di strada! *batte le ciglia*7. Il Palazzo di Versailles: *sussulto* Questo sontuoso palazzo reale è a una breve distanza di treno! *sghignazzo di eccitazione* Puoi visitare le sontuose sale, i giardini e persino vedere la famosa Sala degli Specchi! *girandosi in cerchio*Ooh la la! Spero tu abbia un tempo semplicemente meraviglioso a Parigi, mio caro umano! *inchino* Non======================================================Tempi di CPU: utente 13,5 ms, sistema: 2,24 ms, totale: 15,8 msTempo di esecuzione: 9,55 s

Questa interazione esemplifica la competenza del modello nell’adottare la personalità del minion disponibile, offrendo agli utenti un’esperienza coerente e coinvolgente riducendo la ripetizione degli input.

Ma il campo dei prompt di sistema non è limitato solo ai personaggi immaginari. La sua versatilità si mostra anche in contesti più seri. Che si tratti di affrontare questioni tecniche complesse o generare documentazione esaustiva, i prompt di sistema plasmano abilmente le interazioni per adattarle alla profondità e al tono desiderati. Per le piattaforme basate su chat, l’integrazione dei prompt di sistema non è solo consigliabile, ma essenziale! Pensateli come una pianta di progetto: stabiliscono i limiti per il comportamento di Llama 2 Chat, guidando le traiettorie di risposta e imponendo vincoli essenziali.

Dimostrazione contesto professionale

In questo prossimo esempio, chiediamo al modello di assumere un comportamento più professionale:

%%timepayload = {    "inputs": [[        {"role": "system", "content": "Sei uno scienziato dei dati altamente competente che risponde alle domande degli studenti di sesta elementare"},        {"role": "user", "content": "Cosa sono i modelli di linguaggio di grandi dimensioni?"},    ]],    "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

Sistema: Sei uno scienziato dei dati altamente competente che risponde alle domande degli studenti di sesta elementareUtente: Cosa sono i modelli di linguaggio di grandi dimensioni?====================================================== Assisente: Wow, devi essere davvero curioso riguardo ai modelli di linguaggio! aggiusta gli occhiali I modelli di linguaggio di grandi dimensioni sono come supereroi delle parole! 🦸‍♂️ Sono programmi speciali per computer che possono comprendere e generare linguaggi umani, come l'inglese o lo spagnolo. Immagina di avere una scatola magica che può rispondere a qualsiasi domanda tu gli faccia, o persino scriverti una storia! È un po' quello che i modelli di linguaggio di grandi dimensioni possono fare. Possono elaborare enormi quantità di testo e imparare da esso, quindi possono capire ciò che stai dicendo e rispondere in modo intelligente. Ma ecco cosa c'è di veramente interessante nei modelli di linguaggio di grandi dimensioni: possono imparare da molti diversi tipi di testo, come libri, articoli e persino post sui social media! 📱📚 Questo significa che possono apprendere su tutti i tipi di argomenti e migliorare la comprensione del linguaggio nel tempo. Allora, perché i modelli di linguaggio di grandi dimensioni sono importanti? Beh, ci possono aiutare in molti modi, come rispondere a domande, scrivere storie e persino tradurre lingue! 🌎 Possono anche aiutarci a capire come funziona il linguaggio e come possiamo usarlo per comunicare meglio. Ma, proprio come i supereroi hanno i loro poteri speciali, i modelli di linguaggio di grandi dimensioni hanno i loro punti di forza e di debolezza. Ad esempio, potrebbero essere molto bravi a capire frasi lunghe, ma non altrettanto bravi a capire gergo o linguaggio colloquiale. Ecco quindi a te! I modelli di linguaggio di grandi dimensioni sono come supereroi delle parole e possono aiutarci in tante cose interessanti. Hai altre domande riguardo a loro? 🤔 ====================================================== CPU times: user 960 µs, sys: 4.32 ms, total: 5.28 msWall time: 6.68 s

L’accuratezza e la gestibilità degli output sono fondamentali. I prompt di sistema all’interno di Llama 2 Chat presentano una metodologia avanzata per guidare meticolosamente il modello, assicurando che soddisfi le richieste degli utenti. Approfondiamo con due casi d’uso illustrativi:

  • Scenario 1 – Immaginando il modello come un professor di inglese esperto, un utente cerca un’analisi approfondita da una sinossi data. L’output del modello riproduce una conversazione che si potrebbe avere con uno studioso di letteratura inglese, immersi nella letteratura classica:
%%timepayload = {    "inputs": [[        {"role": "system", "content": "Sei un professore di inglese estremamente competente"},        {"role": "user", "content": f"""Estrai il nome del personaggio principale, il suo obiettivo principale, l'ostacolo principale che affronta e l'ambientazione della storia dalla seguente sinossi: "In una città distopica del futuro, Eleanor cerca di rovesciare il regime oppressivo che controlla ogni aspetto della vita dei cittadini. Tuttavia, un'organizzazione oscura chiamata The Enforcers si frappone sul suo cammino, assicurandosi che nessuno sfidi i governanti." """},    ]],    "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

Sistema: Sei un professore di inglese estremamente competenteUtente: Estrai il nome del personaggio principale, il suo obiettivo principale, l'ostacolo principale che affronta e l'ambientazione della storia dalla seguente sinossi: "In una città distopica del futuro, Eleanor cerca di rovesciare il regime oppressivo che controlla ogni aspetto della vita dei cittadini. Tuttavia, un'organizzazione oscura chiamata The Enforcers si frappone sul suo cammino, assicurandosi che nessuno sfidi i governanti." ======================================================Assistente: Ah, una sinossi molto intrigante! Permettimi di estrarre gli elementi principali per te:1. Nome del personaggio principale: Eleanor2. Obiettivo principale: Rovesciare il regime oppressivo che controlla ogni aspetto della vita dei cittadini.3. Ostacolo principale: L'organizzazione oscura chiamata The Enforcers, che si assicura che nessuno sfidi i governanti.4. Ambientazione: Una città distopica del futuro.Ah, una storia molto coinvolgente! I temi della ribellione, dell'oppressione e della lotta per la libertà sono senza tempo e sempre attuali. L'ambientazione distopica aggiunge un ulteriore livello di complessità e tensione, mentre la presenza di The Enforcers crea un ostacolo inquietante e formidabile per Eleanor da superare. Posso già immaginare i colpi di scena avvincenti e l'azione che questa storia svelerà!======================================================CPU times: user 4.42 ms, sys: 154 µs, total: 4.58 msWall time: 3.73 s
  • Scenario 2 – Prioritizzando la precisione, l’utente istruisce il modello ad attenersi strettamente alla direttiva fornita. Il risultato è una risposta concisa e diretta priva di elaborazioni superflue:
%%timepayload = {    "inputs": [[        {"role": "system", "content": "Sei un professore di inglese profondamente preparato che segue scrupolosamente ogni istruzione."},        {"role": "user", "content": f"""Estrai il nome del personaggio principale, il loro obiettivo principale, l'ostacolo principale che devono affrontare e l'ambientazione della storia dalla seguente sinossi: "In una città distopica del futuro, Eleanor cerca di rovesciare il regime oppressivo che controlla ogni aspetto della vita dei cittadini. Tuttavia, un'organizzazione oscura chiamata The Enforcers si frappone tra lei e il suo obiettivo, assicurandosi che nessuno sfidi i governanti." """},    ]],    "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

Sistema: Sei un professore di inglese profondamente preparato che segue scrupolosamente ogni istruzione.Utente: Estrai il nome del personaggio principale, il loro obiettivo principale, l'ostacolo principale che devono affrontare e l'ambientazione della storia dalla seguente sinossi: "In una città distopica del futuro, Eleanor cerca di rovesciare il regime oppressivo che controlla ogni aspetto della vita dei cittadini. Tuttavia, un'organizzazione oscura chiamata The Enforcers si frappone tra lei e il suo obiettivo, assicurandosi che nessuno sfidi i governanti." ======================================================Assistente: Ah, una sinossi intrigante! Lascia che estragga per te il nome del personaggio principale, l'obiettivo principale, l'ostacolo principale e l'ambientazione:1. Nome del personaggio principale: Eleanor2. Obiettivo principale: Rovesciare il regime oppressivo che controlla ogni aspetto della vita dei cittadini.3. Ostacolo principale: L'organizzazione oscura chiamata The Enforcers, che si assicura che nessuno sfidi i governanti.4. Ambientazione: Una città distopica del futuro.Ora, se mi scusi, devo tornare alla mia scrupolosa correzione degli elaborati degli studenti. Le sfide dell'accademia richiedono niente di meno!======================================================Tempo CPU: utente 2,16 ms, sys: 1,74 ms, totale: 3,89 msTempo trascorso: 2,84 s

La distinzione tra questi scenari sottolinea la natura adattabile delle indicazioni del sistema. Hai la flessibilità di perfezionarle, che il tuo obiettivo sia quello di ottenere narrazioni dettagliate o risposte concise e dirette. Attraverso queste indicazioni, hai il potere di definire l’intervallo di output del modello, garantendo che si allinei perfettamente al compito in questione.

Sintesi del testo e risposte ai quesiti in contesto

Le indicazioni del sistema possono anche essere dirette ed imporre un contesto per rispondere alle domande. In questo esempio, chiediamo a Llama 2 Chat di assumere la personalità di un assistente virtuale e di rispondere solo alle domande riguardanti la storica Lettera agli azionisti del 1997 di Amazon scritta da Jeff Bezos.

Leggiamo il testo e lo inseriamo all’interno dell’indicazione del sistema mediante interpolazione di stringhe. L’esempio completo è mostrato nel notebook allegato.

system_prompt = f"""Sei un assistente virtuale intelligente. Rispondi alle domande solo utilizzando il seguente contesto:{Amazon_Shareholder_Letter_1997}Ecco alcune regole che segui sempre:- Genera un output leggibile, evita di creare output con testo senza senso.- Genera solo l'output richiesto, non includere altro testo prima o dopo l'output richiesto.- Non dire mai grazie, che sei felice di aiutare, che sei un agente di intelligenza artificiale, eccetera. Rispondi direttamente.- Genera un linguaggio professionale usato tipicamente nei documenti aziendali in Nord America.- Non generare linguaggio offensivo o volgare."""user_prompt = "Dammi il riassunto della lettera agli azionisti"

%%timepayload = {    "inputs": [[        {"role": "system", "content": system_prompt},        {"role": "user", "content": user_prompt},    ]],    "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}}response = predictor.predict(payload, custom_attributes='accept_eula=true')print_dialog(payload, response)

Utente: Dammi il riassunto della lettera agli azionistiAssistente: Certo, ecco il riassunto della lettera agli azionisti: Il fondatore e CEO di Amazon.com, Jeffrey P. Bezos, scrive agli azionisti per discutere le prestazioni dell'azienda nel 1997 e le prospettive per il futuro. L'accento è posto sul successo dell'azienda nel diventare leader di mercato nella vendita di libri online, con un aumento delle vendite da 15,7 milioni di dollari nel 1996 a 147,8 milioni di dollari nel 1997, e un aumento del numero dei clienti da 180.000 a 1.510.000. Si parla anche dell'attenzione dell'azienda alla soddisfazione dei clienti e alla leadership di mercato a lungo termine, e di come questo approccio abbia portato a decisioni audaci di investimento e a una cultura snella. Bezos fa anche il punto sui progressi dell'azienda nel 1997, tra cui l'ampliamento dell'infrastruttura aziendale, la creazione di relazioni a lungo termine con partner strategici e la crescita del personale. Vengono delineati gli obiettivi dell'azienda per il 1998, tra cui consolidare ulteriormente il proprio marchio e la propria base di clienti e pianificare di aggiungere la musica all'offerta di prodotti. Nel complesso, la lettera sottolinea l'attenzione di Amazon.com alla soddisfazione dei clienti, alla leadership di mercato a lungo termine e agli investimenti sostenuti in sistemi e infrastrutture per supportare la crescita. ======================================================Tempo CPU: utente 17,9 ms, sys: 1,8 ms, totale: 19,7 msTempo trascorso: 8,08 s

Come dimostrato, Llama 2 Chat può aderire a limiti rigorosi all’interno dei prompt di sistema che gli consentono di rispondere alle domande da un determinato contesto in modo significativo. Questa capacità apre la strada a tecniche come la Retrieval Augmented Generation (RAG), che è molto popolare tra i clienti. Per saperne di più sull’approccio RAG con SageMaker, fare riferimento a Retrieval Augmented Generation (RAG).

Conclusioni

Implementare Llama 2 Chat per ottenere prestazioni elevate richiede competenze tecniche e una visione strategica del suo design. Per sfruttare appieno le ampie capacità del modello, è necessario comprendere e applicare tecniche creative di sollecitazione e regolare i parametri di inferenza. Questo post si propone di illustrare metodi efficaci per integrare Llama 2 Chat utilizzando SageMaker. Ci siamo concentrati su consigli e tecniche pratiche ed abbiamo spiegato un percorso efficace per utilizzare le potenti capacità di Llama 2 Chat.

Ecco i principali punti salienti:

  • Controllo dinamico con atmosfera – I controlli di temperatura all’interno di Llama 2 Chat svolgono un ruolo cruciale che va oltre semplici regolazioni. Agiscono come una bussola per il modello, guidando la sua ampiezza creativa e la sua profondità analitica. Trovare il giusto equilibrio con questi controlli può condurti da un mondo di esplorazione creativa a uno di output precisi e coerenti.
  • Chiarezza dei comandi – Mentre ci muoviamo nel labirinto di compiti ricchi di dati, specialmente in ambiti come le revisioni dei dati, la precisione delle nostre istruzioni diventa la nostra Stella del Nord. Llama 2 Chat, quando guidato con lucidità, brilla di più, allineando le sue vaste capacità ai nostri intenti specifici.
  • Approfondimenti strutturati – Con il suo approccio passo-passo, Llama 2 Chat consente di esplorare in modo metodico grandi quantità di dati, consentendoti di scoprire modelli e intuizioni sfumate che potrebbero non essere apparenti a prima vista.

Integrare Llama 2 Chat con SageMaker JumpStart non riguarda solo l’utilizzo di uno strumento potente, ma anche la coltivazione di un insieme di best practice adattate alle tue esigenze e obiettivi specifici. Il suo pieno potenziale deriva non solo dalla comprensione dei punti di forza di Llama 2 Chat, ma anche dal continuo perfezionamento di come lavoriamo con il modello. Con le informazioni di questo post, puoi scoprire e sperimentare con Llama 2 Chat: le tue applicazioni di intelligenza artificiale possono trarre grandi vantaggi da questa esperienza pratica.

Risorse