I dag er vi glade for at kunne meddele, at Code Llama-fundamentmodeller, udviklet af Meta, er tilgængelige for kunder gennem Amazon SageMaker JumpStart at implementere med et enkelt klik for at køre inferens. Code Llama er en state-of-the-art storsprogsmodel (LLM), der er i stand til at generere kode og naturligt sprog om kode fra både kode og naturlige sprogprompter. Du kan prøve denne model med SageMaker JumpStart, en maskinlæringshub (ML), der giver adgang til algoritmer, modeller og ML-løsninger, så du hurtigt kan komme i gang med ML. I dette indlæg gennemgår vi, hvordan du opdager og implementerer Code Llama-modellen via SageMaker JumpStart.
Kode Lama
Code Llama er en model udgivet af Meta der er bygget oven på Llama 2. Denne avancerede model er designet til at forbedre produktiviteten til programmeringsopgaver for udviklere ved at hjælpe dem med at skabe højkvalitets, veldokumenteret kode. Modellerne udmærker sig i Python, C++, Java, PHP, C#, TypeScript og Bash, og har potentialet til at spare udviklernes tid og gøre software arbejdsgange mere effektive.
Den kommer i tre varianter, konstrueret til at dække en bred vifte af applikationer: den grundlæggende model (Code Llama), en Python-specialiseret model (Code Llama Python) og en instruktionsfølgende model til at forstå naturlige sproginstruktioner (Code Llama Instruct). Alle Code Llama-varianter kommer i fire størrelser: 7B, 13B, 34B og 70B parametre. 7B og 13B base og instruktionsvarianter understøtter udfyldning baseret på omgivende indhold, hvilket gør dem ideelle til kodeassistent-applikationer. Modellerne blev designet ved at bruge Llama 2 som base og derefter trænet på 500 milliarder tokens kodedata, med den specialiserede Python-version trænet på inkrementelle 100 milliarder tokens. Code Llama-modellerne giver stabile generationer med op til 100,000 tokens af kontekst. Alle modeller er trænet på sekvenser af 16,000 tokens og viser forbedringer på input med op til 100,000 tokens.
Modellen stilles til rådighed under samme fællesskabslicens som Llama 2.
Fundamentmodeller i SageMaker
SageMaker JumpStart giver adgang til en række modeller fra populære modelhubs, herunder Hugging Face, PyTorch Hub og TensorFlow Hub, som du kan bruge i din ML-udviklingsworkflow i SageMaker. De seneste fremskridt inden for ML har givet anledning til en ny klasse af modeller kendt som fundament modeller, som typisk trænes på milliarder af parametre og kan tilpasses til en bred kategori af use cases, såsom tekstresumé, digital kunstgenerering og sprogoversættelse. Fordi disse modeller er dyre at træne, ønsker kunder at bruge eksisterende præ-trænede foundation-modeller og finjustere dem efter behov, i stedet for at træne disse modeller selv. SageMaker giver en udvalgt liste over modeller, som du kan vælge imellem på SageMaker-konsollen.
Du kan finde fundamentmodeller fra forskellige modeludbydere i SageMaker JumpStart, så du hurtigt kan komme i gang med fundamentmodeller. Du kan finde fundamentmodeller baseret på forskellige opgaver eller modeludbydere og nemt gennemgå modellens egenskaber og brugsbegreber. Du kan også prøve disse modeller ved hjælp af en test-UI-widget. Når du vil bruge en fundamentmodel i stor skala, kan du gøre det uden at forlade SageMaker ved at bruge forudbyggede notesbøger fra modeludbydere. Fordi modellerne er hostet og implementeret på AWS, kan du være sikker på, at dine data, uanset om de bruges til at evaluere eller bruge modellen i stor skala, aldrig deles med tredjeparter.
Oplev Code Llama-modellen i SageMaker JumpStart
Udfør følgende trin for at implementere Code Llama 70B-modellen Amazon SageMaker Studio:
- På SageMaker Studio-hjemmesiden skal du vælge Forspring i navigationsruden.
- Søg efter Code Llama-modeller og vælg Code Llama 70B-modellen fra listen over viste modeller.
Du kan finde mere information om modellen på Code Llama 70B modelkortet.
Følgende skærmbillede viser indstillingerne for slutpunktet. Du kan ændre indstillingerne eller bruge standardindstillingerne.
- Accepter slutbrugerlicensaftalen (EULA), og vælg Implementer.
Dette vil starte slutpunktsimplementeringsprocessen, som vist på det følgende skærmbillede.
Implementer modellen med SageMaker Python SDK
Alternativt kan du implementere gennem eksempelnotesbogen ved at vælge Åbn Notesbog på modeldetaljesiden i Classic Studio. Eksemplet på notesbogen giver ende-til-ende vejledning om, hvordan man implementerer modellen til slutninger og renser ressourcer.
For at implementere ved hjælp af notebook starter vi med at vælge en passende model, specificeret af model_id
. Du kan implementere enhver af de valgte modeller på SageMaker med følgende kode:
Dette implementerer modellen på SageMaker med standardkonfigurationer, inklusive standardforekomsttype og standard VPC-konfigurationer. Du kan ændre disse konfigurationer ved at angive ikke-standardværdier i JumpStartModel. Bemærk, at som standard, accept_eula
er sat til False
. Du skal indstille accept_eula=True
for at implementere slutpunktet med succes. Ved at gøre det accepterer du brugerlicensaftalen og politikken for acceptabel brug som nævnt tidligere. Du kan også downloade licensaftalen.
Kald et SageMaker-slutpunkt
Efter endtpunktet er implementeret, kan du udføre inferens ved at bruge Boto3 eller SageMaker Python SDK. I den følgende kode bruger vi SageMaker Python SDK til at kalde modellen til slutning og udskrive svaret:
funktionen print_response
tager en nyttelast bestående af nyttelast og modelrespons og udskriver output. Code Llama understøtter mange parametre, mens du udfører inferens:
- max_længde – Modellen genererer tekst, indtil outputlængden (som inkluderer inputkontekstlængden) når
max_length
. Hvis det er angivet, skal det være et positivt heltal. - max_new_tokens – Modellen genererer tekst, indtil outputlængden (eksklusive inputkontekstlængden) når
max_new_tokens
. Hvis det er angivet, skal det være et positivt heltal. - antal_bjælker – Dette angiver antallet af stråler, der bruges i den grådige søgning. Hvis det er angivet, skal det være et heltal større end eller lig med
num_return_sequences
. - no_repeat_ngram_size – Modellen sikrer, at en række af ord af
no_repeat_ngram_size
gentages ikke i outputsekvensen. Hvis det er angivet, skal det være et positivt heltal større end 1. - temperatur – Dette styrer tilfældigheden i outputtet. Højere
temperature
resulterer i en outputsekvens med ord med lav sandsynlighed og laveretemperature
resulterer i en outputsekvens med ord med høj sandsynlighed. Hvistemperature
er 0, resulterer det i grådig afkodning. Hvis det er angivet, skal det være en positiv flyder. - tidligt_stop - Hvis
True
, er tekstgenerering afsluttet, når alle strålehypoteser når slutningen af sætningstoken. Hvis det er angivet, skal det være boolesk. - do_sample - Hvis
True
, modellen prøver det næste ord efter sandsynligheden. Hvis det er angivet, skal det være boolesk. - top_k – I hvert trin af tekstgenerering prøver modellen kun fra
top_k
højst sandsynlige ord. Hvis det er angivet, skal det være et positivt heltal. - top_s – I hvert trin af tekstgenerering prøver modellen fra det mindst mulige sæt af ord med kumulativ sandsynlighed
top_p
. Hvis det er angivet, skal det være en flyder mellem 0 og 1. - return_full_text - Hvis
True
, vil inputteksten være en del af den outputgenererede tekst. Hvis det er angivet, skal det være boolesk. Standardværdien for det erFalse
. - stoppe – Hvis det er angivet, skal det være en liste over strenge. Tekstgenerering stopper, hvis en af de angivne strenge genereres.
Du kan angive et hvilket som helst undersæt af disse parametre, mens du kalder et slutpunkt. Dernæst viser vi et eksempel på, hvordan man påberåber sig et slutpunkt med disse argumenter.
Kode afsluttet
De følgende eksempler viser, hvordan man udfører kodefuldførelse, hvor det forventede slutpunktssvar er den naturlige fortsættelse af prompten.
Vi kører først følgende kode:
Vi får følgende output:
Til vores næste eksempel kører vi følgende kode:
Vi får følgende output:
Generering af kode
Følgende eksempler viser Python-kodegenerering ved hjælp af Code Llama.
Vi kører først følgende kode:
Vi får følgende output:
Til vores næste eksempel kører vi følgende kode:
Vi får følgende output:
Dette er nogle af eksemplerne på koderelaterede opgaver, der bruger Code Llama 70B. Du kan bruge modellen til at generere endnu mere kompliceret kode. Vi opfordrer dig til at prøve det ved at bruge dine egne koderelaterede use cases og eksempler!
Ryd op
Når du har testet endepunkterne, skal du sørge for at slette SageMaker-slutningsendepunkterne og modellen for at undgå at pådrage dig gebyrer. Brug følgende kode:
Konklusion
I dette indlæg introducerede vi Code Llama 70B på SageMaker JumpStart. Code Llama 70B er en state-of-the-art model til at generere kode fra naturlige sprogprompter samt kode. Du kan implementere modellen med nogle få enkle trin i SageMaker JumpStart og derefter bruge den til at udføre koderelaterede opgaver såsom kodegenerering og kodeudfyldning. Som et næste trin kan du prøve at bruge modellen med dine egne koderelaterede use cases og data.
Om forfatterne
Dr. Kyle Ulrich er en anvendt videnskabsmand hos Amazon SageMaker JumpStart-teamet. Hans forskningsinteresser omfatter skalerbare maskinlæringsalgoritmer, computervision, tidsserier, Bayesianske ikke-parametriske og Gaussiske processer. Hans ph.d. er fra Duke University, og han har udgivet artikler i NeurIPS, Cell og Neuron.
Dr. Farooq Sabir er senior specialist i kunstig intelligens og maskinlæringsløsninger hos AWS. Han har ph.d.- og MS-grader i elektroteknik fra University of Texas i Austin og en MS i datalogi fra Georgia Institute of Technology. Han har over 15 års erhvervserfaring og kan også lide at undervise og vejlede universitetsstuderende. Hos AWS hjælper han kunder med at formulere og løse deres forretningsproblemer inden for datavidenskab, maskinlæring, computersyn, kunstig intelligens, numerisk optimering og relaterede domæner. Baseret i Dallas, Texas, elsker han og hans familie at rejse og tage på lange roadtrips.
juni vandt er produktchef hos SageMaker JumpStart. Han fokuserer på at gøre fundamentmodeller let synlige og brugbare for at hjælpe kunder med at bygge generative AI-applikationer. Hans erfaring hos Amazon inkluderer også mobil shopping-applikation og last mile-levering.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/code-llama-70b-is-now-available-in-amazon-sagemaker-jumpstart/
- :har
- :er
- :ikke
- :hvor
- $OP
- 000
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 15 år
- 15 %
- 16
- 22
- 25
- 500
- 7
- 80
- 9
- a
- Om
- Acceptere
- acceptabel
- accept
- adgang
- fremskridt
- Aftale
- AI
- algoritmer
- Alle
- også
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- ,
- Annoncere
- enhver
- Anvendelse
- applikationer
- anvendt
- passende
- ER
- argumenter
- Kunst
- kunstig
- kunstig intelligens
- Kunstig intelligens og maskinlæring
- AS
- Assistant
- sikker
- At
- austin
- til rådighed
- undgå
- AWS
- bund
- baseret
- bash
- Bayesiansk
- BE
- Beam
- fordi
- mellem
- Billion
- Milliard tokens
- milliarder
- både
- boble
- bygge
- bygget
- virksomhed
- by
- C + +
- ringe
- CAN
- stand
- kort
- bære
- tilfælde
- Boligtype
- celle
- lave om
- karakteristika
- afgifter
- Vælg
- vælge
- klasse
- Classic
- ren
- klik
- kode
- Kollegium
- Kom
- kommer
- fuldføre
- færdiggørelse
- kompliceret
- computer
- Datalogi
- Computer Vision
- Bestående
- Konsol
- indhold
- sammenhæng
- fortsættelse
- kontrol
- dæksel
- skabe
- kurateret
- Kunder
- Dallas
- data
- datalogi
- Dekodning
- Standard
- levering
- demonstrere
- indsætte
- indsat
- implementering
- udruller
- konstrueret
- detail
- udviklet
- udviklere
- Udvikling
- forskellige
- digital
- digital kunst
- opdage
- do
- gør
- Domæner
- Duke
- hertug universitet
- hver
- tidligere
- nemt
- effektiv
- muliggør
- tilskynde
- ende
- ende til ende
- Endpoint
- manipuleret
- Engineering
- sikrer
- lige
- fejl
- evaluere
- Endog
- eksempel
- eksempler
- Excel
- Undtagen
- ophidset
- Eksklusive
- eksisterende
- forventet
- dyrt
- erfaring
- eksponentiel
- Ansigtet
- familie
- få
- Finde
- Fornavn
- Flyde
- fokuserer
- efter
- Til
- Foundation
- grundlæggende
- fire
- fra
- funktion
- generere
- genereret
- genererer
- generere
- generation
- generationer
- generative
- Generativ AI
- Georgien
- få
- given
- Go
- større
- Greedy
- vejledning
- Have
- he
- hjælpe
- hjælpe
- hjælper
- høj kvalitet
- højere
- hans
- besidder
- Home
- host
- hostede
- Hvordan
- How To
- HTTPS
- Hub
- hubs
- i
- ideal
- if
- importere
- Forbedre
- forbedringer
- in
- omfatter
- omfatter
- Herunder
- inkremental
- oplysninger
- indgang
- indgange
- instans
- Institut
- anvisninger
- Intelligens
- interesser
- introduceret
- IT
- Java
- jpg
- kendt
- Kyle
- Sprog
- stor
- Efternavn
- læring
- forlader
- Længde
- Licens
- sandsynlighed
- Sandsynlig
- synes godt om
- Liste
- Llama
- LLM
- Lang
- kærlighed
- lavere
- maskine
- machine learning
- lavet
- lave
- Making
- leder
- mange
- nævnte
- mentor
- Meta
- mile
- ML
- Mobil
- model
- modeller
- mere
- mere effektiv
- mest
- MS
- skal
- Natural
- Navigation
- Behov
- behov
- aldrig
- Ny
- næste
- Bemærk
- notesbog
- nu
- nummer
- of
- on
- ONE
- dem
- kun
- optimering
- Indstillinger
- or
- vores
- ud
- output
- i løbet af
- egen
- side
- brød
- papirer
- parametre
- del
- parter
- per
- Udfør
- udfører
- phd
- PHP
- plato
- Platon Data Intelligence
- PlatoData
- politik
- Populær
- positiv
- mulig
- Indlæg
- potentiale
- Predictor
- udskrifter
- problemer
- behandle
- Processer
- Produkt
- produktchef
- produktivitet
- Programmering
- prompter
- give
- udbydere
- giver
- offentliggjort
- Python
- pytorch
- hurtigt
- tilfældighed
- rækkevidde
- hellere
- nå
- når
- nylige
- relaterede
- frigivet
- gentaget
- forskning
- Ressourcer
- svar
- REST
- Resultater
- afkast
- vende
- gennemgå
- Rise
- vej
- Kør
- kører
- sagemaker
- SageMaker Inference
- samme
- Gem
- skalerbar
- Scale
- Videnskab
- Videnskabsmand
- SDK
- Søg
- valgt
- udvælgelse
- senior
- dømme
- Sequence
- Series
- Tjenester
- sæt
- indstillinger
- delt
- Shopping
- Vis
- vist
- Shows
- Simpelt
- størrelser
- So
- Software
- Løsninger
- SOLVE
- nogle
- specialist
- specialiserede
- specificeret
- angiver
- stabil
- starte
- påbegyndt
- state-of-the-art
- Trin
- Steps
- stopper
- String
- Studerende
- Studio
- Succesfuld
- sådan
- support
- Understøtter
- sikker
- Omkringliggende
- tager
- opgaver
- hold
- Teknologier
- tensorflow
- vilkår
- prøve
- afprøvet
- Texas
- tekst
- end
- at
- deres
- Them
- selv
- derefter
- Disse
- Tredje
- tredje partier
- denne
- tre
- Gennem
- tid
- Tidsserier
- til
- token
- Tokens
- top
- Tog
- uddannet
- Oversættelse
- rejse
- krydse
- sand
- prøv
- typen
- maskinskrift
- typisk
- ui
- under
- forståelse
- universitet
- indtil
- brugbar
- Brug
- brug
- anvendte
- Bruger
- ved brug af
- værdi
- Værdier
- række
- udgave
- via
- vision
- gå
- ønsker
- we
- web
- webservices
- GODT
- var
- hvornår
- hvorvidt
- som
- mens
- bred
- widget
- vilje
- med
- inden for
- uden
- ord
- ord
- Arbejde
- workflow
- arbejdsgange
- skriver
- år
- Du
- Din
- zephyrnet