I dag er vi glade for å kunngjøre at Falcon 180B-fundamentmodellen utviklet av Technology Innovation Institute (TII) og trent på Amazon SageMaker er tilgjengelig for kunder gjennom Amazon SageMaker JumpStart å distribuere med ett klikk for å kjøre inferens. Med en størrelse på 180 milliarder parametere og trent på et massivt datasett på 3.5 billioner token, er Falcon 180B den største og en av de mest ytende modellene med åpent tilgjengelige vekter. Du kan prøve ut denne modellen med SageMaker JumpStart, et maskinlæringssenter (ML) som gir tilgang til algoritmer, modeller og ML-løsninger slik at du raskt kan komme i gang med ML. I dette innlegget går vi gjennom hvordan du oppdager og distribuerer Falcon 180B-modellen via SageMaker JumpStart.
Hva er Falcon 180B
Falcon 180B er en modell utgitt av IIT som følger tidligere utgivelser i Falcon-familien. Det er en oppskalert versjon av Falcon 40B, og den bruker multi-søk oppmerksomhet for bedre skalerbarhet. Det er en autoregressiv språkmodell som bruker en optimalisert transformatorarkitektur. Den ble trent på 3.5 billioner tokens med data, primært bestående av nettdata fra RefinedWeb (omtrent 85%). Modellen har to versjoner: 180B og 180B-Chat. 180B er en rå, forhåndstrent modell, som bør finjusteres ytterligere for de fleste brukstilfeller. 180B-Chat er bedre egnet til å ta generiske instruksjoner. Chat-modellen er finjustert på chat- og instruksjonsdatasett sammen med flere store samtaledatasett.
Modellen er gjort tilgjengelig under Falcon-180B TII-lisens og Retningslinjer for akseptabel bruk.
Falcon 180B ble trent av TII på Amazon SageMaker, på en klynge med omtrent 4K A100 GPUer. Den brukte en tilpasset distribuert treningskodebase kalt Gigatron, som bruker 3D-parallellisme med ZeRO, og tilpassede, høyytelses Triton-kjerner. Den distribuerte treningsarkitekturen som ble brukt Amazon enkel lagringstjeneste (Amazon S3) som den eneste enhetlige tjenesten for datalasting og skriving og lesing av sjekkpunkter, noe som spesielt bidro til påliteligheten av arbeidsbelastningen og enkelheten.
Hva er SageMaker JumpStart
Med SageMaker JumpStart kan ML-utøvere velge fra en voksende liste over foundationmodeller med best ytelse. ML-utøvere kan distribuere grunnmodeller til dedikerte SageMaker-forekomster i et nettverksisolert miljø, og tilpasse modeller ved å bruke Amazon SageMaker for modellopplæring og -implementering.
Du kan nå oppdage og distribuere Falcon 180B med noen få klikk inn Amazon SageMaker Studio eller programmatisk gjennom SageMaker Python SDK, slik at du kan utlede modellytelse og MLOps-kontroller med SageMaker-funksjoner som f.eks. Amazon SageMaker-rørledninger, Amazon SageMaker Debugger, eller containerlogger. Modellen er distribuert i et AWS-sikkert miljø og under dine VPC-kontroller, noe som bidrar til å sikre datasikkerhet. Falcon 180B er synlig og kan distribueres i regioner der de nødvendige forekomstene er tilgjengelige. For øyeblikket er ml.p4de-forekomster tilgjengelige i US East (N. Virginia) og US West (Oregon).
Oppdag modeller
Du kan få tilgang til grunnmodellene gjennom SageMaker JumpStart i SageMaker Studio UI og SageMaker Python SDK. I denne delen går vi gjennom hvordan du oppdager modellene i SageMaker Studio.
SageMaker Studio er et integrert utviklingsmiljø (IDE) som gir et enkelt nettbasert visuelt grensesnitt der du kan få tilgang til spesialbygde verktøy for å utføre alle ML-utviklingstrinn, fra å forberede data til å bygge, trene og distribuere ML-modellene dine. For mer informasjon om hvordan du kommer i gang og konfigurerer SageMaker Studio, se Amazon SageMaker Studio.
I SageMaker Studio kan du få tilgang til SageMaker JumpStart, som inneholder ferdigtrente modeller, bærbare datamaskiner og forhåndsbygde løsninger, under Forhåndsbygde og automatiserte løsninger.
Fra SageMaker JumpStart-landingssiden kan du søke etter løsninger, modeller, notatbøker og andre ressurser. Du kan finne Falcon 180B i Grunnmodeller: Tekstgenerering karusell.
Du kan også finne andre modellvarianter ved å velge Utforsk alle tekstgenerasjonsmodeller eller søker etter Falcon
.
Du kan velge modellkortet for å se detaljer om modellen, for eksempel lisens, data som brukes til å trene, og hvordan du bruker den. Du finner også to knapper, Distribuer og Åpne Notebook, som vil hjelpe deg å bruke modellen (følgende skjermbilde viser Distribuer alternativ).
Implementere modeller
Når du velger Distribuer, vil modellimplementeringen starte. Alternativt kan du distribuere gjennom eksempelnotisboken som dukker opp ved å velge Åpne Notebook. Eksempelnotisboken gir ende-til-ende veiledning om hvordan du kan distribuere modellen for slutninger og rydde opp i ressurser.
For å distribuere ved hjelp av en bærbar PC, starter vi med å velge en passende modell, spesifisert av model_id
. Du kan distribuere hvilken som helst av de valgte modellene på SageMaker med følgende kode:
Dette distribuerer modellen på SageMaker med standardkonfigurasjoner, inkludert standard forekomsttype og standard VPC-konfigurasjoner. Du kan endre disse konfigurasjonene ved å spesifisere ikke-standardverdier i JumpStartModel
. For å lære mer, se API dokumentasjon. Etter at det er distribuert, kan du kjøre slutninger mot det distribuerte endepunktet gjennom en SageMaker-prediktor. Se følgende kode:
Inferensparametere styrer tekstgenereringsprosessen ved endepunktet. Maks nye tokens kontroll refererer til størrelsen på utdataene generert av modellen. Legg merke til at dette ikke er det samme som antall ord fordi vokabularet til modellen ikke er det samme som det engelskspråklige vokabularet, og hver token er kanskje ikke et engelskspråklig ord. Temperaturen kontrollerer tilfeldigheten i utgangen. Høyere temperatur resulterer i mer kreative og hallusinerte utganger. Alle slutningsparametrene er valgfrie.
Denne 180B-parametermodellen er på 335 GB og krever enda mer GPU-minne for å utføre tilstrekkelig slutning i 16-biters presisjon. Foreløpig støtter JumpStart bare denne modellen på ml.p4de.24xlarge-forekomster. Det er mulig å distribuere en 8-bits kvantisert modell på en ml.p4d.24xlarge instans ved å tilby env={"HF_MODEL_QUANTIZE": "bitsandbytes"}
søkeordargument til JumpStartModel
konstruktør og spesifisering instance_type="ml.p4d.24xlarge"
til distribusjonsmetoden. Vær imidlertid oppmerksom på at forsinkelsen per token er omtrent 5 ganger langsommere for denne kvantiserte konfigurasjonen.
Følgende tabell viser alle Falcon-modellene som er tilgjengelige i SageMaker JumpStart sammen med modell-ID-ene, standard forekomsttyper, maksimalt antall totale tokens (summen av antall input-tokens og antall genererte tokens) som støttes, og den typiske responsforsinkelsen per token for hver av disse modellene.
Modellnavn | Modell-ID | Standard forekomsttype | Maks totalt antall tokens | Latens per token* |
Falcon 7B | huggingface-llm- falcon-7b-bf16 |
ml.g5.2xlarge | 2048 | 34 ms |
Falcon 7B Instruk | huggingface-llm- falcon-7b-instruct-bf16 |
ml.g5.2xlarge | 2048 | 34 ms |
Falcon 40B | huggingface-llm- falcon-40b-bf16 |
ml.g5.12xlarge | 2048 | 57 ms |
Falcon 40B Instruk | huggingface-llm- falcon-40b-instruct-bf16 |
ml.g5.12xlarge | 2048 | 57 ms |
Falcon 180B | huggingface-llm- falcon-180b-bf16 |
ml.p4de.24xlarge | 2048 | 45 ms |
Falcon 180B Chat | huggingface-llm- falcon-180b-chat-bf16 |
ml.p4de.24xlarge | 2048 | 45 ms |
*Per-token latens er gitt for median responstid for eksempelmeldingene i denne bloggen; denne verdien vil variere basert på lengden på inngangs- og utgangssekvenser.
Inferens- og eksempelmeldinger for Falcon 180B
Falcon-modeller kan brukes til tekstutfylling for alle tekster. Gjennom tekstgenerering kan du utføre en rekke oppgaver, for eksempel svare på spørsmål, språkoversettelse, sentimentanalyse og mange flere. Endepunktet godtar følgende nyttelastskjema for input:
Du kan utforske definisjonen av disse klientparametere og deres standardverdier i tekst-generering-inferens-depotet.
Følgende er noen eksempler på ledetekster og teksten generert av modellen. Alle utganger her genereres med inferensparametere {"max_new_tokens": 768, "stop": ["<|endoftext|>", "###"]}
.
Å bygge en nettside kan gjøres i 10 enkle trinn:
Du vil kanskje legge merke til at denne forhåndstrente modellen genererer lange tekstsekvenser som ikke nødvendigvis er ideelle for brukstilfeller for dialog. Før vi viser hvordan den finjusterte chat-modellen fungerer for et større sett med dialogbaserte spørsmål, illustrerer de neste to eksemplene hvordan du bruker Falcon-modeller med få skudd i kontekstlæring, der vi gir treningseksempler tilgjengelig for modellen. Legg merke til at "få-skuddslæring" ikke justerer modellvekter - vi utfører kun slutninger om den utplasserte modellen under denne prosessen, samtidig som vi gir noen få eksempler innenfor input-konteksten for å hjelpe guild-modellutdata.
Inferens- og eksempelmeldinger for Falcon 180B-Chat
Med Falcon 180B-Chat-modeller, optimert for brukstilfeller for dialog, kan input til chat-modellens endepunkter inneholde tidligere historikk mellom chat-assistenten og brukeren. Du kan stille spørsmål kontekstuelle til samtalen som har skjedd så langt. Du kan også oppgi systemkonfigurasjonen, for eksempel personas, som definerer chat-assistentens oppførsel. Nyttelasten til endepunktet er den samme som Falcon 180B-modellen bortsett fra inputs
strengverdi skal bruke følgende format:
Følgende er noen eksempler på ledetekster og teksten generert av modellen. Alle utganger genereres med inferensparametere {"max_new_tokens":256, "stop": ["nUser:", "<|endoftext|>", " User:", "###"]}.
I følgende eksempel har brukeren hatt en samtale med assistenten om turiststeder i Paris. Deretter spør brukeren om det første alternativet anbefalt av chat-assistenten.
Rydd opp
Når du er ferdig med å kjøre notatboken, sørg for å slette alle ressursene du opprettet i prosessen slik at faktureringen stoppes. Bruk følgende kode:
konklusjonen
I dette innlegget viste vi deg hvordan du kommer i gang med Falcon 180B i SageMaker Studio og distribuerer modellen for slutning. Fordi grunnmodeller er forhåndsopplært, kan de bidra til å redusere opplærings- og infrastrukturkostnadene og muliggjøre tilpasning for ditt bruksområde. Besøk SageMaker JumpStart i SageMaker Studio nå for å komme i gang.
Ressurser
Om forfatterne
Dr. Kyle Ulrich er en Applied Scientist med Amazon SageMaker JumpStart-teamet. Hans forskningsinteresser inkluderer skalerbare maskinlæringsalgoritmer, datasyn, tidsserier, Bayesianske ikke-parametriske og Gaussiske prosesser. Hans doktorgrad er fra Duke University og han har publisert artikler i NeurIPS, Cell og Neuron.
Dr. Ashish Khetan er en Senior Applied Scientist med Amazon SageMaker JumpStart 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.
Olivier Cruchant er hovedarkitekt for maskinlæringsløsninger hos AWS, basert i Frankrike. Olivier hjelper AWS-kunder – fra små startups til store bedrifter – med å utvikle og distribuere maskinlæringsapplikasjoner i produksjonsgrad. På fritiden liker han å lese forskningsartikler og utforske villmarken med venner og familie.
Karl Albertsen leder Amazon SageMakers grunnmodellhub, algoritmer og partnerskapsteam.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Bil / elbiler, Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- ChartPrime. Hev handelsspillet ditt med ChartPrime. Tilgang her.
- BlockOffsets. Modernisering av eierskap for miljøkompensasjon. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/falcon-180b-foundation-model-from-tii-is-now-available-via-amazon-sagemaker-jumpstart/