Danes objavljamo javno dostopnost Amazonovega najsodobnejšega Alexa Teacher Model z 20 milijardami parametrov (AlexaTM 20B) skozi Amazon SageMaker JumpStart, SageMakerjevo središče za strojno učenje. AlexaTM 20B je večjezični jezikovni model velikega obsega od zaporedja do zaporedja (seq2seq), ki ga je razvil Amazon. AlexaTM 20B lahko uporabite za širok nabor industrijskih primerov uporabe, od povzemanja finančnih poročil do odgovorov na vprašanja za klepetalne robote za pomoč uporabnikom. Uporablja se lahko tudi, ko je na voljo le nekaj primerov usposabljanja ali celo nobenega. AlexaTM 20B prekaša 175 milijard Model GPT-3 pri nalogah zero shot učenja, kot je SuperGLUE, in prikazuje najsodobnejšo zmogljivost za večjezične naloge zero shot, kot je XNLI.
V tej objavi ponujamo pregled, kako programsko uvesti in zagnati sklepanje z modelom AlexaTM 20B prek API-jev JumpStart, ki so na voljo v SDK SageMaker Python. Ponazarjamo, kako lahko uporabite ta model za prevajanje med več jeziki, povzemanje besedila v dolgi obliki, odgovarjanje na vprašanja glede na dani kontekst in ustvarjanje besedila, ki se zdi neločljivo od besedila, ki ga je napisal človek.
AlexaTM 20B in učenje v kontekstu
Program Alexa Teacher Model (AlexaTM) podjetja Amazon Alexa AI je zasnovan za izdelavo obsežnih, večjezičnih modelov globokega učenja (predvsem na osnovi Transformerja), katerih namen je izboljšati posploševanje in ravnanje s pomanjkanjem podatkov za naloge na nižji stopnji. Z obsežnim predhodnim usposabljanjem je mogoče modele učiteljev dobro posplošiti, da se naučijo novih nalog iz redkih podatkov in pomagajo razvijalcem izboljšati učinkovitost nadaljnjih nalog. AlexaTM 20B je pokazala tekmovalni nastop o običajnih merilih in nalogah obdelave naravnega jezika (NLP), kot so strojno prevajanje, ustvarjanje podatkov in povzemanje.
Uporaba temeljnih modelov, kot je AlexaTM 20B, zmanjša potrebo po dragem predhodnem usposabljanju za model in zagotavlja najsodobnejšo izhodiščno točko za razvoj modelov opravil z manj truda in manj podatkov o usposabljanju, specifičnih za naloge. Ena od ključnih zmožnosti temeljnih modelov je, da lahko model naučimo izvajati nove naloge, kot sta vprašanja in odgovori v različnih jezikih, z zelo majhnimi količinami vnosnih primerov in brez potrebnih natančnega prilagajanja ali gradientnih posodobitev. To je znano kot učenje v kontekstu. Z le nekaj primeri nove naloge, ki so podani kot kontekst za sklepanje, lahko model AlexaTM 20B prenese znanje iz tistega, kar se je naučilo med obsežnim predhodnim usposabljanjem, tudi med jeziki. To se imenuje nekajkratno učenje. V nekaterih primerih lahko model dobro deluje brez kakršnih koli podatkov o usposabljanju, le z razlago, kaj je treba predvideti. To se imenuje zero-shot učenje. Na primer, recimo, da uporabljamo AlexaTM 20B za enkratno generiranje naravnega jezika. Vhod, posredovan modelu, je primer usposabljanja v obliki parov atribut-vrednost, skupaj z ustrezno izhodno besedilno pripovedjo. Preizkusni primer je nato pripet v celoten vnosni poziv, kot je prikazano na naslednji sliki.
Če želite izvedeti več o modelu, si oglejte Model Alexa s parametrom 20B postavlja nove meje pri učenju z nekaj posnetki ali original papirja.
Uporaba AlexaTM 20B je na voljo za nekomercialno uporabo in je zajeta v Licenčna pogodba za model Alexa Teacher.
Pregled rešitev
Naslednji razdelki nudijo predstavitev po korakih o tem, kako razmestiti model, zagnati sklepanje in izvajati učenje v kontekstu za reševanje kratkotrajnih učnih nalog.
Upoštevajte, da naslednji razdelek vsebuje izrezke kode; celotna koda z vsemi koraki v tej predstavitvi je na voljo v priloženem zvezku: Učenje v kontekstu z AlexaTM 20B v SageMaker JumpStart.
Namestite model
Za uporabo velikega jezikovnega modela v SageMakerju potrebujete skript za sklepanje, specifičen za model, ki vključuje korake, kot so nalaganje modela, paralelizacija in drugo. Ustvariti morate tudi celovite teste za skripte, model in želene vrste primerkov, da preverite, ali lahko vsi trije delujejo skupaj. JumpStart odpravi ta napor z zagotavljanjem skriptov, pripravljenih za uporabo, ki so bili robustno testirani.
SageMaker vam omogoča obsežno izvajanje vsebnikov Docker za usposabljanje in sklepanje. JumpStart uporablja te razpoložljive specifične za ogrodje Vsebniki za globoko učenje SageMaker (DLC-ji). Začnemo s pridobivanjem optimiziranega DLC (deploy_image_uri
) uporabljati model_id
. Potem prinesemo model_uri
ki vsebuje parametre modela, skupaj s skripti za obravnavo sklepanja in morebitnimi povezanimi odvisnostmi. Nato ustvarimo a modelni primerek v SageMaker in ga namestite na končno točko v realnem času. Oglejte si naslednjo kodo:
Za uvajanje AlexaTM 20B je potreben primerek, podprt z GPU, z vsaj 50 GB pomnilnika CPE in vsaj 42 GB pomnilnika GPE. SageMaker ponuja veliko takih primerkov, ki podpirajo sklepanje v realnem času. To rešitev smo preizkusili na treh primerih: ml.g4dn.12xlarge, ml.p3.8xlarge, ml.p3.16xlarge. Oglejte si naslednjo kodo:
Nato uvedemo model v realnočasovno končno točko SageMaker:
AlexaTM 20B zahteva 40 GB prostora na disku v vsebniku sklepanja. Primerek ml.g4dn.12xlarge izpolnjuje to zahtevo. Na primer vrsti ml.p3.8xlarge in ml.p3.16xlarge, priložimo Trgovina z elastičnimi bloki Amazon (Amazon EBS) obseg za obvladovanje velike velikosti modela. Zato smo postavili volume_size = None
pri uvajanju na ml.g4dn.12xlarge in volume_size=256
pri uvajanju na ml.p3.8xlarge ali ml.p3.16xlarge.
Uvajanje modela lahko traja do 10 minut. Ko je model uveden, lahko iz njega v realnem času pridobimo napovedi!
Zaženi sklepanje
AlexaTM 20B je model generiranja besedila, ki glede na delno zaporedje (stavek ali del besedila) generira naslednji niz besed. Naslednji delček kode vam daje vpogled v to, kako poizvedovati po končni točki, ki smo jo uvedli, in razčleniti rezultate za opravilo samodokončanja. Za pošiljanje zahtev razporejenemu modelu uporabljamo slovar JSON, kodiran v formatu UTF-8. Odziv končne točke je objekt JSON, ki vsebuje seznam ustvarjenih besedil.
Nato izvedemo poizvedbo po končni točki in razčlenimo odgovor na vzorčnem vhodnem besedilu:
AlexaTM 20B trenutno podpira 10 parametrov generiranja besedila med sklepanjem: max_length
, num_return_sequences
, num_beams
, no_repeat_ngram_size
, temperature
, early_stopping
, do_sample
, top_k
, top_p
in seed
. Za podrobne informacije o veljavnih vrednostih za vsak parameter in njihovem vplivu na izhod si oglejte priloženi zvezek: Učenje v kontekstu z AlexaTM 20B v SageMaker JumpStart.
Učenje v kontekstu
Učenje v kontekstu se nanaša na naslednje: jezikovnemu modelu zagotovimo poziv, ki je sestavljen iz učnih vhodno-izhodnih parov, ki prikazujejo nalogo. Pozivu dodamo testni vnos in omogočimo jezikovnemu modelu, da naredi napovedi s pogojevanjem poziva in predvidevanjem naslednjih žetonov ali besed. To je zelo učinkovita tehnika za reševanje nekaj problemov učenja udarca, pri kateri se naloge naučimo iz nekaj učnih vzorcev.
Nato pokažemo, kako lahko uporabite AlexaTM 20B za več nalog z enim in ničelnim strelom prek učenja v kontekstu. Za razliko od prejšnjih modelov od zaporedja do zaporedja je bil AlexaTM 1B poleg odpravljanja šumov usposobljen za modeliranje vzročnega jezika, zaradi česar je dober model za učenje v kontekstu.
1-shot povzetek besedila
Povzemanje besedila je naloga skrajšanja podatkov in ustvarjanja povzetka, ki predstavlja najpomembnejše informacije, prisotne v izvirnem besedilu. 1-shot text summarization se nanaša na nastavitev, kjer se naučimo povzemati besedilo na podlagi enega samega učnega vzorca. Naslednja koda je vzorec povzemanja besedila iz nabor podatkov XSUM:
Naslednji poziv uporabimo za povzemanje, ko je na voljo samo en vzorec usposabljanja. Ustvarjeno besedilo iz modela se interpretira kot predvideni povzetek testnega članka.
Izhod je naslednji:
Enkratna generacija naravnega jezika
Generiranje naravnega jezika je naloga ustvarjanja besedilnih pripovedi glede na vhodno besedilo. Naslednji vzorec prikazuje vzorec usposabljanja iz Nabor podatkov E2E:
Naslednji poziv uporabimo za generiranje naravnega jezika, ko je na voljo samo en učni vzorec (1-shot). Besedilo, ustvarjeno iz modela, se interpretira kot predvidena pripoved besedila za testni vnos (test_inp
).
Izhod je naslednji:
1-shot strojno prevajanje
Strojno prevajanje je naloga prevajanja besedila iz enega jezika v drugega. Naslednji primer prikazuje vzorec usposabljanja iz Nabor podatkov WMT19 v katerem moramo prevesti iz nemščine v angleščino:
Naslednji poziv uporabimo za strojno prevajanje, ko je na voljo samo en vzorec za usposabljanje (1 posnetek). Ustvarjeno besedilo iz modela se interpretira kot prevod testnega vnosa (test_inp
).
Izhod je naslednji:
Brezhibno odgovarjanje na vprašanja
Ekstraktivno odgovarjanje na vprašanja je naloga iskanja odgovora na vprašanje iz kontekstnega odstavka. Sledi primer konteksta in vprašanja iz Nabor podatkov SQuAD v2:
Upoštevajte, da za našo nalogo nimamo vzorcev usposabljanja. Namesto tega ustvarimo navidezno vprašanje o zadnji besedi v pozivu na podlagi test_context
(navidezni strel). Zato dejansko odgovarjamo na vprašanja z ničelnim izvlekom.
Naslednji poziv uporabljamo za izvlečne odgovore na vprašanja, ko ni na voljo nobenega vzorca usposabljanja. Ustvarjeno besedilo iz modela se interpretira kot odgovor na testno vprašanje.
Izhod je naslednji:
Hiter inženiring
Hiter inženiring je lahko včasih umetnost. Tudi majhne spremembe predloge poziva lahko povzročijo pomembne spremembe v zmogljivosti modela pri določeni nalogi. Sledi nekaj nasvetov za pisanje dobrih predlog pozivov. Najprej si je pomembno zapomniti, da je bil model usposobljen za učenje strukture pravih stavkov (modeliranje vzročnega jezika). Zato je najbolje zagotoviti, da je vaša predloga poziva slovnično in strukturno pravilna v naravnem jeziku. Drugič, ta poseben model ima koristi od navideznih posnetkov, ki ga pomagajo naučiti strukture, ki se pričakuje v odgovoru, kot je prikazano zgoraj. Tretjič, vedno je priporočljivo, da preučite uspešnost naloge z različnimi predlogami pozivov kandidatov. Promptsource in Naravna navodila sta dva odprtokodna ogrodja za standardizacijo predlog pozivov in zagotavljata vrsto primerov pozivov, ki se uporabljajo za obstoječe naloge modeliranja. Poleg tega je Dodatek B k Papir AlexaTM 20B zagotavlja hitre predloge, ki se uporabljajo za ustvarjanje rezultatov, predstavljenih v članku. Obstaja vedno več podpolj, namenjenih samodejnemu ustvarjanju in učenju najboljših pozivov za opravilo, vključno z naravnim jezikom in neprekinjenimi pozivi. To presega obseg te vadnice.
zaključek
V tej objavi smo pokazali, kako razmestiti model AlexaTM 20B na končni točki SageMaker in izvesti sklepanje. Model AlexaTM 20B lahko uporabite za učenje v kontekstu za različne učne naloge v nekaj trenutkih. Če želite izvedeti več o AlexaTM 20B, glejte Model Alexa s parametrom 20B postavlja nove meje pri učenju z nekaj posnetki ali original papirja.
Avtorji se želijo zahvaliti za tehnične prispevke Macieju Rudnickemu, Jakubu Debskemu, Ashishu Khetanu, Anastasiji Dubinini, Vitaliju Koroljovu, Karlu Albertsenu, Salehu Soltanu in Mariuszu Momotku, ki so omogočili to lansiranje.
O JumpStartu
JumpStart je središče strojnega učenja (ML) Amazon SageMaker, ki ponuja več kot 350 vnaprej usposobljenih modelov, vgrajenih algoritmov in vnaprej izdelanih predlog rešitev, ki vam pomagajo hitro začeti z ML. JumpStart gosti najsodobnejše modele iz priljubljenih središč modelov, kot so TensorFlow, PyTorch, Hugging Face in MXNet, ki podpirajo priljubljena opravila ML, kot so zaznavanje predmetov, klasifikacija besedila in generiranje besedila. Raziskovalna skupnost ML je vložila veliko truda v to, da je večina nedavno razvitih modelov postala javno dostopna za uporabo. JumpStart vam pomaga najti prave modele in algoritme ML ter takoj začeti graditi modele. Natančneje, JumpStart ponuja naslednje prednosti:
- Enostaven dostop z uporabniškim vmesnikom in SDK – Do modelov in algoritmov v JumpStart lahko dostopate programsko z uporabo SDK SageMaker Python ali prek uporabniškega vmesnika JumpStart v Amazon SageMaker Studio. Trenutno je AlexaTM 20B dostopen samo prek SDK-ja SageMaker Python.
- Vgrajeni algoritmi SageMaker – JumpStart ponuja več kot 350 vgrajenih algoritmov in vnaprej usposobljenih modelov, skupaj z ustreznimi skripti za usposabljanje (če so podprti), skripti za sklepanje in primeri zvezkov. Skripti so optimizirani za vsako ogrodje in nalogo ter zagotavljajo funkcije, kot so podpora GPU, samodejno prilagajanje modela in postopno usposabljanje. Skripti so testirani tudi glede na primerke in funkcije SageMaker, tako da ne naletite na težave z združljivostjo.
- Vnaprej pripravljene rešitve – JumpStart ponuja nabor 23 rešitev za običajne primere uporabe ML, kot so napovedovanje povpraševanja ter industrijske in finančne aplikacije, ki jih lahko uvedete z le nekaj kliki. Rešitve so aplikacije ML od konca do konca, ki združujejo različne storitve AWS za rešitev določenega primera poslovne uporabe. Uporabljajo predloge AWS CloudFormation in referenčne arhitekture za hitro uvajanje, kar pomeni, da so popolnoma prilagodljivi.
- Podpora – SageMaker ponuja vrsto podpore, kot je vzdrževanje posodobljenih različic, ko so izdane nove funkcije SageMaker ali različice vsebnika za poglobljeno učenje, in ustvarjanje dokumentacije o uporabi vsebine JumpStart v okolju SageMaker.
Če želite izvedeti več o JumpStart in o tem, kako lahko uporabite odprtokodne vnaprej usposobljene modele za vrsto drugih nalog ML, si oglejte naslednje Video AWS re:Invent 2020.
O avtorjih
dr. Vivek Madan je uporabni znanstvenik pri ekipi Amazon SageMaker JumpStart. Doktoriral je na Univerzi Illinois v Urbana-Champaign in bil podoktorski raziskovalec na Georgia Tech. Je aktiven raziskovalec strojnega učenja in oblikovanja algoritmov ter je objavil članke na konferencah EMNLP, ICLR, COLT, FOCS in SODA.
Jack FitzGerald je višji uporabni znanstvenik pri Alexa AI, kjer se trenutno osredotoča na modeliranje velikih jezikov, modeliranje večjezičnega besedila in operacije strojnega učenja.
João Moura je specialist za rešitve AI/ML pri Amazon Web Services. Večinoma se osredotoča na primere uporabe NLP in pomaga strankam optimizirati usposabljanje in uvajanje modela globokega učenja. Je tudi aktiven zagovornik rešitev ML z nizko kodo in strojne opreme, specializirane za ML.
junij zmagal je produktni vodja s SageMaker JumpStart in vgrajenimi algoritmi. Osredotoča se na to, da uporabnikom SageMaker omogoča preprosto odkrivanje in uporabo vsebine ML.
Pulkit Kapur je vodja izdelka za program Alexa Teacher Model z Alexa AI, ki se osredotoča na splošno inteligenco in aplikacije večopravilnih multimodalnih temeljnih modelov Alexa.
- AI
- ai art
- ai art generator
- imajo robota
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Umetna inteligenca
- certificiranje umetne inteligence
- umetna inteligenca v bančništvu
- robot z umetno inteligenco
- roboti z umetno inteligenco
- programska oprema za umetno inteligenco
- Strojno učenje AWS
- blockchain
- blockchain konferenca ai
- coingenius
- pogovorna umetna inteligenca
- kripto konferenca ai
- dall's
- globoko učenje
- Temeljni (100)
- strojno učenje
- platon
- platon ai
- Platonova podatkovna inteligenca
- Igra Platon
- PlatoData
- platogaming
- lestvica ai
- sintaksa
- zefirnet