Negli ultimi anni i Large Language Models (LLM) sono diventati importanti come strumenti eccezionali in grado di comprendere, generare e manipolare testi con una competenza senza precedenti. Le loro potenziali applicazioni spaziano dagli agenti conversazionali alla generazione di contenuti e al recupero di informazioni, promettendo di rivoluzionare tutti i settori. Tuttavia, sfruttare questo potenziale garantendo al contempo l’uso responsabile ed efficace di questi modelli dipende dal processo critico di valutazione LLM. Una valutazione è un'attività utilizzata per misurare la qualità e la responsabilità dell'output di un LLM o di un servizio di intelligenza artificiale generativa. La valutazione degli LLM non è solo motivata dal desiderio di comprendere le prestazioni di un modello, ma anche dalla necessità di implementare un'intelligenza artificiale responsabile e dalla necessità di mitigare il rischio di fornire disinformazione o contenuti distorti e di ridurre al minimo la generazione di contenuti dannosi, non sicuri, dannosi e non etici. contenuto. Inoltre, la valutazione degli LLM può anche aiutare a mitigare i rischi per la sicurezza, in particolare nel contesto di una rapida manomissione dei dati. Per le applicazioni basate su LLM, è fondamentale identificare le vulnerabilità e implementare misure di salvaguardia che proteggano da potenziali violazioni e manipolazioni non autorizzate dei dati.
Fornendo strumenti essenziali per la valutazione degli LLM con una configurazione semplice e un approccio con un clic, Amazon SageMaker Chiarire Le funzionalità di valutazione LLM garantiscono ai clienti l'accesso alla maggior parte dei vantaggi sopra menzionati. Con questi strumenti a disposizione, la prossima sfida è integrare la valutazione LLM nel ciclo di vita del Machine Learning and Operation (MLOps) per ottenere automazione e scalabilità nel processo. In questo post ti mostriamo come integrare la valutazione LLM di Amazon SageMaker Clarify con Amazon SageMaker Pipelines per abilitare la valutazione LLM su larga scala. Inoltre, forniamo un esempio di codice in questo GitHub repository per consentire agli utenti di condurre una valutazione multimodello parallela su larga scala, utilizzando esempi come Llama2-7b-f, Falcon-7b e modelli Llama2-7b ottimizzati.
Chi deve eseguire la valutazione LLM?
Chiunque formi, perfezioni o semplicemente utilizzi un LLM pre-addestrato deve valutarlo accuratamente per valutare il comportamento dell'applicazione alimentata da quel LLM. Sulla base di questo principio, possiamo classificare gli utenti dell'intelligenza artificiale generativa che necessitano di funzionalità di valutazione LLM in 3 gruppi, come mostrato nella figura seguente: fornitori di modelli, ottimizzatori e consumatori.
- Fornitori di modelli fondazionali (FM). modelli di treni di uso generale. Questi modelli possono essere utilizzati per molte attività a valle, come l'estrazione di funzionalità o la generazione di contenuti. Ogni modello addestrato deve essere confrontato con molti compiti non solo per valutarne le prestazioni ma anche per confrontarlo con altri modelli esistenti, per identificare le aree che necessitano di miglioramenti e, infine, per tenere traccia dei progressi nel campo. I fornitori di modelli devono inoltre verificare la presenza di eventuali distorsioni per garantire la qualità del set di dati di partenza e il corretto comportamento del loro modello. La raccolta dei dati di valutazione è vitale per i fornitori di modelli. Inoltre, questi dati e metriche devono essere raccolti per conformarsi alle normative imminenti. ISO 42001, le Ordine esecutivo dell'amministrazione Bidene Legge dell'UE sull'IA sviluppare standard, strumenti e test per contribuire a garantire che i sistemi di intelligenza artificiale siano sicuri, protetti e affidabili. Ad esempio, l’EU AI Act ha il compito di fornire informazioni su quali set di dati vengono utilizzati per la formazione, quale potenza di calcolo è necessaria per eseguire il modello, riportare i risultati del modello rispetto a benchmark standard pubblici/di settore e condividere i risultati di test interni ed esterni.
- Modello perfezionatori desiderano risolvere compiti specifici (ad esempio classificazione dei sentimenti, riepilogo, risposta a domande) nonché modelli pre-addestrati per l'adozione di compiti specifici del dominio. Hanno bisogno di metriche di valutazione generate dai fornitori di modelli per selezionare il giusto modello pre-addestrato come punto di partenza.
Devono valutare i loro modelli ottimizzati rispetto al caso d'uso desiderato con set di dati specifici dell'attività o del dominio. Spesso devono curare e creare i propri set di dati privati poiché i set di dati disponibili pubblicamente, anche quelli progettati per un compito specifico, potrebbero non catturare adeguatamente le sfumature richieste per il loro particolare caso d’uso.
La messa a punto è più rapida ed economica di una formazione completa e richiede un'iterazione operativa più rapida per l'implementazione e il test poiché di solito vengono generati molti modelli candidati. La valutazione di questi modelli consente il miglioramento continuo, la calibrazione e il debug del modello. Si noti che i perfezionatori possono diventare consumatori dei propri modelli quando sviluppano applicazioni nel mondo reale. - Modello consumatori oppure i distributori di modelli servono e monitorano modelli di uso generale o ottimizzati in produzione, con l'obiettivo di migliorare le proprie applicazioni o servizi attraverso l'adozione di LLM. La prima sfida che devono affrontare è garantire che il LLM scelto sia in linea con le loro esigenze specifiche, i costi e le aspettative di prestazione. Interpretare e comprendere i risultati del modello è una preoccupazione persistente, soprattutto quando sono coinvolte la privacy e la sicurezza dei dati (ad esempio per il controllo del rischio e della conformità nei settori regolamentati, come il settore finanziario). La valutazione continua del modello è fondamentale per prevenire la propagazione di pregiudizi o contenuti dannosi. Implementando un solido quadro di monitoraggio e valutazione, i consumatori del modello possono identificare e affrontare in modo proattivo la regressione negli LLM, garantendo che questi modelli mantengano la loro efficacia e affidabilità nel tempo.
Come eseguire la valutazione LLM
Una valutazione efficace del modello coinvolge tre componenti fondamentali: uno o più FM o modelli ottimizzati per valutare i set di dati di input (prompt, conversazioni o input regolari) e la logica di valutazione.
Per selezionare i modelli da valutare, è necessario considerare diversi fattori, tra cui le caratteristiche dei dati, la complessità del problema, le risorse computazionali disponibili e il risultato desiderato. L'archivio dati di input fornisce i dati necessari per l'addestramento, il perfezionamento e il test del modello selezionato. È fondamentale che questo archivio dati sia ben strutturato, rappresentativo e di alta qualità, poiché le prestazioni del modello dipendono fortemente dai dati da cui apprende. Infine, le logiche di valutazione definiscono i criteri e le metriche utilizzate per valutare le prestazioni del modello.
Insieme, questi tre componenti formano un quadro coeso che garantisce la valutazione rigorosa e sistematica dei modelli di machine learning, portando infine a decisioni informate e miglioramenti nell’efficacia del modello.
Le tecniche di valutazione dei modelli sono ancora un campo di ricerca attivo. Negli ultimi anni la comunità di ricercatori ha creato molti benchmark e framework pubblici per coprire un’ampia gamma di compiti e scenari come: COLLA, Super colla, TIMONE, MMLU ed BIG-panca. Questi benchmark dispongono di classifiche che possono essere utilizzate per confrontare e contrastare i modelli valutati. I benchmark, come HELM, mirano anche a valutare parametri che vanno oltre le misure di accuratezza, come la precisione o il punteggio F1. Il benchmark HELM include parametri di equità, bias e tossicità che hanno un’importanza altrettanto significativa nel punteggio di valutazione complessivo del modello.
Tutti questi benchmark includono una serie di parametri che misurano le prestazioni del modello in una determinata attività. Le metriche più famose e più comuni sono ROUGE (Sostituto orientato al richiamo per la valutazione dei gisting), BLU (Studente di valutazione bilingue), o METEOR (Metrica per la valutazione della traduzione con ordinamento esplicito). Tali parametri fungono da strumento utile per la valutazione automatizzata, fornendo misure quantitative di somiglianza lessicale tra il testo generato e quello di riferimento. Tuttavia, non catturano l’intera ampiezza della generazione del linguaggio di tipo umano, che include la comprensione semantica, il contesto o le sfumature stilistiche. Ad esempio, HELM non fornisce dettagli di valutazione rilevanti per casi d'uso specifici, soluzioni per testare prompt personalizzati e risultati facilmente interpretabili utilizzati da non esperti, perché il processo può essere costoso, non facile da scalare e solo per attività specifiche.
Inoltre, ottenere una generazione di linguaggio simile a quella umana spesso richiede l’inclusione di human-in-the-loop per apportare valutazioni qualitative e giudizio umano per integrare le metriche di precisione automatizzate. La valutazione umana è un metodo prezioso per valutare i risultati del LLM, ma può anche essere soggettiva e soggetta a pregiudizi perché diversi valutatori umani possono avere opinioni e interpretazioni diverse della qualità del testo. Inoltre, la valutazione umana può essere dispendiosa in termini di risorse e costosa e può richiedere tempo e sforzi significativi.
Approfondiamo il modo in cui Amazon SageMaker Clarify collega perfettamente i punti, aiutando i clienti a condurre una valutazione e una selezione approfondite dei modelli.
Valutazione LLM con Amazon SageMaker Clarify
Amazon SageMaker Clarify aiuta i clienti ad automatizzare i parametri, inclusi ma non limitati a accuratezza, robustezza, tossicità, stereotipi e conoscenza fattuale per l'automazione, nonché stile, coerenza, pertinenza per la valutazione basata sull'uomo e metodi di valutazione fornendo un quadro per valutare i LLM e servizi basati su LLM come Amazon Bedrock. Essendo un servizio completamente gestito, SageMaker Clarify semplifica l'uso di framework di valutazione open source all'interno di Amazon SageMaker. I clienti possono selezionare set di dati e metriche di valutazione rilevanti per i loro scenari ed estenderli con i propri set di dati e algoritmi di valutazione. SageMaker Clarify fornisce risultati di valutazione in più formati per supportare diversi ruoli nel flusso di lavoro LLM. I data scientist possono analizzare risultati dettagliati con le visualizzazioni SageMaker Clarify in notebook, schede modello SageMaker e report PDF. Nel frattempo, i team operativi possono utilizzare Amazon SageMaker GroundTruth per rivedere e annotare gli elementi ad alto rischio identificati da SageMaker Clarify. Ad esempio, a causa di stereotipi, tossicità, PII sfuggite o scarsa precisione.
Le annotazioni e l'apprendimento per rinforzo vengono successivamente utilizzati per mitigare i rischi potenziali. Spiegazioni comprensibili dei rischi identificati accelerano il processo di revisione manuale, riducendo così i costi. I rapporti di sintesi offrono agli stakeholder aziendali parametri di riferimento comparativi tra diversi modelli e versioni, facilitando un processo decisionale informato.
La figura seguente mostra il quadro per valutare i LLM e i servizi basati su LLM:
La valutazione LLM di Amazon SageMaker Clarify è una libreria Foundation Model Evaluation (FMEval) open source sviluppata da AWS per aiutare i clienti a valutare facilmente i LLM. Tutte le funzionalità sono state incorporate anche in Amazon SageMaker Studio per consentire la valutazione LLM per i suoi utenti. Nelle sezioni seguenti, introduciamo l'integrazione delle funzionalità di valutazione LLM di Amazon SageMaker Clarify con SageMaker Pipelines per consentire la valutazione LLM su larga scala utilizzando i principi MLOps.
Ciclo di vita MLOps di Amazon SageMaker
Come il post “Roadmap della fondazione MLOps per le aziende con Amazon SageMaker" descrive, MLOps è la combinazione di processi, persone e tecnologia per produrre in modo efficiente i casi d'uso ML.
La figura seguente mostra il ciclo di vita MLOps end-to-end:
Un tipico viaggio inizia con un data scientist che crea un notebook proof-of-concept (PoC) per dimostrare che il machine learning può risolvere un problema aziendale. Durante lo sviluppo del Proof of Concept (PoC), spetta al data scientist convertire gli indicatori chiave di prestazione (KPI) aziendali in parametri di modello di apprendimento automatico, come la precisione o il tasso di falsi positivi, e utilizzare un set di dati di test limitato per valutarli metrica. I data scientist collaborano con gli ingegneri ML per trasferire il codice dai notebook ai repository, creando pipeline ML utilizzando Amazon SageMaker Pipelines, che collegano varie fasi e attività di elaborazione, tra cui pre-elaborazione, formazione, valutazione e post-elaborazione, il tutto incorporando continuamente nuova produzione dati. La distribuzione delle pipeline Amazon SageMaker si basa sulle interazioni del repository e sull'attivazione della pipeline CI/CD. La pipeline ML mantiene i modelli, le immagini dei contenitori, i risultati della valutazione e le informazioni sullo stato con le migliori prestazioni in un registro del modello, in cui le parti interessate del modello valutano le prestazioni e decidono il passaggio alla produzione in base ai risultati e ai benchmark delle prestazioni, seguiti dall'attivazione di un'altra pipeline CI/CD per l'allestimento e la distribuzione in produzione. Una volta in produzione, i consumatori ML utilizzano il modello tramite inferenza attivata dall'applicazione tramite invocazione diretta o chiamate API, con cicli di feedback ai proprietari del modello per la valutazione continua delle prestazioni.
Amazon SageMaker Clarify e integrazione MLOps
Seguendo il ciclo di vita di MLOps, i perfezionatori o gli utenti di modelli open source producono modelli ottimizzati o FM utilizzando Amazon SageMaker Jumpstart e i servizi MLOps, come descritto in Implementazione di pratiche MLOps con modelli preaddestrati di Amazon SageMaker JumpStart. Ciò ha portato a un nuovo dominio per le operazioni del modello di fondazione (FMOps) e le operazioni LLM (LLMOps) FMOps/LLMOps: rendere operativa l'intelligenza artificiale generativa e le differenze con MLOps.
La figura seguente mostra il ciclo di vita LLMOps end-to-end:
In LLMOps le principali differenze rispetto a MLOps sono la selezione e la valutazione del modello che coinvolgono processi e metriche diversi. Nella fase di sperimentazione iniziale, i data scientist (o i fine-tuner) selezionano il FM che verrà utilizzato per uno specifico caso d’uso dell’IA generativa.
Ciò spesso comporta il test e la messa a punto di più FM, alcuni dei quali possono produrre risultati comparabili. Dopo la selezione del/i modello/i, i prompt engineer sono responsabili della preparazione dei dati di input necessari e dell'output previsto per la valutazione (ad esempio, prompt di input che comprendono dati di input e query) e definiscono metriche come somiglianza e tossicità. Oltre a questi parametri, i data scientist o i perfezionatori devono convalidare i risultati e scegliere il FM appropriato non solo in base ai parametri di precisione, ma anche ad altre funzionalità come latenza e costi. Quindi, possono distribuire un modello su un endpoint SageMaker e testarne le prestazioni su piccola scala. Sebbene la fase di sperimentazione possa comportare un processo semplice, il passaggio alla produzione richiede ai clienti di automatizzare il processo e migliorare la robustezza della soluzione. Pertanto, dobbiamo approfondire come automatizzare la valutazione, consentendo ai tester di eseguire valutazioni efficienti su larga scala e implementando il monitoraggio in tempo reale degli input e degli output del modello.
Automatizza la valutazione FM
Amazon SageMaker Pipelines automatizza tutte le fasi di preelaborazione, messa a punto FM (facoltativo) e valutazione su larga scala. Considerati i modelli selezionati durante la sperimentazione, gli ingegneri dei prompt devono coprire un insieme più ampio di casi preparando molti prompt e archiviandoli in un repository di archiviazione designato chiamato catalogo dei prompt. Per ulteriori informazioni, fare riferimento a FMOps/LLMOps: rendere operativa l'intelligenza artificiale generativa e le differenze con MLOps. Quindi, le pipeline Amazon SageMaker possono essere strutturate come segue:
Scenario 1 – Valutare più FM: In questo scenario, i FM possono coprire il caso d’uso aziendale senza perfezionamenti. La pipeline Amazon SageMaker è composta dalle seguenti fasi: pre-elaborazione dei dati, valutazione parallela di più FM, confronto dei modelli e selezione in base all'accuratezza e ad altre proprietà come costo o latenza, registrazione degli artefatti del modello selezionato e metadati.
Il diagramma seguente illustra questa architettura.
Scenario 2 – Ottimizzare e valutare più FM: In questo scenario, la pipeline Amazon SageMaker è strutturata in modo molto simile allo scenario 1, ma esegue in parallelo le fasi di messa a punto e valutazione per ciascun FM. Il modello meglio perfezionato verrà registrato nel Registro dei Modelli.
Il diagramma seguente illustra questa architettura.
Scenario 3: valutare più FM e FM ottimizzati: Questo scenario è una combinazione di valutazione di FM per scopi generali e FM ottimizzati. In questo caso, i clienti vogliono verificare se un modello messo a punto può funzionare meglio di un FM generico.
La figura seguente mostra i passaggi risultanti della pipeline SageMaker.
Si noti che la registrazione del modello segue due modelli: (a) archiviare un modello open source e gli artefatti oppure (b) archiviare un riferimento a un FM proprietario. Per ulteriori informazioni, fare riferimento a FMOps/LLMOps: rendere operativa l'intelligenza artificiale generativa e le differenze con MLOps.
Panoramica della soluzione
Per accelerare il tuo percorso verso la valutazione LLM su larga scala, abbiamo creato una soluzione che implementa gli scenari utilizzando sia Amazon SageMaker Clarify che il nuovo Amazon SageMaker Pipelines SDK. L'esempio di codice, inclusi set di dati, notebook di origine e pipeline SageMaker (passaggi e pipeline ML), è disponibile su GitHub. Per sviluppare questa soluzione di esempio, abbiamo utilizzato due FM: Llama2 e Falcon-7B. In questo post, il nostro focus principale è sugli elementi chiave della soluzione SageMaker Pipeline che riguardano il processo di valutazione.
Configurazione di valutazione: Allo scopo di standardizzare la procedura di valutazione, abbiamo creato un file di configurazione YAML, (evaluation_config.yaml), che contiene i dettagli necessari per il processo di valutazione, inclusi il set di dati, i modelli e gli algoritmi da eseguire durante la procedura di valutazione. fase di valutazione della pipeline SageMaker. L'esempio seguente illustra il file di configurazione:
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>"
Fase di valutazione: Il nuovo SageMaker Pipeline SDK offre agli utenti la flessibilità di definire passaggi personalizzati nel flusso di lavoro ML utilizzando il decoratore Python "@step". Pertanto, gli utenti devono creare uno script Python di base che conduca la valutazione, come segue:
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
Pipeline SageMaker: Dopo aver creato i passaggi necessari, come la preelaborazione dei dati, la distribuzione e la valutazione del modello, l'utente deve collegare tra loro i passaggi utilizzando SageMaker Pipeline SDK. Il nuovo SDK genera automaticamente il flusso di lavoro interpretando le dipendenze tra i diversi passaggi quando viene richiamata un'API di creazione della pipeline SageMaker, come mostrato nell'esempio seguente:
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()
L'esempio implementa la valutazione di un singolo FM preelaborando il set di dati iniziale, distribuendo il modello ed eseguendo la valutazione. Il grafico aciclico diretto della pipeline (DAG) generato è mostrato nella figura seguente.
Seguendo un approccio simile e utilizzando e adattando l'esempio in Perfeziona i modelli LLaMA 2 su SageMaker JumpStart, abbiamo creato la pipeline per valutare un modello ottimizzato, come mostrato nella figura seguente.
Utilizzando i passaggi precedenti della SageMaker Pipeline come blocchi “Lego”, abbiamo sviluppato la soluzione per lo Scenario 1 e lo Scenario 3, come mostrato nelle figure seguenti. Nello specifico, il GitHub Il repository consente all'utente di valutare più FM in parallelo o di eseguire valutazioni più complesse combinando la valutazione dei modelli di base e quelli ottimizzati.
Le funzionalità aggiuntive disponibili nel repository includono quanto segue:
- Generazione della fase di valutazione dinamica: La nostra soluzione genera dinamicamente tutte le fasi di valutazione necessarie in base al file di configurazione per consentire agli utenti di valutare un numero qualsiasi di modelli. Abbiamo esteso la soluzione per supportare una facile integrazione di nuovi tipi di modelli, come Hugging Face o Amazon Bedrock.
- Impedisci la ridistribuzione degli endpoint: Se un endpoint è già presente, salteremo il processo di distribuzione. Ciò consente all'utente di riutilizzare gli endpoint con FM per la valutazione, con conseguenti risparmi sui costi e tempi di implementazione ridotti.
- Pulizia dell'endpoint: Dopo il completamento della valutazione, SageMaker Pipeline disattiva gli endpoint distribuiti. Questa funzionalità può essere estesa per mantenere in vita il miglior endpoint del modello.
- Fase di selezione del modello: Abbiamo aggiunto un segnaposto per la fase di selezione del modello che richiede la logica aziendale della selezione del modello finale, inclusi criteri quali costo o latenza.
- Fase di registrazione del modello: il modello migliore può essere registrato nel registro dei modelli di Amazon SageMaker come nuova versione di un gruppo di modelli specifico.
- Piscina calda: I warm pool gestiti da SageMaker ti consentono di conservare e riutilizzare l'infrastruttura fornita dopo il completamento di un lavoro per ridurre la latenza per i carichi di lavoro ripetitivi
La figura seguente illustra queste funzionalità e un esempio di valutazione multi-modello che gli utenti possono creare in modo semplice e dinamico utilizzando la nostra soluzione in questo GitHub repository.
Abbiamo intenzionalmente mantenuto la preparazione dei dati fuori dall'ambito in quanto verrà descritta in modo approfondito in un altro post, inclusi la progettazione del catalogo dei prompt, i modelli dei prompt e l'ottimizzazione dei prompt. Per ulteriori informazioni e definizioni dei componenti correlati, fare riferimento a FMOps/LLMOps: rendere operativa l'intelligenza artificiale generativa e le differenze con MLOps.
Conclusione
In questo post, ci siamo concentrati su come automatizzare e rendere operativa la valutazione LLM su larga scala utilizzando le funzionalità di valutazione LLM di Amazon SageMaker Clarify e Amazon SageMaker Pipelines. Oltre ai progetti teorici dell'architettura, in questo abbiamo un codice di esempio GitHub repository (con FM Llama2 e Falcon-7B) per consentire ai clienti di sviluppare i propri meccanismi di valutazione scalabili.
L'illustrazione seguente mostra l'architettura di valutazione del modello.
In questo post, ci siamo concentrati sull'operazionalizzazione della valutazione LLM su larga scala, come mostrato sul lato sinistro dell'illustrazione. In futuro, ci concentreremo sullo sviluppo di esempi che soddisfano il ciclo di vita end-to-end dei FM fino alla produzione seguendo le linee guida descritte in FMOps/LLMOps: rendere operativa l'intelligenza artificiale generativa e le differenze con MLOps. Ciò include il servizio LLM, il monitoraggio, l'archiviazione della valutazione dell'output che alla fine attiverà la rivalutazione e la messa a punto automatiche e, infine, l'utilizzo di persone coinvolte nel ciclo per lavorare su dati etichettati o catalogo di prompt.
Circa gli autori
Dott. Sokratis Kartakis è uno dei principali architetti di soluzioni specialistiche in machine learning e operazioni per Amazon Web Services. Sokratis si concentra nel consentire ai clienti aziendali di industrializzare le proprie soluzioni di Machine Learning (ML) e IA generativa sfruttando i servizi AWS e modellando il proprio modello operativo, ovvero le basi MLOps/FMOps/LLMOps, e la roadmap di trasformazione sfruttando le migliori pratiche di sviluppo. Ha trascorso più di 15 anni a inventare, progettare, guidare e implementare soluzioni innovative di ML e intelligenza artificiale a livello di produzione end-to-end nei settori dell'energia, della vendita al dettaglio, della salute, della finanza, degli sport motoristici, ecc.
Jagdeep Singh Soni è un Senior Partner Solutions Architect presso AWS con sede nei Paesi Bassi. Usa la sua passione per DevOps, GenAI e strumenti di creazione per aiutare sia gli integratori di sistemi che i partner tecnologici. Jagdeep applica il suo background nello sviluppo di applicazioni e nell'architettura per promuovere l'innovazione all'interno del suo team e promuovere nuove tecnologie.
Dott. Riccardo Gatti è un Senior Startup Solution Architect con sede in Italia. È un consulente tecnico per i clienti, aiutandoli a far crescere la loro attività selezionando gli strumenti e le tecnologie giuste per innovare, espandersi rapidamente e diventare globale in pochi minuti. È sempre stato appassionato di machine learning e intelligenza artificiale generativa, avendo studiato e applicato queste tecnologie in diversi ambiti durante la sua carriera lavorativa. È conduttore ed editore del podcast italiano di AWS “Casa Startup”, dedicato alle storie dei fondatori di startup e alle nuove tendenze tecnologiche.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/operationalize-llm-evaluation-at-scale-using-amazon-sagemaker-clarify-and-mlops-services/
- :ha
- :È
- :non
- :Dove
- $ SU
- 1
- 100
- 7
- 9
- a
- WRI
- accelerare
- accesso
- precisione
- con precisione
- Raggiungere
- il raggiungimento
- operanti in
- Legge
- Attivazione
- attivo
- aciclico
- aggiunto
- aggiunta
- Inoltre
- indirizzo
- adeguatamente
- amministrazione
- Adottando
- Adozione
- avanzamenti
- consulente
- Dopo shavasana, sedersi in silenzio; saluti;
- contro
- agenti
- AI
- Legge sull'IA
- Sistemi di intelligenza artificiale
- puntare
- Mirare
- algoritmo
- Algoritmi
- Allinea
- vivo
- Tutti
- consente
- già
- anche
- sempre
- Amazon
- Amazon Sage Maker
- JumpStart di Amazon SageMaker
- Pipeline di Amazon SageMaker
- Amazon Sage Maker Studio
- Amazon Web Services
- an
- analizzare
- ed
- Un altro
- rispondere
- in qualsiasi
- api
- Applicazioni
- Sviluppo di applicazioni
- applicazioni
- applicato
- si applica
- approccio
- opportuno
- architettura
- SONO
- aree
- argomento
- AS
- valutare
- valutare
- valutazione
- valutazioni
- At
- revisione
- automatizzare
- Automatizzata
- Automatico
- automaticamente
- Automazione
- disponibile
- AWS
- sfondo
- basato
- basic
- BE
- perché
- diventare
- stato
- comportamento
- Segno di riferimento
- confrontato
- parametri di riferimento
- vantaggi
- MIGLIORE
- Meglio
- fra
- Al di là di
- pregiudizio
- parziale
- pregiudizi
- Blocchi
- entrambi
- violazioni
- ampiezza
- portare
- costruire
- costruttore
- affari
- ma
- by
- detto
- Bandi
- Materiale
- candidato
- funzionalità
- capace
- catturare
- Carte
- Career
- Custodie
- casi
- catalogo
- certo
- Challenge
- caratteristiche
- più economico
- dai un'occhiata
- Scegli
- scelto
- classificazione
- classificare
- cavedano
- codice
- coesivo
- collaboreranno
- combinazione
- combinando
- Uncommon
- comunità
- paragonabile
- confrontare
- rispetto
- confronto
- Complemento
- completamento
- complesso
- complessità
- conformità
- ottemperare
- componente
- componenti
- che comprende
- computazionale
- Calcolare
- concetto
- Problemi della Pelle
- Segui il codice di Condotta
- conduzione
- comportamenti
- Configurazione
- Connettiti
- collega
- considerato
- consiste
- costruire
- Consumatori
- Contenitore
- contiene
- contenuto
- Generazione di contenuti
- contesto
- continuamente
- continuo
- contrasto
- discorsivo
- Conversazioni
- convertire
- correggere
- Costo
- risparmi
- costoso
- Costi
- coprire
- creare
- creato
- Creazione
- creazione
- criteri
- critico
- cruciale
- costume
- Clienti
- GIORNO
- dati
- Preparazione dei dati
- scienziato di dati
- la sicurezza dei dati
- set di dati
- manomissione dei dati
- dataset
- datetime
- decide
- Decision Making
- decisioni
- dedicato
- deep
- profonda immersione
- Predefinito
- definire
- definizioni
- fornisce un monitoraggio
- Richiesta
- dipendenze
- dipende
- schierare
- schierato
- distribuzione
- deployment
- profondità
- descritta
- designato
- progettato
- progettazione
- disegni
- desiderio
- desiderato
- dettagliati
- dettagli
- sviluppare
- sviluppato
- in via di sviluppo
- Mercato
- differenze
- diverso
- dirette
- indirizzato
- immersione
- paesaggio differenziato
- do
- non
- dominio
- domini
- guidare
- durante
- dinamicamente
- e
- ogni
- facilmente
- facile
- editore
- Efficace
- efficacia
- efficiente
- in modo efficiente
- sforzo
- o
- elementi
- altro
- occupato
- enable
- Abilita
- consentendo
- da un capo all'altro
- endpoint
- energia
- Ingegneri
- accrescere
- garantire
- assicura
- assicurando
- Impresa
- aziende
- epoca
- Allo stesso modo
- particolarmente
- essential
- eccetera
- EU
- valutare
- valutato
- la valutazione
- valutazione
- Anche
- alla fine
- esempio
- Esempi
- esecutivo
- esistente
- le aspettative
- previsto
- affrettare
- sfruttando
- estendere
- esterno
- estrazione
- f1
- Faccia
- facilitando
- Fattori
- equità
- cadute
- falso
- famoso
- FAST
- più veloce
- caratteristica
- Grazie
- feedback
- pochi
- campo
- figura
- Cifre
- Compila il
- finale
- Infine
- finanziare
- finanziario
- Settore finanziario
- Nome
- Flessibilità
- Focus
- concentrato
- si concentra
- seguito
- i seguenti
- segue
- Nel
- modulo
- Fondazione
- Fondazioni
- fondatori
- Contesto
- quadri
- frequentemente
- da
- realizzazione
- pieno
- funzionalità
- funzionalità
- fondamentale
- Inoltre
- futuro
- raccolta
- Generale
- scopo generale
- generare
- generato
- genera
- la generazione di
- ELETTRICA
- generativo
- AI generativa
- ottenere
- dato
- globali
- Go
- concedere
- grafico
- Gruppo
- Gruppo
- Crescita
- cura
- dannoso
- Sfruttamento
- Avere
- avendo
- he
- Salute e benessere
- pesantemente
- Aiuto
- aiutare
- aiuta
- Alta
- alto rischio
- cerniere
- il suo
- possesso
- host
- Come
- Tutorial
- Tuttavia
- HTML
- HTTPS
- umano
- i
- identificato
- identifica
- identificare
- if
- illustra
- immagini
- realizzare
- Implementazione
- attrezzi
- importare
- importanza
- miglioramento
- miglioramenti
- in
- includere
- inclusi
- Compreso
- Incorporated
- incorporando
- industrie
- informazioni
- informati
- Infrastruttura
- inizialmente
- innovare
- Innovazione
- creativi e originali
- ingresso
- Ingressi
- integrare
- integrazione
- apposta
- interazioni
- interno
- ai miglioramenti
- introdurre
- invocato
- coinvolgere
- coinvolto
- coinvolgendo
- ISO
- IT
- italiano
- Italia
- elementi
- iterazione
- SUO
- Lavoro
- viaggio
- jpg
- mantenere
- tenere
- Le
- conoscenze
- Lingua
- grandi
- superiore, se assunto singolarmente.
- Cognome
- infine
- Latenza
- portare
- classifiche
- principale
- apprendimento
- impara
- a sinistra
- lasciare
- leveraging
- Biblioteca
- ciclo di vita
- piace
- Limitato
- LINK
- Lama
- LLM
- località
- logica
- Basso
- macchina
- machine learning
- Principale
- mantenere
- mantiene
- gestito
- manipolazione
- manipolazioni
- Manuale
- molti
- Maggio..
- Nel frattempo
- misurare
- analisi
- meccanismi di
- Metadati
- metodo
- metodi
- metrico
- Metrica
- Minuti
- Disinformazione
- Ridurre la perdita dienergia con una
- attenuante
- ML
- MLOp
- modello
- modelli
- Moduli
- Monitorare
- monitoraggio
- Scopri di più
- maggior parte
- motivato
- Motorsports
- molti
- multiplo
- devono obbligatoriamente:
- Nome
- necessaria
- Bisogno
- esigenze
- Olanda
- New
- Nuove tecnologie
- GENERAZIONE
- non esperto
- Nota
- taccuino
- ombreggiatura
- numero
- of
- offrire
- di frequente
- on
- una volta
- ONE
- in corso
- esclusivamente
- open source
- operativo
- operazione
- Operazioni
- Opinioni
- ottimizzazione
- or
- OS
- Altro
- nostro
- su
- Risultato
- risultati
- produzione
- uscite
- eccezionale
- ancora
- complessivo
- proprio
- proprietari
- Parallel
- parametri
- particolare
- particolarmente
- partner
- partner
- passione
- appassionato
- sentiero
- modelli
- Persone
- Eseguire
- performance
- prestazioni
- esegue
- fase
- conduttura
- posto
- segnaposto
- Platone
- Platone Data Intelligence
- PlatoneDati
- PoC
- Podcast
- punto
- pool
- Piscine
- Post
- potenziale
- energia
- alimentato
- pratiche
- Precisione
- preparazione
- preparazione
- presenza
- prevenire
- precedente
- primario
- Direttore
- principi
- Privacy
- un bagno
- Problema
- procedura
- processi
- i processi
- lavorazione
- Produzione
- progressione
- prominenza
- PROMETTIAMO
- promuoverlo
- istruzioni
- prova
- prova del concetto
- proprietà
- proprio
- protegge
- Dimostra
- fornire
- fornitori
- fornisce
- fornitura
- la percezione
- pubblicamente
- scopo
- Python
- qualitativo
- qualità
- quantitativo
- domanda
- gamma
- tasso
- valutazione
- di rose
- mondo reale
- tempo reale
- ridurre
- Ridotto
- riducendo
- riferimento
- riferimento
- registrato
- Iscrizione
- registro
- Basic
- regolamentati
- industrie regolamentate
- normativa
- relazionato
- rilevanza
- pertinente
- problemi di
- ripetitivo
- rapporto
- Reportistica
- Report
- deposito
- rappresentante
- necessario
- richiede
- riparazioni
- ricercatori
- risorsa intensiva
- Risorse
- responsabilità
- responsabile
- risultante
- Risultati
- nello specifico retail
- conservare
- ritorno
- riutilizzare
- recensioni
- rivoluzionando
- destra
- rigoroso
- Aumentato
- Rischio
- rischi
- tabella di marcia
- robusto
- robustezza
- Ruolo
- ruoli
- Correre
- running
- corre
- s
- sicura
- garanzie
- sagemaker
- Pipeline SageMaker
- Risparmio
- Scalabilità
- scalabile
- Scala
- scenario
- Scenari
- Scienziato
- scienziati
- portata
- Punto
- copione
- sdk
- senza soluzione di continuità
- sezioni
- settore
- sicuro
- problemi di
- rischi per la sicurezza
- select
- selezionato
- Selezione
- prodotti
- anziano
- sentimento
- servire
- servizio
- Servizi
- servizio
- Sessione
- set
- sagomatura
- Condividi
- mostrare attraverso le sue creazioni
- mostrato
- Spettacoli
- lato
- significativa
- simile
- semplifica
- semplicemente
- da
- singolo
- piccole
- soluzione
- Soluzioni
- RISOLVERE
- alcuni
- Fonte
- campata
- specialista
- specifico
- in particolare
- esaurito
- messa in scena
- stakeholder
- standardizzazione
- standard
- stanford
- Di partenza
- inizio
- startup
- Stato dei servizi
- step
- Passi
- Ancora
- conservazione
- Tornare al suo account
- Storie
- memorizzare
- lineare
- strutturato
- studiato
- studio
- style
- Successivamente
- tale
- SOMMARIO
- supporto
- sistema
- SISTEMI DI TRATTAMENTO
- sartoria
- Task
- task
- team
- le squadre
- Consulenza
- tecniche
- tecnologico
- Tecnologie
- Tecnologia
- modelli
- test
- tester
- Testing
- test
- testo
- di
- che
- Il
- Il futuro
- loro
- Li
- poi
- teorico
- in tal modo
- perciò
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- questo
- quelli
- tre
- Attraverso
- per tutto
- tempo
- a
- insieme
- strumenti
- pista
- Treni
- allenato
- Training
- forma
- Trasformazione
- transizione
- transizione
- Traduzione
- tendenze
- innescare
- vero
- affidabili sul mercato
- seconda
- Tipi di
- tipico
- in definitiva
- non autorizzato
- capire
- e una comprensione reciproca
- inaudito
- imminenti
- uso
- caso d'uso
- utilizzato
- Utente
- utenti
- usa
- utilizzando
- generalmente
- utilizzare
- CONVALIDARE
- Prezioso
- vario
- versione
- versioni
- via
- importantissima
- vulnerabilità
- volere
- caldo
- we
- sito web
- servizi web
- WELL
- sono stati
- Che
- quando
- quale
- while
- OMS
- largo
- Vasta gamma
- wikipedia
- volere
- con
- entro
- senza
- Lavora
- flusso di lavoro
- lavoro
- mondo
- YAML
- anni
- dare la precedenza
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro