Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services

Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services

Tänään meillä on ilo 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. 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.

Code Lama

Code Llama on malli, jonka on julkaissut Meta joka on rakennettu Llama 2:n päälle. Tämä huippuluokan malli on suunniteltu parantamaan kehittäjien ohjelmointitehtävien tuottavuutta auttamalla heitä luomaan korkealaatuista, hyvin dokumentoitua koodia. Mallit loistavat 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 kolme muunnelmaa, 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 neljä kokoa: 7B, 13B, 34B ja 70B 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.

Perusmallit SageMakerissa

SageMaker JumpStart tarjoaa pääsyn useisiin malleihin suosituista mallikeskittymistä, mukaan lukien Hugging Face, PyTorch Hub ja TensorFlow Hub, joita voit käyttää ML-kehitystyönkulussa SageMakerissa. Viimeaikaiset edistysaskeleet ML:ssä ovat synnyttäneet uuden malliluokan, joka tunnetaan nimellä perusmallit, jotka on tyypillisesti koulutettu miljardeihin parametreihin ja jotka ovat mukautettavissa monenlaisiin käyttötapauksiin, kuten tekstin yhteenvetoon, digitaalisen taiteen luomiseen ja kielten kääntämiseen. Koska nämä mallit ovat kalliita kouluttaa, asiakkaat haluavat käyttää olemassa olevia esikoulutettuja perusmalleja ja hienosäätää niitä tarpeen mukaan sen sijaan, että kouluttaisivat mallit itse. SageMaker tarjoaa kuratoidun luettelon malleista, joista voit valita SageMaker-konsolista.

Löydät SageMaker JumpStartista eri mallien tarjoajien perustusmalleja, joiden avulla pääset nopeasti alkuun perusmallien kanssa. Löydät eri tehtäviin tai mallintoimittajiin perustuvia perusmalleja ja voit helposti tarkastella mallien ominaisuuksia ja käyttöehtoja. Voit myös kokeilla näitä malleja käyttämällä testikäyttöliittymän widgetiä. Kun haluat käyttää perusmallia mittakaavassa, voit tehdä sen poistumatta SageMakerista käyttämällä mallintoimittajien valmiita muistikirjoja. Koska mallit isännöidään ja otetaan käyttöön AWS:ssä, voit olla varma, että tietojasi, riippumatta siitä, käytetäänkö niitä mallin arvioimiseen tai käyttöön, ei koskaan jaeta kolmansille osapuolille.

Tutustu Code Llama -malliin SageMaker JumpStartissa

Ota Code Llama 70B -malli käyttöön suorittamalla seuraavat vaiheet Amazon SageMaker Studio:

  1. Valitse SageMaker Studion kotisivulta Kaapelikäynnistys navigointipaneelissa.

    Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

  2. Etsi Code Llama -malleja ja valitse Code Llama 70B malli näytetystä malliluettelosta.

    Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

    Lisätietoja mallista löydät Code Llama 70B mallikortista.

    Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

    Seuraava kuvakaappaus näyttää päätepisteen asetukset. Voit muuttaa asetuksia tai käyttää oletusasetuksia.

  3. Hyväksy loppukäyttäjän lisenssisopimus (EULA) ja valitse Sijoittaa.
    Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

    Tämä aloittaa päätepisteen käyttöönottoprosessin seuraavan kuvakaappauksen mukaisesti.

    Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Ota malli käyttöön SageMaker Python SDK:n kanssa

Vaihtoehtoisesti voit ottaa käyttöön esimerkkimuistikirjan kautta valitsemalla Avaa Muistikirja Classic Studion mallitietosivulla. Esimerkkimuistikirja tarjoaa päästä päähän -ohjeita mallin käyttöönotosta päättelyyn 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:

from sagemaker.jumpstart.model import JumpStartModel model = JumpStartModel(model_id="meta-textgeneration-llama-codellama-70b")
predictor = model.deploy(accept_eula=False) # Change EULA acceptance to True

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. Huomaa, että oletuksena accept_eula asetetaan False. Sinun on asetettava accept_eula=True ottaaksesi päätepisteen käyttöön 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.

Kutsu SageMaker-päätepiste

Kun päätepiste on otettu käyttöön, voit tehdä päätelmiä käyttämällä Boto3:a tai SageMaker Python SDK:ta. Seuraavassa koodissa käytämme SageMaker Python SDK:ta mallin kutsumiseen johtopäätösten tekemiseksi ja vastauksen tulostamiseen:

def print_response(payload, response): print(payload["inputs"]) print(f"> {response[0]['generated_text']}") print("n==================================n")

Toiminto print_response ottaa hyötykuorman, joka koostuu hyötykuormasta ja mallivastauksesta, ja tulostaa tulosteen. Code Llama tukee monia parametreja suorittaessaan päätelmiä:

  • Maksimi pituus – Malli luo tekstiä, kunnes tulosteen pituus (joka sisältää syötekontekstin pituuden) saavuttaa max_length. Jos määritetään, sen on oltava positiivinen kokonaisluku.
  • max_new_tones – Malli luo tekstiä, kunnes tulosteen pituus (ilman syöttökontekstin pituutta) saavuttaa max_new_tokens. Jos määritetään, sen on oltava positiivinen kokonaisluku.
  • palkkien lukumäärä – Tämä määrittää ahneessa haussa käytettyjen säteiden lukumäärän. Jos määritetään, sen on oltava suurempi tai yhtä suuri kokonaisluku kuin num_return_sequences.
  • no_repeat_ngram_size – Malli varmistaa, että sanajono no_repeat_ngram_size ei toistu tulosjaksossa. Jos määritetään, sen on oltava positiivinen kokonaisluku, joka on suurempi kuin 1.
  • lämpötila – Tämä ohjaa lähdön satunnaisuutta. Korkeampi temperature tuloksena on tulossekvenssi, jossa on pieni todennäköisyys sanoja ja pienempi temperature tuloksena on tulossekvenssi, jossa on suuren todennäköisyyden sanoja. Jos temperature on 0, se johtaa ahneeseen dekoodaukseen. Jos määritetään, sen on oltava positiivinen float.
  • aikainen_pysähdys - Jos True, tekstin luominen on valmis, kun kaikki sädehypoteesit saavuttavat lauseen lopussa. Jos määritetään, sen on oltava Boolen arvo.
  • do_sample - Jos True, malli ottaa näytteitä seuraavasta sanasta todennäköisyyden mukaan. Jos määritetään, sen on oltava Boolen arvo.
  • top_k – Jokaisessa tekstin luomisen vaiheessa malli ottaa näytteitä vain top_k todennäköisimmin sanoja. Jos määritetään, sen on oltava positiivinen kokonaisluku.
  • top_p – Jokaisessa tekstin luomisen vaiheessa malli ottaa näytteitä pienimmästä mahdollisesta sanajoukosta kumulatiivisella todennäköisyydellä top_p. Jos määritetty, sen on oltava kelluva 0 ja 1 välillä.
  • return_full_text - Jos True, syöttöteksti on osa ulostulotekstiä. Jos määritetään, sen on oltava Boolen arvo. Sen oletusarvo on False.
  • pysäkki – Jos määritetty, sen on oltava merkkijonoluettelo. Tekstin luominen pysähtyy, jos jokin määritetyistä merkkijonoista luodaan.

Voit määrittää minkä tahansa näiden parametrien osajoukon kutsuessasi päätepistettä. Seuraavaksi näytämme esimerkin päätepisteen kutsumisesta näillä argumenteilla.

Koodin valmistuminen

Seuraavat esimerkit osoittavat, kuinka koodin viimeistely suoritetaan, kun odotettu päätepisteen vastaus on kehotteen luonnollinen jatko.

Suoritamme ensin seuraavan koodin:

prompt = """
import socket def ping_exponential_backoff(host: str): """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9},
}
response = predictor.predict(payload)
print_response(payload, response)

Saamme seuraavan tuloksen:

""" Pings the given host with exponential backoff. """ timeout = 1 while True: try: socket.create_connection((host, 80), timeout=timeout) return except socket.error: timeout *= 2

Seuraavaa esimerkkiä varten suoritamme seuraavan koodin:

prompt = """
import argparse
def main(string: str): print(string) print(string[::-1])
if __name__ == "__main__": """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9},
}
predictor.predict(payload)

Saamme seuraavan tuloksen:

parser = argparse.ArgumentParser(description='Reverse a string') parser.add_argument('string', type=str, help='String to reverse') args = parser.parse_args() main(args.string)

Koodin luonti

Seuraavat esimerkit osoittavat Python-koodin luomisen Code Llaman avulla.

Suoritamme ensin seuraavan koodin:

prompt = """
Write a python function to traverse a list in reverse. """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9},
}
response = predictor.predict(payload)
print_response(payload, response)

Saamme seuraavan tuloksen:

def reverse(list1): for i in range(len(list1)-1,-1,-1): print(list1[i]) list1 = [1,2,3,4,5]
reverse(list1)

Seuraavaa esimerkkiä varten suoritamme seuraavan koodin:

prompt = """
Write a python function to to carry out bubble sort. """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.1, "top_p": 0.9},
}
response = predictor.predict(payload)
print_response(payload, response)

Saamme seuraavan tuloksen:

def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr arr = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(arr))

Nämä ovat esimerkkejä koodiin liittyvistä tehtävistä Code Llama 70B:llä. Mallin avulla voit luoda vieläkin monimutkaisempaa koodia. Suosittelemme kokeilemaan sitä omien koodiin liittyvien käyttötapausten ja esimerkkien avulla!

Puhdistaa

Kun olet testannut päätepisteet, varmista, että poistat SageMaker-päätepäätepisteet ja mallin kulujen välttämiseksi. Käytä seuraavaa koodia:

predictor.delete_endpoint()

Yhteenveto

Tässä viestissä esittelimme Code Llama 70B:n SageMaker JumpStartissa. Code Llama 70B on huippuluokan malli koodin luomiseen luonnollisen kielen kehotteista ja koodista. Voit ottaa mallin käyttöön muutamalla yksinkertaisella vaiheella SageMaker JumpStartissa ja käyttää sitä sitten koodiin liittyvien tehtävien suorittamiseen, kuten koodin luomiseen ja koodin täyttöön. Seuraavaksi kokeile mallin käyttöä omien koodiin liittyvien käyttötapausten ja tietojen kanssa.


Tietoja kirjoittajista

Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.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.

Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Tohtori Farooq Sabir on AWS:n vanhempi tekoäly- ja koneoppimisen asiantuntijaratkaisuarkkitehti. Hänellä on tohtorin ja MS:n tutkinnot sähkötekniikasta Texasin yliopistosta Austinista ja MS-tutkinto tietojenkäsittelytieteestä Georgia Institute of Technologysta. Hänellä on yli 15 vuoden työkokemus ja hän haluaa myös opettaa ja mentoroida korkeakouluopiskelijoita. AWS:ssä hän auttaa asiakkaita muotoilemaan ja ratkaisemaan liiketoimintaongelmiaan datatieteen, koneoppimisen, tietokonenäön, tekoälyn, numeerisen optimoinnin ja niihin liittyvien alojen aloilla. Hän asuu Dallasissa, Texasissa, ja hän ja hänen perheensä rakastavat matkustamista ja pitkiä matkoja.

Code Llama 70B on nyt saatavilla Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Kesäkuu voitti on SageMaker JumpStartin tuotepäällikkö. Hän keskittyy tekemään perusmalleista helposti löydettäviä ja käyttökelpoisia auttamaan asiakkaita luomaan luovia tekoälysovelluksia. Hänen kokemukseensa Amazonista kuuluu myös mobiiliostossovellus ja viimeinen mailitoimitus.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen