Idag är vi glada att kunna meddela att Code Llama foundation-modeller, utvecklade av Meta, är tillgängliga för kunder via Amazon SageMaker JumpStart att distribuera med ett klick för att köra slutledning. Code Llama är en toppmodern storspråksmodell (LLM) som kan generera kod och naturligt språk om kod från både kod och naturliga språkuppmaningar. Du kan prova den här modellen med SageMaker JumpStart, ett nav för maskininlärning (ML) som ger tillgång till algoritmer, modeller och ML-lösningar så att du snabbt kan komma igång med ML. I det här inlägget går vi igenom hur du upptäcker och distribuerar Code Llama-modellen via SageMaker JumpStart.
Kod lama
Code Llama är en modell släppt av meta som är byggd ovanpå Llama 2. Denna toppmoderna modell är designad för att förbättra produktiviteten för programmeringsuppgifter för utvecklare genom att hjälpa dem att skapa högkvalitativ, väldokumenterad kod. Modellerna utmärker sig i Python, C++, Java, PHP, C#, TypeScript och Bash, och har potential att spara utvecklarnas tid och göra mjukvaruarbetsflöden mer effektiva.
Den finns i tre varianter, konstruerade för att täcka en mängd olika applikationer: grundmodellen (Code Llama), en Python-specialiserad modell (Code Llama Python) och en instruktionsföljande modell för att förstå naturliga språkinstruktioner (Code Llama Instruct). Alla Code Llama-varianter finns i fyra storlekar: 7B, 13B, 34B och 70B parametrar. 7B och 13B bas- och instruktionsvarianter stöder fyllning baserat på omgivande innehåll, vilket gör dem idealiska för kodassistentapplikationer. Modellerna designades med Llama 2 som bas och tränades sedan på 500 miljarder tokens koddata, med Python-specialiserade versionen tränad på inkrementella 100 miljarder tokens. Code Llama-modellerna ger stabila generationer med upp till 100,000 16,000 tokens av sammanhang. Alla modeller är tränade på sekvenser av 100,000 XNUMX tokens och visar förbättringar på ingångar med upp till XNUMX XNUMX tokens.
Modellen görs tillgänglig under samma gemenskapslicens som Llama 2.
Grundmodeller i SageMaker
SageMaker JumpStart ger tillgång till en rad modeller från populära modellhubbar, inklusive Hugging Face, PyTorch Hub och TensorFlow Hub, som du kan använda i ditt ML-utvecklingsarbetsflöde i SageMaker. De senaste framstegen inom ML har gett upphov till en ny klass av modeller som kallas grundmodeller, som vanligtvis tränas på miljarder parametrar och kan anpassas till en bred kategori av användningsfall, såsom textsammanfattning, digital konstgenerering och språköversättning. Eftersom dessa modeller är dyra att träna vill kunderna använda befintliga förutbildade grundmodeller och finjustera dem efter behov, snarare än att träna dessa modeller själva. SageMaker tillhandahåller en utvald lista över modeller som du kan välja mellan på SageMaker-konsolen.
Du kan hitta grundmodeller från olika modellleverantörer inom SageMaker JumpStart, vilket gör att du snabbt kan komma igång med grundmodeller. Du kan hitta grundmodeller baserade på olika uppgifter eller modellleverantörer och enkelt granska modellens egenskaper och användningsvillkor. Du kan också prova dessa modeller med en test-UI-widget. När du vill använda en grundmodell i stor skala kan du göra det utan att lämna SageMaker genom att använda förbyggda bärbara datorer från modellleverantörer. Eftersom modellerna är värd och distribueras på AWS kan du vara säker på att din data, oavsett om den används för att utvärdera eller använda modellen i stor skala, aldrig delas med tredje part.
Upptäck Code Llama-modellen i SageMaker JumpStart
För att distribuera Code Llama 70B-modellen, slutför följande steg i Amazon SageMaker Studio:
- Välj på SageMaker Studios hemsida Försprång i navigeringsfönstret.
- Sök efter Code Llama-modeller och välj Code Llama 70B-modellen från listan över modeller som visas.
Du kan hitta mer information om modellen på modellkortet Code Llama 70B.
Följande skärmdump visar slutpunktsinställningarna. Du kan ändra alternativen eller använda standardalternativen.
- Acceptera slutanvändarlicensavtalet (EULA) och välj Distribuera.
Detta kommer att starta slutpunktsdistributionsprocessen, som visas i följande skärmdump.
Distribuera modellen med SageMaker Python SDK
Alternativt kan du distribuera via exempelanteckningsboken genom att välja Öppna Notebook på modelldetaljsidan i Classic Studio. Exemplet på anteckningsboken ger vägledning från början till slut om hur man distribuerar modellen för slutledning och städar upp resurser.
För att distribuera med hjälp av en bärbar dator börjar vi med att välja en lämplig modell, specificerad av model_id
. Du kan distribuera vilken som helst av de valda modellerna på SageMaker med följande kod:
Detta distribuerar modellen på SageMaker med standardkonfigurationer, inklusive standardinstanstyp och standard VPC-konfigurationer. Du kan ändra dessa konfigurationer genom att ange icke-standardvärden i JumpStartModel. Observera att som standard, accept_eula
är inställd på False
. Du måste ställa in accept_eula=True
för att distribuera slutpunkten framgångsrikt. Genom att göra det accepterar du användarlicensavtalet och policyn för acceptabel användning som nämnts tidigare. Du kan också ladda ner licensavtalet.
Anropa en SageMaker-slutpunkt
Efter att slutpunkten har distribuerats kan du göra slutledning genom att använda Boto3 eller SageMaker Python SDK. I följande kod använder vi SageMaker Python SDK för att anropa modellen för slutledning och skriva ut svaret:
Funktionen print_response
tar en nyttolast som består av nyttolasten och modellsvaret och skriver ut resultatet. Code Llama stöder många parametrar när du utför slutledning:
- Maxlängd – Modellen genererar text tills utdatalängden (som inkluderar den inmatade kontextlängden) når
max_length
. Om det anges måste det vara ett positivt heltal. - max_new_tokens – Modellen genererar text tills utdatalängden (exklusive inmatningskontextlängden) når
max_new_tokens
. Om det anges måste det vara ett positivt heltal. - num_beams – Detta anger antalet strålar som används i den giriga sökningen. Om det anges måste det vara ett heltal större än eller lika med
num_return_sequences
. - no_repeat_ngram_size – Modellen säkerställer att en sekvens av ord av
no_repeat_ngram_size
upprepas inte i utmatningssekvensen. Om det anges måste det vara ett positivt heltal större än 1. - temperatur – Detta styr slumpmässigheten i utgången. Högre
temperature
resulterar i en utdatasekvens med ord med låg sannolikhet och lägretemperature
resulterar i en utdatasekvens med hög sannolikhet ord. Omtemperature
är 0, resulterar det i girig avkodning. Om det anges måste det vara ett positivt flytande. - tidigt_stopp - Om
True
, är textgenereringen avslutad när alla strålhypoteser når slutet av meningen. Om det anges måste det vara booleskt. - do_sample - Om
True
, modellen samplar nästa ord enligt sannolikheten. Om det anges måste det vara booleskt. - top_k – I varje steg av textgenereringen tar modellen endast exempel från
top_k
mest troliga ord. Om det anges måste det vara ett positivt heltal. - top_p – I varje steg av textgenerering, samplar modellen från minsta möjliga uppsättning ord med kumulativ sannolikhet
top_p
. Om det anges måste det vara ett flytande mellan 0 och 1. - return_full_text - Om
True
, kommer inmatningstexten att vara en del av den utgående genererade texten. Om det anges måste det vara booleskt. Standardvärdet för det ärFalse
. - stoppa – Om det anges måste det vara en lista med strängar. Textgenereringen stoppas om någon av de angivna strängarna genereras.
Du kan ange vilken delmängd som helst av dessa parametrar medan du anropar en slutpunkt. Därefter visar vi ett exempel på hur man anropar en slutpunkt med dessa argument.
Kodens slutförande
Följande exempel visar hur man utför kodkomplettering där det förväntade slutpunktssvaret är den naturliga fortsättningen av prompten.
Vi kör först följande kod:
Vi får följande utdata:
För vårt nästa exempel kör vi följande kod:
Vi får följande utdata:
Kodgenerering
Följande exempel visar Python-kodgenerering med hjälp av Code Llama.
Vi kör först följande kod:
Vi får följande utdata:
För vårt nästa exempel kör vi följande kod:
Vi får följande utdata:
Det här är några av exemplen på kodrelaterade uppgifter som använder Code Llama 70B. Du kan använda modellen för att generera ännu mer komplicerad kod. Vi uppmuntrar dig att prova det med dina egna kodrelaterade användningsfall och exempel!
Städa upp
När du har testat slutpunkterna, se till att du tar bort SageMaker slutpunkterna och modellen för att undvika avgifter. Använd följande kod:
Slutsats
I det här inlägget introducerade vi Code Llama 70B på SageMaker JumpStart. Code Llama 70B är en toppmodern modell för att generera kod från naturliga språkmeddelanden såväl som kod. Du kan distribuera modellen med några enkla steg i SageMaker JumpStart och sedan använda den för att utföra kodrelaterade uppgifter som kodgenerering och kodinfyllning. Som nästa steg kan du prova att använda modellen med dina egna kodrelaterade användningsfall och data.
Om författarna
Dr Kyle Ulrich är en tillämpad forskare med Amazon SageMaker JumpStart-teamet. Hans forskningsintressen inkluderar skalbara maskininlärningsalgoritmer, datorseende, tidsserier, Bayesianska icke-parametriska och Gaussiska processer. Hans doktorsexamen är från Duke University och han har publicerat artiklar i NeurIPS, Cell och Neuron.
Dr Farooq Sabir är Senior Artificiell Intelligens och Machine Learning Specialist Solutions Architect på AWS. Han har doktorsexamen och MS-examen i elektroteknik från University of Texas i Austin och en MS i datavetenskap från Georgia Institute of Technology. Han har över 15 års arbetslivserfarenhet och gillar även att undervisa och mentor studenter. På AWS hjälper han kunder att formulera och lösa sina affärsproblem inom datavetenskap, maskininlärning, datorseende, artificiell intelligens, numerisk optimering och relaterade domäner. Baserad i Dallas, Texas, älskar han och hans familj att resa och åka på långa vägresor.
Juni vann är produktchef hos SageMaker JumpStart. Han fokuserar på att göra grundmodeller lätta att upptäcka och använda för att hjälpa kunder att bygga generativa AI-applikationer. Hans erfarenhet på Amazon inkluderar även mobil shoppingapplikation och sista mil leverans.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/code-llama-70b-is-now-available-in-amazon-sagemaker-jumpstart/
- : har
- :är
- :inte
- :var
- $UPP
- 000
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 15 år
- 15%
- 16
- 22
- 25
- 500
- 7
- 80
- 9
- a
- Om oss
- Acceptera
- godtagbart
- godkännande
- tillgång
- framsteg
- Avtal
- AI
- algoritmer
- Alla
- också
- amason
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- och
- Meddela
- vilken som helst
- Ansökan
- tillämpningar
- tillämpas
- lämpligt
- ÄR
- argument
- Konst
- konstgjord
- artificiell intelligens
- Konstgjord intelligens och maskininlärning
- AS
- Assistent
- säker
- At
- austin
- tillgänglig
- undvika
- AWS
- bas
- baserat
- bash
- Bayesian
- BE
- Stråle
- därför att
- mellan
- Miljarder
- Miljarder tokens
- miljarder
- båda
- bubbla
- SLUTRESULTAT
- byggt
- företag
- by
- C + +
- Ring
- KAN
- kapabel
- kortet
- bära
- fall
- Kategori
- cellen
- byta
- egenskaper
- avgifter
- Välja
- välja
- klass
- klassiska
- rena
- klick
- koda
- College
- komma
- kommer
- fullborda
- fullbordan
- komplicerad
- dator
- Datavetenskap
- Datorsyn
- Bestående
- Konsol
- innehåll
- sammanhang
- fortsättning
- kontroller
- täcka
- skapa
- kurerad
- Kunder
- Dallas
- datum
- datavetenskap
- avkodning
- Standard
- leverans
- demonstrera
- distribuera
- utplacerade
- utplacering
- vecklas ut
- utformade
- detalj
- utvecklade
- utvecklare
- Utveckling
- olika
- digital
- digital konst
- Upptäck
- do
- gör
- domäner
- Duke
- hertig universitet
- varje
- Tidigare
- lätt
- effektiv
- möjliggör
- uppmuntra
- änden
- början till slut
- Slutpunkt
- engineered
- Teknik
- säkerställer
- lika
- fel
- utvärdering
- Även
- exempel
- exempel
- excel
- Utom
- exciterade
- exklusive
- befintliga
- förväntat
- dyra
- erfarenhet
- exponentiell
- Ansikte
- familj
- få
- hitta
- Förnamn
- Flyta
- fokuserar
- efter
- För
- fundament
- grundläggande
- fyra
- från
- fungera
- generera
- genereras
- genererar
- generera
- generering
- generationer
- generativ
- Generativ AI
- georgien
- skaffa sig
- ges
- Go
- större
- Greedy
- vägleda
- Har
- he
- hjälpa
- hjälpa
- hjälper
- hög kvalitet
- högre
- hans
- innehar
- Hem
- värd
- värd
- Hur ser din drömresa ut
- How To
- HTTPS
- Nav
- nav
- i
- idealisk
- if
- importera
- förbättra
- förbättringar
- in
- innefattar
- innefattar
- Inklusive
- steg
- informationen
- ingång
- ingångar
- exempel
- Institute
- instruktioner
- Intelligens
- intressen
- introducerade
- IT
- java
- jpg
- känd
- kyle
- språk
- Large
- Efternamn
- inlärning
- lämnar
- Längd
- Licens
- sannolikhet
- sannolikt
- gillar
- Lista
- Lama
- LLM
- Lång
- älskar
- lägre
- Maskinen
- maskininlärning
- gjord
- göra
- Framställning
- chef
- många
- nämnts
- mentorn
- meta
- mil
- ML
- Mobil
- modell
- modeller
- mer
- mer effektiv
- mest
- MS
- måste
- Natural
- Navigering
- Behöver
- behövs
- aldrig
- Nya
- Nästa
- Notera
- anteckningsbok
- nu
- antal
- of
- on
- ONE
- ettor
- endast
- optimering
- Tillbehör
- or
- vår
- ut
- produktion
- över
- egen
- sida
- panelen
- papper
- parametrar
- del
- parter
- för
- Utföra
- utför
- phd
- PHP
- plato
- Platon Data Intelligence
- PlatonData
- policy
- Populära
- positiv
- möjlig
- Inlägg
- potentiell
- Predictor
- Skriva ut
- utskrifter
- problem
- process
- processer
- Produkt
- produktchef
- produktivitet
- Programmering
- prompter
- ge
- leverantörer
- ger
- publicerade
- Python
- pytorch
- snabbt
- slumpmässighet
- område
- snarare
- nå
- når
- senaste
- relaterad
- frigörs
- upprepade
- forskning
- Resurser
- respons
- REST
- Resultat
- avkastning
- vända
- översyn
- Rise
- väg
- Körning
- rinnande
- sagemaker
- SageMaker Inference
- Samma
- Save
- skalbar
- Skala
- Vetenskap
- Forskare
- sDK
- Sök
- vald
- väljer
- senior
- mening
- Sekvens
- Serier
- Tjänster
- in
- inställningar
- delas
- Gå och Handla
- show
- visas
- Visar
- Enkelt
- storlekar
- So
- Mjukvara
- Lösningar
- LÖSA
- några
- specialist
- specialiserad
- specificerade
- specificerar
- stabil
- starta
- igång
- state-of-the-art
- Steg
- Steg
- Stoppar
- Sträng
- Studenter
- studio
- Framgångsrikt
- sådana
- stödja
- Stöder
- säker
- kring
- tar
- uppgifter
- grupp
- Teknologi
- tensorflow
- villkor
- testa
- testade
- texas
- text
- än
- den där
- Smakämnen
- deras
- Dem
- sig själva
- sedan
- Dessa
- Tredje
- utomstående
- detta
- tre
- Genom
- tid
- Tidsföljder
- till
- token
- tokens
- topp
- Tåg
- tränad
- Översättning
- färdas
- korsa
- sann
- prova
- Typ
- skrivmaskin
- typiskt
- ui
- under
- förståelse
- universitet
- tills
- användbar
- Användning
- användning
- Begagnade
- Användare
- med hjälp av
- värde
- Värden
- mängd
- version
- via
- syn
- gå
- vill
- we
- webb
- webbservice
- VÄL
- były
- när
- om
- som
- medan
- bred
- widget
- kommer
- med
- inom
- utan
- ord
- ord
- Arbete
- arbetsflöde
- arbetsflöden
- skriva
- år
- Om er
- Din
- zephyrnet