A Code Llama 70B már elérhető az Amazon SageMaker JumpStart | Amazon webszolgáltatások

A Code Llama 70B már elérhető az Amazon SageMaker JumpStart | Amazon webszolgáltatások

A mai napon örömmel jelentjük be, hogy a Meta által kifejlesztett Code Llama alapozó modellek elérhetőek az ügyfelek számára Amazon SageMaker JumpStart egyetlen kattintással üzembe helyezhető a következtetés futtatásához. A Code Llama egy korszerű nagynyelvi modell (LLM), amely képes kódot és természetes nyelvet generálni a kódról mind a kódból, mind a természetes nyelvi promptokból. Kipróbálhatja ezt a modellt a SageMaker JumpStarttal, egy gépi tanulási (ML) központtal, amely hozzáférést biztosít az algoritmusokhoz, modellekhez és ML-megoldásokhoz, így gyorsan elkezdheti az ML használatát. Ebben a bejegyzésben bemutatjuk, hogyan lehet felfedezni és telepíteni a Code Llama modellt a SageMaker JumpStart segítségével.

Code Llama

A Code Llama által kiadott modell meta Ez a csúcstechnológiás modell a fejlesztők programozási feladatainak termelékenységének javítására szolgál azáltal, hogy segíti őket a kiváló minőségű, jól dokumentált kód létrehozásában. A modellek a Python, a C++, a Java, a PHP, a C#, a TypeScript és a Bash nyelveken jeleskednek, és megtakaríthatják a fejlesztők idejét, és hatékonyabbá tehetik a szoftveres munkafolyamatokat.

Három változatban kapható, amelyeket úgy terveztek, hogy az alkalmazások széles skáláját lefedjék: az alapmodell (Code Llama), egy Python-specifikus modell (Code Llama Python) és egy utasításkövető modell a természetes nyelvi utasítások megértéséhez (Code Llama Instruct). Minden Code Llama változat négy méretben kapható: 7B, 13B, 34B és 70B paraméterekkel. A 7B és 13B alap- és utasításváltozatok támogatják a környező tartalom alapján történő kitöltést, így ideálisak kódsegéd alkalmazásokhoz. A modelleket a Llama 2 alapján tervezték, majd 500 milliárd kódadat tokenre tanították, a Python speciális verzióját pedig növekményes 100 milliárd tokenre. A Code Llama modellek stabil generációkat biztosítanak akár 100,000 16,000 kontextusjelzővel. Minden modell 100,000 XNUMX tokenből álló sorozatokra van kiképezve, és akár XNUMX XNUMX tokennel is javítottak a bemeneteken.

A modell ugyanezen cím alatt érhető el közösségi engedély, mint Llama 2.

Alapozó modellek a SageMakerben

A SageMaker JumpStart számos modellhez biztosít hozzáférést a népszerű modellközpontokból, beleértve a Hugging Face-t, a PyTorch Hub-ot és a TensorFlow Hub-ot, amelyeket a SageMaker ML-fejlesztési munkafolyamataiban használhat fel. Az ML közelmúltbeli fejlődése a modellek új osztályát eredményezte alapozó modellek, amelyek jellemzően több milliárd paraméterre vannak kiképezve, és a felhasználási esetek széles kategóriájához adaptálhatók, mint például a szövegösszegzés, a digitális művészet generálása és a nyelvi fordítás. Mivel ezeknek a modelleknek a betanítása költséges, az ügyfelek a meglévő, előre betanított alapozómodelleket szeretnék használni, és szükség szerint finomhangolni őket, ahelyett, hogy maguk képeznék ki ezeket a modelleket. A SageMaker a modellek válogatott listáját kínálja, amelyek közül választhat a SageMaker konzolon.

A SageMaker JumpStartban különböző modellszolgáltatóktól származó alapozó modelleket találhat, így gyorsan elkezdheti az alapozó modelleket. Különböző feladatokon vagy modellszolgáltatókon alapuló alapmodelleket találhat, és könnyen áttekintheti a modell jellemzőit és használati feltételeit. Ezeket a modelleket egy teszt UI widget segítségével is kipróbálhatja. Ha nagyszabású alapmodellt szeretne használni, a SageMaker elhagyása nélkül megteheti a modellszolgáltatók előre elkészített notebookjainak használatával. Mivel a modelleket az AWS-en tárolják és telepítik, biztos lehet benne, hogy adatait – akár a modell kiértékeléséhez, akár nagyszabású használatához használják – soha nem osztják meg harmadik felekkel.

Fedezze fel a Code Llama modellt a SageMaker JumpStartban

A Code Llama 70B modell üzembe helyezéséhez hajtsa végre a következő lépéseket Amazon SageMaker Studio:

  1. A SageMaker Studio kezdőlapján válassza a lehetőséget ugrás indítás a navigációs ablaktáblában.

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  2. Keressen Code Llama modelleket, és válassza ki a Code Llama 70B modellt a megjelenített modellek listájából.

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    A modellről további információkat a Code Llama 70B modellkártyán talál.

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    A következő képernyőkép a végpont beállításait mutatja. Módosíthatja a beállításokat, vagy használhatja az alapértelmezetteket.

  3. Fogadja el a végfelhasználói licencszerződést (EULA), és válassza ki Telepítése.
    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    Ezzel elindul a végpont üzembe helyezési folyamata, amint az a következő képernyőképen látható.

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Telepítse a modellt a SageMaker Python SDK-val

Alternatív megoldásként a példajegyzetfüzeten keresztül is telepítheti, ha kiválasztja Nyissa meg a Jegyzetfüzetet a Classic Studio modell részletes oldalán. A példajegyzetfüzet teljes körű útmutatást nyújt a modell telepítéséhez a következtetések levonásához és az erőforrások tisztításához.

A notebook használatával történő telepítéshez először kiválasztjuk a megfelelő modellt, amelyet a model_id. A kiválasztott modellek bármelyikét üzembe helyezheti a SageMakerben a következő kóddal:

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

Ez a SageMaker modellt alapértelmezett konfigurációkkal telepíti, beleértve az alapértelmezett példánytípust és az alapértelmezett VPC-konfigurációkat. Módosíthatja ezeket a konfigurációkat a nem alapértelmezett értékek megadásával JumpStartModel. Vegye figyelembe, hogy alapértelmezés szerint accept_eula be van állítva False. Be kell állítani accept_eula=True a végpont sikeres telepítéséhez. Ezzel elfogadja a felhasználói licencszerződést és a korábban említett elfogadható használati szabályzatot. Te is letöltés a licencszerződést.

Hívjon meg egy SageMaker végpontot

A végpont üzembe helyezése után következtetést vonhat le a Boto3 vagy a SageMaker Python SDK használatával. A következő kódban a SageMaker Python SDK-t használjuk a modell meghívására következtetés céljából, és kinyomtatjuk a választ:

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

A funkció print_response vesz egy hasznos terhet, amely a hasznos teherből és a modellválaszból áll, és kinyomtatja a kimenetet. A Code Llama számos paramétert támogat a következtetés végrehajtása során:

  • max_length – A modell addig generál szöveget, amíg el nem éri a kimeneti hosszt (amely tartalmazza a bemeneti környezet hosszát). max_length. Ha meg van adva, pozitív egész számnak kell lennie.
  • max_new_tokens – A modell addig generál szöveget, amíg el nem éri a kimeneti hosszt (a bemeneti kontextus hosszát kivéve). max_new_tokens. Ha meg van adva, pozitív egész számnak kell lennie.
  • gerendák száma – Meghatározza a mohó keresésben használt sugarak számát. Ha meg van adva, akkor nagyobbnak vagy egyenlőnek kell lennie, mint num_return_sequences.
  • no_repeat_ngram_size – A modell biztosítja, hogy egy szósorozat a no_repeat_ngram_size nem ismétlődik a kimeneti sorrendben. Ha meg van adva, akkor 1-nél nagyobb pozitív egész számnak kell lennie.
  • hőmérséklet – Ez szabályozza a kimenet véletlenszerűségét. Magasabb temperature kis valószínűségű szavakat tartalmazó kimeneti sorozatot eredményez, és alacsonyabb temperature nagy valószínűségű szavakat tartalmazó kimeneti sorozatot eredményez. Ha temperature 0, ez mohó dekódolást eredményez. Ha meg van adva, pozitív lebegésnek kell lennie.
  • korai_megállás - Ha True, a szöveggenerálás akkor fejeződik be, amikor az összes sugárhipotézis eléri a mondat token végét. Ha meg van adva, akkor logikai értéknek kell lennie.
  • do_sample - Ha True, a modell a valószínűség szerint mintát vesz a következő szóból. Ha meg van adva, akkor logikai értéknek kell lennie.
  • top_k – A szöveggenerálás minden lépésében a modell csak a top_k legvalószínűbb szavak. Ha meg van adva, pozitív egész számnak kell lennie.
  • top_p – A szöveggenerálás minden lépésében a modell a lehető legkisebb szókészletből vesz mintát halmozott valószínűséggel top_p. Ha meg van adva, akkor 0 és 1 közötti úszónak kell lennie.
  • return_full_text - Ha True, a bemeneti szöveg a kimenet által generált szöveg része lesz. Ha meg van adva, akkor logikai értéknek kell lennie. Ennek alapértelmezett értéke False.
  • megáll – Ha meg van adva, akkor karakterláncok listájának kell lennie. A szöveggenerálás leáll, ha a megadott karakterláncok bármelyike ​​létrejön.

Ezeknek a paramétereknek bármely részhalmazát megadhatja egy végpont meghívása közben. Ezután egy példát mutatunk be arra, hogyan lehet végpontot meghívni ezekkel az argumentumokkal.

Kód kitöltése

A következő példák bemutatják, hogyan kell végrehajtani a kódbefejezést, ha a várt végponti válasz a prompt természetes folytatása.

Először a következő kódot futtatjuk:

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)

A következő kimenetet kapjuk:

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

Következő példánkban a következő kódot futtatjuk:

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)

A következő kimenetet kapjuk:

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

Kódgenerálás

A következő példák a Python kód létrehozását mutatják be Code Llama használatával.

Először a következő kódot futtatjuk:

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)

A következő kimenetet kapjuk:

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

Következő példánkban a következő kódot futtatjuk:

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)

A következő kimenetet kapjuk:

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

Íme néhány példa a Code Llama 70B kóddal kapcsolatos feladatokra. A modell segítségével még bonyolultabb kódokat generálhat. Javasoljuk, hogy próbálja ki saját kóddal kapcsolatos használati esetei és példái segítségével!

Tisztítsuk meg

A végpontok tesztelése után feltétlenül törölje a SageMaker következtetési végpontokat és a modellt, hogy elkerülje a költségeket. Használja a következő kódot:

predictor.delete_endpoint()

Következtetés

Ebben a bejegyzésben bemutattuk a Code Llama 70B-t a SageMaker JumpStarton. A Code Llama 70B egy korszerű modell a természetes nyelvi promptokból és kódokból származó kód előállítására. A modellt néhány egyszerű lépéssel üzembe helyezheti a SageMaker JumpStartban, majd felhasználhatja a kóddal kapcsolatos feladatok végrehajtására, például kódgenerálásra és kódkitöltésre. Következő lépésként próbálja meg a modellt saját kóddal kapcsolatos használati eseteivel és adataival használni.


A szerzőkről

Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Dr. Kyle Ulrich az Amazon SageMaker JumpStart csapatának alkalmazott tudósa. Kutatási területei közé tartoznak a skálázható gépi tanulási algoritmusok, a számítógépes látás, az idősorok, a Bayes-féle nem-paraméterek és a Gauss-folyamatok. Doktori fokozatát a Duke Egyetemen szerezte, és publikációkat publikált a NeurIPS-ben, a Cell-ben és a Neuron-ban.

Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Dr. Farooq Sabir az AWS mesterséges intelligenciával és gépi tanulással foglalkozó megoldásokkal foglalkozó vezető építésze. Az austini Texasi Egyetemen szerzett PhD és MS fokozatot villamosmérnöki szakon, valamint MS fokozatot számítástechnikából a Georgia Institute of Technology-n. Több mint 15 éves munkatapasztalattal rendelkezik, és szeret főiskolai hallgatókat tanítani és mentorálni. Az AWS-nél segít az ügyfeleknek üzleti problémáik megfogalmazásában és megoldásában az adattudomány, a gépi tanulás, a számítógépes látás, a mesterséges intelligencia, a numerikus optimalizálás és a kapcsolódó területeken. A texasi Dallasban él, és családjával szeretnek utazni és hosszú utazásokra mennek.

Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.June nyert a SageMaker JumpStart termékmenedzsere. Arra összpontosít, hogy az alapmodelleket könnyen felfedezhetővé és használhatóvá tegye, hogy segítse az ügyfeleket generatív AI-alkalmazások létrehozásában. Az Amazonnál szerzett tapasztalatai közé tartozik a mobil vásárlási alkalmazás és az utolsó mérföldes szállítás is.

Időbélyeg:

Még több AWS gépi tanulás