Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazoni veebiteenused

Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazoni veebiteenused

Täna teatame rõõmuga, et Meta poolt välja töötatud Code Llama vundamendimudelid on klientidele saadaval Amazon SageMaker JumpStart ühe klõpsuga juurutamiseks järelduste tegemiseks. Code Llama on tipptasemel suur keelemudel (LLM), mis on võimeline genereerima koodi ja loomuliku keele koodi kohta nii koodi kui ka loomuliku keele viipade põhjal. Saate seda mudelit proovida SageMaker JumpStartiga, masinõppe (ML) keskusega, mis pakub juurdepääsu algoritmidele, mudelitele ja ML-lahendustele, et saaksite ML-iga kiiresti alustada. Selles postituses tutvustame, kuidas Code Llama mudelit SageMaker JumpStarti kaudu avastada ja juurutada.

Koodlaama

Code Llama on mudel, mille on välja andnud Meta mis on ehitatud Llama 2 peale. See tipptasemel mudel on loodud arendajate programmeerimisülesannete tootlikkuse parandamiseks, aidates neil luua kvaliteetset ja hästi dokumenteeritud koodi. Mudelid paistavad silma Pythoni, C++, Java, PHP, C#, TypeScripti ja Bashiga ning võivad säästa arendajate aega ja muuta tarkvara töövood tõhusamaks.

Seda on saadaval kolmes variandis, mis on loodud katma väga erinevaid rakendusi: alusmudel (Code Llama), Pythoni spetsialiseeritud mudel (Code Llama Python) ja juhiseid järgiv mudel loomuliku keele juhiste mõistmiseks (Code Llama Instruct). Kõik Code Llama variandid on neljas suuruses: parameetrid 7B, 13B, 34B ja 70B. 7B ja 13B baas- ja käsuvariandid toetavad ümbritseva sisu põhjal täitmist, muutes need ideaalseks koodiabirakenduste jaoks. Mudelite kujundamisel kasutati alusena Llama 2 ja seejärel koolitati neid 500 miljardi koodiandmete märgiga, Pythoni spetsialiseeritud versioon aga 100 miljardi žetooniga. Code Llama mudelid pakuvad stabiilseid põlvkondi kuni 100,000 16,000 kontekstimärgiga. Kõik mudelid on koolitatud 100,000 XNUMX märgist koosnevate jadadega ja näitavad kuni XNUMX XNUMX märgiga sisendite täiustusi.

Mudel on saadaval sama all kogukonna litsents kui laama 2.

Vundamendi mudelid SageMakeris

SageMaker JumpStart pakub juurdepääsu paljudele mudelitele populaarsetest mudelikeskustest, sealhulgas Hugging Face, PyTorch Hub ja TensorFlow Hub, mida saate kasutada SageMakeri ML-i arendamise töövoo raames. Hiljutised edusammud ML-is on toonud kaasa uue mudelite klassi, mida tuntakse kui vundamendi mudelid, mis on tavaliselt koolitatud miljarditele parameetritele ja on kohandatavad laia kategooria kasutusjuhtumitega, nagu teksti kokkuvõte, digitaalse kunsti genereerimine ja keele tõlkimine. Kuna nende mudelite koolitamine on kallis, soovivad kliendid kasutada olemasolevaid eelkoolitatud vundamendimudeleid ja neid vastavalt vajadusele peenhäälestada, mitte neid mudeleid ise koolitada. SageMaker pakub kureeritud mudelite loendit, mille hulgast saate SageMakeri konsoolil valida.

SageMaker JumpStartist leiate erinevate mudelipakkujate vundamendimudeleid, mis võimaldavad teil vundamendimudelitega kiiresti alustada. Saate leida vundamendimudeleid, mis põhinevad erinevatel ülesannetel või mudelipakkujatel, ning hõlpsasti vaadata üle mudeli omadused ja kasutustingimused. Saate neid mudeleid proovida ka kasutajaliidese testvidina abil. Kui soovite kasutada vundamendimudelit mastaapselt, saate seda teha SageMakerist lahkumata, kasutades mudelipakkujate eelehitatud märkmikke. Kuna mudeleid hostitakse ja juurutatakse AWS-is, võite olla kindel, et teie andmeid, olenemata sellest, kas neid kasutatakse mudeli hindamiseks või suuremahuliseks kasutamiseks, ei jagata kunagi kolmandate osapooltega.

Avastage Code Lama mudel SageMaker JumpStartis

Code Llama 70B mudeli juurutamiseks tehke järgmised sammud Amazon SageMaker Studio:

  1. Valige SageMaker Studio avalehel KiirStart navigeerimispaanil.

    Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

  2. Otsige Code Llama mudeleid ja valige näidatud mudelite loendist Code Llama 70B mudel.

    Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

    Mudeli kohta leiate lisateavet Code Llama 70B mudelikaardilt.

    Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

    Järgmine ekraanipilt näitab lõpp-punkti sätteid. Saate suvandeid muuta või kasutada vaikevalikuid.

  3. Nõustuge lõppkasutaja litsentsilepinguga (EULA) ja valige juurutada.
    Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

    See käivitab lõpp-punkti juurutamise protsessi, nagu on näidatud järgmisel ekraanipildil.

    Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Juurutage mudel SageMaker Python SDK-ga

Teise võimalusena saate juurutada näidismärkmiku kaudu, valides Avage märkmik Classic Studio mudeli üksikasjade lehel. Näidismärkmik pakub täielikke juhiseid selle kohta, kuidas mudelit järelduste tegemiseks ja ressursside puhastamiseks kasutada.

Märkmiku abil juurutamiseks alustame sobiva mudeli valimisega, mille määrab model_id. Saate SageMakeris juurutada mis tahes valitud mudelitest järgmise koodiga:

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

See juurutab mudeli SageMakeris vaikekonfiguratsioonidega, sealhulgas eksemplari vaiketüübi ja VPC vaikekonfiguratsioonidega. Saate neid konfiguratsioone muuta, määrates sisse mittevaikeväärtused KiirStartModel. Pange tähele, et vaikimisi accept_eula on seatud väärtusele False. Peate seadistama accept_eula=True lõpp-punkti edukaks juurutamiseks. Seda tehes nõustute kasutaja litsentsilepingu ja aktsepteeritava kasutuse poliitikaga, nagu eespool mainitud. Sa saad ka lae alla litsentsileping.

Kutsuge SageMakeri lõpp-punkt

Pärast lõpp-punkti juurutamist saate teha järeldusi Boto3 või SageMaker Python SDK abil. Järgmises koodis kasutame mudelile järelduste tegemiseks ja vastuse printimiseks SageMaker Python SDK-d:

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

funktsioon print_response võtab kasuliku koormuse, mis koosneb kasulikust koormusest ja mudeli vastusest, ning prindib väljundi. Code Llama toetab järelduste tegemisel paljusid parameetreid:

  • max_pikkus – Mudel genereerib teksti, kuni väljundi pikkus (mis sisaldab sisendkonteksti pikkust) jõuab max_length. Kui see on määratud, peab see olema positiivne täisarv.
  • max_uued_märgid – Mudel genereerib teksti, kuni väljundi pikkus (välja arvatud sisendkonteksti pikkus) jõuab max_new_tokens. Kui see on määratud, peab see olema positiivne täisarv.
  • kiirte_arv – See määrab ahnes otsingus kasutatud kiirte arvu. Kui see on määratud, peab see olema täisarv, mis on suurem või võrdne sellega num_return_sequences.
  • no_repeat_ngram_size – Mudel tagab, et sõnade jada no_repeat_ngram_size väljundjärjestuses ei korrata. Kui see on määratud, peab see olema positiivne täisarv, mis on suurem kui 1.
  • temperatuur – See juhib väljundi juhuslikkust. Kõrgem temperature tulemuseks on väljundjada madala tõenäosusega sõnadega ja madalam temperature tulemuseks on suure tõenäosusega sõnadega väljundjada. Kui temperature on 0, tulemuseks on ahne dekodeerimine. Kui see on määratud, peab see olema positiivne ujuk.
  • varajane_peatus - Kui True, teksti genereerimine on lõppenud, kui kõik kiirhüpoteesid jõuavad lausemärgi lõppu. Kui see on määratud, peab see olema tõeväärtus.
  • do_sample - Kui True, valib mudel järgmise sõna vastavalt tõenäosusele. Kui see on määratud, peab see olema tõeväärtus.
  • top_k – Igas teksti genereerimise etapis võtab mudel näidiseid ainult top_k kõige tõenäolisemad sõnad. Kui see on määratud, peab see olema positiivne täisarv.
  • top_p – Mudel valib teksti genereerimise igas etapis võimalikult väikesest kumulatiivse tõenäosusega sõnade hulgast top_p. Kui see on määratud, peab see olema ujuk vahemikus 0 kuni 1.
  • tagasta_täielik_tekst - Kui True, on sisendtekst osa väljundi loodud tekstist. Kui see on määratud, peab see olema tõeväärtus. Selle vaikeväärtus on False.
  • peatus – Kui see on määratud, peab see olema stringide loend. Teksti genereerimine peatub, kui genereeritakse mõni määratud stringidest.

Lõpp-punkti kutsumisel saate määrata nende parameetrite mis tahes alamhulga. Järgmisena näitame näidet selle kohta, kuidas nende argumentidega lõpp-punkti kutsuda.

Koodi täitmine

Järgmised näited näitavad, kuidas teostada koodi lõpetamist, kui oodatav lõpp-punkti vastus on viiba loomulik jätk.

Esmalt käivitame järgmise koodi:

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)

Saame järgmise väljundi:

""" 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

Järgmise näite jaoks käivitame järgmise koodi:

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)

Saame järgmise väljundi:

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

Koodi genereerimine

Järgmised näited näitavad Pythoni koodi genereerimist Code Llama abil.

Esmalt käivitame järgmise koodi:

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)

Saame järgmise väljundi:

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

Järgmise näite jaoks käivitame järgmise koodi:

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)

Saame järgmise väljundi:

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))

Need on mõned näited koodiga seotud ülesannetest, kasutades Code Llama 70B. Mudelit saate kasutada veelgi keerulisema koodi genereerimiseks. Soovitame teil seda proovida, kasutades oma koodiga seotud kasutusjuhtumeid ja näiteid!

Koristage

Pärast lõpp-punktide testimist kustutage tasude vältimiseks kindlasti SageMakeri järelduse lõpp-punktid ja mudel. Kasutage järgmist koodi:

predictor.delete_endpoint()

Järeldus

Selles postituses tutvustasime SageMaker JumpStartis Code Llama 70B. Code Llama 70B on kaasaegne mudel koodi genereerimiseks nii loomuliku keele viipadest kui ka koodist. Saate mudeli juurutada mõne lihtsa sammuga SageMaker JumpStartis ja seejärel kasutada seda koodiga seotud toimingute tegemiseks, nagu koodi genereerimine ja koodi täitmine. Järgmise sammuna proovige mudelit kasutada oma koodiga seotud kasutusjuhtude ja andmetega.


Autoritest

Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Dr Kyle Ulrich on Amazon SageMaker JumpStart meeskonna rakendusteadlane. Tema uurimishuvide hulka kuuluvad skaleeritavad masinõppe algoritmid, arvutinägemine, aegridad, Bayesi mitteparameetrid ja Gaussi protsessid. Tema doktorikraad on pärit Duke'i ülikoolist ja ta on avaldanud töid NeurIPSis, Cell ja Neuron.

Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Dr Farooq Sabir on AWS-i tehisintellekti ja masinõppe lahenduste vanemarhitekt. Tal on doktori- ja magistrikraad elektrotehnika alal Texase ülikoolist Austinis ning magistrikraadi arvutiteaduses Georgia Tehnoloogiainstituudist. Tal on üle 15-aastane töökogemus ning talle meeldib õpetada ja juhendada ka kolledži üliõpilasi. AWS-is aitab ta klientidel sõnastada ja lahendada äriprobleeme andmeteaduse, masinõppe, arvutinägemise, tehisintellekti, numbrilise optimeerimise ja sellega seotud valdkondades. Teksases Dallases asuv talle ja ta perele meeldib reisida ja pikki teereise teha.

Code Llama 70B on nüüd saadaval rakenduses Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Juuni võitis on SageMaker JumpStarti tootejuht. Ta keskendub alusmudelite hõlpsasti leitavaks ja kasutatavaks muutmisele, et aidata klientidel luua generatiivseid AI-rakendusi. Tema kogemus Amazonis hõlmab ka mobiilset osturakendust ja viimase miili kohaletoimetamist.

Ajatempel:

Veel alates AWS-i masinõpe