Viimastel aastatel on suured keelemudelid (LLM) tõusnud esile kui silmapaistvad tööriistad, mis on võimelised enneolematu oskusega teksti mõistma, genereerima ja sellega manipuleerima. Nende potentsiaalsed rakendused ulatuvad vestlusagentidest sisu loomise ja teabe otsimiseni, lubades muuta kõik tööstused. Selle potentsiaali ärakasutamine, tagades samas nende mudelite vastutustundliku ja tõhusa kasutamise, sõltub aga LLM-i hindamise kriitilisest protsessist. Hindamine on ülesanne, mida kasutatakse LLM-i või generatiivse AI-teenuse väljundi kvaliteedi ja vastutuse mõõtmiseks. LLM-ide hindamist ei ajenda mitte ainult soov mõista mudeli toimivust, vaid ka vajadus rakendada vastutustundlikku tehisintellekti ning vajadus vähendada valeinformatsiooni või kallutatud sisu esitamise ohtu ning minimeerida kahjuliku, ohtliku, pahatahtliku ja ebaeetilise sisu teket. sisu. Lisaks võib LLM-ide hindamine aidata leevendada turvariske, eriti andmete kiire muutmise kontekstis. LLM-põhiste rakenduste puhul on ülioluline tuvastada haavatavused ja rakendada kaitsemeetmeid, mis kaitsevad võimalike rikkumiste ja andmete volitamata manipuleerimise eest.
Pakkudes olulisi tööriistu LLM-ide hindamiseks lihtsa konfiguratsiooni ja ühe klõpsuga lähenemisviisiga, Amazon SageMaker Clarify LLM-i hindamisvõimalused annavad klientidele juurdepääsu enamikule eelnimetatud eelistest. Kui need tööriistad on käes, on järgmiseks väljakutseks integreerida LLM-i hindamine masinõppe ja operatsioonide (MLOps) elutsüklisse, et saavutada protsessi automatiseerimine ja skaleeritavus. Selles postituses näitame teile, kuidas integreerida Amazon SageMaker Clarify LLM-i hindamine Amazon SageMaker Pipelinesiga, et võimaldada LLM-i ulatuslikku hindamist. Lisaks pakume selles koodinäite GitHub hoidla, et võimaldada kasutajatel teostada paralleelset mitme mudeli mastaabis hindamist, kasutades selliseid näiteid nagu Llama2-7b-f, Falcon-7b ja peenhäälestatud Llama2-7b mudeleid.
Kes peab LLM-i hindamist läbi viima?
Igaüks, kes treenib, viimistleb või lihtsalt kasutab eelkoolitatud LLM-i, peab seda täpselt hindama, et hinnata selle LLM-i toega rakenduse käitumist. Selle põhimõtte alusel saame liigitada generatiivsed AI kasutajad, kes vajavad LLM-i hindamisvõimalusi, kolme rühma, nagu on näidatud järgmisel joonisel: mudeli pakkujad, peenhäälestajad ja tarbijad.
- Fundamental Model (FM) pakkujad rongimudelid, mis on üldotstarbelised. Neid mudeleid saab kasutada paljude järgnevate ülesannete jaoks, näiteks funktsioonide ekstraktimiseks või sisu loomiseks. Iga koolitatud mudelit tuleb võrrelda paljude ülesannetega mitte ainult selleks, et hinnata selle toimivust, vaid ka võrrelda seda teiste olemasolevate mudelitega, teha kindlaks valdkonnad, mis vajavad täiustamist, ja lõpuks jälgida valdkonna edusamme. Mudeli pakkujad peavad kontrollima ka nihkete olemasolu, et tagada lähteandmestiku kvaliteet ja mudeli õige käitumine. Hindamisandmete kogumine on mudeli pakkujate jaoks ülioluline. Lisaks tuleb neid andmeid ja mõõdikuid koguda, et järgida tulevasi määrusi. ISO 42001, Bideni administratsiooni korraldusja EL AI seadus töötada välja standardeid, tööriistu ja teste, mis aitavad tagada tehisintellektisüsteemide turvalisuse, turvalisuse ja usaldusväärsuse. Näiteks on EL-i tehisintellekti seaduse ülesandeks anda teavet selle kohta, milliseid andmekogumeid koolituseks kasutatakse, millist arvutusvõimsust on vaja mudeli käitamiseks, esitada mudelitulemusi avalike/tööstusstandarditega võrreldes ning jagada sise- ja välistestide tulemusi.
- MUDEL peenhäälestajad soovivad lahendada spetsiifilisi ülesandeid (nt sentimentide klassifitseerimine, kokkuvõtete tegemine, küsimustele vastamine) kui ka eelkoolitatud mudeleid domeenispetsiifiliste ülesannete omaksvõtmiseks. Nad vajavad mudeli pakkujate loodud hindamismõõdikuid, et valida lähtepunktiks õige eelkoolitatud mudel.
Nad peavad hindama oma peenhäälestatud mudeleid vastavalt soovitud kasutusjuhtumitele ülesande- või domeenispetsiifiliste andmekogumite abil. Sageli peavad nad kureerima ja looma oma privaatseid andmekogumeid, kuna avalikult kättesaadavad andmekogumid, isegi need, mis on loodud konkreetse ülesande jaoks, ei pruugi nende konkreetse kasutusjuhtumi jaoks vajalikke nüansse piisavalt tabada.
Peenhäälestus on kiirem ja odavam kui täielik koolitus ning nõuab juurutamiseks ja testimiseks kiiremat operatiivset iteratsiooni, kuna tavaliselt luuakse palju kandidaatmudeleid. Nende mudelite hindamine võimaldab pidevat mudeli täiustamist, kalibreerimist ja silumist. Pange tähele, et peenhäälestajatest võivad saada oma mudelite tarbijad, kui nad arendavad tegelikke rakendusi. - MUDEL tarbijate või mudeli juurutajad teenindavad ja jälgivad üldotstarbelisi või peenhäälestatud mudeleid tootmises, eesmärgiga täiustada oma rakendusi või teenuseid LLM-ide kasutuselevõtu kaudu. Nende esimene väljakutse on tagada, et valitud LLM vastaks nende konkreetsetele vajadustele, kuludele ja tulemuslikkuse ootustele. Mudeli väljundite tõlgendamine ja mõistmine on pidev probleem, eriti kui tegemist on privaatsuse ja andmeturbega (nt riskide ja vastavuse auditeerimiseks reguleeritud tööstusharudes, nagu finantssektor). Mudeli pidev hindamine on erapoolikuse või kahjuliku sisu leviku vältimiseks ülioluline. Rakendades tugevat seire- ja hindamisraamistikku, saavad mudelitarbijad ennetavalt tuvastada ja käsitleda regressiooni LLM-ides, tagades, et need mudelid säilitavad aja jooksul oma tõhususe ja usaldusväärsuse.
Kuidas teostada LLM hindamist
Tõhus mudeli hindamine hõlmab kolme põhikomponenti: üht või mitut FM-i või peenhäälestatud mudelit sisendandmete (viipade, vestluste või tavaliste sisendite) ja hindamisloogika hindamiseks.
Hindamismudelite valimiseks tuleb arvesse võtta erinevaid tegureid, sealhulgas andmete omadusi, probleemi keerukust, saadaolevaid arvutusressursse ja soovitud tulemust. Sisendandmesalv pakub valitud mudeli treenimiseks, peenhäälestamiseks ja testimiseks vajalikke andmeid. On ülioluline, et see andmesalv oleks hästi struktureeritud, esinduslik ja kvaliteetne, kuna mudeli jõudlus sõltub suuresti andmetest, millest see õpib. Lõpuks määratlevad hindamisloogikad kriteeriumid ja mõõdikud, mida mudeli toimivuse hindamiseks kasutatakse.
Need kolm komponenti moodustavad koos ühtse raamistiku, mis tagab masinõppe mudelite range ja süstemaatilise hindamise, mis viib lõpuks teadlike otsusteni ja mudeli tõhususe paranemiseni.
Mudelite hindamise tehnikad on endiselt aktiivne uurimisvaldkond. Teadlaste kogukond on viimastel aastatel loonud palju avalikke võrdlusaluseid ja raamistikke, et hõlmata paljusid ülesandeid ja stsenaariume, näiteks GLUE, SuperGLUE, KIIVER, MMLU ja SUUR pink. Nendel võrdlusalustel on edetabelid, mida saab kasutada hinnatud mudelite võrdlemiseks ja vastandamiseks. Võrdlusaluste, nagu HELM, eesmärk on hinnata ka mõõdikuid peale täpsuse mõõtmise, nagu täpsus või F1 skoor. HELM-i võrdlusalus sisaldab õigluse, kallutatuse ja toksilisuse mõõdikuid, millel on mudeli üldises hindamises võrdselt oluline tähtsus.
Kõik need võrdlusnäitajad sisaldavad mõõdikuid, mis mõõdavad, kuidas mudel teatud ülesande täitmisel toimib. Kõige kuulsamad ja levinumad mõõdikud on RED (Meenutusele orienteeritud alusuuring põhilise hindamise jaoks), Bleu (Kakskeelse hindamise alusuuring) või METEOR (Selgesõnalise tellimisega tõlke hindamise mõõdik). Need mõõdikud on kasulikud vahendid automatiseeritud hindamiseks, pakkudes loodud ja viiteteksti leksikaalse sarnasuse kvantitatiivseid mõõtmisi. Kuid need ei hõlma inimsarnase keelepõlvkonna kogu laiust, mis hõlmab semantilist mõistmist, konteksti või stiilinüansse. Näiteks HELM ei paku konkreetsete kasutusjuhtumite jaoks asjakohaseid hindamise üksikasju, kohandatud viipade testimise lahendusi ega mitteekspertide poolt kasutatavaid kergesti tõlgendatavaid tulemusi, kuna protsess võib olla kulukas, seda ei ole lihtne skaleerida ja see võib olla ainult konkreetsete ülesannete jaoks.
Lisaks nõuab inimesesarnase keele genereerimise saavutamine sageli inimese in-the-loop kaasamist, et viia automatiseeritud täpsusmõõdikutele kvalitatiivsed hinnangud ja inimeste hinnangud. Inimeste hindamine on väärtuslik meetod LLM-i väljundite hindamiseks, kuid see võib olla ka subjektiivne ja kalduvus kalduda eelarvamusele, kuna erinevatel hindajatel võib olla teksti kvaliteedi kohta erinevaid arvamusi ja tõlgendusi. Lisaks võib inimeste hindamine olla ressursimahukas ja kulukas ning see võib nõuda palju aega ja vaeva.
Sukeldume sügavale sellesse, kuidas Amazon SageMaker Clarify punktid sujuvalt ühendab, aidates klientidel põhjalikult mudelit hinnata ja valida.
LLM-i hindamine rakendusega Amazon SageMaker Clarify
Amazon SageMaker Clarify aitab klientidel automatiseerida mõõdikuid, sealhulgas, kuid mitte ainult, täpsust, robustsust, toksilisust, stereotüüpe ja faktiteadmisi automatiseerimiseks ning stiili, sidusust, asjakohasust inimpõhise hindamise jaoks ja hindamismeetodeid, pakkudes raamistikku LLM-ide hindamiseks. ja LLM-põhised teenused, nagu Amazon Bedrock. Täielikult hallatava teenusena lihtsustab SageMaker Clarify avatud lähtekoodiga hindamisraamistike kasutamist Amazon SageMakeris. Kliendid saavad valida oma stsenaariumide jaoks asjakohased hindamisandmed ja mõõdikud ning laiendada neid oma kiirete andmekogumite ja hindamisalgoritmidega. SageMaker Clarify pakub hindamistulemusi mitmes vormingus, et toetada erinevaid rolle LLM-i töövoos. Andmeteadlased saavad üksikasjalikke tulemusi analüüsida sülearvutite, SageMakeri mudelikaartide ja PDF-aruannete SageMaker Clarify visualisatsioonidega. Vahepeal saavad operatiivrühmad kasutada Amazon SageMaker GroundTruthi kõrge riskiga üksuste ülevaatamiseks ja märkimiseks, mille SageMaker Clarify tuvastab. Näiteks stereotüüpide, toksilisuse, vältinud isikuandmete tuvastamise või madala täpsuse tõttu.
Seejärel kasutatakse võimalike riskide maandamiseks märkusi ja tugevdavat õpet. Inimsõbralik selgitus tuvastatud riskide kohta kiirendab käsitsi läbivaatamise protsessi, vähendades seeläbi kulusid. Kokkuvõtvad aruanded pakuvad ettevõtete sidusrühmadele erinevate mudelite ja versioonide võrdlusaluseid, hõlbustades teadlike otsuste tegemist.
Järgmine joonis näitab LLM-ide ja LLM-põhiste teenuste hindamise raamistikku.
Amazon SageMaker Clarify LLM-i hindamine on avatud lähtekoodiga Foundation Model Evaluation (FMEval) teek, mille on välja töötanud AWS, et aidata klientidel LLM-e hõlpsalt hinnata. Kõik funktsioonid on lisatud ka Amazon SageMaker Studiosse, et võimaldada selle kasutajatele LLM-i hindamist. Järgmistes jaotistes tutvustame Amazon SageMaker Clarify LLM-i hindamisvõimaluste integreerimist SageMakeri torujuhtmetega, et võimaldada LLM-i mastaapset hindamist, kasutades MLOps-i põhimõtteid.
Amazon SageMaker MLOps elutsükkel
Nagu postitus "MLOpsi sihtasutuse tegevuskava Amazon SageMakeriga ettevõtetele” kirjeldab MLOps protsesside, inimeste ja tehnoloogia kombinatsiooni ML-i kasutusjuhtude tõhusaks tootmiseks.
Järgmine joonis näitab täielikku MLO-de elutsüklit:
Tüüpiline teekond algab sellega, et andmeteadlane loob kontseptsiooni tõestuse (PoC) sülearvuti, et tõestada, et ML suudab lahendada äriprobleeme. Kogu kontseptsiooni tõestamise (PoC) arenduse ajal peab andmeteadlane teisendama äritegevuse võtmenäitajad (KPI-d) masinõppe mudeli mõõdikuteks, nagu täpsus või valepositiivne määr, ning kasutama nende hindamiseks piiratud testandmekogumit. mõõdikud. Andmeteadlased teevad koostööd ML-i inseneridega, et viia kood sülearvutitest hoidlatesse, luues Amazon SageMaker Pipelines'i abil ML-konveierid, mis ühendavad erinevaid töötlemisetappe ja ülesandeid, sealhulgas eeltöötlust, koolitust, hindamist ja järeltöötlust, kaasates samal ajal pidevalt uut tootmist. andmeid. Amazon SageMaker Pipelinesi juurutamine tugineb hoidlate interaktsioonidele ja CI/CD konveieri aktiveerimisele. ML-konveier säilitab parima jõudlusega mudeleid, konteineri kujutisi, hindamistulemusi ja olekuteavet mudeliregistris, kus mudeli sidusrühmad hindavad jõudlust ja otsustavad jõudlustulemuste ja võrdlusnäitajate põhjal tootmisse ülemineku üle, millele järgneb teise CI/CD konveieri aktiveerimine. lavastamiseks ja tootmise kasutuselevõtuks. Pärast tootmist kasutavad ML-i tarbijad mudelit rakenduse käivitatud järelduste kaudu otsese väljakutsumise või API-kõnede kaudu, millel on tagasisideahelad mudeliomanikele pidevaks jõudluse hindamiseks.
Amazon SageMaker Clarify ja MLOps integratsioon
MLOps-i elutsüklit järgides toodavad peenhäälestajad või avatud lähtekoodiga mudelite kasutajad peenhäälestatud mudeleid või FM-i, kasutades Amazon SageMaker Kiirstardi ja MLOps-teenuseid, nagu on kirjeldatud jaotises MLOps tavade rakendamine Amazon SageMaker JumpStart eelkoolitatud mudelitega. See toob kaasa uue domeeni vundamendimudeli operatsioonide (FMOps) ja LLM operatsioonide (LLMOps) jaoks. FMOps/LLMOps: kasutage generatiivset AI-d ja erinevusi MLOpsidega.
Järgmine joonis näitab otsast lõpuni LLMOpsi elutsüklit:
LLMOps-is on peamised erinevused MLO-dega võrreldes mudeli valik ja mudeli hindamine, mis hõlmab erinevaid protsesse ja mõõdikuid. Algses katsetamisetapis valivad andmeteadlased (või peenhäälestajad) FM-i, mida kasutatakse konkreetse generatiivse AI kasutusjuhu jaoks.
Selle tulemuseks on sageli mitme FM-i testimine ja peenhäälestus, millest mõned võivad anda võrreldavaid tulemusi. Pärast mudeli(te) valimist vastutavad viipeinsenerid vajalike sisendandmete ja eeldatava väljundi ettevalmistamise eest hindamiseks (nt sisendandmeid ja päringut sisaldavad sisendviibad) ning määravad kindlaks mõõdikud, nagu sarnasus ja toksilisus. Lisaks nendele mõõdikutele peavad andmeteadlased või peenhäälestajad tulemusi valideerima ja valima sobiva FM-i mitte ainult täppismõõdikute, vaid ka muude võimaluste, näiteks latentsusaja ja kulu põhjal. Seejärel saavad nad mudeli SageMakeri lõpp-punkti juurutada ja selle toimivust väikeses mahus testida. Kuigi katsetamise etapp võib hõlmata lihtsat protsessi, nõuab tootmisele üleminek klientidelt protsessi automatiseerimist ja lahenduse töökindluse suurendamist. Seetõttu peame põhjalikult uurima, kuidas hindamist automatiseerida, võimaldades testijatel teostada tõhusat hindamist ulatuslikult ning rakendada mudeli sisendi ja väljundi reaalajas jälgimist.
Automatiseerige FM-i hindamine
Amazon SageMaker Pipelines automatiseerib kõik eeltöötluse, FM-i peenhäälestuse (valikuliselt) ja mastaabis hindamise etapid. Arvestades katsetamise ajal valitud mudeleid, peavad kiired insenerid katma suurema hulga juhtumeid, valmistades ette palju viipasid ja salvestades need määratud salvestushoidlasse, mida nimetatakse kiirkataloogiks. Lisateabe saamiseks vaadake FMOps/LLMOps: kasutage generatiivset AI-d ja erinevusi MLOpsidega. Seejärel saab Amazon SageMakeri torujuhtmeid struktureerida järgmiselt:
Stsenaarium 1 – hinnake mitut FM-i: Selle stsenaariumi korral saavad FM-id ärilise kasutuse katta ilma peenhäälestuseta. Amazon SageMaker Pipeline koosneb järgmistest etappidest: andmete eeltöötlus, mitme FM-i paralleelne hindamine, mudelite võrdlemine ja valik, mis põhineb täpsusel ja muudel omadustel, nagu kulu või latentsus, valitud mudeliartefaktide registreerimine ja metaandmed.
Järgmine diagramm illustreerib seda arhitektuuri.
2. stsenaarium – mitme FM-i peenhäälestus ja hindamine: Selles stsenaariumis on Amazon SageMaker Pipeline üles ehitatud sarnaselt 1. stsenaariumiga, kuid see töötab paralleelselt iga FM-i peenhäälestus- ja hindamisetapid. Parim peenhäälestatud mudel registreeritakse mudeliregistris.
Järgmine diagramm illustreerib seda arhitektuuri.
3. stsenaarium – hinnake mitut FM-i ja peenhäälestatud FM-i: see stsenaarium on kombinatsioon üldotstarbeliste FM-ide ja peenhäälestatud FM-ide hindamisest. Sel juhul soovivad kliendid kontrollida, kas peenhäälestatud mudel suudab paremini töötada kui üldotstarbeline FM.
Järgmisel joonisel on näidatud SageMakeri torujuhtme sammud.
Pange tähele, et mudeli registreerimine järgib kahte skeemi: (a) salvestage avatud lähtekoodiga mudel ja artefaktid või (b) salvestage viide patenteeritud FM-ile. Lisateabe saamiseks vaadake FMOps/LLMOps: kasutage generatiivset AI-d ja erinevusi MLOpsidega.
Lahenduse ülevaade
Et kiirendada teie teekonda LLM-i ulatusliku hindamiseni, lõime lahenduse, mis rakendab stsenaariume nii Amazon SageMaker Clarify kui ka uue Amazon SageMaker Pipelines SDK abil. Koodinäide, sealhulgas andmekogumid, lähtemärkmikud ja SageMakeri konveierid (sammud ja ML-konveier), on saadaval aadressil GitHub. Selle näidislahenduse väljatöötamiseks oleme kasutanud kahte FM-i: Llama2 ja Falcon-7B. Selles postituses keskendume peamiselt SageMaker Pipeline'i lahenduse põhielementidele, mis on seotud hindamisprotsessiga.
Hindamiskonfiguratsioon: Hindamisprotseduuri standardiseerimiseks oleme loonud YAML-i konfiguratsioonifaili (evaluation_config.yaml), mis sisaldab hindamisprotsessi jaoks vajalikke üksikasju, sealhulgas andmekogumit, mudelit (mudeleid) ja algoritme, mida käivitada SageMaker Pipeline'i hindamise etapp. Järgmine näide illustreerib konfiguratsioonifaili:
pipeline: name: "llm-evaluation-multi-models-hybrid" dataset: dataset_name: "trivia_qa_sampled" input_data_location: "evaluation_dataset_trivia.jsonl" dataset_mime_type: "jsonlines" model_input_key: "question" target_output_key: "answer" models: - name: "llama2-7b-f" model_id: "meta-textgeneration-llama-2-7b-f" model_version: "*" endpoint_name: "llm-eval-meta-textgeneration-llama-2-7b-f" deployment_config: instance_type: "ml.g5.2xlarge" num_instances: 1 evaluation_config: output: '[0].generation.content' content_template: [[{"role":"user", "content": "PROMPT_PLACEHOLDER"}]] inference_parameters: max_new_tokens: 100 top_p: 0.9 temperature: 0.6 custom_attributes: accept_eula: True prompt_template: "$feature" cleanup_endpoint: True - name: "falcon-7b" ... - name: "llama2-7b-finetuned" ... finetuning: train_data_path: "train_dataset" validation_data_path: "val_dataset" parameters: instance_type: "ml.g5.12xlarge" num_instances: 1 epoch: 1 max_input_length: 100 instruction_tuned: True chat_dataset: False ... algorithms: - algorithm: "FactualKnowledge" module: "fmeval.eval_algorithms.factual_knowledge" config: "FactualKnowledgeConfig" target_output_delimiter: "<OR>"
Hindamise etapp: Uus SageMaker Pipeline SDK pakub kasutajatele paindlikkust ML-i töövoo kohandatud sammude määratlemiseks Pythoni dekoraatori @step abil. Seetõttu peavad kasutajad looma Pythoni põhiskripti, mis viib läbi hindamise järgmiselt:
def evaluation(data_s3_path, endpoint_name, data_config, model_config, algorithm_config, output_data_path,): from fmeval.data_loaders.data_config import DataConfig from fmeval.model_runners.sm_jumpstart_model_runner import JumpStartModelRunner from fmeval.reporting.eval_output_cells import EvalOutputCell from fmeval.constants import MIME_TYPE_JSONLINES s3 = boto3.client("s3") bucket, object_key = parse_s3_url(data_s3_path) s3.download_file(bucket, object_key, "dataset.jsonl") config = DataConfig( dataset_name=data_config["dataset_name"], dataset_uri="dataset.jsonl", dataset_mime_type=MIME_TYPE_JSONLINES, model_input_location=data_config["model_input_key"], target_output_location=data_config["target_output_key"], ) evaluation_config = model_config["evaluation_config"] content_dict = { "inputs": evaluation_config["content_template"], "parameters": evaluation_config["inference_parameters"], } serializer = JSONSerializer() serialized_data = serializer.serialize(content_dict) content_template = serialized_data.replace('"PROMPT_PLACEHOLDER"', "$prompt") print(content_template) js_model_runner = JumpStartModelRunner( endpoint_name=endpoint_name, model_id=model_config["model_id"], model_version=model_config["model_version"], output=evaluation_config["output"], content_template=content_template, custom_attributes="accept_eula=true", ) eval_output_all = [] s3 = boto3.resource("s3") output_bucket, output_index = parse_s3_url(output_data_path) for algorithm in algorithm_config: algorithm_name = algorithm["algorithm"] module = importlib.import_module(algorithm["module"]) algorithm_class = getattr(module, algorithm_name) algorithm_config_class = getattr(module, algorithm["config"]) eval_algo = algorithm_class(algorithm_config_class(target_output_delimiter=algorithm["target_output_delimiter"])) eval_output = eval_algo.evaluate(model=js_model_runner, dataset_config=config, prompt_template=evaluation_config["prompt_template"], save=True,) print(f"eval_output: {eval_output}") eval_output_all.append(eval_output) html = markdown.markdown(str(EvalOutputCell(eval_output[0]))) file_index = (output_index + "/" + model_config["name"] + "_" + eval_algo.eval_name + ".html") s3_object = s3.Object(bucket_name=output_bucket, key=file_index) s3_object.put(Body=html) eval_result = {"model_config": model_config, "eval_output": eval_output_all} print(f"eval_result: {eval_result}") return eval_result
SageMakeri torujuhe: Pärast vajalike sammude loomist, nagu andmete eeltöötlus, mudeli juurutamine ja mudeli hindamine, peab kasutaja SageMaker Pipeline SDK abil sammud omavahel siduma. Uus SDK genereerib automaatselt töövoo, tõlgendades erinevate etappide vahelisi sõltuvusi, kui käivitatakse SageMaker Pipeline'i loomise API, nagu on näidatud järgmises näites:
import os
import argparse
from datetime import datetime import sagemaker
from sagemaker.workflow.pipeline import Pipeline
from sagemaker.workflow.function_step import step
from sagemaker.workflow.step_outputs import get_step # Import the necessary steps
from steps.preprocess import preprocess
from steps.evaluation import evaluation
from steps.cleanup import cleanup
from steps.deploy import deploy from lib.utils import ConfigParser
from lib.utils import find_model_by_name if __name__ == "__main__": os.environ["SAGEMAKER_USER_CONFIG_OVERRIDE"] = os.getcwd() sagemaker_session = sagemaker.session.Session() # Define data location either by providing it as an argument or by using the default bucket default_bucket = sagemaker.Session().default_bucket() parser = argparse.ArgumentParser() parser.add_argument("-input-data-path", "--input-data-path", dest="input_data_path", default=f"s3://{default_bucket}/llm-evaluation-at-scale-example", help="The S3 path of the input data",) parser.add_argument("-config", "--config", dest="config", default="", help="The path to .yaml config file",) args = parser.parse_args() # Initialize configuration for data, model, and algorithm if args.config: config = ConfigParser(args.config).get_config() else: config = ConfigParser("pipeline_config.yaml").get_config() evalaution_exec_id = datetime.now().strftime("%Y_%m_%d_%H_%M_%S") pipeline_name = config["pipeline"]["name"] dataset_config = config["dataset"] # Get dataset configuration input_data_path = args.input_data_path + "/" + dataset_config["input_data_location"] output_data_path = (args.input_data_path + "/output_" + pipeline_name + "_" + evalaution_exec_id) print("Data input location:", input_data_path) print("Data output location:", output_data_path) algorithms_config = config["algorithms"] # Get algorithms configuration model_config = find_model_by_name(config["models"], "llama2-7b") model_id = model_config["model_id"] model_version = model_config["model_version"] evaluation_config = model_config["evaluation_config"] endpoint_name = model_config["endpoint_name"] model_deploy_config = model_config["deployment_config"] deploy_instance_type = model_deploy_config["instance_type"] deploy_num_instances = model_deploy_config["num_instances"] # Construct the steps processed_data_path = step(preprocess, name="preprocess")(input_data_path, output_data_path) endpoint_name = step(deploy, name=f"deploy_{model_id}")(model_id, model_version, endpoint_name, deploy_instance_type, deploy_num_instances,) evaluation_results = step(evaluation, name=f"evaluation_{model_id}", keep_alive_period_in_seconds=1200)(processed_data_path, endpoint_name, dataset_config, model_config, algorithms_config, output_data_path,) last_pipeline_step = evaluation_results if model_config["cleanup_endpoint"]: cleanup = step(cleanup, name=f"cleanup_{model_id}")(model_id, endpoint_name) get_step(cleanup).add_depends_on([evaluation_results]) last_pipeline_step = cleanup # Define the SageMaker Pipeline pipeline = Pipeline( name=pipeline_name, steps=[last_pipeline_step], ) # Build and run the Sagemaker Pipeline pipeline.upsert(role_arn=sagemaker.get_execution_role()) # pipeline.upsert(role_arn="arn:aws:iam::<...>:role/service-role/AmazonSageMaker-ExecutionRole-<...>") pipeline.start()
Näide rakendab ühe FM-i hindamist esialgse andmekogumi eeltöötlemise, mudeli juurutamise ja hindamise käivitamise teel. Loodud konveieri suunatud atsükliline graafik (DAG) on näidatud järgmisel joonisel.
Järgides sarnast lähenemist ning kasutades ja kohandades näidet LLaMA 2 mudelite peenhäälestus SageMaker JumpStartis, lõime torujuhtme peenhäälestatud mudeli hindamiseks, nagu on näidatud järgmisel joonisel.
Kasutades eelmisi SageMaker Pipeline'i samme "Lego" klotsidena, töötasime välja lahenduse 1. ja 3. stsenaariumi jaoks, nagu on näidatud järgmistel joonistel. Täpsemalt, GitHub hoidla võimaldab kasutajal hinnata mitut FM-i paralleelselt või teostada keerukamat hindamist, kombineerides nii alus- kui ka peenhäälestatud mudelite hindamist.
Hoidlas saadaolevad lisafunktsioonid hõlmavad järgmist:
- Dünaamilise hindamise etapi genereerimine: Meie lahendus genereerib konfiguratsioonifaili põhjal dünaamiliselt kõik vajalikud hindamisetapid, et kasutajad saaksid hinnata mis tahes arvu mudeleid. Oleme lahendust laiendanud, et toetada uut tüüpi mudelite, nagu Hugging Face või Amazon Bedrock, hõlpsat integreerimist.
- Vältida lõpp-punkti ümberpaigutamist: kui lõpp-punkt on juba paigas, jätame juurutamisprotsessi vahele. See võimaldab kasutajal FM-idega lõpp-punkte hindamiseks uuesti kasutada, mille tulemuseks on kulude kokkuhoid ja juurutusaeg.
- Lõpp-punkti puhastamine: Pärast hindamise lõpetamist demonteerib SageMaker Pipeline juurutatud lõpp-punktid. Seda funktsiooni saab parima mudeli lõpp-punkti elushoidmiseks laiendada.
- Mudeli valimise samm: Oleme lisanud mudelivaliku sammu kohatäide, mis nõuab lõpliku mudelivaliku äriloogikat, sealhulgas selliseid kriteeriume nagu kulu või latentsusaeg.
- Mudeli registreerimise etapp: Parima mudeli saab registreerida Amazon SageMakeri mudeliregistrisse konkreetse mudelirühma uue versioonina.
- Soe bassein: SageMakeri hallatavad soojad basseinid võimaldavad teil pärast töö lõpetamist säilitada ja uuesti kasutada ette nähtud infrastruktuuri, et vähendada korduva töökoormuse latentsust
Järgmine joonis illustreerib neid võimalusi ja mitme mudeli hindamise näidet, mida kasutajad saavad meie lahendust kasutades hõlpsalt ja dünaamiliselt luua. GitHub hoidla.
Jätsime andmete ettevalmistamise tahtlikult välja, kuna seda kirjeldatakse põhjalikult teises postituses, sealhulgas kiire kataloogikujundus, viipade mallid ja kiire optimeerimine. Lisateavet ja seotud komponentide määratlusi leiate aadressilt FMOps/LLMOps: kasutage generatiivset AI-d ja erinevusi MLOpsidega.
Järeldus
Selles postituses keskendusime sellele, kuidas automatiseerida ja rakendada LLM-ide hindamist mastaapselt, kasutades Amazon SageMaker Clarify LLM hindamisvõimalusi ja Amazon SageMaker Pipelines. Lisaks teoreetilistele arhitektuuriprojektidele on meil selles näidiskood GitHub hoidla (FM-idega Llama2 ja Falcon-7B), et võimaldada klientidel välja töötada oma skaleeritavad hindamismehhanismid.
Järgmisel joonisel on kujutatud mudeli hindamise arhitektuuri.
Selles postituses keskendusime LLM-i hindamise rakendamisele skaalal, nagu on näidatud illustratsiooni vasakus servas. Tulevikus keskendume selliste näidete väljatöötamisele, mis täidavad FM-ide täielikku elutsüklit kuni tootmiseni, järgides artiklis kirjeldatud juhiseid. FMOps/LLMOps: kasutage generatiivset AI-d ja erinevusi MLOpsidega. See hõlmab LLM-i teenindamist, jälgimist, väljundreitingu salvestamist, mis lõpuks käivitab automaatse ümberhindamise ja peenhäälestuse, ning lõpuks inimeste kasutamist sildistatud andmete või viipade kataloogi kallal töötamiseks.
Autoritest
Dr Sokratis Kartakis on Amazoni veebiteenuste peamine masinõppe ja operatsioonide lahenduste arhitekt. Sokratis keskendub sellele, et võimaldada ettevõtetel klientidel oma masinõppe (ML) ja generatiivseid AI-lahendusi industrialiseerida, kasutades AWS-i teenuseid ja kujundades oma tegevusmudelit, st MLOps/FMOps/LLMOps aluseid, ning parimaid arendustavasid kasutades ümberkujundamise tegevuskava. Ta on veetnud üle 15 aasta, et leiutada, kavandada, juhtida ja juurutada uuenduslikke täistootmistasemel ML ja AI lahendusi energeetika, jaemüügi, tervishoiu, rahanduse, motospordi jne valdkondades.
Jagdeep Singh Soni on Hollandis asuva AWSi vanempartnerilahenduste arhitekt. Ta kasutab oma kirge DevOpsi, GenAI ja ehitustööriistade vastu, et aidata nii süsteemiintegraatoreid kui ka tehnoloogiapartnereid. Jagdeep rakendab oma rakenduste arendamise ja arhitektuuri tausta, et juhtida oma meeskonnas innovatsiooni ja edendada uusi tehnoloogiaid.
Dr Riccardo Gatti on Itaalias asuv vanemstardilahenduse arhitekt. Ta on klientide tehniline nõustaja, kes aitab neil oma äri kasvatada, valides õiged tööriistad ja tehnoloogiad uuenduste tegemiseks, kiireks skaleerimiseks ja üleilmseks muutmiseks minutitega. Ta on alati olnud kirglik masinõppe ja generatiivse AI vastu, olles kogu oma karjääri jooksul neid tehnoloogiaid erinevates valdkondades uurinud ja rakendanud. Ta on AWS Itaalia taskuhäälingusaate “Casa Startup” võõrustaja ja toimetaja, mis on pühendatud idufirmade asutajate lugudele ja uutele tehnoloogilistele suundumustele.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/operationalize-llm-evaluation-at-scale-using-amazon-sagemaker-clarify-and-mlops-services/
- :on
- :on
- :mitte
- : kus
- $ UP
- 1
- 100
- 7
- 9
- a
- MEIST
- kiirendama
- juurdepääs
- täpsus
- täpselt
- Saavutada
- saavutamisel
- üle
- tegu
- Aktiveerimine
- aktiivne
- atsükliline
- lisatud
- lisamine
- Lisaks
- aadress
- piisavalt
- haldamine
- Vastuvõtmine
- Vastuvõtmine
- edusammud
- nõuandja
- pärast
- vastu
- ained
- AI
- AI seadus
- Tehisintellekti süsteemid
- eesmärk
- Eesmärk
- algoritm
- algoritme
- Joondab
- elus
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- juba
- Ka
- alati
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon SageMakeri torujuhtmed
- Amazon SageMaker Studio
- Amazon Web Services
- an
- analüüsima
- ja
- Teine
- vastus
- mistahes
- API
- taotlus
- Sovelluskehitys
- rakendused
- rakendatud
- kehtib
- lähenemine
- asjakohane
- arhitektuur
- OLEME
- valdkondades
- argument
- AS
- hinnata
- Hindamine
- hindamine
- hinnangud
- At
- auditeerimine
- automatiseerima
- Automatiseeritud
- Automaatne
- automaatselt
- Automaatika
- saadaval
- AWS
- tagapõhi
- põhineb
- põhiline
- BE
- sest
- muutuma
- olnud
- käitumine
- võrrelda
- võrdlusuuring
- kriteeriumid
- Kasu
- BEST
- Parem
- vahel
- Peale
- erapoolikus
- erapooletu
- kalduvusi
- Plokid
- mõlemad
- rikkumisi
- laius
- tooma
- ehitama
- ehitaja
- äri
- kuid
- by
- kutsutud
- Kutsub
- CAN
- kandidaat
- võimeid
- võimeline
- lüüa
- Kaardid
- Karjäär
- juhul
- juhtudel
- kataloog
- kindel
- väljakutse
- omadused
- odavam
- kontrollima
- Vali
- valitud
- klassifikatsioon
- Klassifitseerige
- puhastama
- kood
- ühtehoidev
- Teevad koostööd
- kombinatsioon
- kombineerimine
- ühine
- kogukond
- võrreldav
- võrdlema
- võrreldes
- võrdlus
- Täiendus
- lõpetamist
- keeruline
- keerukus
- Vastavus
- täitma
- komponent
- komponendid
- koosnevad
- arvutuslik
- Arvutama
- mõiste
- Murettekitav
- Läbi viima
- Juhtimine
- dirigeerib
- konfiguratsioon
- Võta meiega ühendust
- ühendab
- kaaluda
- koosneb
- ehitama
- Tarbijad
- Konteiner
- sisaldab
- sisu
- Sisu genereerimine
- kontekst
- jätkuvalt
- pidev
- kontrast
- jutukas
- vestlused
- muutma
- parandada
- Maksma
- kulude kokkuhoid
- kulukas
- kulud
- cover
- looma
- loodud
- loomine
- loomine
- kriteeriumid
- kriitiline
- otsustav
- tava
- Kliendid
- DAG
- andmed
- Andmete ettevalmistamine
- andmeteadlane
- andmekaitse
- andmekogum
- andmete rikkumine
- andmekogumid
- kuupäev Kellaaeg
- otsustama
- Otsuse tegemine
- otsused
- pühendunud
- sügav
- sügav sukeldumine
- vaikimisi
- määratlema
- mõisted
- annab
- Nõudlus
- sõltuvused
- sõltub
- juurutada
- lähetatud
- juurutamine
- kasutuselevõtu
- sügavus
- kirjeldatud
- määratud
- kavandatud
- projekteerimine
- disainilahendused
- soov
- soovitud
- üksikasjalik
- detailid
- arendama
- arenenud
- arenev
- & Tarkvaraarendus
- erinevused
- erinev
- otsene
- suunatud
- sukelduma
- mitu
- do
- Ei tee
- domeen
- Domeenid
- ajam
- ajal
- dünaamiliselt
- e
- iga
- kergesti
- lihtne
- toimetaja
- Tõhus
- tõhusus
- tõhus
- tõhusalt
- jõupingutusi
- kumbki
- elemendid
- teine
- töötavad
- võimaldama
- võimaldab
- võimaldades
- Lõpuks-lõpuni
- Lõpp-punkt
- energia
- Inseneride
- suurendama
- tagama
- tagab
- tagades
- ettevõte
- ettevõtete
- epohh
- Võrdselt
- eriti
- oluline
- jms
- EU
- hindama
- hinnatud
- hindamine
- hindamine
- Isegi
- lõpuks
- näide
- näited
- täidesaatev
- olemasolevate
- ootused
- oodatav
- kiirendada
- ära kasutades
- laiendama
- pikendatud
- väline
- kaevandamine
- f1
- nägu
- hõlbustades
- tegurid
- õiglus
- juga
- vale
- kuulus
- KIIRE
- kiiremini
- tunnusjoon
- Lisaks
- tagasiside
- vähe
- väli
- Joonis
- arvandmed
- fail
- lõplik
- Lõpuks
- rahastama
- finants-
- Finantssektor
- esimene
- Paindlikkus
- Keskenduma
- keskendunud
- keskendub
- Järgneb
- Järel
- järgneb
- eest
- vorm
- Sihtasutus
- Sihtasutused
- Asutajad
- Raamistik
- raamistikud
- sageli
- Alates
- täitmine
- täis
- funktsionaalsused
- funktsionaalsus
- põhiline
- Pealegi
- tulevik
- kogumine
- Üldine
- Üldine otstarve
- tekitama
- loodud
- genereerib
- teeniva
- põlvkond
- generatiivne
- Generatiivne AI
- saama
- antud
- Globaalne
- Go
- anda
- graafik
- Grupp
- Grupi omad
- Kasvavad
- käsi
- kahjulik
- Kasutamine
- Olema
- võttes
- he
- Tervis
- tugevalt
- aitama
- aidates
- aitab
- Suur
- kõrge riskiga
- hingedega
- tema
- omamine
- võõrustaja
- Kuidas
- Kuidas
- aga
- HTML
- HTTPS
- inim-
- i
- tuvastatud
- identifitseerib
- identifitseerima
- if
- illustreerib
- pildid
- rakendada
- rakendamisel
- tööriistad
- import
- tähtsus
- paranemine
- parandusi
- in
- sisaldama
- hõlmab
- Kaasa arvatud
- Inkorporeeritud
- kaasates
- näitajad
- tööstusharudes
- info
- teavitatakse
- Infrastruktuur
- esialgne
- uuendama
- Innovatsioon
- uuenduslik
- sisend
- sisendite
- integreerima
- integratsioon
- tahtlikult
- interaktsioonid
- sisemine
- sisse
- kehtestama
- kutsutud
- kaasama
- seotud
- kaasates
- ISO
- IT
- itaalia
- Itaalia
- kirjed
- iteratsioon
- ITS
- töö
- teekond
- jpg
- hoidma
- hoitakse
- Võti
- teadmised
- keel
- suur
- suurem
- viimane
- viimaseks
- Hilinemine
- viima
- leaderboards
- juhtivate
- õppimine
- õpib
- lahkus
- laskma
- võimendav
- Raamatukogu
- eluring
- nagu
- piiratud
- LINK
- Laama
- LLM
- liising
- loogika
- Madal
- masin
- masinõpe
- põhiline
- säilitada
- jääb
- juhitud
- manipuleerimine
- manipulatsioonid
- käsiraamat
- palju
- mai..
- Vahepeal
- mõõtma
- meetmed
- mehhanismid
- Metaandmed
- meetod
- meetodid
- meetriline
- Meetrika
- protokoll
- Väärinformatsioon
- Leevendada
- leevendav
- ML
- MLOps
- mudel
- mudelid
- moodulid
- Jälgida
- järelevalve
- rohkem
- kõige
- motiveeritud
- Motorsports
- palju
- mitmekordne
- peab
- nimi
- vajalik
- Vajadus
- vajadustele
- Holland
- Uus
- Uued tehnoloogiad
- järgmine
- mitteeksperdid
- meeles
- märkmik
- varjutamine
- number
- of
- pakkuma
- sageli
- on
- kunagi
- ONE
- jätkuv
- ainult
- avatud lähtekoodiga
- tegutsevad
- töö
- Operations
- Arvamused
- optimeerimine
- or
- OS
- Muu
- meie
- välja
- Tulemus
- tulemusi
- väljund
- väljundid
- tasumata
- üle
- üldine
- enda
- omanikud
- Parallel
- parameetrid
- eriline
- eriti
- partner
- partnerid
- kirg
- kirglik
- tee
- mustrid
- Inimesed
- täitma
- jõudlus
- etendused
- täidab
- faas
- torujuhe
- Koht
- kohatäide
- Platon
- Platoni andmete intelligentsus
- PlatoData
- PoC
- podcast
- Punkt
- ujula
- Basseinid
- post
- potentsiaal
- võim
- sisse
- tavad
- Täpsus
- ettevalmistamine
- ettevalmistamisel
- olemasolu
- vältida
- eelmine
- esmane
- Peamine
- põhimõtted
- privaatsus
- era-
- Probleem
- menetlus
- protsess
- Protsessid
- töötlemine
- Produktsioon
- progressioon
- esiletõstmine
- lubadus
- edendama
- küsib
- tõend
- tõendi mõiste
- omadused
- varaline
- kaitsma
- Tõesta
- anda
- pakkujad
- annab
- pakkudes
- avalik
- avalikult
- eesmärk
- Python
- kvalitatiivne
- kvaliteet
- kvantitatiivne
- küsimus
- valik
- määr
- hinnang
- reaalne
- päris maailm
- reaalajas
- vähendama
- Lühendatud
- vähendamine
- viitama
- viide
- registreeritud
- Registreerimine
- registri
- regulaarne
- reguleeritud
- reguleeritud tööstusharud
- määrused
- seotud
- asjakohasus
- asjakohane
- usaldusväärsus
- korduv
- aru
- Aruandlus
- Aruanded
- Hoidla
- esindaja
- nõutav
- Vajab
- teadustöö
- Teadlased
- ressursimahukas
- Vahendid
- vastutus
- vastutav
- tulemuseks
- Tulemused
- jaemüük
- säilitama
- tagasipöördumine
- taaskasutada
- läbi
- Revolutsiooniline
- õige
- rangelt
- Ülestõusnud
- Oht
- riskide
- tegevuskava
- jõuline
- tugevus
- Roll
- rollid
- jooks
- jooksmine
- jookseb
- s
- ohutu
- tagatisi
- salveitegija
- SageMakeri torujuhtmed
- Hoiused
- Skaalautuvus
- skaalautuvia
- Skaala
- stsenaarium
- stsenaariumid
- teadlane
- teadlased
- ulatus
- skoor
- käsikiri
- SDK
- sujuvalt
- lõigud
- sektor
- kindlustama
- turvalisus
- turvariskid
- valima
- väljavalitud
- valides
- valik
- vanem
- tunne
- teenima
- teenus
- Teenused
- teenindavad
- istung
- komplekt
- vormimine
- Jaga
- näitama
- näidatud
- Näitused
- külg
- märkimisväärne
- sarnane
- lihtsustab
- lihtsalt
- alates
- ühekordne
- väike
- lahendus
- Lahendused
- LAHENDAGE
- mõned
- allikas
- sille
- spetsialist
- konkreetse
- eriti
- kasutatud
- matkimine
- huvirühmad
- standardimine
- standardite
- Stanford
- Käivitus
- algab
- käivitamisel
- olek
- Samm
- Sammud
- Veel
- ladustamine
- salvestada
- Lood
- ladustamine
- lihtne
- struktureeritud
- õppinud
- stuudio
- stiil
- Järgnevalt
- selline
- KOKKUVÕTE
- toetama
- süsteem
- süsteemid
- kohandamine
- Ülesanne
- ülesanded
- meeskond
- meeskonnad
- Tehniline
- tehnikat
- tehnoloogiline
- Tehnoloogiad
- Tehnoloogia
- malle
- test
- testijad
- Testimine
- testid
- tekst
- kui
- et
- .
- Tulevik
- oma
- Neile
- SIIS
- teoreetiline
- sellega
- seetõttu
- Need
- nad
- see
- need
- kolm
- Läbi
- läbi kogu
- aeg
- et
- kokku
- tööriist
- töövahendid
- jälgida
- Rong
- koolitatud
- koolitus
- rongid
- Transformation
- üleminek
- üleminek
- Tõlge
- Trends
- vallandada
- tõsi
- usaldusväärne
- kaks
- liigid
- tüüpiline
- lõpuks
- volitamata
- mõistma
- mõistmine
- enneolematu
- tulemas
- kasutama
- kasutage juhtumit
- Kasutatud
- Kasutaja
- Kasutajad
- kasutusalad
- kasutamine
- tavaliselt
- ära kasutama
- KINNITAGE
- väärtuslik
- eri
- versioon
- versioonid
- kaudu
- tähtis
- Haavatavused
- tahan
- soe
- we
- web
- veebiteenused
- Hästi
- olid
- M
- millal
- mis
- kuigi
- WHO
- lai
- Lai valik
- Wikipedia
- will
- koos
- jooksul
- ilma
- Töö
- töövoog
- töö
- maailm
- yaml
- aastat
- saak
- sa
- Sinu
- sephyrnet