Oggi siamo lieti di annunciare che il modello di base del linguaggio GPT-NeoXT-Chat-Base-20B di Together Computer è disponibile per i clienti che utilizzano JumpStart di Amazon SageMaker. GPT-NeoXT-Chat-Base-20B è un modello open source per creare bot conversazionali. Puoi facilmente provare questo modello e usarlo con JumpStart. JumpStart è l'hub di machine learning (ML) di Amazon Sage Maker che fornisce l'accesso ai modelli di base oltre agli algoritmi integrati e ai modelli di soluzione end-to-end per aiutarti a iniziare rapidamente con il machine learning.
In questo post, esaminiamo come distribuire il GPT-NeoXT-Chat-Base-20B model e richiamare il modello all'interno di un OpenChatKit guscio interattivo. Questa dimostrazione fornisce un chatbot del modello di base open source da utilizzare all'interno dell'applicazione.
I modelli JumpStart utilizzano Deep Java Serving che utilizza Deep Java Library (DJL) con librerie ad alta velocità per ottimizzare i modelli e ridurre al minimo la latenza per l'inferenza. L'implementazione sottostante in JumpStart segue un'implementazione simile alla seguente taccuino. In qualità di cliente dell'hub di modelli JumpStart, ottieni prestazioni migliori senza dover mantenere lo script del modello al di fuori dell'SDK di SageMaker. I modelli JumpStart ottengono anche una migliore posizione di sicurezza con endpoint che consentono l'isolamento della rete.
Modelli di fondazione in SageMaker
JumpStart fornisce l'accesso a una gamma di modelli da hub di modelli popolari, tra cui Hugging Face, PyTorch Hub e TensorFlow Hub, che puoi utilizzare all'interno del tuo flusso di lavoro di sviluppo ML in SageMaker. I recenti progressi nel machine learning hanno dato origine a una nuova classe di modelli noti come modelli di fondazione, che in genere sono addestrati su miliardi di parametri e sono adattabili a un'ampia categoria di casi d'uso, come il riepilogo del testo, la generazione di arte digitale e la traduzione linguistica. Poiché questi modelli sono costosi da addestrare, i clienti desiderano utilizzare i modelli di base pre-addestrati esistenti e perfezionarli secondo necessità, piuttosto che addestrare questi modelli da soli. SageMaker fornisce un elenco curato di modelli tra cui puoi scegliere sulla console SageMaker.
Ora puoi trovare modelli di fondazione di diversi fornitori di modelli all'interno di JumpStart, consentendoti di iniziare rapidamente con i modelli di fondazione. È possibile trovare modelli di base basati su diverse attività o fornitori di modelli e rivedere facilmente le caratteristiche del modello e i termini di utilizzo. Puoi anche provare questi modelli utilizzando un widget dell'interfaccia utente di prova. Quando desideri utilizzare un modello di base su larga scala, puoi farlo facilmente senza uscire da SageMaker utilizzando i notebook predefiniti dei fornitori di modelli. Poiché i modelli sono ospitati e distribuiti su AWS, puoi essere certo che i tuoi dati, utilizzati per la valutazione o per l'utilizzo del modello su larga scala, non vengano mai condivisi con terze parti.
Modello di base GPT-NeoXT-Chat-Base-20B
Insieme Computer ha sviluppato GPT-NeoXT-Chat-Base-20B, un modello linguistico da 20 miliardi di parametri, messo a punto dal modello GPT-NeoX di ElutherAI con oltre 40 milioni di istruzioni, incentrato sulle interazioni in stile dialogo. Inoltre, il modello è sintonizzato su diverse attività, come la risposta alle domande, la classificazione, l'estrazione e il riepilogo. Il modello si basa sul set di dati OIG-43M creato in collaborazione con LAION e Ontocord.
Oltre alla suddetta messa a punto, anche GPT-NeoXT-Chat-Base-20B-v0.16 ha subito un'ulteriore messa a punto tramite una piccola quantità di dati di feedback. Ciò consente al modello di adattarsi meglio alle preferenze umane nelle conversazioni. GPT-NeoXT-Chat-Base-20B è progettato per l'uso in applicazioni chatbot e potrebbe non funzionare bene per altri casi d'uso al di fuori dell'ambito previsto. Insieme, Ontocord e LAION hanno collaborato per rilasciare OpenChatKit, un'alternativa open source a ChatGPT con un set di funzionalità paragonabile. OpenChatKit è stato lanciato con una licenza Apache-2.0, che garantisce l'accesso completo al codice sorgente, ai pesi del modello e ai set di dati di addestramento. Ci sono diverse attività in cui OpenChatKit eccelle fuori dagli schemi. Ciò include attività di riepilogo, attività di estrazione che consentono di estrarre informazioni strutturate da documenti non strutturati e attività di classificazione per classificare una frase o un paragrafo in diverse categorie.
Esploriamo come possiamo utilizzare il modello GPT-NeoXT-Chat-Base-20B in JumpStart.
Panoramica della soluzione
Puoi trovare il codice che mostra la distribuzione di GPT-NeoXT-Chat-Base-20B su SageMaker e un esempio di come utilizzare il modello distribuito in modo conversazionale utilizzando la shell dei comandi nel seguente Taccuino GitHub.
Nelle sezioni seguenti, espandiamo ogni passaggio in dettaglio per distribuire il modello e quindi utilizzarlo per risolvere diverse attività:
- Impostare i prerequisiti.
- Seleziona un modello preaddestrato.
- Recupera gli artefatti e distribuisci un endpoint.
- Interroga l'endpoint e analizza una risposta.
- Utilizza una shell OpenChatKit per interagire con l'endpoint distribuito.
Prerequisiti di configurazione
Questo notebook è stato testato su un'istanza ml.t3.medium in Amazon Sage Maker Studio con il kernel Python 3 (Data Science) e in un'istanza notebook SageMaker con il kernel conda_python3.
Prima di eseguire il notebook, utilizzare il comando seguente per completare alcuni passaggi iniziali richiesti per l'installazione:
Seleziona un modello preaddestrato
Impostiamo una sessione SageMaker come al solito utilizzando Boto3 e quindi selezioniamo l'ID del modello che vogliamo distribuire:
Recupera gli artefatti e distribuisci un endpoint
Con SageMaker, possiamo eseguire l'inferenza sul modello pre-addestrato, anche senza ottimizzarlo prima su un nuovo set di dati. Iniziamo recuperando il file instance_type
, image_uri
e model_uri
per il modello pre-addestrato. Per ospitare il modello pre-addestrato, creiamo un'istanza di sagemaker.model.Model e distribuirlo. Il codice seguente utilizza ml.g5.24xlarge per l'endpoint di inferenza. Il metodo di distribuzione potrebbe richiedere alcuni minuti.
Interrogare l'endpoint e analizzare la risposta
Successivamente, ti mostriamo un esempio di come richiamare un endpoint con un sottoinsieme di iperparametri:
Di seguito la risposta che otteniamo:
Qui, abbiamo fornito l'argomento del carico utile "stopping_criteria": ["<human>"]
, che ha portato la risposta del modello a terminare con la generazione della sequenza di parole <human>
. Lo script del modello JumpStart accetterà qualsiasi elenco di stringhe come parole di arresto desiderate, convertire questo elenco in un valido argomento della parola chiave di arresto_criteri ai trasformatori generano l'API e interrompono la generazione del testo quando la sequenza di output contiene parole di arresto specificate. Ciò è utile per due motivi: in primo luogo, il tempo di inferenza viene ridotto perché l'endpoint non continua a generare testo indesiderato oltre le parole di arresto e, in secondo luogo, ciò impedisce al modello OpenChatKit di allucinare ulteriori risposte umane e bot fino a quando non vengono soddisfatti altri criteri di arresto .
Utilizza una shell OpenChatKit per interagire con l'endpoint distribuito
OpenChatKit fornisce una shell della riga di comando per interagire con il chatbot. In questo passaggio, crei una versione di questa shell che può interagire con il tuo endpoint distribuito. Forniamo una semplificazione essenziale degli script di inferenza in questo repository OpenChatKit che può interagire con il nostro endpoint SageMaker distribuito.
Ci sono due componenti principali in questo:
- Un interprete di shell (
JumpStartOpenChatKitShell
) che consente chiamate di inferenza iterative dell'endpoint del modello - Un oggetto di conversazione (
Conversation
) che memorizza le precedenti interazioni uomo/chatbot localmente all'interno della shell interattiva e formatta in modo appropriato le conversazioni passate per il futuro contesto di inferenza
Il Conversation
oggetto viene importato così com'è dal repository OpenChatKit. Il codice seguente crea un interprete della shell personalizzato che può interagire con l'endpoint. Questa è una versione semplificata dell'implementazione di OpenChatKit. Ti invitiamo a esplorare il repository OpenChatKit per vedere come puoi utilizzare funzionalità più approfondite, come lo streaming di token, i modelli di moderazione e la generazione aumentata di recupero, in questo contesto. Il contesto di questo notebook si concentra sulla dimostrazione di un chatbot minimo praticabile con un endpoint JumpStart; puoi aggiungere complessità se necessario da qui.
Una breve demo per mostrare il JumpStartOpenChatKitShell
è mostrato nel seguente video.
Il seguente frammento mostra come funziona il codice:
Ora puoi avviare questa shell come ciclo di comandi. Ciò emetterà ripetutamente un prompt, accetterà l'input, analizzerà il comando di input e invierà azioni. Poiché la shell risultante può essere utilizzata in un ciclo infinito, questo notebook fornisce una coda di comando predefinita (cmdqueue
) come un elenco in coda di righe di input. Perché l'ultimo input è il comando /quit
, la shell uscirà all'esaurimento della coda. Per interagire dinamicamente con questo chatbot, rimuovi il file cmdqueue
.
Esempio 1: il contesto della conversazione viene mantenuto
Il seguente prompt mostra che il chatbot è in grado di conservare il contesto della conversazione per rispondere alle domande di follow-up:
Esempio 2: Classificazione dei sentimenti
Nell'esempio seguente, il chatbot ha eseguito un'attività di classificazione identificando i sentimenti della frase. Come puoi vedere, il chatbot è stato in grado di classificare con successo sentimenti positivi e negativi.
Esempio 3: attività di riepilogo
Successivamente, abbiamo provato le attività di riepilogo con la shell del chatbot. L'esempio seguente mostra come il testo lungo about Amazon Comprehend è stato riassunto in una frase e il chatbot è stato in grado di rispondere alle domande di follow-up sul testo:
Esempio 4: estrarre informazioni strutturate da testo non strutturato
Nell'esempio seguente, abbiamo utilizzato il chatbot per creare una tabella markdown con intestazioni, righe e colonne per creare un piano di progetto utilizzando le informazioni fornite in un linguaggio in formato libero:
Esempio 5: comandi come input per chatbot
Possiamo anche fornire input come comandi simili /hyperparameters
per vedere i valori degli iperparametri e /quit
per uscire dalla shell dei comandi:
Questi esempi hanno mostrato solo alcune delle attività in cui OpenChatKit eccelle. Ti invitiamo a provare vari prompt e vedere cosa funziona meglio per il tuo caso d'uso.
ripulire
Dopo aver testato l'endpoint, assicurati di eliminare l'endpoint di inferenza SageMaker e il modello per evitare di incorrere in addebiti.
Conclusione
In questo post, ti abbiamo mostrato come testare e utilizzare il modello GPT-NeoXT-Chat-Base-20B utilizzando SageMaker e creare interessanti applicazioni chatbot. Prova oggi stesso il modello base in SageMaker e facci sapere il tuo feedback!
Questa guida è solo a scopo informativo. Dovresti comunque eseguire la tua valutazione indipendente e adottare misure per assicurarti di rispettare le tue specifiche pratiche e standard di controllo della qualità e le norme, le leggi, i regolamenti, le licenze e i termini di utilizzo locali che si applicano a te, ai tuoi contenuti e il modello di terze parti a cui si fa riferimento in questa guida. AWS non ha alcun controllo o autorità sul modello di terze parti a cui si fa riferimento in questa guida e non rilascia alcuna dichiarazione o garanzia che il modello di terze parti sia sicuro, privo di virus, operativo o compatibile con l'ambiente di produzione e gli standard. AWS non rilascia alcuna dichiarazione o garanzia che qualsiasi informazione contenuta in questa guida si tradurrà in un particolare risultato o risultato.
Circa gli autori
Rachna Chada è Principal Solutions Architect AI/ML in Strategic Accounts presso AWS. Rachna è un'ottimista che crede che l'uso etico e responsabile dell'IA possa migliorare la società in futuro e portare prosperità economica e sociale. Nel tempo libero, a Rachna piace passare il tempo con la sua famiglia, fare escursioni e ascoltare musica.
Dottor Kyle Ulrich è uno scienziato applicato con il Algoritmi integrati di Amazon SageMaker squadra. I suoi interessi di ricerca includono algoritmi di machine learning scalabili, visione artificiale, serie storiche, bayesiani non parametrici e processi gaussiani. Il suo dottorato di ricerca è presso la Duke University e ha pubblicato articoli su NeurIPS, Cell e Neuron.
Dottor Ashish Khetan è un Senior Applied Scientist con algoritmi integrati di Amazon SageMaker e aiuta a sviluppare algoritmi di machine learning. Ha conseguito il dottorato di ricerca presso l'Università dell'Illinois Urbana-Champaign. È un ricercatore attivo nell'apprendimento automatico e nell'inferenza statistica e ha pubblicato numerosi articoli nelle conferenze NeurIPS, ICML, ICLR, JMLR, ACL e EMNLP.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoAiStream. Intelligenza dei dati Web3. Conoscenza amplificata. Accedi qui.
- Coniare il futuro con Adryenn Ashley. Accedi qui.
- Acquista e vendi azioni in società PRE-IPO con PREIPO®. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/gpt-neoxt-chat-base-20b-foundation-model-for-chatbot-applications-is-now-available-on-amazon-sagemaker/
- :ha
- :È
- :non
- $ SU
- 1
- 100
- 12
- 13
- 15%
- 20
- 23
- 30
- 40
- 50
- 500
- 7
- 9
- a
- capace
- WRI
- Accetta
- accesso
- Secondo
- conti
- Raggiungere
- azioni
- attivo
- adattare
- aggiungere
- aggiunta
- aggiuntivo
- Inoltre
- Avanzate
- avanzamenti
- AI
- AI / ML
- Algoritmi
- consentire
- consente
- anche
- alternativa
- am
- Amazon
- Amazon Comprehend
- Amazon Sage Maker
- Amazon Web Services
- quantità
- an
- .
- analizzare
- ed
- Annunciare
- rispondere
- in qualsiasi
- api
- API
- App
- Applicazioni
- applicazioni
- applicato
- APPLICA
- appropriatamente
- circa
- SONO
- argomento
- Arte
- AS
- valutazione
- assicurato
- At
- aumentata
- autorità
- disponibile
- evitare
- AWS
- basato
- bayesiano
- BE
- perché
- prima
- crede
- MIGLIORE
- Meglio
- Al di là di
- miliardi
- Bot
- bots
- Scatola
- portare
- costruire
- incassato
- by
- Materiale
- funzionalità
- capitale
- Custodie
- casi
- categoria
- Categoria
- caratteristiche
- oneri
- chatbot
- ChatGPT
- Scegli
- Città
- classe
- classificazione
- classificare
- codice
- collaborato
- collaborazione
- colonne
- Uncommon
- paragonabile
- compatibile
- completamento di una
- complessità
- componenti
- comprendere
- computer
- Visione computerizzata
- preoccupazioni
- conferenze
- consolle
- Contenitore
- contiene
- contenuto
- contesto
- continua
- di controllo
- Conversazione
- discorsivo
- Conversazioni
- convertire
- Froids
- creare
- creato
- crea
- Creazione
- criteri
- a cura
- costume
- cliente
- Clienti
- DC
- dati
- scienza dei dati
- dataset
- deep
- apprendimento profondo
- Predefinito
- dimostrando
- Dipendente
- schierare
- schierato
- deployment
- descrizione
- progettato
- desiderato
- dettaglio
- Determinare
- sviluppare
- sviluppato
- sviluppatori
- Mercato
- sviluppa
- diverso
- digitale
- Arte digitale
- do
- docker
- documento
- documenti
- effettua
- non
- dominante
- Duca
- Università del Duca
- durata
- dinamicamente
- ogni
- facilmente
- Economico
- elementi
- altro
- enable
- consentendo
- incoraggiare
- da un capo all'altro
- endpoint
- garantire
- Intero
- entità
- entità
- Ambiente
- etico
- la valutazione
- Anche
- esaminare
- esempio
- Esempi
- eccitato
- esistente
- uscita
- Espandere
- costoso
- esplora
- estratto
- Faccia
- famiglia
- lontano
- preferito
- paura
- caratteristica
- Caratteristiche
- feedback
- pochi
- File
- Trovate
- Nome
- si concentra
- messa a fuoco
- i seguenti
- segue
- Nel
- Fondazione
- da
- ulteriormente
- futuro
- generare
- la generazione di
- ELETTRICA
- ottenere
- dato
- andando
- buono
- rilascio
- garanzie
- guida
- Avere
- avendo
- he
- intestazioni
- Aiuto
- aiuta
- suo
- qui
- il suo
- host
- ospitato
- Come
- Tutorial
- HTML
- HTTPS
- Hub
- umano
- i
- ID
- identificazione
- if
- Illinois
- Immagine
- implementazione
- competenze
- migliorata
- in
- Uno sguardo approfondito sui miglioramenti dei pneumatici da corsa di Bridgestone.
- includere
- inclusi
- Compreso
- studente indipendente
- Infinito
- informazioni
- Informativo
- inizialmente
- ingresso
- Ingressi
- intuizioni
- install
- esempio
- istruzioni
- destinato
- interagire
- interazioni
- interattivo
- interessante
- interessi
- ai miglioramenti
- da solo
- problema
- IT
- SUO
- Java
- Offerte di lavoro
- jpg
- ad appena
- Le
- Genere
- Sapere
- conosciuto
- Lingua
- Le Lingue
- grandi
- Cognome
- Latenza
- lanciare
- lanciato
- Legislazione
- apprendimento
- partenza
- lasciare
- biblioteche
- Biblioteca
- Licenza
- licenze
- piace
- piace
- linea
- Linee
- Lista
- Ascolto
- locale
- a livello locale
- Lunghi
- lotto
- macchina
- machine learning
- Principale
- mantenere
- make
- modo
- molti
- Maggio..
- analisi
- medie
- menziona
- metodo
- milione
- minimo
- Minuti
- ML
- modello
- modelli
- moderazione
- modificato
- Scopri di più
- Mattina
- Musica
- Naturale
- Elaborazione del linguaggio naturale
- Bisogno
- di applicazione
- negativo.
- Rete
- internazionale
- mai
- New
- prodotti nuovi
- notizie
- nlp
- no
- taccuino
- adesso
- oggetto
- of
- Olive
- on
- ONE
- esclusivamente
- open source
- operativa
- OTTIMIZZA
- Opzioni
- or
- Altro
- nostro
- su
- Risultato
- delineato
- produzione
- al di fuori
- ancora
- proprio
- documenti
- parametri
- particolare
- parti
- passato
- Eseguire
- performance
- Frasi
- Pizza
- piano
- Platone
- Platone Data Intelligence
- PlatoneDati
- Giocare
- Popolare
- positivo
- Post
- pratiche
- Predictor
- preferenze
- prerequisiti
- impedisce
- precedente
- Direttore
- priorità
- i processi
- lavorazione
- Produzione
- Prodotti
- progetto
- prosperità
- fornire
- purché
- fornitori
- fornisce
- pubblicato
- fini
- Python
- pytorch
- qualità
- domanda
- Domande
- rapidamente
- gamma
- piuttosto
- tempo reale
- motivi
- recente
- ricetta
- riconoscimento
- riconoscendo
- Ridotto
- Refactoring
- normativa
- rilasciare
- rimuovere
- RIPETUTAMENTE
- deposito
- necessario
- riparazioni
- ricercatore
- risposta
- risposte
- responsabile
- REST
- colpevole
- risultante
- conservare
- ritorno
- recensioni
- Aumento
- norme
- Correre
- s
- sagemaker
- Inferenza di SageMaker
- dire
- scalabile
- Scala
- scansione
- Scienze
- Scienziato
- portata
- script
- sdk
- Cerca
- Secondo
- sezioni
- sicuro
- problemi di
- vedere
- prodotti
- AUTO
- anziano
- condanna
- sentimento
- Sequenza
- Serie
- servizio
- Servizi
- servizio
- Sessione
- set
- Set
- flessibile.
- alcuni
- condiviso
- Conchiglia
- Corti
- dovrebbero
- mostrare attraverso le sue creazioni
- vetrina
- in mostra
- ha mostrato
- mostrato
- Spettacoli
- simile
- semplificata
- SIX
- piccole
- So
- Social
- Il social networking
- Società
- soluzione
- Soluzioni
- RISOLVERE
- alcuni
- Fonte
- codice sorgente
- specifico
- specificato
- velocità
- Spendere
- diffondere
- standard
- inizia a
- iniziato
- statistiche
- step
- Passi
- Ancora
- Fermare
- negozi
- Strategico
- Streaming
- La struttura
- strutturato
- Con successo
- tale
- SOMMARIO
- supportato
- tavolo
- Fai
- Task
- task
- team
- tecniche
- dire
- modelli
- tensorflow
- condizioni
- test
- tester
- di
- che
- Il
- La capitale
- Il futuro
- le informazioni
- L’ORIGINE
- Li
- si
- poi
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- Terza
- terzi
- di parti terze standard
- questo
- Attraverso
- tempo
- Serie storiche
- a
- oggi
- insieme
- token
- Treni
- allenato
- Training
- trasformatori
- Traduzione
- provato
- vero
- prova
- seconda
- Digitare
- tipicamente
- ui
- per
- sottostante
- e una comprensione reciproca
- Università
- fino a quando
- su
- us
- Impiego
- uso
- caso d'uso
- utilizzato
- utilizzando
- utilizzati
- Valori
- varietà
- vario
- versione
- via
- vitale
- Video
- visione
- volere
- caldo
- Prima
- Washington
- we
- Tempo
- sito web
- servizi web
- Settimane
- il benvenuto
- WELL
- Che
- Che cosa è l'
- quando
- se
- quale
- OMS
- largo
- più ampia
- volere
- con
- entro
- senza
- Word
- parole
- lavori
- scrivere
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro