In questo post, ti mostriamo come implementare uno dei modelli pre-addestrati Hugging Face più scaricati utilizzati per il riepilogo del testo, DistillBART-CNN-12-6, all'interno di un notebook Jupyter utilizzando Amazon Sage Maker e la SageMaker Kit di strumenti per l'inferenza del viso che abbraccia. Sulla base dei passaggi mostrati in questo post, puoi provare a riassumere il testo dal file Wikitext-2 dataset gestito da fast.ai, disponibile al Registro di dati aperti su AWS.
I volumi di dati globali stanno crescendo su scala zettabyte man mano che le aziende e i consumatori ampliano il loro uso di prodotti digitali e servizi online. Per comprendere meglio questi dati in crescita, le tecniche di elaborazione del linguaggio naturale (NLP) di machine learning (ML) per l'analisi del testo si sono evolute per affrontare casi d'uso che coinvolgono la sintesi del testo, il riconoscimento di entità, la classificazione, la traduzione e altro ancora. AWS offre corsi pre-addestrati Servizi AI AWS che possono essere integrati nelle applicazioni tramite chiamate API e non richiedono esperienza di machine learning. Per esempio, Amazon Comprehend può eseguire attività NLP come riconoscimento di entità personalizzate, analisi del sentiment, estrazione di frasi chiave, modellazione di argomenti e altro per raccogliere informazioni dettagliate dal testo. Può eseguire analisi del testo su un'ampia varietà di lingue per le sue varie caratteristiche.
Il riepilogo del testo è una tecnica utile per comprendere grandi quantità di dati di testo perché crea un sottoinsieme di informazioni contestualmente significative dai documenti di origine. È possibile applicare questa tecnica NLP a documenti di testo e articoli di formato più lungo, consentendo un consumo più rapido e un'indicizzazione dei documenti più efficace, ad esempio per riepilogare le note di chiamata delle riunioni.
Abbracciare il viso è una popolare libreria open source per la NLP, con oltre 49,000 modelli pre-addestrati in più di 185 lingue con supporto per diversi framework. AWS e Hugging Face hanno a associazione che consente una perfetta integrazione tramite SageMaker con un set di AWS Deep Learning Containers (DLC) per l'addestramento e l'inferenza in PyTorch o TensorFlow e stimatori e predittori Hugging Face per SageMaker Python SDK. Queste funzionalità in SageMaker aiutano gli sviluppatori e i data scientist a iniziare più facilmente con la NLP su AWS. L'elaborazione di testi con trasformatori in framework di deep learning come PyTorch è in genere un'attività complessa e dispendiosa in termini di tempo per i data scientist, che spesso porta a frustrazione e mancanza di efficienza durante lo sviluppo di progetti NLP. L'ascesa di comunità di intelligenza artificiale come Hugging Face, unita alla potenza dei servizi ML nel cloud come SageMaker, accelera e semplifica lo sviluppo di queste attività di elaborazione del testo. SageMaker ti aiuta a costruire, addestrare, distribuire e rendere operativi i modelli Hugging Face.
Panoramica del riepilogo del testo
Puoi applicare la sintesi del testo per identificare le frasi chiave all'interno di un documento o identificare le frasi chiave in più documenti. La sintesi del testo può produrre due tipi di sintesi: estrattiva e astratta. I riepiloghi estrattivi non contengono testo generato automaticamente e sono una raccolta di frasi importanti selezionate dal documento di input. I riepiloghi astratti contengono nuove frasi e frasi leggibili dall'uomo generate dal modello di riepilogo del testo. La maggior parte dei sistemi di riepilogo del testo si basa sul riepilogo estrattivo perché è difficile ottenere un riepilogo accurato del testo astrattivo.
Hugging Face ha oltre 400 pre-addestrati all'avanguardia modelli di riepilogo del testo disponibili, implementando diverse combinazioni di tecniche di PNL. Questi modelli sono addestrati su diversi set di dati, caricati e gestiti da società tecnologiche e membri della comunità di Hugging Face. Puoi filtrare i modelli in base ai più scaricati o ai più piaciuti e caricarli direttamente quando usi il pipeline di riepilogo API del trasformatore Hugging Face. Il trasformatore Hugging Face semplifica il processo di implementazione della NLP in modo che i modelli NLP ad alte prestazioni possano essere messi a punto per fornire riepiloghi testuali, senza richiedere una conoscenza approfondita delle operazioni di ML.
Modelli di riepilogo del testo Hugging Face su AWS
SageMaker offre ad analisti aziendali, data scientist e ingegneri MLOps una scelta di strumenti per progettare e gestire carichi di lavoro ML su AWS. Questi strumenti forniscono un'implementazione e un test più rapidi dei modelli ML per ottenere risultati ottimali.
Dal SageMaker Kit di strumenti per l'inferenza del viso che abbraccia, una libreria open source, delineiamo tre diversi modi per implementare e ospitare modelli di riepilogo del testo di Hugging Face utilizzando un notebook Jupyter:
- Pipeline di riepilogo di Hugging Face - Creare un Pipeline di riepilogo di Hugging Face usando il "
summarization
” identificatore di attività per utilizzare un modello di riepilogo del testo predefinito per l'inferenza all'interno del tuo notebook Jupyter. Queste pipeline astraggono il codice complesso, offrendo ai professionisti del ML alle prime armi una semplice API per implementare rapidamente il riepilogo del testo senza configurare un endpoint di inferenza. La pipeline consente inoltre al professionista del machine learning di selezionare uno specifico modello pre-addestrato e il relativo tokenizer. I tokenizzatori preparano il testo per essere pronto come input per il modello suddividendo il testo in parole o sottoparole, che vengono quindi convertite in ID tramite una tabella di ricerca. Per semplicità, il frammento di codice seguente fornisce il caso predefinito quando si usano le pipeline. Il DistillBART-CNN-12-6 model è uno dei modelli di riepilogo più scaricati su Hugging Face ed è il modello predefinito per la pipeline di riepilogo. L'ultima riga richiama il modello pre-addestrato per ottenere un riepilogo per il testo passato dati i due argomenti forniti. - Endpoint SageMaker con modello pre-addestrato – Creare un endpoint SageMaker con un modello pre-addestrato da Hub del modello del viso che abbraccia e distribuiscilo su un endpoint di inferenza, ad esempio l'istanza ml.m5.xlarge nel frammento di codice seguente. Questo metodo consente ai professionisti del ML esperti di selezionare rapidamente specifici modelli open source, perfezionarli e distribuire i modelli su istanze di inferenza ad alte prestazioni.
- Endpoint SageMaker con un modello addestrato – Creare un endpoint del modello SageMaker con un modello addestrato archiviato in un Servizio di archiviazione semplice Amazon (Amazon S3) e distribuiscilo su un endpoint di inferenza. Questo metodo consente ai professionisti del ML esperti di distribuire rapidamente i propri modelli archiviati su Amazon S3 su istanze di inferenza ad alte prestazioni. Il modello stesso viene scaricato da Hugging Face e compresso, quindi può essere caricato su Amazon S3. Questo passaggio è illustrato nel frammento di codice seguente:
AWS ha diverse risorse disponibili per assisterti nella distribuzione dei tuoi carichi di lavoro ML. Il Obiettivo di apprendimento automatico della Framework ben progettato di AWS consiglia le best practice per i carichi di lavoro ML, inclusa l'ottimizzazione delle risorse e la riduzione dei costi. Questi principi di progettazione consigliati assicurano che i carichi di lavoro ML ben progettati su AWS vengano distribuiti alla produzione. Raccomandatore di inferenza Amazon SageMaker ti aiuta a selezionare l'istanza giusta per distribuire i tuoi modelli ML a prestazioni e costi di inferenza ottimali. Inference Recommender accelera l'implementazione del modello e riduce il time-to-market automatizzando i test di carico e ottimizzando le prestazioni del modello tra le istanze ML.
Nelle sezioni successive dimostreremo come caricare un modello addestrato da un bucket S3 e distribuirlo in un'istanza di inferenza adeguata.
Prerequisiti
Per questa procedura dettagliata, è necessario disporre dei seguenti prerequisiti:
- An Account AWS.
- Un taccuino Jupyter all'interno Amazon Sage Maker Studio o istanze notebook SageMaker. In questo post, utilizziamo l'immagine "Python 3 (PyTorch 1.4 Python 3.6 CPU Optimized)" con gli snippet di codice forniti, ma puoi utilizzare qualsiasi altra immagine PyTorch della versione successiva da kernel SageMaker disponibili.
- Un set di dati nel tuo bucket S3, come ad esempio Wikitext-2 set di dati dal Registro di dati aperti su AWS.
Carica il modello Hugging Face su SageMaker per l'inferenza di riepilogo del testo
Usa il codice seguente per scaricare il modello di riepilogo del testo pre-addestrato Hugging Face DistillBART-CNN-12-6 e il relativo tokenizer e salvali localmente in SageMaker nella directory del tuo notebook Jupyter:
Comprimi il modello di riepilogo del testo salvato e il relativo tokenizer nel formato tar.gz e carica l'artefatto del modello compresso in un bucket S3:
Seleziona un inferenza Immagine del contenitore Docker per eseguire l'inferenza di riepilogo del testo. Definisci il sistema operativo Linux, il framework PyTorch e la versione di Hugging Face Transformer e specifica il Cloud di calcolo elastico di Amazon (Amazon EC2) tipo di istanza per eseguire il container.
L'immagine Docker è disponibile in Registro dei contenitori Amazon Elastic (Amazon ECR) dello stesso account AWS e il collegamento per l'immagine del container viene restituito come URI.
Definire il modello di riepilogo del testo che deve essere distribuito dall'immagine del contenitore selezionata eseguendo l'inferenza. Nel seguente frammento di codice, viene distribuito il modello compresso caricato su Amazon S3:
Testare il modello di riepilogo del testo distribuito su un input di esempio:
Utilizzare Inference Recommender per valutare l'istanza EC2 ottimale per l'attività di inferenza
Quindi, crea più campioni di payload di testo di input in formato JSON e comprimili in un unico file di payload. Questi campioni di carico utile vengono utilizzati da Inference Recommender per confrontare le prestazioni di inferenza tra diversi tipi di istanze EC2. Ciascuno dei payload di esempio deve corrispondere al formato JSON mostrato in precedenza. Puoi ottenere esempi da Wikitext-2 dataset gestito da fast.ai, disponibile al Registro di dati aperti su AWS.
Carica l'artefatto del modello di riepilogo del testo compresso e il file di payload di esempio compresso nel bucket S3. Abbiamo caricato il modello in un passaggio precedente, ma per chiarezza includiamo il codice per caricarlo di nuovo:
Esamina l'elenco dei modelli ML standard disponibili su SageMaker zoo modello comuni, come la PNL e la visione artificiale. Selezionare un modello NLP per eseguire l'inferenza di riepilogo del testo:
Nell'esempio seguente viene utilizzato il comando bert-base-cased
Modello PNL. Registra il modello di riepilogo del testo nel file Registro dei modelli SageMaker con il dominio, il framework e l'attività identificati correttamente dal passaggio precedente. I parametri per questo esempio vengono visualizzati all'inizio del frammento di codice seguente.
Prendere nota dell'intervallo di tipi di istanza EC2 che devono essere valutati da Inference Recommender in SupportedRealtimeInferenceInstanceTypes
nel codice seguente. Assicurati che il limiti di servizio per l'account AWS consentire la distribuzione di questi tipi di nodi di inferenza.
Crea un lavoro predefinito per il suggeritore di inferenza utilizzando il file ModelPackageVersion
risultante dal passaggio precedente. Il uuid
La libreria Python viene utilizzata per generare un nome univoco per il lavoro.
È possibile ottenere lo stato del lavoro di Inference Recommender eseguendo il codice seguente:
Quando lo stato del lavoro è COMPLETED
, confrontare la latenza dell'inferenza, il runtime e altre metriche dei tipi di istanza EC2 valutati dal lavoro predefinito di Inference Recommender. Seleziona il tipo di nodo adatto in base ai requisiti del tuo caso d'uso.
Conclusione
SageMaker offre diversi modi per utilizzare i modelli Hugging Face; per altri esempi, controlla il Esempi di AWS GitHub. A seconda della complessità del caso d'uso e della necessità di perfezionare il modello, è possibile selezionare il modo ottimale per utilizzare questi modelli. Le pipeline Hugging Face possono essere un buon punto di partenza per sperimentare e selezionare rapidamente i modelli adatti. Quando è necessario personalizzare e parametrizzare i modelli selezionati, è possibile scaricare i modelli e distribuirli su endpoint di inferenza personalizzati. Per ottimizzare maggiormente il modello per un caso d'uso specifico, dovrai addestrare il modello dopo averlo scaricato.
I modelli NLP in generale, inclusi i modelli di riepilogo del testo, funzionano meglio dopo essere stati addestrati su un set di dati specifico per il caso d'uso. Gli MLOP e le funzionalità di monitoraggio del modello di SageMaker assicurano che il modello distribuito continui a funzionare all'interno delle aspettative. In questo post, abbiamo utilizzato Inference Recommender per valutare il tipo di istanza più adatto per distribuire il modello di riepilogo del testo. Questi consigli possono ottimizzare prestazioni e costi per il tuo caso d'uso ML.
Informazioni sugli autori
Dott. Nidal AlBeiruti è Senior Solutions Architect presso Amazon Web Services, con una passione per le soluzioni di machine learning. Nidal ha oltre 25 anni di esperienza lavorando in una varietà di ruoli IT globali a diversi livelli e verticali. Nidal funge da consulente di fiducia per molti clienti AWS per supportare e accelerare il loro percorso di adozione del cloud.
Darren Ko è un Solutions Architect con sede a Londra. Fornisce consulenza ai clienti PMI del Regno Unito e dell'Irlanda sulla riarchitettura e l'innovazione sul cloud. Darren è interessato alle applicazioni realizzate con architetture serverless ed è appassionato di risolvere le sfide della sostenibilità con l'apprendimento automatico.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/text-summarization-with-amazon-sagemaker-and-hugging-face/
- '
- "
- 000
- 10
- 100
- 28
- a
- Chi siamo
- ABSTRACT
- accelerare
- Il mio account
- preciso
- Raggiungere
- operanti in
- indirizzo
- Adozione
- consulente
- AI
- consente
- Amazon
- Amazon Web Services
- importi
- .
- api
- Apple
- applicazioni
- APPLICA
- argomenti
- news
- associato
- Automatizzare
- disponibile
- assegnato
- AWS
- perché
- Inizio
- essendo
- MIGLIORE
- best practice
- fra
- costruire
- affari
- chiamata
- Può ottenere
- funzionalità
- Custodie
- casi
- sfide
- scegliere
- classe
- classificazione
- Cloud
- codice
- collezione
- combinazioni
- combinato
- Comunità
- comunità
- Aziende
- complesso
- Calcolare
- computer
- Configurazione
- Consumatori
- consumo
- Contenitore
- Tecnologie Container
- continua
- creare
- crea
- costume
- Clienti
- personalizzare
- dati
- giorno
- deep
- consegna
- dimostrare
- dimostrato
- Dipendente
- schierare
- schierato
- distribuzione
- deployment
- Design
- sviluppatori
- in via di sviluppo
- Mercato
- diverso
- difficile
- digitale
- direttamente
- Dsiplay
- docker
- Medico
- documenti
- dominio
- domini
- scaricare
- ogni
- facilmente
- Efficace
- efficienza
- consentendo
- endpoint
- Ingegneri
- entità
- Ambiente
- valutare
- esempio
- Esempi
- Espandere
- le aspettative
- esperienza
- esperto
- esperimento
- estensivo
- Faccia
- FAST
- più veloce
- Caratteristiche
- i seguenti
- formato
- Contesto
- quadri
- da
- Generale
- generare
- generato
- globali
- buono
- Crescita
- Aiuto
- utile
- aiuta
- superiore
- Come
- Tutorial
- HTTPS
- Hub
- leggibile dagli umani
- identificare
- Immagine
- realizzare
- implementazione
- Implementazione
- importante
- includere
- Compreso
- informazioni
- innovare
- ingresso
- intuizioni
- esempio
- integrato
- integrazione
- interessato
- Irlanda
- IT
- stessa
- Lavoro
- viaggio
- Le
- conoscenze
- Lingua
- Le Lingue
- grandi
- principale
- apprendimento
- livelli
- Biblioteca
- limiti
- linea
- LINK
- linux
- Lista
- caricare
- a livello locale
- Londra
- ricerca
- macchina
- machine learning
- make
- Rappresentanza
- partita
- significativo
- incontri
- Utenti
- Metrica
- ML
- modello
- modelli
- monitoraggio
- Scopri di più
- maggior parte
- multiplo
- Naturale
- GENERAZIONE
- nodi
- taccuino
- Note
- offerta
- Offerte
- online
- aprire
- operare
- operazione
- OTTIMIZZA
- ottimizzati
- ottimizzazione
- Altro
- proprio
- passione
- appassionato
- performance
- esecuzione
- Frasi
- punto
- Popolare
- energia
- Preparare
- precedente
- processi
- lavorazione
- produrre
- Produzione
- Prodotti
- progetti
- fornire
- purché
- fornisce
- rapidamente
- gamma
- raccomanda
- riducendo
- regione
- registro
- richiesta
- richiedere
- Requisiti
- Risorse
- risultante
- Ruolo
- Correre
- running
- stesso
- Scala
- scienziati
- sdk
- senza soluzione di continuità
- selezionato
- sentimento
- serverless
- Servizi
- set
- alcuni
- mostrato
- Un'espansione
- singolo
- So
- Soluzioni
- specifico
- velocità
- Standard
- iniziato
- state-of-the-art
- Stato dei servizi
- conservazione
- supporto
- Sostenibilità
- SISTEMI DI TRATTAMENTO
- task
- tecniche
- Tecnologia
- Testing
- I
- tre
- Attraverso
- tempo
- richiede tempo
- strumenti
- argomento
- Training
- Traduzione
- di fiducia
- Tipi di
- tipicamente
- Uk
- per
- capire
- e una comprensione reciproca
- unico
- uso
- varietà
- vario
- versione
- verticali
- visione
- volumi
- modi
- sito web
- servizi web
- entro
- senza
- parole
- lavoro
- X
- anni
- Trasferimento da aeroporto a Sharm