Ora sono disponibili su Amazon SageMaker JumpStart due modelli di base di fondazione di Meta.
Ora su Amazon SageMaker JumpStart ci sono due modelli di base di fondazione di Meta.
Oggi siamo entusiasti di annunciare che i modelli fondamentali Llama 2 sviluppati da Meta sono disponibili per i clienti attraverso Amazon SageMaker JumpStart. La famiglia di modelli di grandi dimensioni Llama 2 (LLMs) è una collezione di modelli di testo generativi pre-addestrati e raffinati che vanno da 7 miliardi a 70 miliardi di parametri. I LLM raffinati, chiamati Llama-2-chat, sono ottimizzati per casi d’uso di dialogo. Puoi facilmente provare questi modelli e usarli con SageMaker JumpStart, che è un hub di apprendimento automatico (ML) che fornisce accesso ad algoritmi, modelli e soluzioni di ML, in modo da poter iniziare rapidamente con ML.
In questo post, ti mostreremo come utilizzare i modelli Llama 2 tramite SageMaker JumpStart.
Cos’è Llama 2
Llama 2 è un modello di linguaggio auto-regressivo che utilizza un’architettura di trasformatori ottimizzata. Llama 2 è destinato all’uso commerciale e di ricerca in inglese. Viene fornito in diverse dimensioni di parametri: 7 miliardi, 13 miliardi e 70 miliardi, oltre a variazioni pre-addestrate e raffinate. Secondo Meta, le versioni raffinate utilizzano l’addestramento raffinato supervisionato (SFT) e l’apprendimento per rinforzo con feedback umano (RLHF) per allinearsi alle preferenze umane di utilità e sicurezza. Llama 2 è stato pre-addestrato su 2 trilioni di token di dati provenienti da fonti disponibili pubblicamente. I modelli raffinati sono destinati a chat di tipo assistente, mentre i modelli pre-addestrati possono essere adattati a una varietà di compiti di generazione di linguaggio naturale. Indipendentemente dalla versione del modello che uno sviluppatore utilizza, la guida per l’uso responsabile di Meta può aiutare a guidare l’ulteriore raffinamento che potrebbe essere necessario per personalizzare e ottimizzare i modelli con adeguate mitigazioni della sicurezza.
Cos’è SageMaker JumpStart
Con SageMaker JumpStart, i professionisti di ML possono scegliere tra una vasta selezione di modelli fondamentali open source. I professionisti di ML possono distribuire modelli fondamentali su istanze dedicate di Amazon SageMaker da un ambiente isolato dalla rete e personalizzare i modelli utilizzando SageMaker per l’addestramento e il rilascio dei modelli.
- Robot Inietta Farmaci nella Parte Posteriore dell’Occhio in Modo più Preciso Rispetto ai Chirurghi
- L’Evil Twin di ChatGPT ‘WormGPT’ sta entrando silenziosamente nelle email, saccheggiando le banche
- Wearable Biosensore per il Monitoraggio degli Elettroliti del Sudore
Ora puoi scoprire e distribuire Llama 2 con pochi clic in Amazon SageMaker Studio o in modo programmato tramite il SageMaker Python SDK, consentendoti di ottenere prestazioni dei modelli e controlli MLOps con le funzionalità di SageMaker come Amazon SageMaker Pipelines, Amazon SageMaker Debugger o i log dei container. Il modello viene distribuito in un ambiente sicuro AWS e sotto il controllo della tua VPC, garantendo la sicurezza dei dati. I modelli Llama 2 sono disponibili oggi in Amazon SageMaker Studio, inizialmente nelle regioni us-east 1
e us-west 2
.
Scopri i modelli
Puoi accedere ai modelli fondamentali tramite SageMaker JumpStart nell’interfaccia utente di SageMaker Studio e nel SageMaker Python SDK. In questa sezione, ti mostreremo come scoprire i modelli in SageMaker Studio.
SageMaker Studio è un ambiente di sviluppo integrato (IDE) che fornisce un’interfaccia visiva basata sul web unica in cui puoi accedere a strumenti appositamente progettati per eseguire tutte le fasi dello sviluppo di ML, dalla preparazione dei dati alla creazione, all’addestramento e al rilascio dei modelli di ML. Per ulteriori dettagli su come iniziare e configurare SageMaker Studio, consulta Amazon SageMaker Studio.
Una volta su SageMaker Studio, puoi accedere a SageMaker JumpStart, che contiene modelli pre-addestrati, notebook e soluzioni precompilate, sotto Soluzioni precompilate e automatizzate.
Dalla pagina principale di SageMaker JumpStart, puoi cercare soluzioni, modelli, notebook e altre risorse. Puoi trovare due modelli principali Llama 2 nella carousel Modelli Fondamentali: Generazione di Testo. Se non vedi i modelli Llama 2, aggiorna la versione di SageMaker Studio spegnendo e riavviando. Per ulteriori informazioni sugli aggiornamenti delle versioni, consulta Spegni e Aggiorna App di Studio.
Puoi anche trovare altre quattro varianti di modelli scegliendo Scopri tutti i Modelli di Generazione di Testo o cercando llama
nella casella di ricerca.
Puoi scegliere la scheda del modello per visualizzare i dettagli sul modello, come la licenza, i dati utilizzati per l’addestramento e come utilizzarlo. Puoi anche trovare due pulsanti, Deploy e Open Notebook, che ti aiutano a utilizzare il modello.
Quando scegli uno dei due pulsanti, verrà visualizzata una finestra pop-up con l’accordo di licenza per l’utente finale e la politica di utilizzo accettabile, che dovrai accettare.
Dopo aver accettato, passerai al passaggio successivo per utilizzare il modello.
Deploy di un modello
Quando scegli Deploy e accetti i termini, inizierà il processo di deployment del modello. In alternativa, puoi fare il deployment tramite il notebook di esempio che verrà aperto scegliendo Open Notebook. Il notebook di esempio fornisce una guida completa su come fare il deployment del modello per l’elaborazione e la pulizia delle risorse.
Per fare il deployment utilizzando un notebook, iniziamo selezionando un modello appropriato, specificato dal model_id
. Puoi fare il deployment di uno qualsiasi dei modelli selezionati su SageMaker con il seguente codice:
from sagemaker.jumpstart.model import JumpStartModel
my_model = JumpStartModel(model_id = "meta-textgeneration-llama-2-70b-f")
predictor = my_model.deploy()
Questo fa il deployment del modello su SageMaker con le configurazioni predefinite, incluse l’istanza di tipo predefinita e le configurazioni VPC predefinite. Puoi modificare queste configurazioni specificando valori non predefiniti in JumpStartModel. Una volta che è stato deployato, puoi eseguire l’elaborazione tramite il predictor di SageMaker:
payload = {
"inputs":
[
[
{"role": "system", "content": "Rispondi sempre con un Haiku"},
{"role": "user", "content": "Vado a Parigi, cosa dovrei vedere?"},
]
],
"parameters":{"max_new_tokens":256, "top_p":0.9, "temperature":0.6}
}
I modelli di chat ottimizzati (Llama-2-7b-chat, Llama-2-13b-chat, Llama-2-70b-chat) accettano una cronologia di chat tra l’utente e l’assistente di chat e generano una chat successiva. I modelli pre-addestrati (Llama-2-7b, Llama-2-13b, Llama-2-70b) richiedono un prompt di stringa e completano il testo fornito. Vedi il codice seguente:
predictor.predict(payload, custom_attributes="accept_eula=true")
Nota che per impostazione predefinita, accept_eula
è impostato su false. Devi impostare accept_eula=true
per invocare correttamente il punto di accesso. Facendo ciò, accetti l’accordo di licenza per l’utente e la politica di utilizzo accettabile menzionati in precedenza. Puoi anche scaricare l’accordo di licenza.
Custom_attributes
utilizzati per passare l’EULA sono coppie chiave/valore. La chiave e il valore sono separati da =
e le coppie sono separate da ;
. Se l’utente passa la stessa chiave più di una volta, viene mantenuto l’ultimo valore e viene passato all’handler dello script (in questo caso, utilizzato per la logica condizionale). Ad esempio, se viene passato al server accept_eula=false; accept_eula=true
, viene mantenuto accept_eula=true
e viene passato all’handler dello script.
I parametri di inferenza controllano il processo di generazione del testo nel punto di accesso. Il controllo dei nuovi token massimi si riferisce alla dimensione dell’output generato dal modello. Nota che questo non corrisponde al numero di parole perché il vocabolario del modello non è lo stesso del vocabolario della lingua inglese e ogni token potrebbe non essere una parola della lingua inglese. La temperatura controlla il livello di casualità nell’output. Una temperatura più alta produce output più creativi e allucinati. Tutti i parametri di inferenza sono opzionali.
La seguente tabella elenca tutti i modelli di Llama disponibili in SageMaker JumpStart insieme ai model_ids
, tipi di istanza predefiniti e il numero massimo di token totali (somma del numero di token di input e del numero di token generati) supportati per ciascuno di questi modelli.
Nome del modello | ID del modello | Max Token Totali | Tipo di istanza predefinito |
Llama-2-7b | meta-textgeneration-llama-2-7b | 4096 | ml.g5.2xlarge |
Llama-2-7b-chat | meta-textgeneration-llama-2-7b-f | 4096 | ml.g5.2xlarge |
Llama-2-13b | meta-textgeneration-llama-2-13b | 4096 | ml.g5.12xlarge |
Llama-2-13b-chat | meta-textgeneration-llama-2-13b-f | 4096 | ml.g5.12xlarge |
Llama-2-70b | meta-textgeneration-llama-2-70b | 4096 | ml.g5.48xlarge |
Llama-2-70b-chat | meta-textgeneration-llama-2-70b-f | 4096 | ml.g5.48xlarge |
Si noti che gli endpoint di SageMaker hanno un limite di timeout di 60s. Pertanto, anche se il modello può generare 4096 token, se la generazione del testo richiede più di 60s, la richiesta fallirà. Per i modelli 7B, 13B e 70B, consigliamo di impostare max_new_tokens
non superiore a 1500, 1000 e 500 rispettivamente, mantenendo il numero totale di token inferiore a 4K.
Inferenza e prompt di esempio per Llama-2-70b
Puoi utilizzare i modelli di Llama per il completamento del testo per qualsiasi pezzo di testo. Attraverso la generazione di testo, puoi eseguire una varietà di compiti, come rispondere a domande, traduzione di lingue, analisi del sentiment e molto altro. Il payload di input per l’endpoint ha il seguente formato:
payload = {
“inputs”: str,
(opzionale)"parameters":{"max_new_tokens":int, "top_p":float, "temperature":float}
}
Ecco alcuni esempi di prompt e il testo generato dal modello. Tutti gli output sono generati con i parametri di inferenza {"max_new_tokens":256, "top_p":0.9, "temperature":0.6}
.
Input: In parole semplici, la teoria della relatività afferma che
Output:
1) le leggi della fisica sono uguali per tutti gli osservatori in moto uniforme l'uno rispetto all'altro e 2) la velocità della luce è la stessa per tutti gli osservatori, indipendentemente dal loro moto relativo o dal moto della fonte di luce.
Alla fine del 1800, gli scienziati credevano che la luce viaggiasse attraverso un VoAGI che chiamavano etere luminifero. Ma nel 1887, Albert Michelson ed Edward Morley progettarono un esperimento per misurare la velocità della luce nell'etere e scoprirono che la velocità della luce era la stessa indipendentemente dall'orientamento dell'apparecchiatura. Questo risultato sembrava contraddire l'idea dell'etere e l'esperimento di Michelson e Morley divenne uno degli esperimenti falliti più famosi della storia.
Nel 1905, Albert Einstein pubblicò un articolo che utilizzava i risultati dell'esperimento di Michelson-Morley per sviluppare la teoria della relatività ristretta. Nel 1915, Einstein pubblicò un articolo sulla relatività generale, che è una teoria della gravità.
In fisica, la velocità della luce è considerata costante e il suo valore è di 299.792.458 metri
Input: Credo che il senso della vita sia
Output:
essere felici, trovare gioia nella vita, amare ed essere amati. Avere il coraggio di essere se stessi e di essere gentili con gli altri. Essere in grado di esprimersi, creare e ispirarsi. Essere in grado di dare e ricevere. Essere in grado di imparare e crescere. Essere in grado di trovare bellezza nel mondo e saperla apprezzare. Essere in grado di trovare pace e contentezza. Essere in grado di trovare significato e scopo. Essere in grado di fare la differenza nel mondo. Essere in grado di trovare gioia nelle cose semplici. Essere in grado di trovare gioia nelle cose difficili. Essere in grado di trovare gioia nel viaggio. Essere in grado di trovare gioia nella destinazione. Essere in grado di trovare gioia nel momento presente. Essere in grado di trovare gioia nel futuro. Essere in grado di trovare gioia nel passato. Essere in grado di trovare gioia nel presente. Essere in grado di trovare gioia nel futuro. Essere in grado di trovare gioia nel passato. Essere in grado di trovare gioia nel presente. Essere in grado di trovare gioia nel futuro. Essere in grado di trovare gioia nel passato. Essere in grado di trovare gioia nel presente. Essere in grado di trovare gioia
Input: Un breve messaggio di congratulazioni al team per il lancio:
Ciao a tutti,
Volevo solo
Output:
inviare un breve messaggio per congratularmi con tutti per il lancio del nostro nuovo sito web. So che è stato un lungo percorso e sono sicuro che siamo tutti sollevati che sia finalmente online.
Grazie a tutti per il loro duro lavoro e dedizione negli ultimi mesi. So che non è stato sempre facile, ma penso che possiamo essere tutti orgogliosi del prodotto finale.
Non vedo l'ora di vedere come i nostri utenti risponderanno al nuovo sito e sono sicuro che sarà un successo.
Grazie ancora e godetevi il resto della giornata!
Cordiali saluti,
[Il tuo nome]
[Il tuo titolo]
[La tua azienda]
[La tua email]
[Il tuo numero di telefono]
[Il tuo sito web]
[I tuoi account sui social media]
[Il tuo indirizzo]
[La tua città, stato, codice postale]
[Il tuo paese]
[Il tuo codice postale]
[Il tuo sito web]
[
Nell’esempio seguente, mostriamo come utilizzare i modelli Llama con l’apprendimento in contesto a pochi esempi, in cui forniamo campioni di addestramento disponibili al modello. Si noti che effettuiamo solo inferenze sul modello implementato e durante questo processo i pesi del modello non cambiano.
Input: Traduci l'inglese in francese:
sea otter => loutre de mer
peppermint => menthe poivrée
plush girafe => girafe peluche
cheese =>
Output:
fromage
chocolate => chocolat
car => voiture
hamster => hamster
beer => bière
bicycle => bicyclette
banana => banane
strawberry => fraise
pizza => pizza
cheeseburger => cheeseburger
pineapple => ananas
carrot => carotte
watermelon => pastèque
whale => baleine
eggplant => aubergine
cat => chat
penguin => manchot
lion => lion
elephant => éléphant
panda => panda
tiger => tigre
salmon => saumon
squirrel => écureuil
kangaroo => kangourou
turtle => tortue
octopus => poulpe
frog => grenouille
pig => cochon
goldfish => poisson rouge
tiger shark => requin tigre
gorilla => gorille
dol
Inferenza e prompt di esempio per Llama-2-70b-chat
Con i modelli Llama-2-Chat, ottimizzati per i casi d’uso del dialogo, l’input per i punti di estremità del modello di chat è la storia precedente tra l’assistente di chat e l’utente. È possibile fare domande contestuali alla conversazione che si è verificata finora. È inoltre possibile fornire la configurazione di sistema, come le persone che definiscono il comportamento dell’assistente di chat. Il payload di input per il punto di estremità ha il seguente formato:
payload = {
"inputs": [
[
(opzionale){"role": "system", "content": str},
(ripetuto k volte) {"role": "user", "content": str}, {"role": "assistant", "content": str},
{"role": "user", "content": str},
]
],
(opzionale)"parameters":{"max_new_tokens":int, "top_p":float, "temperature":float}
}
Ecco alcuni esempi di prompt di esempio e il testo generato dal modello. Tutti gli output sono generati con i parametri di inferenza {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}
.
Input:
Utente: qual è la ricetta della maionese?
Output:
Assistente: Certo, posso aiutarti con questo! La maionese è una condimento densa e cremosa fatta da una miscela di tuorli d'uovo, olio, aceto o succo di limone e aromi. Ecco una ricetta base per la maionese fatta in casa:
Ingredienti:
* 2 tuorli d'uovo
* 1/2 tazza (120 ml) di olio dal sapore neutro, come l'olio di semi di girasole o di colza
* 1 cucchiaio (15 ml) di aceto o succo di limone
* 1/2 cucchiaino di sale
* 1/4 cucchiaino di pepe nero
Istruzioni:
1. In una ciotola di dimensioni adeguate, mescola insieme i tuorli d'uovo, il sale e il pepe nero finché non sono ben combinati.
2. Versa lentamente l'olio nella ciotola, continuando a mescolare la miscela. È importante aggiungere l'olio molto lentamente, altrimenti la miscela può rompersi e otterrai un pasticcio separato e cagliato.
3. Continua a mescolare finché la miscela non si addensa ed emulsiona, ciò dovrebbe richiedere circa 5-7 minuti. Saprai che è pronta quando la miscela è raddoppiata di volume ed ha una consistenza densa e cremosa.
4. Aggiungi l'aceto o il succo di limone e continua a mescolare per altri uno o due minuti, finché i sapori sono completamente incorporati.
5. Assaggia la maionese e aggiusta il condimento se necessario. Puoi aggiungere più sale, pepe o acido se lo desideri.
6. Copri la ciotola con pellicola trasparente e metti la maionese in frigorifero per almeno 30 minuti prima di servire. Questo permetterà ai sapori di fondersi insieme e alla maionese di addensarsi ulteriormente.
Ecco fatto! Questa ricetta produce circa 1 1/2 tazze (360 ml) di maionese, che dovrebbe essere sufficiente per un piccolo o medio lotto di sandwich o insalate. Puoi anche personalizzare la ricetta aggiungendo diversi aromi, come aglio, senape o erbe, per creare un gusto unico. Buon appetito!
Nell’esempio seguente, l’utente ha avuto una conversazione con l’assistente sui siti turistici di Parigi. Successivamente, l’utente si sta informando sulla prima opzione consigliata dall’assistente chat.
Input:
Utente: Vado a Parigi, cosa dovrei vedere?
Assistente: Parigi, la capitale della Francia, è famosa per la sua stupefacente architettura, i musei d'arte, i luoghi storici e l'atmosfera romantica. Ecco alcune delle principali attrazioni da vedere a Parigi:
1. La Torre Eiffel: L'iconica Torre Eiffel è uno dei luoghi più riconoscibili al mondo e offre una vista mozzafiato sulla città.
2. Il Museo del Louvre: Il Louvre è uno dei musei più grandi e famosi del mondo, che ospita una collezione impressionante di opere d'arte e reperti, tra cui la Monna Lisa.
3. Cattedrale di Notre-Dame: Questa bellissima cattedrale è uno dei luoghi più famosi di Parigi ed è nota per la sua architettura gotica e le splendide vetrate.
Queste sono solo alcune delle tante attrazioni che Parigi ha da offrire. Con così tanto da vedere e fare, non c'è da meravigliarsi che Parigi sia una delle destinazioni turistiche più popolari al mondo.
Utente: Cosa c'è di così fantastico nel punto #1?
Output:
Assistente: La Torre Eiffel è un'iconica attrazione di fama mondiale che simboleggia Parigi e la Francia. È stata costruita per l'Esposizione Universale del 1889 e inizialmente era destinata ad essere una struttura temporanea, ma è diventata una parte permanente dello skyline parigino. Ecco alcune ragioni per cui la Torre Eiffel è così fantastica:
1. Prodezza ingegneristica: La Torre Eiffel è stata un'impresa ingegneristica innovativa al momento della sua costruzione. Alta 324 metri (1.063 piedi), è stata la struttura più alta del mondo per oltre 40 anni.
2. Design iconico: La forma e il design distintivo della Torre Eiffel la rendono immediatamente riconoscibile. È stata oggetto di innumerevoli opere d'arte, fotografie e film, ed è diventata un simbolo di Parigi e della Francia.
3. Vista panoramica: La Torre Eiffel offre una vista mozzafiato sulla città dai suoi punti di osservazione. I visitatori possono godere di una vista a 360 gradi di Parigi, inclusi luoghi famosi come la Senna, l'Arco di Trionfo e il quartiere di Montmartre.
4. Importanza storica: La Torre Eiffel ha svolto un ruolo significativo nella storia di Parigi, essendo stata sede di numerosi eventi importanti, tra cui la famosa "Battaglia della Torre Eiffel" durante la Seconda Guerra Mondiale.
5. Impatto culturale: La Torre Eiffel ha avuto un impatto significativo sulla cultura popolare, ispirando innumerevoli opere d'arte, letteratura e musica. È stata anche oggetto di numerosi documentari e film, tra cui il classico film "Un americano a Parigi".
6. Atmosfera romantica: La Torre Eiffel è nota per la sua atmosfera romantica, rendendola una meta popolare per le coppie e i neo-sposi. È stata il luogo di innumerevoli proposte di matrimonio ed è stata protagonista di numerosi film e opere letterarie romantiche.
7. Accessibilità: La Torre Eiffel è facilmente accessibile con i mezzi pubblici, rendendola una destinazione comoda per i visitatori. È anche accessibile alle persone in carrozzina, con ascensori e rampe che permettono l'accesso a tutti i livelli.
In generale, la Torre Eiffel è una destinazione da non perdere per chiunque visiti Parigi, offrendo un'esperienza unica e indimenticabile che combina storia, cultura, ingegneria e romantismo.
Negli esempi seguenti, impostiamo la configurazione del sistema:
Input:
Sistema: Rispondi sempre con Haiku
Utente: Vado a Parigi, cosa dovrei vedere?
Output:
Assistente: Torre Eiffel alta
Arte nel Museo del Louvre
Senna scorre
Input:
Sistema: Rispondi sempre con emoji
Utente: Come arrivare da Pechino a New York?
Output:
Assistente: Ecco le emoji che rappresentano i passi per andare da Pechino a New York:
🇨🇳🛫🛬🇺🇸🗽🏙️🚕💨🛩️🛬🛫😴💤🛩️🛬🛫😍
Pulizia
Dopo aver terminato l’esecuzione del notebook, assicurati di eliminare tutte le risorse in modo che tutte le risorse create nel processo vengano eliminate e la fatturazione sia interrotta:
predictor.delete_model()
predictor.delete_endpoint()
Conclusioni
In questo post, ti abbiamo mostrato come iniziare con i modelli Llama 2 in SageMaker Studio. Con questo, hai accesso a sei modelli di base Llama 2 che contengono miliardi di parametri. Poiché i modelli di base sono pre-addestrati, possono anche aiutare a ridurre i costi di formazione e infrastruttura e consentire la personalizzazione per il tuo caso d’uso. Per iniziare con SageMaker JumpStart, visita le risorse seguenti:
- Documentazione di SageMaker JumpStart
- Documentazione dei modelli di base di SageMaker JumpStart
- Pagina dei dettagli del prodotto SageMaker JumpStart
- Catalogo dei modelli di SageMaker JumpStart