În decembrie 2020, a anunțat AWS disponibilitatea generală a Amazon SageMaker JumpStart, o capacitate de Amazon SageMaker care vă ajută să începeți rapid și ușor cu învățarea automată (ML). JumpStart oferă o reglare fină și implementare cu un singur clic a unei game largi de modele pregătite în prealabil pentru sarcinile ML populare, precum și o selecție de soluții end-to-end care rezolvă problemele comune de afaceri. Aceste caracteristici îndepărtează sarcinile grele din fiecare pas al procesului ML, facilitând dezvoltarea modelelor de înaltă calitate și reducând timpul până la implementare.
Această postare este a patra dintr-o serie despre utilizarea JumpStart pentru anumite sarcini ML. În prima postare, am arătat cum să rulăm cazuri de utilizare pentru clasificarea imaginilor pe JumpStart. În al doilea post, am demonstrat cum să rulăm cazuri de utilizare pentru clasificarea textului. În a treia postare, am rulat cazuri de utilizare pentru segmentarea imaginii.
În această postare, oferim o prezentare pas cu pas a modului de implementare a modelelor de generare de text pregătite în prealabil. Explorăm două moduri de a obține același rezultat: prin interfața grafică JumpStart activată Amazon SageMaker Studio, și programatic prin API-uri JumpStart.
Dacă doriți să intrați direct în codul JumpStart API pe care îl parcurgem în această postare, puteți consulta următorul exemplu de blocnotes Jupyter: Introducere în JumpStart – Generare de text.
Prezentare generală JumpStart
JumpStart vă ajută să începeți cu modelele ML pentru o varietate de sarcini fără a scrie o singură linie de cod. În prezent, JumpStart vă permite să faceți următoarele:
- Implementați modele pre-instruite pentru sarcinile ML obișnuite – JumpStart vă permite să abordați sarcinile ML obișnuite fără efort de dezvoltare, oferind o implementare ușoară a modelelor pregătite în prealabil pe seturi de date mari, disponibile public. Comunitatea de cercetare ML a depus un efort mare pentru ca majoritatea modelelor dezvoltate recent să fie disponibile public pentru utilizare. JumpStart găzduiește o colecție de peste 300 de modele, care acoperă cele mai populare 15 sarcini ML, cum ar fi detectarea obiectelor, clasificarea textului și generarea de text, făcându-le ușor de utilizat pentru începători. Aceste modele sunt extrase din hub-uri de model populare, cum ar fi TensorFlow, PyTorch, Hugging Face și MXNet.
- Ajustați modelele pre-antrenate – JumpStart vă permite să reglați modelele pre-antrenate fără a fi nevoie să scrieți propriul algoritm de antrenament. În ML, se numește capacitatea de a transfera cunoștințele învățate într-un domeniu într-un alt domeniu transfer de învățare. Puteți utiliza învățarea prin transfer pentru a produce modele precise pe seturile dvs. de date mai mici, cu costuri de instruire mult mai mici decât cele implicate în formarea modelului original. JumpStart include, de asemenea, algoritmi de antrenament populari bazați pe LightGBM, CatBoost, XGBoost și Scikit-learn, pe care îi puteți antrena de la zero pentru regresie și clasificare tabelară.
- Utilizați soluții prefabricate – JumpStart oferă un set de 17 soluții pentru cazuri de utilizare obișnuite ML, cum ar fi prognoza cererii și aplicații industriale și financiare, pe care le puteți implementa cu doar câteva clicuri. Soluțiile sunt aplicații ML end-to-end care îmbină diverse servicii AWS pentru a rezolva un anumit caz de utilizare în afaceri. Ei folosesc Formarea AWS Cloud șabloane și arhitecturi de referință pentru implementare rapidă, ceea ce înseamnă că sunt complet personalizabile.
- Consultați exemple de notebook pentru algoritmii SageMaker – SageMaker oferă o suită de algoritmi încorporați pentru a ajuta oamenii de știință de date și practicienii ML să înceapă cu instruirea și implementarea rapidă a modelelor ML. JumpStart oferă exemple de notebook-uri pe care le puteți folosi pentru a utiliza rapid acești algoritmi.
- Examinați videoclipuri de antrenament și bloguri – JumpStart oferă, de asemenea, numeroase postări pe blog și videoclipuri care vă învață cum să utilizați diferite funcționalități în SageMaker.
JumpStart acceptă setări personalizate VPC și AWS Service Management Service (AWS KMS), chei de criptare, astfel încât să puteți utiliza modelele și soluțiile disponibile în siguranță în mediul dvs. de întreprindere. Puteți transmite setările de securitate la JumpStart din Studio sau prin intermediul SDK-ului SageMaker Python.
Generare text, GPT-2 și Bloom
Generarea textului este sarcina de a genera text care este fluent și care nu pare să se distingă de textul scris de om. Este cunoscut și ca generarea limbajului natural.
GPT-2 este un model popular de generare de text bazat pe transformator. Este pregătit în prealabil pe un corp mare de text în limba engleză brută, fără etichetare umană. Este antrenat pentru sarcina în care, având în vedere o secvență parțială (propoziție sau bucată de text), modelul trebuie să prezică următorul cuvânt sau simbolul din secvență.
Bloom este, de asemenea, un model de generare de text bazat pe transformator și antrenat în mod similar cu GPT-2. Cu toate acestea, Bloom este pre-antrenat pe 46 de limbi diferite și 13 limbaje de programare. Următorul este un exemplu de rulare a generării de text cu modelul Bloom:
Prezentare generală a soluțiilor
Următoarele secțiuni oferă o demonstrație pas cu pas pentru a efectua inferențe, atât prin interfața de utilizare Studio, cât și prin API-urile JumpStart. Parcurgem următorii pași:
- Accesați JumpStart prin interfața de utilizare Studio pentru a implementa și a rula inferențe pe modelul pre-antrenat.
- Utilizați JumpStart în mod programatic cu SageMaker Python SDK pentru a implementa modelul pre-antrenat și pentru a rula inferența.
Accesați JumpStart prin interfața de utilizare Studio și executați inferențe cu un model pre-antrenat
În această secțiune, demonstrăm cum să antrenăm și să implementăm modele JumpStart prin interfața de utilizare Studio.
Următorul videoclip vă arată cum să găsiți un model de generare de text pre-antrenat pe JumpStart și să îl implementați. Pagina modelului conține informații valoroase despre model și despre modul de utilizare. Puteți implementa oricare dintre modelele pre-antrenate disponibile în JumpStart. Pentru inferență, alegem tipul de instanță ml.p3.2xlarge, deoarece oferă accelerația GPU necesară pentru o latență scăzută a inferenței la un preț scăzut. După ce configurați instanța de găzduire SageMaker, alegeți Lansa. Poate dura 20-25 minute până când punctul final persistent este activ și funcțional.
Odată ce punctul final este operațional, este gata să răspundă la solicitările de inferență!
Pentru a vă accelera timpul de inferență, JumpStart oferă un exemplu de blocnotes care vă arată cum să rulați inferența pe punctul final proaspăt implementat. Alege Deschide Notebook în Utilizați Endpoint din Studio.
Utilizați JumpStart în mod programatic cu SDK-ul SageMaker
În secțiunea precedentă, am arătat cum puteți utiliza interfața de utilizare JumpStart pentru a implementa un model pre-antrenat în mod interactiv, în doar câteva clicuri. Cu toate acestea, puteți utiliza modelele JumpStart și în mod programatic, folosind API-uri care sunt integrate în SDK-ul SageMaker.
În această secțiune, trecem peste un exemplu rapid despre cum puteți replica procesul precedent cu SDK-ul SageMaker. Alegem un model pre-antrenat adecvat în JumpStart, implementăm acest model într-un punct final SageMaker și rulăm inferența asupra punctului final implementat. Toți pașii din această demonstrație sunt disponibili în blocnotesul însoțitor Introducere în JumpStart – Generare de text.
Implementați modelul pre-antrenat
SageMaker este o platformă care folosește pe scară largă containerele Docker pentru sarcini de build și runtime. JumpStart folosește cadrul disponibil specific Containere de învățare profundă SageMaker (DLC-uri). Preluăm mai întâi orice pachete suplimentare, precum și scripturi pentru a gestiona instruirea și inferența pentru sarcina selectată. În cele din urmă, artefactele modelului pre-antrenate sunt preluate separat model_uris
, care oferă flexibilitate platformei. Puteți utiliza orice număr de modele pre-antrenate pentru aceeași sarcină cu un singur script de inferență. Vezi următorul cod:
Bloom este un model foarte mare și poate dura până la 20-25 de minute pentru a fi implementat. De asemenea, puteți utiliza un model mai mic, cum ar fi GPT-2. Pentru a implementa un model GPT-2 pre-antrenat, puteți seta model_id = huggingface-textgeneration-gpt2
. Pentru o listă cu alte modele disponibile în JumpStart, consultați Tabelul modelului disponibil JumpStart.
În continuare, alimentăm resursele într-un Modelul SageMaker instanță și implementați un punct final:
După ce modelul nostru este implementat, putem obține predicții din acesta în timp real!
Executați inferența
Următorul fragment de cod vă oferă o imagine a cum arată ieșirile. Pentru a trimite cereri către un model implementat, textul de intrare trebuie să fie furnizat într-un utf-8
format codificat.
Răspunsul punctului final este un obiect JSON care conține textul de intrare urmat de textul generat:
Rezultatul nostru este după cum urmează:
Concluzie
În această postare, am arătat cum să implementăm un model de generare de text pre-antrenat folosind JumpStart. Puteți realiza acest lucru fără a fi nevoie să scrieți cod. Încercați singur soluția și trimiteți-ne comentariile dvs. Pentru a afla mai multe despre JumpStart și despre cum puteți utiliza modele open-source pre-antrenate pentru o varietate de alte sarcini ML, consultați următoarele Videoclipul AWS re:Invent 2020.
Despre Autori
Dr. Vivek Madan este un om de știință aplicat în echipa Amazon SageMaker JumpStart. Și-a luat doctoratul la Universitatea din Illinois la Urbana-Champaign și a fost cercetător post-doctoral la Georgia Tech. Este un cercetător activ în învățarea automată și proiectarea algoritmilor și a publicat lucrări în cadrul conferințelor EMNLP, ICLR, COLT, FOCS și SODA.
Santosh Kulkarni este arhitect de soluții pentru întreprinderi la Amazon Web Services care lucrează cu clienți de sport din Australia. Este pasionat de construirea de aplicații distribuite la scară largă pentru a rezolva problemele de afaceri folosind cunoștințele sale în AI/ML, big data și dezvoltarea de software.
Dr. Ashish Khetan este un om de știință senior aplicat cu algoritmi încorporați Amazon SageMaker și ajută la dezvoltarea algoritmilor de învățare automată. Și-a luat doctoratul la Universitatea din Illinois Urbana Champaign. Este un cercetător activ în învățarea automată și inferența statistică și a publicat multe lucrări în conferințele NeurIPS, ICML, ICLR, JMLR, ACL și EMNLP.
- AI
- ai art
- ai art generator
- ai robot
- Amazon SageMaker
- Amazon SageMaker JumpStart
- inteligență artificială
- certificare de inteligență artificială
- inteligența artificială în domeniul bancar
- robot cu inteligență artificială
- roboți cu inteligență artificială
- software de inteligență artificială
- Învățare automată AWS
- blockchain
- conferință blockchain ai
- coingenius
- inteligența artificială conversațională
- criptoconferință ai
- dall-e
- învățare profundă
- Fundamental (100)
- google ai
- masina de învățare
- Plato
- platoul ai
- Informații despre date Platon
- Jocul lui Platon
- PlatoData
- platogaming
- scara ai
- sintaxă
- zephyrnet