Tänään olemme iloisia voidessamme ilmoittaa, että Metan kehittämät Code Llama -meikkipohjamallit ovat asiakkaiden saatavilla kautta Amazon SageMaker JumpStart ottaa käyttöön yhdellä napsautuksella päättelyn suorittamiseksi. Code Llama on huippuluokan kielimalli (LLM), joka pystyy tuottamaan koodia ja luonnollista kieltä koodista sekä koodin että luonnollisen kielen kehotteista. Code Llama on ilmainen tutkimus- ja kaupalliseen käyttöön. Voit kokeilla tätä mallia SageMaker JumpStartilla, koneoppimiskeskuksella (ML), joka tarjoaa pääsyn algoritmeihin, malleihin ja ML-ratkaisuihin, jotta voit nopeasti aloittaa ML:n käytön. Tässä viestissä käymme läpi Code Llama -mallin löytämisen ja käyttöönoton SageMaker JumpStartin kautta.
Mikä on Code Llama
Code Llama on malli, jonka on julkaissut Meta joka on rakennettu Llama 2:n päälle ja on huippuluokan malli, joka on suunniteltu parantamaan kehittäjien ohjelmointitehtävien tuottavuutta auttamalla heitä luomaan korkealaatuista, hyvin dokumentoitua koodia. Mallit osoittavat huippuluokan suorituskykyä Pythonissa, C++:ssa, Javassa, PHP:ssä, C#:ssa, TypeScriptissä ja Bashissa, ja ne voivat säästää kehittäjien aikaa ja tehostaa ohjelmistojen työnkulkua. Sitä on saatavilla kolmessa eri versiossa, jotka on suunniteltu kattamaan monenlaisia sovelluksia: perusmalli (Code Llama), Python-erikoismalli (Code Llama-Python) ja ohjeita seuraava malli luonnollisen kielen ohjeiden ymmärtämiseen (Code Llama-Instruct). ). Kaikista Code Llama -versioista on kolme kokoa: 7B, 13B ja 34B parametrit. 7B- ja 13B-kanta- ja ohjeversiot tukevat täyttöä ympäröivän sisällön perusteella, joten ne sopivat ihanteellisesti koodiavustajasovelluksiin.
Mallit suunniteltiin käyttämällä Llama 2:ta pohjana, ja sitten niitä harjoiteltiin 500 miljardilla koodidatan tunnisteella, ja Python-erikoisversio oli koulutettu 100 miljardin lisätokenin avulla. Code Llama -mallit tarjoavat vakaat sukupolvet, joissa on jopa 100,000 16,000 kontekstimerkkiä. Kaikki mallit on koulutettu 100,000 XNUMX merkin sarjoihin, ja niissä on parannuksia jopa XNUMX XNUMX tunnuksella.
Malli on saatavilla samalla alla yhteisön lisenssi nimellä Llama 2.
Mikä on SageMaker JumpStart
SageMaker JumpStartin avulla ML-harjoittajat voivat valita kasvavasta luettelosta parhaiten suoriutuvia meikkipohjamalleja. ML-ammattilaiset voivat ottaa käyttöön perustamismalleja omistettuihin Amazon Sage Maker instansseja verkosta eristetyssä ympäristössä ja mukauta malleja SageMakerin avulla mallin koulutusta ja käyttöönottoa varten.
Voit nyt löytää ja ottaa käyttöön Code Llama -malleja muutamalla napsautuksella Amazon SageMaker Studio tai ohjelmallisesti SageMaker Python SDK:n kautta, jonka avulla voit johtaa mallin suorituskykyä ja MLOps-säätimiä SageMaker-ominaisuuksilla, kuten Amazon SageMaker -putkistot, Amazon SageMaker -korjaamotai konttitukkeja. Malli on otettu käyttöön suojatussa AWS-ympäristössä ja VPC-ohjaimissasi, mikä auttaa varmistamaan tietoturvan. Code Llama -mallit ovat löydettävissä ja niitä voidaan ottaa käyttöön USA:n itäosassa (N. Virginia), Yhdysvaltain lännessä (Oregon) ja Euroopassa (Irlanti).
Asiakkaiden on hyväksyttävä EULA voidakseen ottaa malliviisumi SageMaker SDK:n käyttöön.
Tutustu malleihin
Voit käyttää Code Llama -perusmallien SageMaker JumpStartin kautta SageMaker Studion käyttöliittymässä ja SageMaker Python SDK:ssa. Tässä osiossa käymme läpi kuinka löytää mallit SageMaker Studiossa.
SageMaker Studio on integroitu kehitysympäristö (IDE), joka tarjoaa yhden web-pohjaisen visuaalisen käyttöliittymän, jossa voit käyttää tarkoitukseen rakennettuja työkaluja kaikkien ML-kehitysvaiheiden suorittamiseen tietojen valmistelusta ML-mallien rakentamiseen, koulutukseen ja käyttöönottoon. Katso lisätietoja SageMaker Studion aloittamisesta ja määrittämisestä Amazon SageMaker Studio.
SageMaker Studiossa voit käyttää SageMaker JumpStartia, joka sisältää valmiiksi koulutetut mallit, muistikirjat ja valmiiksi rakennetut ratkaisut. Valmiiksi rakennetut ja automatisoidut ratkaisut.
SageMaker JumpStart -aloitussivulla voit selata ratkaisuja, malleja, muistikirjoja ja muita resursseja. Löydät Code Llama -malleja osoitteesta Perusmallit: Tekstin luominen karuselli.
Voit etsiä myös muita mallivaihtoehtoja valitsemalla Tutustu kaikkiin tekstinluontimalleihin tai etsit Code Llamaa.
Voit valita mallikortin nähdäksesi mallin tiedot, kuten lisenssin, koulutuksessa käytetyt tiedot ja käytön. Löydät myös kaksi painiketta, Sijoittaa ja Avaa Muistikirja, joka auttaa sinua käyttämään mallia.
Sijoittaa
Kun valitset Sijoittaa ja hyväksy ehdot, käyttöönotto alkaa. Vaihtoehtoisesti voit ottaa käyttöön esimerkkimuistikirjan kautta valitsemalla Avaa Muistikirja. Esimerkkimuistikirja, joka tarjoaa päästä päähän -ohjeet mallin käyttöönotosta päätelmien tekemiseen ja resurssien puhdistamiseen.
Ottaaksesi käyttöön kannettavan tietokoneen, aloitamme valitsemalla sopivan mallin, jonka määrittelee model_id
. Voit ottaa käyttöön mitä tahansa valituista malleista SageMakerissa seuraavalla koodilla:
Tämä ottaa mallin käyttöön SageMakerissa oletuskokoonpanoilla, mukaan lukien oletusinstanssityypit ja oletusarvoiset VPC-kokoonpanot. Voit muuttaa näitä määrityksiä määrittämällä ei-oletusarvoja JumpStartModel. Kun se on otettu käyttöön, voit suorittaa päättelyn käyttöön otettua päätepistettä vastaan SageMaker-ennustajan kautta:
Huomaa, että oletuksena accept_eula
asetetaan false
. Sinun on asetettava accept_eula=true
kutsua päätepiste onnistuneesti. Näin tekemällä hyväksyt aiemmin mainitun käyttöoikeussopimuksen ja hyväksyttävän käyttökäytännön. Voit myös download lisenssisopimus.
Custom_attributes
EULA:n läpäisemiseen käytetään avain/arvo-pareja. Avain ja arvo erotetaan merkillä = ja parit erotetaan merkillä ;. Jos käyttäjä välittää saman avaimen useammin kuin kerran, viimeinen arvo säilytetään ja välitetään komentosarjan käsittelijälle (tässä tapauksessa käytetään ehdolliseen logiikkaan). Esimerkiksi jos accept_eula=false; accept_eula=true
siirretään sitten palvelimelle accept_eula=true
säilytetään ja välitetään komentosarjan käsittelijälle.
Päätelmäparametrit ohjaavat tekstin luontiprosessia päätepisteessä. Uusien tokenien maksimiohjaus viittaa mallin tuottaman lähdön kokoon. Huomaa, että tämä ei ole sama kuin sanojen määrä, koska mallin sanasto ei ole sama kuin englannin kielen sanasto, ja jokainen merkki ei välttämättä ole englanninkielinen sana. Lämpötila ohjaa lähdön satunnaisuutta. Korkeampi lämpötila johtaa luovempiin ja hallusinoituneempiin tuloksiin. Kaikki päättelyparametrit ovat valinnaisia.
Seuraavassa taulukossa luetellaan kaikki Code Llama -mallit, jotka ovat saatavilla SageMaker JumpStartissa, sekä mallitunnukset, oletusilmentymien tyypit ja enimmäistuetut tunnisteet (syöttötunnusten lukumäärän ja luotujen tunnisteiden lukumäärän summa kaikille samanaikaisille pyynnöille). näitä malleja.
Mallin nimi | Model ID | Oletusinstanssityyppi | Maksimi tuetut tokenit |
CodeLlama-7b | meta-textgeneration-lama-codellama-7b | ml.g5.2xsuuri | 10000 |
CodeLlama-7b-Ohje | meta-textgeneration-llama-codellama-7b-ohje | ml.g5.2xsuuri | 10000 |
CodeLlama-7b-Python | meta-textgeneration-llama-codellama-7b-python | ml.g5.2xsuuri | 10000 |
CodeLlama-13b | meta-textgeneration-lama-codellama-13b | ml.g5.12xsuuri | 32000 |
CodeLlama-13b-Ohje | meta-textgeneration-llama-codellama-13b-ohje | ml.g5.12xsuuri | 32000 |
CodeLlama-13b-Python | meta-textgeneration-llama-codellama-13b-python | ml.g5.12xsuuri | 32000 |
CodeLlama-34b | meta-textgeneration-lama-codellama-34b | ml.g5.48xsuuri | 48000 |
CodeLlama-34b-Ohje | meta-textgeneration-llama-codellama-34b-ohje | ml.g5.48xsuuri | 48000 |
CodeLlama-34b-Python | meta-textgeneration-llama-codellama-34b-python | ml.g5.48xsuuri | 48000 |
Vaikka Code Llama -malleja koulutettiin 16,000 7 tunnuksen kontekstipituudella, mallit ovat raportoineet hyvästä suorituskyvystä vielä suuremmissa kontekstiikkunoissa. Edellisessä taulukossa tuettujen merkkien enimmäismäärä on oletusilmentymän tyypin tuetun kontekstiikkunan yläraja. Koska Code Llama 10,000B -malli tukee vain 5.2 13 merkkiä ml.g34xlarge-esiintymässä, suosittelemme XNUMXB- tai XNUMXB-malliversion käyttöönottoa, jos sovelluksessasi tarvitaan suurempia konteksteja.
Oletuksena kaikki mallit toimivat koodin luontitehtävissä. Sekä perus- että ohjemallit vastaavat täyttötehtäviin, vaikka perusmallilla olikin parempi laatu useimmille näytekyselyille. Lopuksi, vain ohjemallit toimivat ohjetehtävissä. Seuraava taulukko havainnollistaa, millä malleilla oli hyvä suorituskyky (Good) ja kohtalainen suorituskyky (Keskitaso) esittelymuistikirjojen esimerkkikyselyissä.
. | Koodin luominen | Koodin täyttö | Ohjeet koodiin |
CodeLlama-7b | hyvä | hyvä | N / A |
CodeLlama-7b-Ohje | hyvä | kohtalainen | hyvä |
CodeLlama-7b-Python | hyvä | N / A | N / A |
CodeLlama-13b | hyvä | hyvä | N / A |
CodeLlama-13b-Ohje | hyvä | kohtalainen | hyvä |
CodeLlama-13b-Python | hyvä | N / A | N / A |
CodeLlama-34b | hyvä | N / A | N / A |
CodeLlama-34b-Ohje | hyvä | N / A | hyvä |
CodeLlama-34b-Python | hyvä | N / A | N / A |
Koodin luonti
Seuraavat esimerkit ajettiin CodeLlama-34b-Instruct-mallilla hyötykuormaparametreilla "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9}
:
Koodin täyttö
Koodin täyttö tarkoittaa luodun koodin palauttamista ympäröivässä kontekstissa. Tämä eroaa koodin luontitehtävästä, koska mallissa on etuliitekoodisegmentin lisäksi myös koodisegmentin pääte. Hienosäädön aikana käytettiin erityisiä tunnuksia merkitsemään etuliitteen (<PRE>
), päätteen alku (<SUF>
), ja keskikohdan alku (<MID>
). Mallin syöttösekvenssien tulee olla jossakin seuraavista muodoista:
- etuliite-liite-keski -
<PRE> {prefix} <SUF>{suffix} <MID>
- pääte-etuliite-keski -
<PRE> <SUF>{suffix} <MID> {prefix}
Seuraavissa esimerkeissä käytetään prefix-suffix-middle-muotoa CodeLlama-7b-mallissa hyötykuormalla parameters {"max_new_tokens": 256, "temperature": 0.05, "top_p": 0.9}
:
Ohjeet koodiin
Meta toimitti myös ohjeistetun version Code Llamasta. Tämän osion esimerkkikyselyitä voidaan soveltaa vain näihin käskyviritettyihin Code Llama -malleihin, jotka ovat malleja, joissa on mallitunnuksen käskypääte. Ohjeiden Code Llama -muoto on sama kuin Llama-2-chat-kehotteen muoto, josta kerromme tarkemmin Llama 2 -pohjamallit ovat nyt saatavilla SageMaker JumpStartissa
Yksinkertainen käyttäjäkehote voi näyttää tältä:
Voit myös lisätä järjestelmäkehotteen seuraavalla syntaksilla:
Lopuksi voit käydä keskustelua mallin kanssa sisällyttämällä syötteeseen kaikki aiemmat käyttäjän kehotteet ja avustajan vastaukset:
Nämä esimerkit ajettiin CodeLlama-13b-Instruct-mallilla hyötykuormaparametreilla "parametrit": {"max_new_tokens": 512, "temperature": 0.2, "top_p": 0.9}
:
Puhdistaa
Kun olet lopettanut muistikirjan käyttämisen, muista poistaa kaikki prosessissa luomasi resurssit, jotta laskutuksesi lopetetaan. Käytä seuraavaa koodia:
Yhteenveto
Tässä viestissä näytimme sinulle, kuinka pääset alkuun Code Llama -mallien kanssa SageMaker Studiossa ja otat käyttöön mallin koodin ja luonnollisen kielen luomiseksi koodista sekä koodin että luonnollisen kielen kehotteista. Koska perusmallit ovat valmiiksi koulutettuja, ne voivat auttaa alentamaan koulutus- ja infrastruktuurikustannuksia ja mahdollistaa räätälöinnin käyttötilanteeseesi. Aloita käymällä SageMaker JumpStartissa SageMaker Studiossa nyt.
Esittelymateriaalit
Tietoja kirjoittajista
Gabriel Synnaeve on tutkimusjohtaja Facebook AI Research (FAIR) -tiimissä Metassa. Ennen metaa Gabriel työskenteli tutkijatohtorina Emmanuel Dupoux'n tiimissä École Normale Supérieuressa Pariisissa ja työskenteli vauvojen kielen oppimisen käänteissuunnittelussa. Gabriel väitteli tohtorintutkinnon reaaliaikaisten strategiapelien tekoälyyn sovelletusta Bayesian mallintamisesta Grenoblen yliopistosta.
Eissa Jamil on Partner Engineer RL, Generatiivinen AI Metassa.
Tohtori Kyle Ulrich on soveltuva tutkija Amazon SageMaker JumpStart -tiimin kanssa. Hänen tutkimusalueitaan ovat skaalautuvat koneoppimisalgoritmit, tietokonenäkö, aikasarjat, Bayesin ei-parametrit ja Gaussin prosessit. Hänen tohtorinsa on Duken yliopistosta ja hän on julkaissut artikkeleita NeurIPS-, Cell- ja Neuron-julkaisuissa.
Tohtori Ashish Khetan on vanhempi soveltuva tutkija Amazon SageMaker JumpStartissa ja auttaa kehittämään koneoppimisalgoritmeja. Hän sai tohtorin tutkinnon Illinois Urbana-Champaignin yliopistosta. Hän on aktiivinen koneoppimisen ja tilastollisen päättelyn tutkija, ja hän on julkaissut monia artikkeleita NeurIPS-, ICML-, ICLR-, JMLR-, ACL- ja EMNLP-konferensseissa.
Vivek Singh on SageMaker JumpStartin tuotepäällikkö. Hän keskittyy siihen, että asiakkaat voivat liittyä SageMaker JumpStartiin yksinkertaistaakseen ja nopeuttaakseen ML-matkaansa generatiivisten tekoälysovellusten rakentamiseen.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/code-llama-code-generation-models-from-meta-are-now-available-via-amazon-sagemaker-jumpstart/