Generativ dataintelligens

Falcon 180B fundamentmodell fra TII er nå tilgjengelig via Amazon SageMaker JumpStart | Amazon Web Services

Dato:

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:

from sagemaker.jumpstart.model import JumpStartModel my_model = JumpStartModel(model_id="huggingface-llm-falcon-180b-chat-bf16") predictor = my_model.deploy()

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:

payload = { "inputs": "User: Hello!nFalcon: ", "parameters": {"max_new_tokens": 256, "top_p": 0.9, "temperature": 0.6}
}
response = predictor.predict(payload)

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:

payload = { "inputs": str, (optional)"parameters": { "do_sample": bool, "max_new_tokens": int, "repetition_penalty": float, "return_full_text": bool, "stop": List[str], "seed": int, "temperature": float, "top_k": int, "top_p": float, "truncate": int, "typical_p": float, "best_of": int, "watermark": bool, "details": bool, "decoder_input_details": bool, }
}

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:

Input Building a website can be done in 10 simple steps: Output
- Choose a domain name
- Register your domain name
- Choose a web host
- Choose a website builder
- Create your website
- Add content to your website
- Add pages to your website
- Add images to your website
- Add videos to your website
- Add social media to your website
1. Choose a domain name
A domain name is the address of your website. It is what people will type into their browser to find your website. For example, the domain name of this website is.
When choosing a domain name, you should choose something that is easy to remember and that represents your business or website. You should also make sure that the domain name is available. You can check if a domain name is available by using a domain name search tool.
2. Register your domain name
Once you have chosen a domain name, you need to register it. This can be done through a domain name registrar. A domain name registrar is a company that manages the registration of domain names.
When registering your domain name, you will need to provide your contact information and choose a payment method. You will also need to choose a domain name extension. The most common domain name extensions are .com, .net, and .org.
3. Choose a web host
A web host is a company that provides space on a server for your website. When choosing a web host, you should choose one that is reliable and that offers good customer support. You should also make sure that the web host offers the features that you need for your website.
4. Choose a website builder
A website builder is a tool that allows you to create a website without having to learn how to code. There are many different website builders available, so you should choose one that is easy to use and that offers the features that you need.
5. Create your website
Once you have chosen a website builder, you can start creating your website. You will need to choose a template for your website and then add content to your website.
6. Add content to your website
The content of your website is what will make your website unique. You should add content that is relevant to your business or website. You can add text, images, videos, and other types of content to your website.
7. Add pages to your website
A website is made up of pages. You can add as many pages as you want to your website. Each page should have a different purpose. For example, you might have a page for your home page, a page for your about page, and a page for your contact page.
8. Add images to your website
Images can make your website more visually appealing. You can add images to your website by uploading them to your website or by using a image hosting service.
9. Add videos to your website
Videos can also make your website more visually appealing. You can add videos to your website by uploading them to your website or by using a video hosting service.
10. Add social media to your website
Social media can help you promote your website. You can add social media buttons to your website so that people can share your website on social media. You can also add social media feeds to your website so that people can see your latest social media posts.

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.

Input
Tweet: "I hate it when my phone battery dies."
Sentiment: Negative
###
Tweet: "My day has been :+1:"
Sentiment: Positive
###
Tweet: "This is the link to the article"
Sentiment: Neutral
###
Tweet: "This new music video was incredible"
Sentiment: Output Positive
###

Input
Translate English to French:
sea otter => loutre de mer
###
peppermint => menthe poivrée
###
plush girafe => girafe peluche
###
cheese => Output fromage
###

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:

System: <An optional system prompt>
User: <Optional user message history>
Falcon: <Optional chat history Falcon response>
User: <Current user message>
Falcon:

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:", "###"]}.

Input
System: You are a helpful assistant
User: What is Amazon SageMaker JumpStart?
Falcon: Output Amazon SageMaker JumpStart is a capability of Amazon SageMaker that provides a set of solutions to common machine learning problems. These solutions include pre-built machine learning models, algorithms, and pre-configured model training and deployment settings. JumpStart also provides sample notebooks that demonstrate how to use these solutions for various use cases. The goal of JumpStart is to help users get started with machine learning quickly and easily, without the need for extensive machine learning expertise.
User:

Input
User: Simply put, the theory of relativity states that
Falcon: Output 1. The laws of physics are the same for all observers in uniform motion relative to one another.
2. The speed of light in a vacuum is the same for all observers, regardless of their motion or the motion of the light source.
3. Time and space are relative, meaning that they can vary depending on the observer's frame of reference.
4. Mass and energy are interchangeable, as expressed by the famous equation E=mc².
User:

Input
User: Building a website can be done in 10 simple steps:
Falcon: Output
1. Determine the purpose and goals of your website.
2. Choose a domain name and register it.
3. Select a web hosting provider and sign up for a plan.
4. Choose a website builder or content management system (CMS) to use.
5. Select a theme or template for your website.
6. Customize the design and layout of your website.
7. Add content to your website, including text, images, and videos.
8. Set up navigation menus and links to make your website easy to navigate.
9. Test your website to ensure it is functioning properly and is mobile-friendly.
10. Launch your website and promote it to attract visitors.
User:

Input
System: Always answer with a Haiku.
User: I am deploying a large language model on Amazon SageMaker JumpStart. What should I do?
Falcon: Output "JumpStart" your dreams,
Deploy with ease, scale with glee,
SageMaker awaits.

Input
System: Generate a table summarizing the options outlined in this email.
User: Team, we have to make a decision on the product plan for Goocrux v2. The first option will take us 3 weeks of development, and will achieve performance of 80ms, but means that the UI has to change. The second option will take us 4 weeks of development, and will achieve performance of 60ms, without any UI change. The third option will take the longest -- 6 weeks of development, will achieve performance of 30ms, without any UI change. A markdown table with four columns: (1) Option ID, (2) Development time, (3) Performance, (4) UI Change.
Falcon: Output
| Option ID | Development time | Performance | UI Change |
| --- | --- | --- | --- |
| 1 | 3 weeks | 80ms | Yes |
| 2 | 4 weeks | 60ms | No |
| 3 | 6 weeks | 30ms | No |

Input
System: You always translate English to French.
User: sea otter => loutre de mer
peppermint => menthe poivrée
plush girafe => girafe peluche
cheese =>
Falcon: Output
=> fromage

Input
System: Classify the user prompt as Negative, Positive, or Neutral sentiment. Use a short response.
User: Tweet: "This new music video was awesome" Falcon: Output "Positive"

Input
User: What is the recipe of mayonnaise?
Falcon: Output 1. In a mixing bowl, whisk together 1 egg yolk, 1 tablespoon of Dijon mustard, and 1 tablespoon of lemon juice until well combined.
2. While whisking continuously, slowly drizzle in 1 cup of vegetable oil until the mixture thickens and emulsifies.
3. Season with salt and pepper to taste.
4. Store in an airtight container in the refrigerator for up to one week.
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.

Input
System: You are a helpful trip planner.
User: I am going to Paris, what should I see?
Falcon: 1. Eiffel Tower: No trip to Paris is complete without a visit to the iconic Eiffel Tower.
2. Louvre Museum: Home to some of the world's most famous art, including the Mona Lisa.
3. Notre-Dame Cathedral: A stunning example of Gothic architecture and a must-see for history buffs.
4. Champs-Élysées: One of the most famous avenues in the world, lined with shops, cafes, and theaters.
5. Montmartre: A charming neighborhood known for its bohemian vibe, street art, and stunning views of the city.
6. Palace of Versailles: A short train ride from Paris, this opulent palace was once the seat of French royalty.
7. Musée d'Orsay: Housed in a former train station, this museum boasts an impressive collection of Impressionist and Post-Impressionist art.
8. Sainte-Chapelle: A hidden gem in the heart of Paris, this medieval chapel is famous for its stunning stained glass windows.
9. Luxembourg Gardens: A beautiful park in the heart of the city, perfect for a picnic or a leisurely stroll.
User: What is so great about #1?
Falcon: Output
#1 is the Eiffel Tower, which is one of the most famous landmarks in the world. It is a symbol of Paris and a must-see attraction for many visitors. The tower offers stunning views of the city from its observation decks, and it is especially beautiful when lit up at night. Additionally, the Eiffel Tower has a rich history and is an engineering marvel, making it a fascinating destination for anyone interested in architecture or history.
User:

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:

predictor.delete_model()
predictor.delete_endpoint()

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.

spot_img

Siste etterretning

spot_img