Zephyrnet-logo

Verfijn en implementeer Llama 2-modellen kosteneffectief in Amazon SageMaker JumpStart met AWS Inferentia en AWS Trainium | Amazon-webservices

Datum:

Vandaag kondigen we met trots de beschikbaarheid aan van Llama 2-inferentie en ondersteuning voor het verfijnen van AWS Trainium en AWS Inferentie instanties in Amazon SageMaker JumpStart. Het gebruik van op AWS Trainium en Inferentia gebaseerde instances, via SageMaker, kan gebruikers helpen de fine-tuningkosten tot 50% te verlagen en de implementatiekosten met 4.7x te verlagen, terwijl de latentie per token wordt verlaagd. Llama 2 is een auto-regressief generatief teksttaalmodel dat gebruik maakt van een geoptimaliseerde transformatorarchitectuur. Als openbaar beschikbaar model is Llama 2 ontworpen voor veel NLP-taken, zoals tekstclassificatie, sentimentanalyse, taalvertaling, taalmodellering, tekstgeneratie en dialoogsystemen. Het verfijnen en inzetten van LLM's, zoals Llama 2, kan kostbaar of uitdagend worden om aan realtime prestaties te voldoen en een goede klantervaring te bieden. Trainium en AWS Inferentia, mogelijk gemaakt door de AWS-neuron Software Development Kit (SDK), bieden een krachtige en kosteneffectieve optie voor training en gevolgtrekking van Llama 2-modellen.

In dit bericht laten we zien hoe u Llama 2 kunt implementeren en verfijnen op Trainium- en AWS Inferentia-instanties in SageMaker JumpStart.

Overzicht oplossingen

In deze blog doorlopen we de volgende scenarioโ€™s:

  1. Implementeer Llama 2 op AWS Inferentia-instanties in zowel de Amazon SageMaker Studio UI, met een implementatie-ervaring met รฉรฉn klik, en de SageMaker Python SDK.
  2. Verfijn Llama 2 op Trainium-instanties in zowel de SageMaker Studio UI als de SageMaker Python SDK.
  3. Vergelijk de prestaties van het verfijnde Llama 2-model met die van een vooraf getraind model om de effectiviteit van de fijnafstemming te tonen.

Om aan de slag te gaan, zie de GitHub-voorbeeldnotitieblok.

Implementeer Llama 2 op AWS Inferentia-instanties met behulp van de SageMaker Studio UI en de Python SDK

In deze sectie laten we zien hoe u Llama 2 kunt implementeren op AWS Inferentia-instanties met behulp van de SageMaker Studio UI voor een implementatie met รฉรฉn klik en de Python SDK.

Ontdek het Llama 2-model in de gebruikersinterface van SageMaker Studio

SageMaker JumpStart biedt toegang tot zowel openbaar beschikbare als bedrijfseigen bestanden funderingsmodellen. Foundation-modellen worden ontwikkeld en onderhouden door externe en eigen leveranciers. Als zodanig worden ze vrijgegeven onder verschillende licenties, zoals aangegeven door de modelbron. Zorg ervoor dat u de licentie controleert voor elk funderingsmodel dat u gebruikt. U bent verantwoordelijk voor het beoordelen en naleven van alle toepasselijke licentievoorwaarden en ervoor te zorgen dat deze acceptabel zijn voor uw gebruikssituatie voordat u de inhoud downloadt of gebruikt.

U hebt toegang tot de Llama 2-basismodellen via SageMaker JumpStart in de SageMaker Studio UI en de SageMaker Python SDK. In deze sectie bespreken we hoe u de modellen in SageMaker Studio kunt ontdekken.

SageMaker Studio is een geรฏntegreerde ontwikkelomgeving (IDE) die รฉรฉn enkele webgebaseerde visuele interface biedt waar u toegang hebt tot speciaal gebouwde tools om alle ontwikkelingsstappen voor machine learning (ML) uit te voeren, van het voorbereiden van gegevens tot het bouwen, trainen en implementeren van uw ML modellen. Voor meer details over hoe u aan de slag gaat en SageMaker Studio instelt, raadpleegt u Amazon SageMaker Studio.

Nadat u zich in SageMaker Studio bevindt, heeft u toegang tot SageMaker JumpStart, dat vooraf getrainde modellen, notebooks en vooraf gebouwde oplossingen bevat, onder Kant-en-klare en geautomatiseerde oplossingen. Voor meer gedetailleerde informatie over hoe u toegang krijgt tot bedrijfseigen modellen, raadpleegt u Gebruik eigen basismodellen van Amazon SageMaker JumpStart in Amazon SageMaker Studio.

Vanaf de startpagina van SageMaker JumpStart kunt u zoeken naar oplossingen, modellen, notebooks en andere bronnen.

Als u de Llama 2-modellen niet ziet, update dan uw SageMaker Studio-versie door deze af te sluiten en opnieuw op te starten. Voor meer informatie over versie-updates raadpleegt u Sluit Studio Classic-apps af en update deze.

Door te kiezen, kunt u ook andere modelvarianten vinden Ontdek alle modellen voor het genereren van tekst of zoeken naar llama or neuron in het zoekvak. Op deze pagina kunt u de Llama 2 Neuron-modellen bekijken.

Implementeer het Llama-2-13b-model met SageMaker Jumpstart

U kunt de modelkaart kiezen om details over het model te bekijken, zoals licentie, gegevens die worden gebruikt om te trainen en hoe u deze kunt gebruiken. Je kunt ook twee knoppen vinden, Implementeren en Notitieblok openen, waarmee u het model kunt gebruiken met dit voorbeeld zonder code.

Wanneer u een van beide knoppen kiest, wordt in een pop-up de licentieovereenkomst voor eindgebruikers en het beleid voor acceptabel gebruik (AUP) weergegeven, zodat u deze kunt bevestigen.

Nadat u het beleid heeft geaccepteerd, kunt u het eindpunt van het model implementeren en gebruiken via de stappen in de volgende sectie.

Implementeer het Llama 2 Neuron-model via de Python SDK

Wanneer je kiest Implementeren en accepteer de voorwaarden, de modelimplementatie zal starten. U kunt ook via het voorbeeldnotebook implementeren door te kiezen Notitieblok openen. Het voorbeeldnotitieblok biedt end-to-end-richtlijnen voor het implementeren van het model voor deductie en het opschonen van bronnen.

Om een โ€‹โ€‹model op Trainium- of AWS Inferentia-instanties te implementeren of te verfijnen, moet u eerst PyTorch Neuron (fakkel-neuronx) om het model te compileren in een Neuron-specifieke grafiek, die het zal optimaliseren voor Inferentia's NeuronCores. Gebruikers kunnen de compiler opdracht geven om te optimaliseren voor de laagste latentie of de hoogste doorvoer, afhankelijk van de doelstellingen van de toepassing. In JumpStart hebben we de Neuron-grafieken vooraf gecompileerd voor een verscheidenheid aan configuraties, zodat gebruikers de compilatiestappen kunnen overslaan, waardoor modellen sneller kunnen worden verfijnd en geรฏmplementeerd.

Merk op dat de vooraf samengestelde grafiek van Neuron is gemaakt op basis van een specifieke versie van de Neuron Compiler-versie.

Er zijn twee manieren om LIama 2 te implementeren op AWS Inferentia-gebaseerde instances. De eerste methode maakt gebruik van de vooraf gebouwde configuratie en stelt u in staat het model in slechts twee regels code te implementeren. In het tweede geval heeft u meer controle over de configuratie. Laten we beginnen met de eerste methode, met de vooraf gebouwde configuratie, en het vooraf getrainde Llama 2 13B Neuron Model als voorbeeld gebruiken. De volgende code laat zien hoe Llama 13B met slechts twee regels kan worden geรฏmplementeerd:

from sagemaker.jumpstart.model import JumpStartModel

model_id = "meta-textgenerationneuron-llama-2-13b"
model = JumpStartModel(model_id=model_id)
pretrained_predictor = model.deploy(accept_eula=False) ## To set 'accept_eula' to be True to deploy 

Als u gevolgtrekkingen op deze modellen wilt uitvoeren, moet u het argument opgeven accept_eula te True kader van de model.deploy() telefoongesprek. Als u dit argument als waar instelt, erkent u dat u de EULA van het model hebt gelezen en geaccepteerd. De EULA kunt u vinden in de modelkaartbeschrijving of op de Meta-website.

Het standaardinstantietype voor Llama 2 13B is ml.inf2.8xlarge. U kunt ook andere ondersteunde model-ID's proberen:

  • meta-textgenerationneuron-llama-2-7b
  • meta-textgenerationneuron-llama-2-7b-f (chatmodel)
  • meta-textgenerationneuron-llama-2-13b-f (chatmodel)

Als u meer controle wilt hebben over de implementatieconfiguraties, zoals contextlengte, tensor-parallelgraad en maximale rollende batchgrootte, kunt u deze ook wijzigen via omgevingsvariabelen, zoals in deze sectie wordt gedemonstreerd. De onderliggende Deep Learning Container (DLC) van de implementatie is de Large Model Inference (LMI) NeuronX DLC. De omgevingsvariabelen zijn als volgt:

  • OPTION_N_POSITIONS โ€“ Het maximale aantal invoer- en uitvoertokens. Als u bijvoorbeeld het model compileert met OPTION_N_POSITIONS als 512, dan kunt u een invoertoken van 128 (invoerpromptgrootte) gebruiken met een maximaal uitvoertoken van 384 (het totaal van de invoer- en uitvoertokens moet 512 zijn). Voor het maximale uitvoertoken is elke waarde onder 384 prima, maar u kunt niet verder gaan (bijvoorbeeld invoer 256 en uitvoer 512).
  • OPTION_TENSOR_PARALLEL_DEGREE โ€“ Het aantal NeuronCores dat het model moet laden in AWS Inferentia-instanties.
  • OPTION_MAX_ROLLING_BATCH_SIZE โ€“ De maximale batchgrootte voor gelijktijdige aanvragen.
  • OPTION_DTYPE โ€“ Het datumtype om het model te laden.

De compilatie van de Neuron-grafiek is afhankelijk van de contextlengte (OPTION_N_POSITIONS), tensor parallelle graad (OPTION_TENSOR_PARALLEL_DEGREE), maximale batchgrootte (OPTION_MAX_ROLLING_BATCH_SIZE) en gegevenstype (OPTION_DTYPE) om het model te laden. SageMaker JumpStart heeft vooraf gecompileerde Neuron-grafieken voor een verscheidenheid aan configuraties voor de voorgaande parameters om runtime-compilatie te voorkomen. De configuraties van vooraf samengestelde grafieken worden weergegeven in de volgende tabel. Zolang de omgevingsvariabelen in een van de volgende categorieรซn vallen, wordt de compilatie van Neuron-grafieken overgeslagen.

LIama-2 7B en LIama-2 7B Chatten
Instantietype OPTION_N_POSITIONS OPTION_MAX_ROLLING_BATCH_SIZE OPTION_TENSOR_PARALLEL_DEGREE OPTION_DTYPE
ml.inf2.xgroot 1024 1 2 fp16
ml.inf2.8xgroot 2048 1 2 fp16
ml.inf2.24xgroot 4096 4 4 fp16
ml.inf2.24xgroot 4096 4 8 fp16
ml.inf2.24xgroot 4096 4 12 fp16
ml.inf2.48xgroot 4096 4 4 fp16
ml.inf2.48xgroot 4096 4 8 fp16
ml.inf2.48xgroot 4096 4 12 fp16
ml.inf2.48xgroot 4096 4 24 fp16
LIama-2 13B en LIama-2 13B Chatten
ml.inf2.8xgroot 1024 1 2 fp16
ml.inf2.24xgroot 2048 4 4 fp16
ml.inf2.24xgroot 4096 4 8 fp16
ml.inf2.24xgroot 4096 4 12 fp16
ml.inf2.48xgroot 2048 4 4 fp16
ml.inf2.48xgroot 4096 4 8 fp16
ml.inf2.48xgroot 4096 4 12 fp16
ml.inf2.48xgroot 4096 4 24 fp16

Het volgende is een voorbeeld van de implementatie van Llama 2 13B en het instellen van alle beschikbare configuraties.

from sagemaker.jumpstart.model import JumpStartModel

model_id = "meta-textgenerationneuron-llama-2-13b-f"
model = JumpStartModel(
    model_id=model_id,
    env={
        "OPTION_DTYPE": "fp16",
        "OPTION_N_POSITIONS": "4096",
        "OPTION_TENSOR_PARALLEL_DEGREE": "12",
        "OPTION_MAX_ROLLING_BATCH_SIZE": "4", 
    },
    instance_type="ml.inf2.24xlarge"  
)
pretrained_predictor = model.deploy(accept_eula=False) ## To set 'accept_eula' to be True to deploy 

Nu we het Llama-2-13b-model hebben geรฏmplementeerd, kunnen we er gevolgtrekkingen mee maken door het eindpunt aan te roepen. Het volgende codefragment demonstreert het gebruik van de ondersteunde inferentieparameters om het genereren van tekst te beheren:

  • maximale lengte โ€“ Het model genereert tekst totdat de uitvoerlengte (inclusief de invoercontextlengte) bereikt is max_length. Indien gespecificeerd, moet het een positief geheel getal zijn.
  • max_nieuwe_tokens โ€“ Het model genereert tekst totdat de uitvoerlengte (exclusief de lengte van de invoercontext) is bereikt max_new_tokens. Indien gespecificeerd, moet het een positief geheel getal zijn.
  • aantal_beams โ€“ Dit geeft het aantal balken aan dat is gebruikt bij de hebzuchtige zoektocht. Indien opgegeven, moet het een geheel getal groter dan of gelijk aan zijn num_return_sequences.
  • no_repeat_ngram_size โ€“ Het model zorgt ervoor dat een reeks woorden van no_repeat_ngram_size wordt niet herhaald in de uitgangsvolgorde. Indien gespecificeerd, moet het een positief geheel getal groter dan 1 zijn.
  • temperatuur- โ€“ Hiermee regelt u de willekeur in de uitvoer. Een hogere temperatuur resulteert in een uitvoerreeks met woorden met een lage waarschijnlijkheid; een lagere temperatuur resulteert in een uitvoerreeks met woorden met hoge waarschijnlijkheid. Als temperature gelijk is aan 0, resulteert dit in hebzuchtige decodering. Indien gespecificeerd, moet het een positieve vlotter zijn.
  • vroeg_stoppen - Indien True, is het genereren van tekst voltooid wanneer alle bundelhypothesen het einde van het zinstoken bereiken. Indien gespecificeerd, moet het Booleaans zijn.
  • doen_voorbeeld - Indien True, bemonstert het model het volgende woord op basis van de waarschijnlijkheid. Indien gespecificeerd, moet het Booleaans zijn.
  • top_k โ€“ Bij elke stap van het genereren van tekst neemt het model alleen monsters van de top_k meest waarschijnlijke woorden. Indien gespecificeerd, moet het een positief geheel getal zijn.
  • top_p โ€“ In elke stap van het genereren van tekst neemt het model een steekproef uit de kleinst mogelijke reeks woorden met een cumulatieve waarschijnlijkheid van top_p. Indien gespecificeerd, moet het een float zijn tussen 0โ€“1.
  • stoppen โ€“ Indien opgegeven, moet het een lijst met tekenreeksen zijn. Het genereren van tekst stopt als een van de opgegeven tekenreeksen wordt gegenereerd.

De volgende code toont een voorbeeld:

payload = {
    "inputs": "I believe the meaning of life is",
    "parameters": {
        "max_new_tokens": 64,
        "top_p": 0.9,
        "temperature": 0.6,
    },
}

response = pretrained_predictor.predict(payload)

uitgang:

I believe the meaning of life is
>  to be happy. I believe that happiness is a choice. I believe that happiness 
is a state of mind. I believe that happiness is a state of being. I believe that 
happiness is a state of being. I believe that happiness is a state of being. I 
believe that happiness is a state of being. I believe

Voor meer informatie over de parameters in de payload raadpleegt u Gedetailleerde parameters.

U kunt ook de implementatie van de parameters in het notitieboekje om meer informatie toe te voegen over de link van het notitieboekje.

Verfijn Llama 2-modellen op Trainium-instanties met behulp van de SageMaker Studio UI en SageMaker Python SDK

Generatieve AI-basismodellen zijn een primair aandachtspunt geworden in ML en AI, maar de brede generalisatie ervan kan tekortschieten in specifieke domeinen zoals de gezondheidszorg of financiรซle dienstverlening, waar het om unieke datasets gaat. Deze beperking benadrukt de noodzaak om deze generatieve AI-modellen te verfijnen met domeinspecifieke gegevens om hun prestaties op deze gespecialiseerde gebieden te verbeteren.

Nu we de vooraf getrainde versie van het Llama 2-model hebben geรฏmplementeerd, gaan we kijken hoe we dit kunnen afstemmen op domeinspecifieke gegevens om de nauwkeurigheid te vergroten, het model te verbeteren in termen van snelle voltooiing, en het model aan te passen aan uw specifieke zakelijke gebruiksscenario en gegevens. U kunt de modellen verfijnen met behulp van de SageMaker Studio UI of de SageMaker Python SDK. We bespreken beide methoden in deze sectie.

Verfijn het Llama-2-13b Neuron-model met SageMaker Studio

Navigeer in SageMaker Studio naar het Llama-2-13b Neuron-model. Op de Implementeren tabblad, kunt u naar de Amazon eenvoudige opslagservice (Amazon S3)-bucket met de trainings- en validatiegegevenssets voor verfijning. Bovendien kunt u de implementatieconfiguratie, hyperparameters en beveiligingsinstellingen configureren voor fijnafstemming. Kies dan Trainen om de trainingstaak op een SageMaker ML-instantie te starten.

Om Llama 2-modellen te gebruiken, moet u de EULA en AUP accepteren. Het verschijnt wanneer u kiest Trainen. Kiezen Ik heb de EULA en AUP gelezen en accepteer deze om met het fijnafstemmingswerk te beginnen.

U kunt de status van uw trainingstaak voor het verfijnde model bekijken onder op de SageMaker-console door te kiezen Training banen in het navigatievenster.

U kunt uw Llama 2 Neuron-model verfijnen met dit voorbeeld zonder code, of verfijnen via de Python SDK, zoals gedemonstreerd in de volgende sectie.

Verfijn het Llama-2-13b Neuron-model via de SageMaker Python SDK

U kunt de dataset verfijnen met het domeinaanpassingsformaat of het instructiegebaseerde verfijning formaat. Hieronder volgen de instructies voor de manier waarop de trainingsgegevens moeten worden geformatteerd voordat ze naar de fijnafstemming worden verzonden:

  • Invoer - A train map met een JSON-regelbestand (.jsonl) of een tekstbestand (.txt).
    • Voor het JSON-regelsbestand (.jsonl) is elke regel een afzonderlijk JSON-object. Elk JSON-object moet worden gestructureerd als een sleutel-waardepaar, waar de sleutel zich moet bevinden text, en de waarde is de inhoud van รฉรฉn trainingsvoorbeeld.
    • Het aantal bestanden onder de treindirectory moet gelijk zijn aan 1.
  • uitgang โ€“ Een getraind model dat kan worden ingezet voor gevolgtrekking.

In dit voorbeeld gebruiken we een subset van de Dolly-gegevensset in een instructie-afstemmingsformaat. De Dolly-dataset bevat ongeveer 15,000 instructievolgende records voor verschillende categorieรซn, zoals het beantwoorden van vragen, samenvattingen en informatie-extractie. Het is beschikbaar onder de Apache 2.0-licentie. Wij gebruiken de information_extraction voorbeelden voor verfijning.

  1. Laad de Dolly-gegevensset en splits deze op in train (voor fijnafstemming) en test (voor evaluatie):
    from datasets import load_dataset
    
    dolly_dataset = load_dataset("databricks/databricks-dolly-15k", split="train")
    
    task = "information_extraction"
    To train for summarization/closed question and answering, you can replace the assertion in next line to example["category"] == "sumarization"/"closed_qa".
    summarization_dataset = dolly_dataset.filter(lambda example: example["category"] == task)
    summarization_dataset = summarization_dataset.remove_columns("category")
    
    We split the dataset into two where test data is used to evaluate at the end.
    train_and_test_dataset = summarization_dataset.train_test_split(test_size=0.1)
    
    Dumping the training data to a local file to be used for training.
    train_and_test_dataset["train"].to_json("train.jsonl")

  1. Gebruik een promptsjabloon voor het voorbewerken van de gegevens in een instructieformaat voor de trainingstaak:
    prompt = ("""Below is an instruction that describes a task, paired with an input 
    that provides further context. Write a response that appropriately completes the 
    request.nn### Instruction:n{instruction}nn### Input:n{context}### 
    Response:n{response}nn<s>""")

  1. Onderzoek de hyperparameters en overschrijf ze voor uw eigen gebruik:
    from sagemaker import hyperparameters
    
    model_id = "meta-textgenerationneuron-llama-2-13b"
    model_version = "1.*"
    
    my_hyperparameters = hyperparameters.retrieve_default(
        model_id=model_id, model_version=model_version
    )
    
    my_hyperparameters["max_input_length"] = "4096" ## you can increase it up to 4096 for sequence length.
    my_hyperparameters["max_steps"] = "25"
    my_hyperparameters["learning_rate"] = "0.0001"
    print(my_hyperparameters)
    
    hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)

  1. Verfijn het model en start een SageMaker-trainingstaak. De verfijningsscripts zijn gebaseerd op de neuronx-nemo-megatron repository, dit zijn gewijzigde versies van de pakketten nemo en Top die zijn aangepast voor gebruik met Neuron- en EC2 Trn1-instanties. De neuronx-nemo-megatron repository beschikt over 3D-parallellisme (data, tensor en pijplijn), zodat u LLM's op schaal kunt verfijnen. De ondersteunde Trainium-instanties zijn ml.trn1.32xlarge en ml.trn1n.32xlarge.
    from sagemaker.jumpstart.estimator import JumpStartEstimator
    
    estimator = JumpStartEstimator(
        model_id=model_id,
        model_version=model_version,
        hyperparameters=my_hyperparameters,
        environment={"accept_eula": "false"}, # please change `accept_eula` to be `true` to accept EULA.
        #instance_type="ml.trn1n.32xlarge", if not specified, default `ml.trn1.32xlarge` will be used.
    )
    
    estimator.fit({"train": train_data_location})

  1. Implementeer ten slotte het verfijnde model in een SageMaker-eindpunt:
    finetuned_predictor = estimator.deploy()

Vergelijk de reacties tussen de vooraf getrainde en verfijnde Llama 2 Neuron-modellen

Nu we de vooraf getrainde versie van het Llama-2-13b-model hebben geรฏmplementeerd en verfijnd, kunnen we enkele prestatievergelijkingen van de snelle voltooiingen van beide modellen bekijken, zoals weergegeven in de volgende tabel. We bieden ook een voorbeeld om Llama 2 te verfijnen op een SEC-archiveringsdataset in .txt-indeling. Voor details, zie de GitHub-voorbeeldnotitieblok.

item Ingangen Grond waarheid Reactie van niet-gefinetuned model Reactie van verfijnd model
1 Hieronder vindt u een instructie die een taak beschrijft, gecombineerd met invoer die verdere context biedt. Schrijf een antwoord dat het verzoek op passende wijze voltooit.nn### Instructie:nExtraheer de universiteiten waar Moret heeft gestudeerd en zijn jaar van afstuderen voor elk, en plaats ze in een lijst met opsommingstekens.nn### Invoer:nMoret werd geboren in 1953 in Vevey, Zwitserland , en deed zijn bachelorstudie aan de ร‰cole Polytechnique Fรฉdรฉrale de Lausanne (EPFL), waar hij afstudeerde in 1975. Vervolgens studeerde hij af aan de Universiteit van Tennessee, waar hij een Ph.D. in 1980. Vervolgens trad hij toe tot de faculteit van de Universiteit van New Mexico, waar hij bleef tot 2006, toen hij naar EPFL verhuisde. In december 2016 ging hij met pensioen bij EPFL.nnIn 1996 richtte Moret het ACM Journal of Experimental Algorithmics op, en hij bleef hoofdredacteur van het tijdschrift tot 2003. In 2001 richtte Moret de Workshop in Algorithms for Bioinformatics (WABI) op en blijft lid van de Stuurgroep voor de conferentie.nnIn 2018 werd Moret verkozen tot Fellow van de International Society for Computational Biology, vanwege zijn uitmuntende bijdragen op het gebied van computationele biologie en bio-informatica.nn### Reactie:n * ร‰cole Polytechnique Fรฉdรฉrale de Lausanne (EPFL) (afgestudeerd in 1975)n* Universiteit van Tennessee (afgestudeerd in 1980) Moret studeerde aan de ร‰cole Polytechnique Fรฉdรฉrale de Lausanne (EPFL) en de Universiteit van Tennessee en studeerde af in respectievelijk 1975 en 1980.nn### Hint:nn- Gebruik de `split`-functie om de invoer in een lijst met zinnen te splitsen.n- Gebruik de functie 'split' om elke zin in een lijst met woorden te splitsen. Gebruik de functie 'split' om te splitsen โ€“ ร‰cole Polytechnique Fรฉdรฉrale de Lausanne (EPFL),1975n- Universiteit van Tennessee,1980n- Universiteit van New Mexico- ร‰cole Polytechnique Fรฉdรฉrale de Lausanne (EPFL),2006nn Hieronder vindt u een instructie die een taak beschrijft, gecombineerd met invoer die biedt verdere context. Schrijf een antwoord dat het verzoek op passende wijze voltooit.n
2 Hieronder vindt u een instructie die een taak beschrijft, gecombineerd met invoer die verdere context biedt. Schrijf een antwoord dat het verzoek op passende wijze voltooit.nn### Instructie:nIdentificeer uit de passage de attributen van Dionysus. Geef de resultaten weer in een door komma's gescheiden formaat.nn### Invoer:nDionysus (ฮ”ฮนฯŒฮฝฯ…ฯƒฮฟฯ‚, Diรณnusos)/Bacchus (ฮ’ฮฌฮบฯ‡ฮฟฯ‚, Bรกkkhos)nnGod van wijn, vruchtbaarheid, feesten, festivals, waanzin, chaos, dronkenschap, vegetatie, extase en de theater. Hij is de tweemaal geboren zoon van Zeus en Semele, in die zin dat Zeus hem uit de baarmoeder van zijn moeder rukte en Dionysus in zijn eigen dij hechtte en hem droeg totdat hij klaar was om geboren te worden. In de kunst wordt hij afgebeeld als een oudere, bebaarde god (vooral vรณรณr 430 v.Chr.) Of als een verwijfde, langharige jongen (vooral na 430 v.Chr.). Zijn attributen zijn onder meer de thyrsus, een drinkbeker, de wijnstok en een klimopkroon. Hij is vaak in het gezelschap van zijn thiasos, een groep bedienden, waaronder saters, maenaden, en zijn oude leermeester Silenus. De gemalin van Dionysus was Ariadne. Er werd ooit aangenomen dat Dionysius een latere toevoeging was aan het Griekse pantheon, maar de ontdekking van Lineaire B-tabletten bevestigt zijn status als godheid uit een vroege periode. Bacchus was een andere naam voor hem in het Grieks, en werd algemeen gebruikt onder de Romeinen. Tot zijn heilige dieren behoren dolfijnen, slangen, tijgers en ezels.nn### Reactie:n de thyrsus, een drinkbeker, de wijnstok, een klimopkroon Dionysus (ฮ”ฮนฯŒฮฝฯ…ฯƒฮฟฯ‚, Diรณnusos)nnGod van wijn, vruchtbaarheid, feesten, festivals, waanzin, chaos, dronkenschap, vegetatie, extase en theater. Hij is de tweemaal geboren zoon van Zeus en Semele, in die zin dat Zeus hem uit de baarmoeder van zijn moeder rukte en Dionysus in zijn eigen dij hechtte. thyrsus, een drinkbeker, de wijnstok, een kroon van klimop Hieronder staat een instructie die een taak beschrijft, gecombineerd met een invoer die verdere context biedt. Schrijf een antwoord dat het verzoek op passende wijze voltooit.nn### Instructie:nWat is het verschil tussen het Parthische en het Arsacid-rijk?nn### Invoer:nHet Parthische rijk, ook bekend als het Arsacid-rijk, was een
3 Hieronder vindt u een instructie die een taak beschrijft, gecombineerd met invoer die verdere context biedt. Schrijf een antwoord dat het verzoek op passende wijze vervolledigt.nn### Instructie:nWaarom herbergt de hoofdstad van Oezbekistan de grootste Griekse gemeenschap?nn### Input:nHet aantal Grieken in Oezbekistan bedraagt โ€‹โ€‹ongeveer 9,000. De gemeenschap bestaat uit Grieken uit Rusland die in de jaren veertig vanuit dat land met geweld naar Oezbekistan werden gedeporteerd, en politieke vluchtelingen uit Griekenland. Ongeveer 1940 Grieken woonden vรณรณr de Tweede Wereldoorlog in het land en nog eens 30,000 arriveerden na de Griekse Burgeroorlog en de nederlaag van het Democratische Leger van Griekenland. Hun aantal is afgenomen ten opzichte van het hoogtepunt van ongeveer 11,000 in de jaren zestig. De belangrijkste reden is de emigratie naar Griekenland na het einde van de Koude Oorlog, toen de wetten de terugkeer toestonden van alle etnische Grieken die na de Griekse Burgeroorlog om politieke redenen waren verbannen. De grootste Griekse gemeenschap van het land bevindt zich in de hoofdstad Tasjkent, waar de meeste Griekse politieke vluchtelingen door de Sovjet-autoriteiten werden verplaatst. In de oudheid maakte het zuiden van het land deel uit van het Hellenistische Seleucidische koninkrijk, maar de weinige Griekse gemeenschappen daar zijn sindsdien geassimileerd. De belangrijkste organisatie die etnische Grieken vertegenwoordigt is de Griekse Culturele Vereniging van Tasjkent. De activiteiten van deze organisatie omvatten Grieks taalonderwijs (40,000 klassen met in totaal 1960 studenten, lessen voor volwassenen) en het onderwijzen van Griekse dansen en muziek.nn### Reactie:n De meeste Griekse politieke vluchtelingen in Oezbekistan werden door de Sovjetautoriteiten verplaatst naar de hoofdstad Tasjkent. nโ€œ`nDe hoofdstad van Oezbekistan herbergt de grootste Griekse gemeenschap, omdat het aantal Grieken in Oezbekistan ongeveer 9,000 bedraagt. De gemeenschap bestaat uit Grieken uit Rusland die in de jaren veertig vanuit dat land met geweld naar Oezbekistan werden gedeporteerd, en politieke vluchtelingen uit Griekenland. Vรณรณr de Tweede Wereldoorlog woonden ongeveer 1940 Grieken in het land, en nog eens 30,000 De hoofdstad van Oezbekistan herbergt de grootste Griekse gemeenschap, omdat daar de meeste Griekse politieke vluchtelingen naartoe zijn verplaatst door de Sovjet-autoriteiten nadat ze uit Griekenland zijn gedeporteerd.nn Hieronder vindt u een instructie die een taak beschrijft, gecombineerd met een input die verdere context. Schrijf een antwoord dat het verzoek op passende wijze voltooit.nn### Instructie:nWat is het verschil tussen het Parthische en het Arsacid-rijk?nn### Invoer:n

We kunnen zien dat de antwoorden van het verfijnde model een aanzienlijke verbetering laten zien in precisie, relevantie en duidelijkheid vergeleken met die van het vooraf getrainde model. In sommige gevallen is het gebruik van het vooraf getrainde model voor uw gebruiksscenario mogelijk niet voldoende. Als u het met deze techniek verfijnt, wordt de oplossing persoonlijker voor uw dataset.

Opruimen

Nadat u uw trainingstaak hebt voltooid en de bestaande bronnen niet meer wilt gebruiken, verwijdert u de bronnen met behulp van de volgende code:

# Delete resources
# Delete the fine-tuned model
finetuned_predictor.delete_model()

# Delete the fine-tuned model endpoint
finetuned_predictor.delete_endpoint()

Conclusie

De inzet en verfijning van Llama 2 Neuron-modellen op SageMaker demonstreren een aanzienlijke vooruitgang in het beheren en optimaliseren van grootschalige generatieve AI-modellen. Deze modellen, inclusief varianten als Llama-2-7b en Llama-2-13b, gebruiken Neuron voor efficiรซnte training en gevolgtrekking op op AWS Inferentia en Trainium gebaseerde instanties, waardoor hun prestaties en schaalbaarheid worden verbeterd.

De mogelijkheid om deze modellen te implementeren via de SageMaker JumpStart UI en Python SDK biedt flexibiliteit en gebruiksgemak. De Neuron SDK, met zijn ondersteuning voor populaire ML-frameworks en krachtige mogelijkheden, maakt een efficiรซnte verwerking van deze grote modellen mogelijk.

Het verfijnen van deze modellen op domeinspecifieke gegevens is cruciaal voor het vergroten van hun relevantie en nauwkeurigheid op gespecialiseerde gebieden. Het proces, dat u kunt uitvoeren via de SageMaker Studio UI of Python SDK, maakt aanpassing aan specifieke behoeften mogelijk, wat leidt tot verbeterde modelprestaties in termen van snelle voltooiing en responskwaliteit.

Ter vergelijking: de vooraf getrainde versies van deze modellen zijn weliswaar krachtig, maar kunnen ook meer algemene of repetitieve reacties opleveren. Door het model te verfijnen, wordt het aangepast aan specifieke contexten, wat resulteert in nauwkeurigere, relevantere en diversere reacties. Dit maatwerk komt vooral duidelijk naar voren bij het vergelijken van de reacties van vooraf getrainde en verfijnde modellen, waarbij de laatste een merkbare verbetering in kwaliteit en specificiteit van de output laat zien. Concluderend vertegenwoordigt de inzet en verfijning van Neuron Llama 2-modellen op SageMaker een robuust raamwerk voor het beheer van geavanceerde AI-modellen, dat aanzienlijke verbeteringen in prestaties en toepasbaarheid biedt, vooral wanneer deze zijn afgestemd op specifieke domeinen of taken.

Ga vandaag nog aan de slag door te verwijzen naar het voorbeeld van SageMaker notitieboekje.

Voor meer informatie over het implementeren en afstemmen van vooraf getrainde Llama 2-modellen op GPU-gebaseerde instanties raadpleegt u Verfijn Llama 2 voor het genereren van tekst op Amazon SageMaker JumpStart en Llama 2 foundation-modellen van Meta zijn nu beschikbaar in Amazon SageMaker JumpStart.

De auteurs willen graag de technische bijdragen erkennen van Evan Kravitz, Christopher Whitten, Adam Kozdrowicz, Manan Shah, Jonathan Guinegagne en Mike James.


Over de auteurs

Xin Huang is een Senior Applied Scientist voor Amazon SageMaker JumpStart en Amazon SageMaker ingebouwde algoritmen. Hij richt zich op het ontwikkelen van schaalbare machine learning-algoritmen. Zijn onderzoeksinteresses liggen op het gebied van natuurlijke taalverwerking, verklaarbaar diep leren op tabelgegevens en robuuste analyse van niet-parametrische ruimte-tijd clustering. Hij heeft veel artikelen gepubliceerd in ACL-, ICDM-, KDD-conferenties en Royal Statistical Society: Series A.

Nitin Eusebius is een Sr. Enterprise Solutions Architect bij AWS, met ervaring in Software Engineering, Enterprise Architecture en AI/ML. Hij is zeer gepassioneerd over het verkennen van de mogelijkheden van generatieve AI. Hij werkt samen met klanten om hen te helpen goed ontworpen applicaties op het AWS-platform te bouwen, en is toegewijd aan het oplossen van technologische uitdagingen en het assisteren bij hun cloudreis.

Madhur Prashant werkt in de generatieve AI-ruimte bij AWS. Hij is gepassioneerd door het snijvlak van menselijk denken en generatieve AI. Zijn interesses liggen bij generatieve AI, met name het bouwen van oplossingen die behulpzaam en onschadelijk zijn, en vooral optimaal voor klanten. Buiten zijn werk houdt hij van yoga, wandelen, tijd doorbrengen met zijn tweelingbroer en gitaar spelen.

Dewan Choudhury is een Software Development Engineer bij Amazon Web Services. Hij werkt aan de algoritmen en JumpStart-aanbiedingen van Amazon SageMaker. Naast het bouwen van AI/ML-infrastructuren, is hij ook gepassioneerd door het bouwen van schaalbare gedistribueerde systemen.

Hao Zhou is een onderzoekswetenschapper bij Amazon SageMaker. Daarvoor werkte hij aan de ontwikkeling van machine learning-methoden voor fraudedetectie voor Amazon Fraud Detector. Hij heeft een passie voor het toepassen van machine learning, optimalisatie en generatieve AI-technieken op verschillende problemen uit de echte wereld. Hij heeft een doctoraat in elektrotechniek behaald aan de Northwestern University.

Qing Lan is een Software Development Engineer bij AWS. Hij heeft aan verschillende uitdagende producten in Amazon gewerkt, waaronder hoogwaardige ML-inferentieoplossingen en een hoogwaardig logsysteem. Het team van Qing lanceerde met succes het eerste miljard-parametermodel in Amazon Advertising met een zeer lage latentie vereist. Qing heeft diepgaande kennis over de optimalisatie van de infrastructuur en de versnelling van Deep Learning.

Dr Ashish Khetan is een Senior Applied Scientist met ingebouwde algoritmen van Amazon SageMaker en helpt bij het ontwikkelen van algoritmen voor machine learning. Hij promoveerde aan de Universiteit van Illinois in Urbana-Champaign. Hij is een actief onderzoeker op het gebied van machine learning en statistische inferentie, en heeft veel artikelen gepubliceerd op NeurIPS-, ICML-, ICLR-, JMLR-, ACL- en EMNLP-conferenties.

Dokter Li Zhang is een Principal Product Manager-Technical voor de ingebouwde algoritmen van Amazon SageMaker JumpStart en Amazon SageMaker, een service die datawetenschappers en machine learning-beoefenaars aan de slag helpt met het trainen en implementeren van hun modellen, en gebruik maakt van versterkend leren met Amazon SageMaker. Zijn eerdere werk als hoofdonderzoeksmedewerker en meesteruitvinder bij IBM Research heeft de test of time paper award gewonnen op IEEE INFOCOM.

Kamran Khan, Sr Technical Business Development Manager voor AWS Inferentina/Trianium bij AWS. Hij heeft meer dan tien jaar ervaring met het helpen van klanten bij het implementeren en optimaliseren van deep learning-trainingen en inferentieworkloads met behulp van AWS Inferentia en AWS Trainium.

Joe Senerchia is senior productmanager bij AWS. Hij definieert en bouwt Amazon EC2-instances voor deep learning, kunstmatige intelligentie en krachtige computerworkloads.

spot_img

Laatste intelligentie

spot_img