La scorsa settimana, Istituto per l'innovazione tecnologica (TII) lanciato TII Falcon LLM, un modello LLM (fondational large Language Model) open source. Addestrato su 1 trilione di token con Amazon Sage Maker, Falcon vanta prestazioni di prim'ordine (n. 1 sulla classifica Classifica "Faccia che abbraccia". al momento della stesura di questo articolo) pur essendo relativamente leggero e meno costoso da ospitare rispetto ad altri LLM come llama-65B. In questo post, dimostriamo come distribuire Falcon per applicazioni come la comprensione del linguaggio e l'assistenza alla scrittura automatizzata utilizzando contenitori di deep learning con inferenza di modelli di grandi dimensioni su SageMaker.
Il Falcon è atterrato su SageMaker
TII è l'organizzazione di ricerca applicata all'interno di Abu Dhabi Consiglio per la ricerca tecnologica avanzata; il suo team di scienziati, ricercatori e ingegneri si dedica alla scoperta di tecnologie trasformative e allo sviluppo di scoperte scientifiche che renderanno la nostra società a prova di futuro. All'inizio di quest'anno, TII ha deciso di formare un LLM open source all'avanguardia e ha utilizzato l'infrastruttura, gli strumenti e le competenze di SageMaker per portare a termine il lavoro (per saperne di più su come questo modello è stato addestrato su SageMaker , fare riferimento a Il Technology Innovation Institute addestra il modello di fondazione all'avanguardia Falcon LLM 40B su Amazon SageMaker). Il risultato di questo sforzo è TII Falcon LLM.
Addestrato su 1 trilione di token, Falcon vanta prestazioni di prim'ordine contro i Cablaggio di valutazione del modello linguistico Eleuther AI ed è attualmente il numero 1 nella classifica Classifica "Faccia che abbraccia". per precisione. Il modello è disponibile in due diverse dimensioni, Falcon-40B e Falcon-7B, e può essere utilizzato per prestazioni all'avanguardia in applicazioni quali comprensione del linguaggio, esperienze di conversazione e assistenza automatizzata nella scrittura. Questo post ti aiuterà a iniziare a distribuire Falcon su SageMaker per un'inferenza ad alta precisione in questi tipi di domini.
I DLC di inferenza di modelli di grandi dimensioni SageMaker semplificano l'hosting LLM
Ospitare LLM come Falcon-40B e Falcon-7B può essere impegnativo. I modelli più grandi sono spesso più accurati perché includono miliardi di parametri, ma le loro dimensioni possono anche comportare una latenza di inferenza più lenta o un throughput peggiore. L'hosting di un LLM può richiedere più memoria GPU e kernel ottimizzati per ottenere prestazioni accettabili. Per complicare ulteriormente le cose, sebbene i modelli più piccoli come Falcon-7B possano generalmente adattarsi a una singola GPU come un'istanza NVIDIA A10G che alimenta i tipi di istanze AWS G5, i modelli più grandi come Falcon-40B non possono farlo. Quando ciò accade, è necessario utilizzare strategie come il parallelismo tensore per suddividere il modello più grande in più parti e sfruttare la memoria di più GPU. Le soluzioni di hosting legacy utilizzate per i modelli più piccoli in genere non offrono questo tipo di funzionalità, il che aumenta la difficoltà.
I contenitori di deep learning (DLC) SageMaker Large Model Inference (LMI) possono essere d'aiuto. I DLC LMI sono una soluzione end-to-end completa per l'hosting di LLM come Falcon-40B. Nella parte front-end, includono un server modello ad alte prestazioni (DJL Serving) progettato per l'inferenza di modelli di grandi dimensioni con funzionalità come lo streaming di token e la replica automatica del modello all'interno di un'istanza per aumentare il throughput. Sul backend, i DLC LMI includono anche diversi motori paralleli di modelli ad alte prestazioni, come DeepSpeed e FasterTransformer, che possono partizionare e gestire i parametri del modello su più GPU. Questi motori includono anche kernel ottimizzati per i modelli di trasformatori più diffusi, che possono accelerare l'inferenza fino a tre volte più velocemente. Con i DLC LMI, devi semplicemente creare un file di configurazione per iniziare con l'hosting LLM su SageMaker. Per ulteriori informazioni sui DLC SageMaker LMI, fare riferimento a Parallelismo dei modelli e grande inferenza dei modelli e il nostro elenco delle immagini disponibili. Puoi anche consultare il nostro post precedente sull'hosting Bloom-175B su SageMaker utilizzando i DLC LMI.
Panoramica della soluzione
Questo post illustra come ospitare Falcon-40B utilizzando DeepSpeed su SageMaker utilizzando i DLC LMI. Falcon-40B richiede l'utilizzo di più GPU A10, mentre Falcon-7B richiede solo una singola GPU. Abbiamo anche preparato esempi a cui puoi fare riferimento per ospitare Falcon-40B e Falcon-7B utilizzando sia DeepSpeed che Accelerate. Puoi trovare i nostri esempi di codice su GitHub.
Questo esempio può essere eseguito in istanze notebook SageMaker o Amazon Sage Maker Studio i Quaderni. Per ospitare Falcon-40B utilizzando LMI e DeepSpeed, dobbiamo utilizzare un'istanza ml.g5.24xlarge. Queste istanze forniscono 4 GPU NVIDIA A10G, ciascuna delle quali supporta 96 GiB di memoria GPU. Inoltre, l'host fornisce 96 vCPU e 384 GiB di memoria host. Il contenitore LMI aiuterà ad affrontare gran parte del lavoro pesante indifferenziato associato all'hosting di LLM, incluso il download del modello e il partizionamento dell'artefatto del modello in modo che i parametri che lo compongono possano essere distribuiti su più GPU.
Le quote per le istanze di machine learning (ML) di SageMaker possono variare da un account all'altro. Se ricevi un errore che indica che hai superato la quota per le istanze g5.24xlarge mentre segui questo post, puoi aumentare il limite tramite Console delle quote di servizio.
Guida dettagliata del taccuino
Per iniziare, iniziamo installando e importando le dipendenze necessarie per il nostro esempio. Utilizziamo l'SDK Boto3 e l'SDK SageMaker. Nota che usiamo Servizio di archiviazione semplice Amazon (Amazon S3) per archiviare gli artefatti del modello di cui abbiamo bisogno per l'utilizzo di SageMaker e LMI, quindi impostiamo di conseguenza una variabile di prefisso S3. Vedere il seguente codice:
Creiamo quindi una cartella locale per il nostro spazio di lavoro per archiviare gli artefatti del nostro modello:
Per prima cosa creiamo un serving.properties
file di configurazione nella directory locale che abbiamo creato. Questo serving.properties
Il file indica al contenitore LMI e alla libreria front-end DJL Serving quale modello di parallelizzazione e motore di ottimizzazione dell'inferenza vogliamo utilizzare. Puoi trovare le opzioni di configurazione sia per DeepSpeed che per Hugging Face Accelerate in Configurazioni e impostazioni. Qui, nota che impostiamo il file option.model_id
parametro per definire da quale modello Hugging Face estrarre. SageMaker semplifica il lavoro con i modelli Hugging Face e questa riga è tutto ciò di cui hai bisogno. Inoltre, impostiamo option.tensor_parallel_degree
su un valore pari a 4 perché abbiamo quattro GPU sulla nostra istanza ml.g5.24xlarge. Questo parametro definisce quante partizioni del modello creare e distribuire. Tieni presente che se avessimo utilizzato un'istanza più grande con otto GPU, come ml.g5.48xlarge, e avessimo comunque impostato un valore pari a 4, LMI creerebbe automaticamente due repliche del modello (due repliche distribuite su quattro GPU ciascuna). Vedere il seguente codice:
Puoi anche scambiare tiiuae/falcon-40b
con tiiuae/falcon-40b-instruct
se si adatta meglio alle tue esigenze.
Includiamo anche a requirements.txt
file che puoi specificare per installare i pacchetti richiesti:
L'ultima cosa di cui abbiamo bisogno è il model.py
file che verrà utilizzato con il tuo modello:
Questo è tutto! A questo punto, abbiamo creato tutti gli artefatti di cui avrai bisogno per schierare Falcon-40B con DeepSpeed! Imballiamo la directory in un file *.tar.gz e lo carichiamo su Amazon S3. Tieni presente che il modello reale non è stato scaricato o inserito in questo file. Il contenitore LMI scaricherà il modello per te direttamente da Hugging Face. Hai anche la possibilità di scegliere come target un bucket S3 se desideri la tua copia del modello in una posizione che sarà più performante da scaricare. LMI include anche l'ottimizzazione per il download da Amazon S3 con prestazioni elevate. Vedere il seguente codice:
A questo punto non ci resta che definire il contenitore che vogliamo utilizzare e creare un oggetto modello:
Quindi creiamo una configurazione dell'endpoint e creiamo l'endpoint:
Elementi di configurazione da tenere a mente per un hosting di successo
Una considerazione importante per l'hosting di modelli di grandi dimensioni è garantire che vi sia tempo adeguato per il download del modello da Hugging Face. Nei nostri test, il Falcon-40B ha impiegato circa 90 minuti per scaricarsi sull'istanza. Una serie chiave di configurazioni per consentire ciò è ContainerStartupHealthCheckTimeoutInSeconds ed ModelDataDownloadTimeoutInSeconds. Assicurati che la configurazione dell'endpoint SageMaker abbia un valore pari a 3600 per ciascuno di questi. Inoltre, è molto più semplice scaricare da Amazon S3 invece che dal modello zoo originale utilizzando i contenitori LMI appositamente progettati per LLMS che utilizzano l'utilità S5cmd, che riduce il tempo di download del modello a circa 10 minuti.
È possibile monitorare lo stato dell'endpoint chiamando DescribeEndpoint
, che ti avviserà quando tutto sarà completo. Il tuo endpoint è ora pronto per rispondere alle richieste di inferenza! Poiché LMI gestisce il partizionamento e l'orchestrazione del modello per te, ogni richiesta verrà elaborata utilizzando tutte e 4 le GPU disponibili sulla nostra istanza ml.g5.12xlarge. Questo ci consente di ospitare LLM e aumentare le prestazioni se si scalano orizzontalmente gli acceleratori GPU. Vedere il seguente codice:
Se hai finito e desideri eliminare la configurazione dell'endpoint, l'endpoint e l'oggetto del modello, puoi eseguire i seguenti comandi:
Questo codice a cui abbiamo fatto riferimento in questo post può essere trovato nel file complete taccuino su GitHub.
Conclusione
SageMaker Hosting e il DLC LMI semplificano l'hosting di LLM come Falcon-40B. Si fa carico del lavoro pesante indifferenziato nell'orchestrare ciò che è necessario per ospitare modelli su più GPU e fornisce opzioni configurabili per soddisfare le vostre esigenze. Inoltre, l'utilizzo dei modelli Hugging Face diventa molto semplice, grazie al supporto integrato per questi modelli.
In questo post, abbiamo mostrato come utilizzare SageMaker per ospitare il modello Falcon-40B utilizzando DeepSpeed. Inoltre, abbiamo fornito esempi in GitHub per ospitare Falcon-40B utilizzando Accelerate e i modelli Falcon-7B più piccoli. Ti invitiamo a provare SageMaker con LMI e a mettere in pratica il LLM pubblicamente disponibile con le migliori prestazioni fino ad oggi!
Circa gli autori
James Park è un architetto di soluzioni presso Amazon Web Services. Collabora con Amazon.com per progettare, creare e distribuire soluzioni tecnologiche su AWS e ha un interesse particolare per l'intelligenza artificiale e il machine learning. Nel tempo libero ama scoprire nuove culture, nuove esperienze e tenersi aggiornato sulle ultime tendenze tecnologiche. Lo puoi trovare su LinkedIn.
Abhi Shivaditya è Senior Solutions Architect presso AWS e collabora con organizzazioni aziendali globali strategiche per facilitare l'adozione dei servizi AWS in aree quali l'intelligenza artificiale, il calcolo distribuito, il networking e lo storage. La sua esperienza risiede nel Deep Learning nei domini del Natural Language Processing (NLP) e della Computer Vision. Abhi assiste i clienti nella distribuzione efficiente di modelli di machine learning ad alte prestazioni all'interno dell'ecosistema AWS.
Roberto Van Dusen è Senior Product Manager di Amazon SageMaker. Dirige l'ottimizzazione del modello di deep learning per applicazioni come l'inferenza di modelli di grandi dimensioni.
Evandro Franco è un AI/ML Specialist Solutions Architect che lavora su Amazon Web Services. Aiuta i clienti AWS a superare le sfide aziendali relative a AI/ML su AWS. Ha più di 15 anni di lavoro con la tecnologia, dallo sviluppo software, infrastruttura, serverless, all'apprendimento automatico.
Qing Lan è un ingegnere di sviluppo software in AWS. Ha lavorato su diversi prodotti impegnativi in Amazon, tra cui soluzioni di inferenza ML ad alte prestazioni e sistema di registrazione ad alte prestazioni. Il team di Qing ha lanciato con successo il primo modello di miliardi di parametri in Amazon Advertising con una latenza molto bassa richiesta. Qing ha una conoscenza approfondita dell'ottimizzazione dell'infrastruttura e dell'accelerazione del Deep Learning.
Franco Liu è un ingegnere software per AWS Deep Learning. Si concentra sulla creazione di strumenti innovativi di deep learning per ingegneri e scienziati del software. Nel tempo libero ama fare escursioni con amici e famiglia.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- EVM Finance. Interfaccia unificata per la finanza decentralizzata. Accedi qui.
- Quantum Media Group. IR/PR amplificato. Accedi qui.
- PlatoAiStream. Intelligenza dei dati Web3. Conoscenza amplificata. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/deploy-falcon-40b-with-large-model-inference-dlcs-on-amazon-sagemaker/
- :ha
- :È
- :non
- :Dove
- $ SU
- 1
- 10
- 100
- 13
- 14
- 15 anni
- 15%
- 20
- 22
- 27
- 7
- 8
- 9
- a
- WRI
- accelerare
- acceleratori
- accettabile
- di conseguenza
- conti
- precisione
- preciso
- Raggiungere
- operanti in
- presenti
- l'aggiunta di
- aggiunta
- Inoltre
- indirizzo
- Adozione
- Vantaggio
- Pubblicità
- contro
- AI
- AI / ML
- Tutti
- consentire
- consente
- anche
- Sebbene il
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- Amazon.com
- an
- ed
- in qualsiasi
- API
- applicazioni
- applicato
- SONO
- aree
- in giro
- artificiale
- intelligenza artificiale
- AS
- Assistenza
- assist
- associato
- At
- auto
- Automatizzata
- Automatico
- automaticamente
- disponibile
- AWS
- BACKEND
- BE
- perché
- diventa
- stato
- iniziare
- essendo
- Meglio
- fra
- miliardi
- vanta
- stile di vita
- entrambi
- innovazioni
- costruire
- Costruzione
- incassato
- affari
- ma
- by
- chiamata
- chiamata
- Materiale
- non può
- sfide
- impegnativo
- dai un'occhiata
- codice
- COM
- comparativamente
- completamento di una
- che comprende
- computer
- Visione computerizzata
- informatica
- Configurazione
- considerazione
- Contenitore
- Tecnologie Container
- discorsivo
- creare
- creato
- Attualmente
- Clienti
- tagli
- dati
- Data
- dedicato
- deep
- apprendimento profondo
- definisce
- dimostrare
- schierare
- distribuzione
- Design
- progettato
- Mercato
- DITT
- diverso
- Livello di difficoltà
- direttamente
- scoperta
- distribuire
- distribuito
- calcolo distribuito
- do
- domini
- fatto
- Dont
- scaricare
- ogni
- In precedenza
- più facile
- facile
- ecosistema
- in modo efficiente
- sforzo
- incoraggiare
- fine
- da un capo all'altro
- endpoint
- motore
- ingegnere
- Ingegneri
- Motori
- assicurando
- Impresa
- errore
- valutazione
- qualunque cosa
- esempio
- Esempi
- superato
- esecuzione
- costoso
- Esperienze
- competenza
- Faccia
- facilitare
- famiglia
- più veloce
- Caratteristiche
- Compila il
- Trovate
- Nome
- in forma
- si concentra
- i seguenti
- Nel
- essere trovato
- Fondazione
- quattro
- amici
- da
- anteriore
- Fine frontale
- funzionalità
- ulteriormente
- generalmente
- generatore
- ottenere
- Dare
- globali
- Go
- GPU
- GPU
- ha avuto
- Maniglie
- mani su
- accade
- Avere
- he
- pesante
- sollevamento pesante
- Aiuto
- aiuta
- qui
- Alta
- Alte prestazioni
- lui
- il suo
- orizzontalmente
- host
- di hosting
- Casa
- Come
- Tutorial
- HTML
- http
- HTTPS
- if
- Immagine
- importare
- importante
- importazione
- in
- Uno sguardo approfondito sui miglioramenti dei pneumatici da corsa di Bridgestone.
- includere
- inclusi
- Compreso
- Aumento
- indica
- Infrastruttura
- Innovazione
- creativi e originali
- ingresso
- Ingressi
- install
- installazione
- esempio
- invece
- Istituto
- Intelligence
- si interagisce
- interesse
- ai miglioramenti
- IT
- elementi
- SUO
- Lavoro
- jpg
- json
- mantenere
- Le
- conoscenze
- Lingua
- grandi
- superiore, se assunto singolarmente.
- Cognome
- Latenza
- con i più recenti
- lanciato
- Leads
- IMPARARE
- apprendimento
- a sinistra
- Eredità
- meno
- Biblioteca
- si trova
- Vita
- di sollevamento
- leggero
- piace
- LIMITE
- linea
- LLM
- locale
- località
- registrazione
- Basso
- macchina
- machine learning
- make
- FA
- gestire
- direttore
- molti
- Memorie
- mente
- Minuti
- ML
- modello
- modelli
- Monitorare
- Scopri di più
- molti
- multiplo
- devono obbligatoriamente:
- Naturale
- Elaborazione del linguaggio naturale
- necessaria
- Bisogno
- esigenze
- internazionale
- New
- nlp
- taccuino
- adesso
- Nvidia
- oggetto
- of
- offrire
- di frequente
- on
- ONE
- esclusivamente
- open source
- ottimizzazione
- ottimizzati
- Opzione
- Opzioni
- or
- orchestrazione
- organizzazione
- organizzazioni
- i
- OS
- Altro
- nostro
- su
- produzione
- Superare
- proprio
- pacchetto
- confezionati
- Packages
- Parallel
- parametro
- parametri
- particolare
- sentiero
- performance
- pezzi
- conduttura
- Platone
- Platone Data Intelligence
- PlatoneDati
- punto
- Popolare
- Post
- potenze
- Predictor
- preparato
- precedente
- Elaborato
- lavorazione
- Prodotto
- product manager
- Prodotti
- proprietà
- fornire
- purché
- fornisce
- pubblicamente
- scopo
- pronto
- ricevere
- regione
- relazionato
- replicazione
- richiesta
- richiedere
- necessario
- richiede
- riparazioni
- ricercatori
- Rispondere
- colpevole
- ritorno
- Ruolo
- Correre
- sagemaker
- Scala
- scientifico
- scienziati
- sdk
- vedere
- cerca
- anziano
- serverless
- Servizi
- servizio
- Sessione
- set
- alcuni
- ha mostrato
- Un'espansione
- semplificare
- semplicemente
- singolo
- Taglia
- inferiore
- So
- Società
- Software
- lo sviluppo del software
- Software Engineer
- soluzione
- Soluzioni
- specialista
- appositamente
- diffondere
- inizia a
- iniziato
- startup
- state-of-the-art
- Stato dei servizi
- Ancora
- conservazione
- Tornare al suo account
- lineare
- Strategico
- strategie
- Streaming
- di successo
- Con successo
- tale
- Completo
- supporto
- swap
- sistema
- Fai
- prende
- Target
- team
- Tecnologie
- Tecnologia
- dire
- test
- di
- che
- Il
- loro
- poi
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- cosa
- cose
- questo
- quest'anno
- tre
- Attraverso
- portata
- tempo
- volte
- a
- token
- Tokens
- ha preso
- strumenti
- top
- torcia
- Treni
- allenato
- forma
- trasformativa
- trasformatore
- trasformatori
- tendenze
- Trilione
- prova
- seconda
- Digitare
- Tipi di
- tipicamente
- e una comprensione reciproca
- caricato
- us
- uso
- utilizzato
- utilizzando
- utilità
- APPREZZIAMO
- molto
- visione
- volere
- Prima
- we
- sito web
- servizi web
- settimana
- WELL
- Che
- Che cosa è l'
- quando
- mentre
- quale
- while
- volere
- con
- entro
- lavoro
- lavori
- peggio
- sarebbe
- scrittura
- anno
- anni
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro
- ZOO