Finjuster og distribuer Mistral 7B med Amazon SageMaker JumpStart | Amazon Web Services

Finjuster og distribuer Mistral 7B med Amazon SageMaker JumpStart | Amazon Web Services

I dag er vi glade for å kunngjøre muligheten til å finjustere Mistral 7B-modellen ved hjelp av Amazon SageMaker JumpStart. Du kan nå finjustere og distribuere Mistral-tekstgenereringsmodeller på SageMaker JumpStart ved å bruke Amazon SageMaker Studio UI med noen få klikk eller ved å bruke SageMaker Python SDK.

Grunnmodeller fungerer veldig bra med generative oppgaver, fra å lage tekst og sammendrag, svare på spørsmål til å produsere bilder og videoer. Til tross for de store generaliseringsmulighetene til disse modellene, er det ofte brukstilfeller som har svært spesifikke domenedata (som helsetjenester eller finansielle tjenester), og disse modellene kan kanskje ikke gi gode resultater for disse brukstilfellene. Dette resulterer i et behov for ytterligere finjustering av disse generative AI-modellene over brukstilfellespesifikke og domenespesifikke data.

I dette innlegget viser vi hvordan du finjusterer Mistral 7B-modellen ved hjelp av SageMaker JumpStart.

Hva er Mistral 7B

Mistral 7B er en grunnmodell utviklet av Mistral AI, og støtter engelsk tekst- og kodegenereringsevne. Den støtter en rekke brukstilfeller, for eksempel tekstoppsummering, klassifisering, tekstfullføring og kodefullføring. For å demonstrere tilpassbarheten til modellen har Mistral AI også utgitt en Mistral 7B-Instruct-modell for chat-brukstilfeller, finjustert ved hjelp av en rekke offentlig tilgjengelige samtaledatasett.

Mistral 7B er en transformatormodell og bruker gruppert søkeoppmerksomhet og skyvevinduoppmerksomhet for å oppnå raskere inferens (lav latens) og håndtere lengre sekvenser. Grouped query attention er en arkitektur som kombinerer multi-query og multi-head oppmerksomhet for å oppnå utskriftskvalitet nær multi-head oppmerksomhet og sammenlignbar hastighet med multi-query oppmerksomhet. Skyvevindusoppmerksomhetsmetoden bruker flere nivåer i en transformatormodell for å fokusere på informasjon som kom tidligere, noe som hjelper modellen å forstå en lengre strekning av kontekst. . Mistral 7B har en kontekstlengde på 8,000 token, viser lav latens og høy gjennomstrømning, og har sterk ytelse sammenlignet med større modellalternativer, og gir lave minnekrav ved en 7B modellstørrelse. Modellen er gjort tilgjengelig under den tillatelige Apache 2.0-lisensen, for bruk uten begrensninger.

Du kan finjustere modellene ved å bruke enten SageMaker Studio UI eller SageMaker Python SDK. Vi diskuterer begge metodene i dette innlegget.

Finjuster via SageMaker Studio UI

I SageMaker Studio kan du få tilgang til Mistral-modellen via SageMaker JumpStart under Modeller, notatbøker og løsninger, som vist på følgende skjermbilde.

Hvis du ikke ser Mistral-modeller, oppdater SageMaker Studio-versjonen din ved å slå av og starte på nytt. For mer informasjon om versjonsoppdateringer, se Slå av og oppdater Studio-apper.

Finjuster og distribuer Mistral 7B med Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

På modellsiden kan du peke på Amazon enkel lagringstjeneste (Amazon S3) bøtte som inneholder opplærings- og valideringsdatasettene for finjustering. I tillegg kan du konfigurere distribusjonskonfigurasjon, hyperparametre og sikkerhetsinnstillinger for finjustering. Du kan da velge Tog å starte opplæringsjobben på en SageMaker ML-instans.

Finjuster og distribuer Mistral 7B med Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Distribuer modellen

Etter at modellen er finjustert, kan du distribuere den ved å bruke modellsiden på SageMaker JumpStart. Alternativet for å distribuere den finjusterte modellen vil vises når finjusteringen er fullført, som vist i følgende skjermbilde.

Finjuster og distribuer Mistral 7B med Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Finjuster via SageMaker Python SDK

Du kan også finjustere Mistral-modeller ved å bruke SageMaker Python SDK. Den komplette notatboken er tilgjengelig på GitHub. I denne delen gir vi eksempler på to typer finjustering.

Finjustering av instruksjonene

Instruksjonsinnstilling er en teknikk som innebærer å finjustere en språkmodell på en samling av oppgaver for naturlig språkbehandling (NLP) ved hjelp av instruksjoner. I denne teknikken trenes modellen til å utføre oppgaver ved å følge tekstinstruksjoner i stedet for spesifikke datasett for hver oppgave. Modellen er finjustert med et sett med input- og output-eksempler for hver oppgave, slik at modellen kan generalisere til nye oppgaver som den ikke har blitt eksplisitt trent på, så lenge det er gitt spørsmål for oppgavene. Instruksjonsjustering bidrar til å forbedre nøyaktigheten og effektiviteten til modellene og er nyttig i situasjoner der store datasett ikke er tilgjengelige for spesifikke oppgaver.

La oss gå gjennom finjusteringskoden i eksemplet bærbare med SageMaker Python SDK.

Vi bruker en delmengde av Dolly datasett i et instruksjonsinnstillingsformat, og spesifiser template.json fil som beskriver inndata- og utdataformatene. Treningsdataene må formateres i formatet JSON-linjer (.jsonl), der hver linje er en ordbok som representerer et enkelt dataeksempel. I dette tilfellet navngir vi det train.jsonl.

Følgende utdrag er et eksempel på train.jsonl. Nøklene instruction, contextog response i hver prøve skal ha tilsvarende oppføringer {instruction}, {context}, {response} i template.json.

{ "instruction": "What is a dispersive prism?", "context": "In optics, a dispersive prism is an optical prism that is used to disperse light, that is, to separate light into its spectral components (the colors of the rainbow). Different wavelengths (colors) of light will be deflected by the prism at different angles. This is a result of the prism material's index of refraction varying with wavelength (dispersion). Generally, longer wavelengths (red) undergo a smaller deviation than shorter wavelengths (blue). The dispersion of white light into colors by a prism led Sir Isaac Newton to conclude that white light consisted of a mixture of different colors.", "response": "A dispersive prism is an optical prism that disperses the light's different wavelengths at different angles. When white light is shined through a dispersive prism it will separate into the different colors of the rainbow."
}

Følgende er et eksempel på template.json:

{ "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. " "Write a response that appropriately completes the request.nn" "### Instruction:n{instruction}nn### Input:n{context}nn", "completion": " {response}",
}

Etter at du har lastet opp forespørselsmalen og treningsdataene til en S3-bøtte, kan du angi hyperparametrene.

my_hyperparameters["epoch"] = "1"
my_hyperparameters["per_device_train_batch_size"] = "2"
my_hyperparameters["gradient_accumulation_steps"] = "2"
my_hyperparameters["instruction_tuned"] = "True"
print(my_hyperparameters)

Du kan deretter starte finjusteringsprosessen og distribuere modellen til et sluttpunkt. I følgende kode bruker vi en ml.g5.12xlarge-forekomst:

from sagemaker.jumpstart.estimator import JumpStartEstimator instruction_tuned_estimator = JumpStartEstimator( model_id=model_id, hyperparameters=my_hyperparameters, instance_type="ml.g5.12xlarge",
)
instruction_tuned_estimator.fit({"train": train_data_location}, logs=True) instruction_tuned_predictor = instruction_tuned_estimator.deploy()

Finjustering av domenetilpasning

Finjustering av domenetilpasning er en prosess som foredler en forhåndsopplært LLM for å passe bedre til et spesifikt domene eller oppgave. Ved å bruke et mindre, domenespesifikt datasett, kan LLM finjusteres for å forstå og generere innhold som er mer nøyaktig, relevant og innsiktsfullt for det spesifikke domenet, samtidig som den beholder den enorme kunnskapen den fikk under den opprinnelige opplæringen.

Mistral-modellen kan finjusteres på ethvert domenespesifikt datasett. Etter at den er finjustert, forventes den å generere domenespesifikk tekst og løse ulike NLP-oppgaver i det spesifikke domenet. For opplæringsdatasettet, oppgi en togkatalog og en valgfri valideringskatalog, som hver inneholder en enkelt CSV-, JSON- eller TXT-fil. For CSV- og JSON-formater, bruk data fra text kolonne eller den første kolonnen hvis text er ikke tilstede. Sørg for at det bare finnes én fil under hver katalog. For eksempel kan inndata være SEC-arkiver fra Amazon som en tekstfil:

This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of the Securities Exchange Act of 1934. Forward-looking statements may appear
throughout this report, including the following sections: “Business” (Part I,
Item 1 of this Form 10-K), “Risk Factors” (Part I, Item 1A of this Form 10-K),
and “Management’s Discussion and Analysis of Financial Condition and Results
of Operations” (Part II, Item 7 of this Form 10-K). These forward-looking
statements generally are identified by the words “believe,” “project,”
“expect,” “anticipate,” “estimate,” “intend,” “strategy,” “future,”
“opportunity,” “plan,” “may,” “should,” “will,” “would,” “will be,” “will
continue,” “will likely result,” and similar expressions.

Du kan starte finjustering av domenetilpasning ved å spesifisere hyperparameteren "instruction_tuned" som "False". Resten av trinnene ligner på instruksjonens finjusteringstrinn.

Vi setter max_input_length å være 2048 på g5.12xlarge. Du kan bruke en høyere inngangslengde på en større forekomsttype. For detaljer, se eksempel notisbok.

Inferenseksempel med og uten finjustering

Tabellen nedenfor inneholder resultatene av Mistral 7B-modellen finjustert med SEC-arkivdokumenter fra Amazon fra 2021–2022. Vi sammenligner resultatet før og etter finjustering.

Inndatamelding Utgang før finjustering Utgang etter finjustering parametere
Denne Form 10-K-rapporten viser det

selskapet har eksistert i 10 år og har totalt 10 ansatte. Selskapet har totalt 10 ansatte og driver virksomhet med å yte tjenester til publikum. Selskapet har totalt 10 ansatte og driver virksomhet med å yte tjenester til publikum.

Selskapet har totalt 10 ansatte og driver virksomhet med å yte tjenester til publikum. Selskapet har totalt 10 ansatte og driver virksomhet med å yte tjenester til publikum. Selskapet har totalt 10 ansatte og driver virksomhet med å yte tjenester til publikum. Selskapet har totalt 10 ansatte og driver med å levere

vi hadde en nettoomsetning på 1.2 milliarder dollar, 1.5 milliarder dollar og 1.8 milliarder dollar i 2004, 2003 og 2002. Disse beløpene inkluderer salg fra våre internasjonale nettsteder. Nettoomsetning fra våre internasjonale nettsteder var $323 millioner, $242 millioner og $150 millioner i 2004, 2003 og 2002. Nettoomsetning fra våre internasjonale nettsteder representerte 27 %, 16 % og 8 % av nettoomsetningen i 2004, 2003 og 2002 . "temperatur": 0.2,
"max_new_tokens": 150,
Vi betjener forbrukerne gjennom

vårt detaljhandelsnettverk på 1,700 butikker, som inkluderer 1,200 butikker i USA, 400 butikker i Canada og 100 butikker i Mexico. Vi betjener også forbrukere gjennom våre e-handelsnettsteder.

## Hva er den største oppussingsbutikken?

The Home Depot er den største boligforbedringsbutikken i USA.

## Hva er den største oppussingsbutikken i verden?

Den største oppussingsbutikken i verden er Home Depot.

## Hva er den største oppussingsbutikken i

våre nettbutikker og fysiske butikker og fokus på utvalg, pris og bekvemmelighet. Vi designer butikkene våre slik at hundrevis av millioner unike produkter kan selges av oss og av tredjeparter på tvers av dusinvis av produktkategorier. Kunder får tilgang til tilbudene våre gjennom våre nettsider, mobilapper, Alexa, enheter, strømming og fysisk besøk i butikkene våre. Vi produserer og selger også elektroniske enheter, inkludert Kindle, Fire-nettbrett, Fire TV, Echo og Ring, og vi utvikler og produserer medieinnhold. Vi søker å tilby våre kunder lave priser, rask og gratis levering, brukervennlig funksjonalitet og rettidig kundeservice. I tillegg tilbyr vi abonnementstjenester som Amazon Prime, en
Vår visjon er

å være den ledende leverandøren av kvalitetsmessige, rimelige og tilgjengelige helsetjenester i lokalsamfunnene vi betjener.

Vårt oppdrag er å tilby kvalitet, rimelige og tilgjengelige helsetjenester til lokalsamfunnene vi betjener.

Våre verdier er:

– Integritet: Vi handler med ærlighet og integritet i alle våre forretninger.
– Respekt: ​​Vi behandler alle med respekt og verdighet.
– Fortreffelighet: Vi streber etter fortreffelighet i alt vi gjør.
– Medfølelse: Vi bryr oss om pasientene våre og hverandre med medfølelse.
– Teamarbeid: Vi jobber sammen som et team for å nå våre mål.

Vår forpliktelse overfor våre pasienter er å tilby kvalitet, rimelige og tilgjengelige helsetjenester.

å være jordens mest kundesentrerte selskap. Vi styres av fire prinsipper: kundebesatthet i stedet for konkurrentfokus, lidenskap for oppfinnelser, forpliktelse til operasjonell fortreffelighet og langsiktig tenkning. I hvert av våre segmenter betjener vi våre primære kundesett, bestående av forbrukere, selgere, utviklere, bedrifter og innholdsskapere. I tillegg tilbyr vi tjenester, for eksempel annonsering. Vi har organisert virksomheten vår i tre segmenter: Nord-Amerika, internasjonalt og AWS. Disse segmentene gjenspeiler måten selskapet evaluerer sine forretningsresultater og styrer sin virksomhet. Informasjon om nettosalget vårt finnes i punkt 8 i del II, "Finansregnskap

Som du kan se, gir den finjusterte modellen mer spesifikk informasjon relatert til Amazon sammenlignet med den generiske forhåndstrente. Dette er fordi finjustering tilpasser modellen for å forstå nyansene, mønstrene og spesifikasjonene til det angitte datasettet. Ved å bruke en forhåndstrent modell og skreddersy den med finjustering, sikrer vi at du får det beste fra begge verdener: den brede kunnskapen om den forhåndstrente modellen og den spesialiserte nøyaktigheten for ditt unike datasett. Én størrelse passer kanskje ikke alle i verden av maskinlæring, og finjustering er den skreddersydde løsningen du trenger!

konklusjonen

I dette innlegget diskuterte vi finjustering av Mistral 7B-modellen ved hjelp av SageMaker JumpStart. Vi viste hvordan du kan bruke SageMaker JumpStart-konsollen i SageMaker Studio eller SageMaker Python SDK for å finjustere og distribuere disse modellene. Som et neste trinn kan du prøve å finjustere disse modellene på ditt eget datasett ved å bruke koden gitt i GitHub-depotet for å teste og benchmarke resultatene for brukstilfellene dine.


Om forfatterne

Xin HuangXin Huang er Senior Applied Scientist for Amazon SageMaker JumpStart og Amazon SageMaker innebygde algoritmer. Han fokuserer på å utvikle skalerbare maskinlæringsalgoritmer. Hans forskningsinteresser er innen naturlig språkbehandling, forklarbar dyp læring på tabelldata og robust analyse av ikke-parametrisk rom-tid-klynger. Han har publisert mange artikler i ACL, ICDM, KDD-konferanser og Royal Statistical Society: Series A.

Finjuster og distribuer Mistral 7B med Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Vivek Gangasani er en AI/ML Startup Solutions Architect for generative AI-startups hos AWS. Han hjelper nye GenAI-startups med å bygge innovative løsninger ved å bruke AWS-tjenester og akselerert databehandling. For tiden er han fokusert på å utvikle strategier for finjustering og optimalisering av slutningsytelsen til store språkmodeller. På fritiden liker Vivek å gå tur, se filmer og prøve forskjellige retter.

Finjuster og distribuer Mistral 7B med Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Dr. Ashish Khetan er en Senior Applied Scientist med Amazon SageMaker innebygde algoritmer og hjelper til med å utvikle maskinlæringsalgoritmer. Han fikk sin doktorgrad fra University of Illinois Urbana-Champaign. Han er en aktiv forsker innen maskinlæring og statistisk inferens, og har publisert mange artikler på NeurIPS, ICML, ICLR, JMLR, ACL og EMNLP-konferanser.

Tidstempel:

Mer fra AWS maskinlæring