În această postare, vă arătăm cum să implementați unul dintre cele mai descărcate modele pre-antrenate Hugging Face utilizate pentru rezumarea textului, DistilBART-CNN-12-6, într-un notebook Jupyter folosind Amazon SageMaker si SageMaker Hugging Face Inference Toolkit. Pe baza pașilor afișați în această postare, puteți încerca să rezumați textul din WikiText-2 date CCD gestionat de fast.ai, disponibil la adresa Registrul datelor deschise pe AWS.
Volumul global de date crește la scară zettabyte, pe măsură ce companiile și consumatorii își extind utilizarea produselor digitale și a serviciilor online. Pentru a înțelege mai bine aceste date în creștere, tehnicile de procesare a limbajului natural (NLP) de învățare automată (ML) pentru analiza textului au evoluat pentru a aborda cazurile de utilizare care implică rezumarea textului, recunoașterea entităților, clasificarea, traducerea și multe altele. AWS oferă pregătire prealabilă Servicii AWS AI care pot fi integrate în aplicații folosind apeluri API și nu necesită experiență ML. De exemplu, Amazon Comprehend poate efectua sarcini NLP, cum ar fi recunoașterea personalizată a entităților, analiza sentimentelor, extragerea frazelor cheie, modelarea subiectelor și multe altele pentru a aduna informații din text. Poate funcționa analiza textului într-o mare varietate de limbi pentru diversele sale caracteristici.
Rezumarea textului este o tehnică utilă în înțelegerea unor cantități mari de date text, deoarece creează un subset de informații semnificative din punct de vedere contextual din documentele sursă. Puteți aplica această tehnică NLP documentelor și articolelor de formă mai lungă, permițând un consum mai rapid și o indexare mai eficientă a documentelor, de exemplu pentru a rezuma notele de apel din întâlniri.
Fata îmbrățișată este o bibliotecă populară cu sursă deschisă pentru NLP, cu peste 49,000 de modele pre-instruite în mai mult de 185 de limbi, cu suport pentru diferite cadre. AWS și Hugging Face au un parteneriat care permite o integrare perfectă prin SageMaker cu un set de containere AWS Deep Learning (DLC) pentru instruire și inferență în PyTorch sau TensorFlow și estimatori și predictori Hugging Face pentru SDK-ul SageMaker Python. Aceste capabilități din SageMaker ajută dezvoltatorii și oamenii de știință de date să înceapă mai ușor cu NLP pe AWS. Procesarea textelor cu transformatoare în cadre de învățare profundă, cum ar fi PyTorch, este de obicei o sarcină complexă și consumatoare de timp pentru oamenii de știință din date, ceea ce duce adesea la frustrare și lipsă de eficiență în dezvoltarea proiectelor NLP. Creșterea comunităților de inteligență artificială precum Hugging Face, combinată cu puterea serviciilor ML în cloud, precum SageMaker, accelerează și simplifică dezvoltarea acestor sarcini de procesare a textului. SageMaker vă ajută să construiți, antrenați, implementați și operaționalizați modelele Hugging Face.
Prezentare generală a rezumatului textului
Puteți aplica rezumatul textului pentru a identifica propozițiile cheie dintr-un document sau pentru a identifica propozițiile cheie în mai multe documente. Rezumarea textului poate produce două tipuri de rezumate: extractive și abstractive. Rezumatele extractive nu conțin niciun text generat de mașină și sunt o colecție de propoziții importante selectate din documentul de intrare. Rezumatele abstracte conțin noi fraze și propoziții care pot fi citite de om, generate de modelul de rezumare a textului. Majoritatea sistemelor de rezumare a textului se bazează pe rezumarea extractivă, deoarece o rezumare abstractă precisă a textului este dificil de realizat.
Hugging Face are peste 400 de ultimă generație pre-antrenate modele de rezumat text disponibile, implementând diferite combinații de tehnici NLP. Aceste modele sunt instruite pe diferite seturi de date, încărcate și întreținute de companii de tehnologie și membri ai comunității Hugging Face. Puteți filtra modelele după cele mai descărcate sau cele mai apreciate și să le încărcați direct atunci când utilizați conductă de rezumat Hugging Face transformer API. Transformatorul Hugging Face simplifică procesul de implementare a NLP, astfel încât modelele NLP de înaltă performanță pot fi reglate fin pentru a oferi rezumate text, fără a necesita cunoștințe extinse de operare ML.
Modele de rezumat text Hugging Face pe AWS
SageMaker oferă analiștilor de afaceri, cercetătorilor de date și inginerilor MLOps o gamă de instrumente pentru proiectarea și operarea sarcinilor de lucru ML pe AWS. Aceste instrumente vă oferă o implementare și testare mai rapidă a modelelor ML pentru a obține rezultate optime.
De la SageMaker Hugging Face Inference Toolkit, o bibliotecă open-source, schițăm trei moduri diferite de a implementa și găzdui modele de rezumare a textului Hugging Face folosind un caiet Jupyter:
- Conducta de rezumare Hugging Face - Creeaza o Conducta de rezumare Hugging Face folosind „
summarization
” identificator de activitate pentru a utiliza un model implicit de rezumare a textului pentru inferență în blocnotesul dvs. Jupyter. Aceste conducte abstrag codul complex, oferind practicienilor începători ML un API simplu pentru a implementa rapid rezumarea textului fără a configura un punct final de inferență. Conducta permite, de asemenea, practicianului ML să selecteze un anumit model pre-antrenat și tokenizerul asociat. Tokenizatoarele pregătesc textul pentru a fi gata ca intrare pentru model prin împărțirea textului în cuvinte sau subcuvinte, care apoi sunt convertite în ID-uri printr-un tabel de căutare. Pentru simplitate, următorul fragment de cod oferă cazul implicit atunci când se utilizează conducte. The DistilBART-CNN-12-6 modelul este unul dintre cele mai descărcate modele de rezumat de pe Hugging Face și este model implicit pentru conducta de rezumare. Ultima linie apelează modelul pre-antrenat pentru a obține un rezumat pentru textul trecut, având în vedere cele două argumente furnizate. - Punct final SageMaker cu model pre-antrenat – Creați un punct final SageMaker cu un model pre-antrenat din Hugging Face Model Hub și implementați-l pe un punct final de inferență, cum ar fi instanța ml.m5.xlarge din următorul fragment de cod. Această metodă permite practicienilor experimentați în ML să selecteze rapid anumite modele open-source, să le ajusteze și să implementeze modelele pe instanțe de inferență performante.
- Punct final SageMaker cu un model antrenat – Creați un punct final de model SageMaker cu un model antrenat stocat într-un Serviciul Amazon de stocare simplă (Amazon S3) și implementați-l pe un punct final de inferență. Această metodă permite practicienilor experimentați ML să-și implementeze rapid propriile modele stocate pe Amazon S3 pe instanțe de inferență performante. Modelul în sine este descărcat de pe Hugging Face și comprimat, iar apoi poate fi încărcat pe Amazon S3. Acest pas este demonstrat în următorul fragment de cod:
AWS are mai multe resurse disponibile pentru a vă ajuta în implementarea sarcinilor de lucru ML. The Lentila de învățare automată a Cadru bine arhitecturat AWS recomandă cele mai bune practici pentru încărcături de lucru ML, inclusiv optimizarea resurselor și reducerea costurilor. Aceste principii de proiectare recomandate asigură că sarcinile de lucru ML bine arhitecturate pe AWS sunt implementate în producție. Recomandator de inferențe Amazon SageMaker vă ajută să selectați instanța potrivită pentru a vă implementa modelele ML la performanță și costuri optime de inferență. Inference Recommender accelerează implementarea modelului și reduce timpul de lansare pe piață prin automatizarea testării de încărcare și optimizarea performanței modelului în instanțele ML.
În secțiunile următoare, demonstrăm cum să încărcăm un model antrenat dintr-o găleată S3 și să îl implementăm într-o instanță de inferență adecvată.
Cerințe preliminare
Pentru această prezentare generală, ar trebui să aveți următoarele condiții prealabile:
- An Cont AWS.
- Un caiet Jupyter înăuntru Amazon SageMaker Studio sau instanțe de blocnotes SageMaker. În această postare, folosim imaginea „Python 3 (PyTorch 1.4 Python 3.6 CPU Optimized)” cu fragmentele de cod furnizate, dar puteți folosi orice altă imagine PyTorch de versiune superioară din nucleele SageMaker disponibile.
- Un set de date din compartimentul S3, cum ar fi WikiText-2 setul de date din Registrul datelor deschise pe AWS.
Încărcați modelul Hugging Face în SageMaker pentru inferența de rezumare a textului
Utilizați următorul cod pentru a descărca modelul de rezumat text pre-antrenat Hugging Face DistilBART-CNN-12-6 și tokenizer-ul său și salvați-le local în SageMaker în directorul dvs. de notebook Jupyter:
Comprimați modelul de rezumare a textului salvat și tokenizer-ul său în format tar.gz și încărcați artefactul modelului comprimat într-o găleată S3:
Selectați un deducere imaginea containerului Docker pentru a efectua inferența de rezumare a textului. Definiți sistemul de operare Linux, cadrul PyTorch și versiunea Hugging Face Transformer și specificați Cloud Elastic de calcul Amazon (Amazon EC2) tip de instanță pentru a rula containerul.
Imaginea Docker este disponibilă în Registrul Amazon de containere elastice (Amazon ECR) al aceluiași cont AWS, iar linkul pentru imaginea respectivă a containerului este returnat ca URI.
Definiți modelul de rezumare a textului care urmează să fie implementat de imaginea containerului selectat efectuând inferență. În următorul fragment de cod, modelul comprimat încărcat pe Amazon S3 este implementat:
Testați modelul de rezumare a textului implementat pe un exemplu de intrare:
Utilizați Inference Recommender pentru a evalua instanța EC2 optimă pentru sarcina de inferență
Apoi, creați mai multe mostre de încărcare utilă de text de intrare în format JSON și comprimați-le într-un singur fișier de încărcare utilă. Aceste eșantioane de sarcină utilă sunt utilizate de Recomandatorul de inferențe pentru a compara performanța de inferență între diferite tipuri de instanțe EC2. Fiecare dintre exemplele de încărcare utilă trebuie să se potrivească cu formatul JSON afișat mai devreme. Puteți obține exemple de la WikiText-2 date CCD gestionat de fast.ai, disponibil la adresa Registrul datelor deschise pe AWS.
Încărcați artefactul modelului de rezumare a textului comprimat și fișierul de încărcare utilă eșantion comprimat în compartimentul S3. Am încărcat modelul într-un pas anterior, dar pentru claritate includem codul pentru a-l încărca din nou:
Consultați lista de modele ML standard disponibile pe SageMaker gradini zoologice model comune, cum ar fi NLP și viziunea computerizată. Selectați un model NLP pentru a efectua inferența de rezumare a textului:
Următorul exemplu folosește bert-base-cased
Modelul NLP. Înregistrați modelul de rezumare a textului în Registrul modelului SageMaker cu domeniul, cadrul și sarcina identificate corect de la pasul anterior. Parametrii pentru acest exemplu sunt afișați la începutul următorului fragment de cod.
Rețineți gama de tipuri de instanțe EC2 care urmează să fie evaluate de către Recomandatorul de concluzii de mai jos SupportedRealtimeInferenceInstanceTypes
în codul următor. Asigurați-vă că limitele de serviciu pentru contul AWS permit desfășurarea acestor tipuri de noduri de inferență.
Creați o lucrare implicită de Recomandare de inferență folosind ModelPackageVersion
rezultate din pasul anterior. The uuid
Biblioteca Python este folosită pentru a genera un nume unic pentru job.
Puteți obține starea jobului Recomandator de inferență rulând următorul cod:
Când starea jobului este COMPLETED
, comparați latența de inferență, timpul de rulare și alte valori ale tipurilor de instanță EC2 evaluate de jobul prestabilit de Recomandare de inferență. Selectați tipul de nod potrivit în funcție de cerințele cazului dvs. de utilizare.
Concluzie
SageMaker oferă mai multe moduri de utilizare a modelelor Hugging Face; pentru mai multe exemple, consultați Mostre AWS GitHub. În funcție de complexitatea cazului de utilizare și de necesitatea de a regla fin modelul, puteți selecta modul optim de utilizare a acestor modele. Conductele Hugging Face pot fi un bun punct de plecare pentru a experimenta rapid și a selecta modele potrivite. Când trebuie să personalizați și să parametrizați modelele selectate, puteți descărca modelele și le puteți implementa în punctele finale de inferență personalizate. Pentru a ajusta mai mult modelul pentru un anumit caz de utilizare, va trebui să antrenați modelul după ce îl descărcați.
Modelele NLP în general, inclusiv modelele de rezumare a textului, au rezultate mai bune după ce au fost instruite pe un set de date care este specific pentru cazul de utilizare. MLOP-urile și caracteristicile de monitorizare a modelului ale SageMaker se asigură că modelul implementat continuă să funcționeze conform așteptărilor. În această postare, am folosit Inference Recommender pentru a evalua cel mai potrivit tip de instanță pentru a implementa modelul de rezumare a textului. Aceste recomandări pot optimiza performanța și costul pentru cazul dvs. de utilizare ML.
Despre Autori
Dr. Nidal AlBeiruti este arhitect senior de soluții la Amazon Web Services, cu o pasiune pentru soluțiile de învățare automată. Nidal are peste 25 de ani de experiență lucrând într-o varietate de roluri IT globale la diferite niveluri și verticale. Nidal acționează ca un consilier de încredere pentru mulți clienți AWS pentru a sprijini și accelera călătoria lor de adoptare a cloud-ului.
Darren Ko este un arhitect de soluții cu sediul în Londra. El consiliază clienții IMM din Marea Britanie și Irlanda cu privire la rearhitectura și inovarea pe cloud. Darren este interesat de aplicațiile construite cu arhitecturi fără server și este pasionat de rezolvarea provocărilor de sustenabilitate prin învățarea automată.
- Coinsmart. Cel mai bun schimb de Bitcoin și Crypto din Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. ACCES LIBER.
- CryptoHawk. Radar Altcoin. Încercare gratuită.
- Sursa: https://aws.amazon.com/blogs/machine-learning/text-summarization-with-amazon-sagemaker-and-hugging-face/
- '
- "
- 000
- 10
- 100
- 28
- a
- Despre Noi
- REZUMAT
- accelera
- Cont
- precis
- Obține
- peste
- adresa
- Adoptare
- consilier
- AI
- permite
- Amazon
- Amazon Web Services
- Sume
- analiză
- api
- Apple
- aplicatii
- Aplică
- argumente
- bunuri
- asociate
- automatizarea
- disponibil
- acordate
- AWS
- deoarece
- Început
- fiind
- CEL MAI BUN
- Cele mai bune practici
- între
- construi
- afaceri
- apel
- Poate obține
- capacități
- caz
- cazuri
- provocări
- alegere
- clasă
- clasificare
- Cloud
- cod
- colectare
- combinaţii
- combinate
- Comunități
- comunitate
- Companii
- complex
- Calcula
- calculator
- Configuraţie
- Consumatorii
- consum
- Recipient
- Containere
- continuă
- crea
- creează
- personalizat
- clienţii care
- personaliza
- de date
- zi
- adânc
- livrare
- demonstra
- demonstrat
- În funcție
- implementa
- dislocate
- Implementarea
- desfășurarea
- Amenajări
- Dezvoltatorii
- în curs de dezvoltare
- Dezvoltare
- diferit
- dificil
- digital
- direct
- Afişa
- Docher
- Doctor
- documente
- domeniu
- domenii
- Descarca
- fiecare
- cu ușurință
- Eficace
- eficiență
- permițând
- Punct final
- inginerii
- entitate
- Mediu inconjurator
- evalua
- exemplu
- exemple
- Extinde
- aşteptări
- experienţă
- cu experienţă
- experiment
- extensiv
- Față
- FAST
- mai repede
- DESCRIERE
- următor
- format
- Cadru
- cadre
- din
- General
- genera
- generată
- Caritate
- bine
- În creştere
- ajutor
- util
- ajută
- superior
- Cum
- Cum Pentru a
- HTTPS
- Butuc
- uman poate fi citit
- identifica
- imagine
- punerea în aplicare a
- implementarea
- Punere în aplicare a
- important
- include
- Inclusiv
- informații
- inovatoare
- intrare
- perspective
- instanță
- integrate
- integrare
- interesat
- Irlanda
- IT
- în sine
- Loc de munca
- călătorie
- Cheie
- cunoştinţe
- limbă
- Limbă
- mare
- conducere
- învăţare
- nivelurile de
- Bibliotecă
- Limitele
- Linie
- LINK
- linux
- Listă
- încărca
- la nivel local
- Londra
- căutare
- maşină
- masina de învățare
- face
- Piață
- Meci
- semnificativ
- reuniuni
- Membri actuali
- Metrici
- ML
- model
- Modele
- Monitorizarea
- mai mult
- cele mai multe
- multiplu
- Natural
- următor
- noduri
- caiet
- notițe
- oferind
- promoții
- on-line
- deschide
- funcionar
- operaţie
- Optimizați
- optimizate
- optimizarea
- Altele
- propriu
- pasiune
- pasionat
- performanță
- efectuarea
- Expresii
- Punct
- Popular
- putere
- Pregăti
- precedent
- proces
- prelucrare
- produce
- producere
- Produse
- Proiecte
- furniza
- prevăzut
- furnizează
- repede
- gamă
- recomandă
- reducerea
- regiune
- Inregistreaza-te
- solicita
- necesita
- Cerinţe
- Resurse
- rezultând
- Rol
- Alerga
- funcţionare
- acelaşi
- Scară
- oamenii de stiinta
- sdk
- fără sudură
- selectate
- sentiment
- serverless
- Servicii
- set
- câteva
- indicat
- simplu
- singur
- So
- soluţii
- specific
- viteze
- standard
- început
- de ultimă oră
- Stare
- depozitare
- a sustine
- Durabilitate
- sisteme
- sarcini
- tehnici de
- Tehnologia
- Testarea
- trei
- Prin
- timp
- consumă timp
- Unelte
- subiect
- Pregătire
- Traducere
- de încredere
- Tipuri
- tipic
- Uk
- în
- înţelege
- înţelegere
- unic
- utilizare
- varietate
- diverse
- versiune
- verticalele
- viziune
- volume
- modalități de
- web
- servicii web
- în
- fără
- cuvinte
- de lucru
- X
- ani
- Ta