I dag annoncerer vi offentlig tilgængeligheden af Amazons state-of-the-art Alexa Teacher Model med 20 milliarder parametre (AlexaTM 20B) igennem Amazon SageMaker JumpStart, SageMakers maskinlæringshub. AlexaTM 20B er en flersproget storskala sekvens-til-sekvens (seq2seq) sprogmodel udviklet af Amazon. Du kan bruge AlexaTM 20B til en lang række branchebrugssager, fra opsummerende økonomiske rapporter til besvarelse af spørgsmål til kundeservice chatbots. Det kan anvendes, selv når der kun er få tilgængelige træningseksempler, eller endda slet ingen. AlexaTM 20B udkonkurrerer en 175 mia GPT-3 model på zero-shot læringsopgaver såsom SuperGLUE og viser state-of-the-art ydeevne til flersprogede zero-shot opgaver såsom XNLI.
I dette indlæg giver vi et overblik over, hvordan man implementerer og kører inferens med AlexaTM 20B-modellen programmatisk gennem JumpStart API'er, der er tilgængelige i SageMaker Python SDK. Vi eksemplificerer, hvordan du kan bruge denne model til at oversætte mellem flere sprog, opsummere tekst i lang form, besvare spørgsmål baseret på en given kontekst og generere tekst, der ser ud til at være umulig at skelne fra menneskeskreven tekst.
AlexaTM 20B og in-context learning
Alexa Teacher Model (AlexaTM)-programmet fra Amazon Alexa AI er designet til at bygge storstilede, flersprogede deep learning-modeller (primært transformer-baserede), med det formål at forbedre generalisering og håndtering af dataknaphed til downstream-opgaver. Med fortræning i stor skala kan lærermodeller generalisere godt for at lære nye opgaver fra sparsomme data og hjælpe udviklere med at forbedre ydeevnen på downstream-opgaver. AlexaTM 20B har vist konkurrencedygtig præstation om fælles benchmarks og opgaver for naturlig sprogbehandling (NLP), såsom maskinoversættelse, datagenerering og opsummering.
Brug af fundamentmodeller som AlexaTM 20B reducerer behovet for dyr modelforuddannelse og giver et avanceret udgangspunkt for at udvikle opgavemodeller med mindre indsats og mindre opgavespecifikke træningsdata. En af de vigtigste egenskaber ved fundamentmodeller er, at vi kan lære en model at udføre nye opgaver såsom spørgsmål og svar på forskellige sprog, med meget små mængder input-eksempler og ingen finjustering eller gradientopdateringer påkrævet. Dette er kendt som læring i kontekst. Med kun nogle få eksempler på en ny opgave som kontekst for slutninger, kan AlexaTM 20B-modellen overføre viden fra det, der er blevet lært under storstilet fortræning, selv på tværs af sprog. Dette kaldes få-skuds læring. I nogle tilfælde kan modellen fungere godt uden træningsdata overhovedet, med kun en forklaring på, hvad der bør forudsiges. Dette kaldes zero-shot læring. Lad os f.eks. sige, at vi bruger AlexaTM 20B til generering af naturligt sprog i ét skud. Det input, der sendes til modellen, er træningseksemplet i form af attribut-værdi-par, sammen med dens tilsvarende output-tekstfortælling. Testeksemplet tilføjes derefter for at danne den fulde inputprompt, som vist i den følgende figur.
For at lære mere om modellen, tjek ud Alexa-model med 20B-parameter sætter nye karakterer i læring med få skud eller den originale papir.
Brug af AlexaTM 20B er gjort tilgængelig til ikke-kommerciel brug og er dækket af Alexa Teacher Model Licensaftale.
Løsningsoversigt
De følgende afsnit giver en trin-for-trin demo om, hvordan du implementerer modellen, kører inferens og laver in-context-learning for at løse få-shot læringsopgaver.
Bemærk, at det følgende afsnit indeholder kodestykker; den fulde kode med alle trinene i denne demo er tilgængelig i den medfølgende notesbog: Indlæring i kontekst med AlexaTM 20B i SageMaker JumpStart.
Implementer modellen
For at bruge en stor sprogmodel i SageMaker skal du bruge et inferencing script specifikt for modellen, som inkluderer trin som modelindlæsning, parallelisering og mere. Du skal også oprette ende-til-ende-tests for scripts, model og de ønskede instanstyper for at validere, at alle tre kan arbejde sammen. JumpStart fjerner denne indsats ved at levere klar-til-brug scripts, der er blevet robust testet.
SageMaker giver dig muligheden for at køre Docker-containere i vid udstrækning til træning og inferencing. JumpStart bruger disse tilgængelige rammespecifikke SageMaker Deep Learning Containere (DLC'er). Vi starter med at hente den optimerede DLC (deploy_image_uri
) bruger model_id
. Så henter vi model_uri
indeholdende modelparametrene sammen med inferenshåndteringsscripts og eventuelle tilknyttede afhængigheder. Dernæst opretter vi en model instans i SageMaker og implementer det til et slutpunkt i realtid. Se følgende kode:
Implementering af AlexaTM 20B kræver en GPU-understøttet instans med mindst 50 GB CPU-hukommelse og mindst 42 GB GPU-hukommelse. SageMaker leverer mange sådanne instanser, der understøtter realtidsslutning. Vi testede denne opløsning i tre tilfælde: ml.g4dn.12xlarge, ml.p3.8xlarge, ml.p3.16xlarge. Se følgende kode:
Dernæst implementerer vi modellen til et SageMaker-endepunkt i realtid:
AlexaTM 20B kræver 40 GB diskplads i inferensbeholderen. En ml.g4dn.12xlarge instans opfylder dette krav. For eksempel typer ml.p3.8xlarge og ml.p3.16xlarge, vedhæfter vi en Amazon Elastic Block Store (Amazon EBS) volumen til at håndtere den store modelstørrelse. Derfor sætter vi volume_size = None
ved implementering på ml.g4dn.12xlarge og volume_size=256
ved implementering på ml.p3.8xlarge eller ml.p3.16xlarge.
Det kan tage op til 10 minutter at implementere modellen. Efter modellen er implementeret, kan vi få forudsigelser fra den i realtid!
Kør inferens
AlexaTM 20B er en tekstgenereringsmodel, som, givet en delsekvens (en sætning eller et stykke tekst), genererer det næste sæt ord. Følgende kodestykke giver dig et glimt af, hvordan du forespørger på det endepunkt, vi implementerede, og analyserer output til autofuldførelsesopgave. For at sende anmodninger til en implementeret model bruger vi en JSON-ordbog kodet i UTF-8-format. Endpoint-svaret er et JSON-objekt, der indeholder en liste over genererede tekster.
Dernæst forespørger vi slutpunktet og analyserer svaret på en eksempelinputtekst:
AlexaTM 20B understøtter i øjeblikket 10 tekstgenereringsparametre under inferens: max_length
, num_return_sequences
, num_beams
, no_repeat_ngram_size
, temperature
, early_stopping
, do_sample
, top_k
, top_p
og seed
. For detaljerede oplysninger om gyldige værdier for hver parameter og deres indvirkning på outputtet, se den medfølgende notesbog: Indlæring i kontekst med AlexaTM 20B i SageMaker JumpStart.
Indlæring i kontekst
In-context learning refererer til følgende: vi forsyner sprogmodellen med en prompt, som består af træning af input-output-par, der demonstrerer opgaven. Vi tilføjer et testinput til prompten og tillader sprogmodellen at lave forudsigelser ved at konditionere på prompten og forudsige de næste tokens eller ord. Dette er en yderst effektiv teknik til at løse få skudindlæringsproblemer, hvor vi lærer en opgave fra nogle få træningsprøver.
Dernæst viser vi, hvordan du kan bruge AlexaTM 20B til flere 1-shot og zero-shot opgaver via in-context learning. I modsætning til tidligere sekvens-til-sekvens-modeller, blev AlexaTM 20B trænet i kausal sprogmodellering ud over denoising, hvilket gør den til en god model for in-context learning.
1-shot tekstresumé
Tekstresumé er opgaven med at forkorte dataene og skabe et resumé, der repræsenterer den vigtigste information, der findes i den originale tekst. 1-shot tekstresumé refererer til den indstilling, hvor vi lærer at opsummere teksten baseret på et enkelt træningseksempel. Følgende kode er et tekstopsummeringseksempel fra XSUM-datasæt:
Vi bruger følgende prompt til opsummering, når der kun leveres ét træningseksempel. Den genererede tekst fra modellen tolkes som det forudsagte resumé af testartiklen.
Udgangen er som følger:
Generering af naturligt sprog i 1 skud
Naturlig sproggenerering er opgaven med at producere tekstfortællinger givet inputteksten. Følgende eksempel viser et træningseksempel fra E2E datasæt:
Vi bruger følgende prompt til generering af naturligt sprog, når kun én træningsprøve (1-shot) leveres. Den genererede tekst fra modellen fortolkes som den forudsagte tekstfortælling for testinputtet (test_inp
).
Udgangen er som følger:
1-shot maskinoversættelse
Maskinoversættelse er opgaven med at oversætte tekst fra et sprog til et andet. Følgende eksempel viser et træningseksempel fra WMT19 datasæt hvor vi skal oversætte fra tysk til engelsk:
Vi bruger følgende prompt til maskinoversættelse, når der kun leveres én træningsprøve (1-shot). Genereret tekst fra modellen tolkes som oversættelsen af testinputtet (test_inp
).
Udgangen er som følger:
Zero-shot ekstraktiv spørgsmål besvarelse
Ekstraktiv spørgsmålsbesvarelse er opgaven med at finde svaret på et spørgsmål fra kontekstafsnittet. Det følgende er et eksempel på en kontekst og et spørgsmål fra SQuAD v2 datasæt:
Bemærk, at vi ikke har nogen træningsprøver til vores opgave. I stedet opretter vi et dummy-spørgsmål om det sidste ord i prompten , baseret på test_context
(dummy-shot). Derfor udfører vi faktisk nul-skuds-ekstraktive spørgsmålssvar.
Vi bruger følgende prompt til at besvare ekstraktive spørgsmål, når der ikke er givet nogen træningsprøve. Genereret tekst fra modellen tolkes som svar på testspørgsmålet.
Udgangen er som følger:
Hurtig teknik
Hurtig ingeniørarbejde kan nogle gange være en kunst. Selv små ændringer i promptskabelonen kan resultere i væsentlige ændringer i modellens ydeevne på en specifik opgave. Følgende er et par gode råd til at skrive gode promptskabeloner. For det første er det vigtigt at huske, at modellen blev trænet til at lære strukturen af rigtige sætninger (kausal sprogmodellering). Som sådan er det bedst at sikre, at din promptskabelon er grammatisk og strukturelt korrekt i naturligt sprog. For det andet drager denne særlige model fordel af dummy-optagelser for at hjælpe med at lære den den struktur, der forventes i svaret, som vist ovenfor. For det tredje tilrådes det altid at undersøge opgavens udførelse over en række forskellige kandidatpromptskabeloner. Spørg kilde , Naturlige instruktioner er to open source-rammer til standardisering af promptskabeloner, og de giver en række eksempler på prompter, der bruges til eksisterende modelleringsopgaver. Derudover er bilag B til AlexaTM 20B papir giver de hurtige skabeloner, der bruges til at generere de resultater, der præsenteres i papiret. Der er et voksende underområde dedikeret til automatisk oprettelse og indlæring af de bedste prompter til en opgave, herunder både naturligt sprog og kontinuerlige prompter. Dette er uden for denne tutorials omfang.
Konklusion
I dette indlæg viste vi, hvordan man implementerer AlexaTM 20B-modellen på et SageMaker-slutpunkt og kører inferens. Du kan bruge AlexaTM 20B-modellen til in-context-læring til en række få-shot læringsopgaver. For at lære mere om AlexaTM 20B, se Alexa-model med 20B-parameter sætter nye karakterer i læring med få skud eller den originale papir.
Forfatterne vil gerne anerkende de tekniske bidrag fra Maciej Rudnicki, Jakub Debski, Ashish Khetan, Anastasiia Dubinina, Vitaliy Korolev, Karl Albertsen, Saleh Soltan og Mariusz Momotko til at gøre denne lancering mulig.
Om JumpStart
JumpStart er maskinlæringscentret (ML) i Amazon SageMaker, der tilbyder over 350 forudtrænede modeller, indbyggede algoritmer og forudbyggede løsningsskabeloner, der hjælper dig med at komme hurtigt i gang med ML. JumpStart er vært for avancerede modeller fra populære modelhubs såsom TensorFlow, PyTorch, Hugging Face og MXNet, som understøtter populære ML-opgaver såsom objektgenkendelse, tekstklassificering og tekstgenerering. ML-forskningsmiljøet har lagt en stor indsats i at gøre et flertal af nyligt udviklede modeller offentligt tilgængelige til brug. JumpStart sigter mod at hjælpe dig med at finde de rigtige ML-modeller og algoritmer og straks begynde at bygge modeller. Specifikt giver JumpStart følgende fordele:
- Nem adgang med UI og SDK – Du kan få adgang til modeller og algoritmer i JumpStart programmatisk ved hjælp af SageMaker Python SDK eller gennem JumpStart UI i Amazon SageMaker Studio. I øjeblikket er AlexaTM 20B kun tilgængelig via SageMaker Python SDK.
- SageMaker indbyggede algoritmer – JumpStart giver over 350 indbyggede algoritmer og forudtrænede modeller sammen med tilsvarende træningsscripts (hvis understøttet), konklusionsscripts og eksempelnotesbøger. Scripts er optimeret til hver ramme og opgave og giver funktioner såsom GPU-understøttelse, automatisk modeljustering og trinvis træning. Scripts testes også mod SageMaker-forekomster og funktioner, så du ikke løber ind i kompatibilitetsproblemer.
- Forudbyggede løsninger – JumpStart leverer et sæt af 23 løsninger til almindelige ML-brugssager, såsom behovsprognose og industrielle og finansielle applikationer, som du kan implementere med blot et par klik. Løsninger er end-to-end ML-applikationer, der samler forskellige AWS-tjenester for at løse en bestemt forretningsbrugssag. De bruger AWS CloudFormation-skabeloner og referencearkitekturer til hurtig implementering, hvilket betyder, at de kan tilpasses fuldt ud.
- Support – SageMaker giver en række support, såsom at vedligeholde opdaterede versioner, når nye SageMaker-funktioner eller Deep Learning Container-versioner frigives, og skabe dokumentation for, hvordan man bruger JumpStart-indhold i et SageMaker-miljø.
For at lære mere om JumpStart og hvordan du kan bruge open source-foruddannede modeller til en række andre ML-opgaver, tjek følgende AWS re: Invent 2020-video.
Om forfatterne
Dr. Vivek Madan er en anvendt videnskabsmand hos Amazon SageMaker JumpStart-teamet. Han fik sin ph.d. fra University of Illinois i Urbana-Champaign og var postdoktor ved Georgia Tech. Han er en aktiv forsker i maskinlæring og algoritmedesign og har publiceret artikler i EMNLP, ICLR, COLT, FOCS og SODA konferencer.
Jack FitzGerald er en senior anvendt videnskabsmand hos Alexa AI, hvor han i øjeblikket fokuserer på store sprogmodellering, flersproget tekstmodellering og maskinlæringsoperationer.
João Moura er AI/ML Specialist Solutions Architect hos Amazon Web Services. Han er for det meste fokuseret på NLP-brugscases og hjælper kunder med at optimere træning og implementering af deep learning-modeller. Han er også en aktiv fortaler for lavkode ML-løsninger og ML-specialiseret hardware.
juni vandt er produktchef med SageMaker JumpStart og indbyggede algoritmer. Han fokuserer på at gøre ML-indhold let tilgængeligt og brugbart for SageMaker-kunder.
Pulkit Kapur er produktleder for Alexa Teacher Model-programmet med Alexa AI, med fokus på generaliseret intelligens og anvendelser af Alexas multitask multimodale fundamentmodeller.
- AI
- ai kunst
- ai kunst generator
- en robot
- Amazon SageMaker
- Amazon SageMaker JumpStart
- kunstig intelligens
- certificering af kunstig intelligens
- kunstig intelligens i banksektoren
- kunstig intelligens robot
- kunstig intelligens robotter
- software til kunstig intelligens
- AWS maskinindlæring
- blockchain
- blockchain konference ai
- coingenius
- samtale kunstig intelligens
- kryptokonference ai
- dalls
- dyb læring
- Grundlæggende (100)
- du har google
- machine learning
- plato
- platon ai
- Platon Data Intelligence
- Platon spil
- PlatoData
- platogaming
- skala ai
- syntaks
- zephyrnet