ここ数年、ラージ言語モデル (LLM) は、前例のない熟練度でテキストを理解、生成、操作できる優れたツールとして注目を集めてきました。 その潜在的なアプリケーションは、会話エージェントからコンテンツ生成および情報検索にまで及び、あらゆる業界に革命をもたらす可能性があります。 ただし、これらのモデルを責任を持って効果的に使用しながらこの可能性を活用できるかどうかは、LLM 評価の重要なプロセスにかかっています。 評価は、LLM または生成 AI サービスの出力の品質と責任を測定するために使用されるタスクです。 LLM の評価は、モデルのパフォーマンスを理解したいという欲求だけでなく、責任ある AI を実装する必要性、誤った情報や偏ったコンテンツを提供するリスクを軽減し、有害、危険、悪意のある非倫理的なコンテンツの生成を最小限に抑える必要性によっても動機付けられています。コンテンツ。 さらに、LLM を評価することは、特に即時的なデータ改ざんの状況におけるセキュリティ リスクの軽減にも役立ちます。 LLM ベースのアプリケーションの場合、脆弱性を特定し、潜在的な侵害やデータの不正操作から保護する安全策を実装することが重要です。
簡単な構成とワンクリックのアプローチで LLM を評価するための必須ツールを提供することで、 Amazon SageMaker の明確化 LLM 評価機能により、顧客は前述の利点のほとんどにアクセスできるようになります。 これらのツールを活用した次の課題は、LLM 評価を機械学習と運用 (MLOps) ライフサイクルに統合して、プロセスの自動化とスケーラビリティを実現することです。 この投稿では、Amazon SageMaker Clarify LLM 評価を Amazon SageMaker Pipelines と統合して、大規模な LLM 評価を可能にする方法を説明します。 さらに、この中でコード例を提供します GitHubの リポジトリを使用すると、Llama2-7b-f、Falcon-7b、微調整された Llama2-7b モデルなどの例を使用して、ユーザーが大規模な並列マルチモデル評価を実行できるようになります。
LLM 評価を実行する必要があるのは誰ですか?
事前トレーニングされた LLM をトレーニング、微調整、または単に使用する場合は、LLM を正確に評価して、その LLM を利用したアプリケーションの動作を評価する必要があります。 この原則に基づいて、LLM 評価機能を必要とする生成 AI ユーザーを、次の図に示すように、モデル プロバイダー、ファインチューナー、およびコンシューマーの 3 つのグループに分類できます。
- 基本モデル (FM) プロバイダー 汎用の鉄道模型です。 これらのモデルは、特徴抽出やコンテンツの生成など、多くの下流タスクに使用できます。 トレーニングされた各モデルは、そのパフォーマンスを評価するだけでなく、他の既存のモデルと比較し、改善が必要な領域を特定し、最終的にはこの分野の進歩を追跡するために、多くのタスクに対してベンチマークを実行する必要があります。 モデルプロバイダーは、開始データセットの品質とモデルの正しい動作を保証するために、バイアスの存在をチェックする必要もあります。 モデル提供者にとって評価データの収集は不可欠です。 さらに、これらのデータと指標は、今後の規制に準拠するために収集する必要があります。 ISO 42001 バイデン政権大統領令, EUAI法 AI システムの安全性、セキュリティ、信頼性を確保するための標準、ツール、テストを開発します。 たとえば、EU AI 法には、トレーニングにどのデータセットが使用されるか、モデルの実行に必要な計算能力、公的/業界標準のベンチマークに対するモデル結果の報告、内部および外部のテストの結果の共有に関する情報を提供する義務があります。
- モデル ファインチューナー 特定のタスク (センチメント分類、要約、質問応答など) を解決したいだけでなく、ドメイン固有のタスクを採用するための事前トレーニング済みモデルも解決したいと考えています。 出発点として適切な事前トレーニング済みモデルを選択するには、モデルプロバイダーによって生成された評価メトリクスが必要です。
タスク固有またはドメイン固有のデータセットを使用して、目的のユースケースに対して微調整されたモデルを評価する必要があります。 多くの場合、公開されているデータセットは、たとえ特定のタスク用に設計されたものであっても、特定のユースケースに必要なニュアンスを適切に捉えていない可能性があるため、プライベート データセットを厳選して作成する必要があります。
微調整は完全なトレーニングよりも高速かつ低コストであり、通常は多くの候補モデルが生成されるため、展開とテストに迅速な運用反復が必要になります。 これらのモデルを評価することで、モデルの継続的な改善、校正、デバッグが可能になります。 ファインチューナーは、実際のアプリケーションを開発するときに、独自のモデルのコンシューマーになることができることに注意してください。 - モデル 消費者 モデルのデプロイ担当者は、LLM の導入を通じてアプリケーションやサービスを強化することを目的として、運用環境で汎用モデルまたは微調整されたモデルを提供および監視します。 最初の課題は、選択した LLM が特定のニーズ、コスト、およびパフォーマンスの期待と一致していることを確認することです。 モデルの出力の解釈と理解は、特にプライバシーとデータ セキュリティが関係する場合 (金融セクターなどの規制産業におけるリスクとコンプライアンスの監査など) に常に懸念されます。 偏見や有害なコンテンツの伝播を防ぐには、モデルを継続的に評価することが重要です。 堅牢な監視および評価フレームワークを実装することで、モデルの利用者は LLM の回帰を積極的に特定して対処することができ、これらのモデルが長期にわたり有効性と信頼性を維持できるようになります。
LLM評価の実行方法
効果的なモデル評価には、入力データセット (プロンプト、会話、または通常の入力) と評価ロジックを評価するための XNUMX つ以上の FM または微調整されたモデルという XNUMX つの基本コンポーネントが含まれます。
評価用のモデルを選択するには、データの特性、問題の複雑さ、利用可能な計算リソース、望ましい結果などのさまざまな要素を考慮する必要があります。 入力データストアは、選択したモデルのトレーニング、微調整、およびテストに必要なデータを提供します。 モデルのパフォーマンスは学習元のデータに大きく依存するため、このデータストアが適切に構造化され、代表的で、高品質であることが重要です。 最後に、評価ロジックは、モデルのパフォーマンスを評価するために使用される基準と指標を定義します。
これら XNUMX つのコンポーネントが連携して、機械学習モデルの厳密かつ体系的な評価を保証する一貫したフレームワークを形成し、最終的には情報に基づいた意思決定とモデルの有効性の向上につながります。
モデル評価技術は現在も活発に研究されている分野です。 過去数年間に、次のような幅広いタスクやシナリオをカバーするために、研究者コミュニティによって多くの公開ベンチマークやフレームワークが作成されました。 GLUE, 強力接着剤, ヘルム, MMLU および ビッグベンチ。 これらのベンチマークには、評価されたモデルを比較対照するために使用できるリーダーボードがあります。 HELM のようなベンチマークは、精度や F1 スコアなど、精度の尺度を超えた指標に基づいて評価することも目的としています。 HELM ベンチマークには、全体的なモデル評価スコアにおいて同様に重要な重要性を持つ公平性、バイアス、有害性のメトリクスが含まれています。
これらすべてのベンチマークには、特定のタスクでモデルがどのように実行されるかを測定する一連のメトリクスが含まれています。 最も有名で最も一般的な指標は次のとおりです。 RED (要旨評価のための想起指向の代役)、 BLUE (バイリンガル評価アンダースタディー)、または METEOR (明示的な順序付けによる翻訳の評価指標)。 これらのメトリクスは、自動評価のための有用なツールとして機能し、生成されたテキストと参照テキストの間の語彙の類似性の定量的な尺度を提供します。 ただし、意味の理解、文脈、文体のニュアンスなど、人間に似た言語生成の全体像を捉えているわけではありません。 たとえば、HELM は、特定のユースケースに関連する評価の詳細、カスタム プロンプトをテストするためのソリューション、専門家以外が使用する簡単に解釈できる結果を提供しません。これは、プロセスにコストがかかり、拡張が容易ではなく、特定のタスクのみに適用される可能性があるためです。
さらに、人間に似た言語生成を実現するには、多くの場合、自動化された精度指標を補完する定性的評価と人間の判断をもたらす人間参加型の組み込みが必要です。 人間による評価は、LLM の出力を評価するための貴重な方法ですが、人間の評価者によってテキストの品質について多様な意見や解釈がある可能性があるため、主観的で偏見が生じやすい場合もあります。 さらに、人間による評価はリソースとコストが大量に必要となり、多大な時間と労力を必要とする場合があります。
Amazon SageMaker Clarify がどのように点と点をシームレスに結び付け、顧客がモデルの徹底的な評価と選択を行うのを支援するのかを詳しく見ていきましょう。
Amazon SageMaker Clear を使用した LLM 評価
Amazon SageMaker Clarify は、LLM を評価するフレームワークを提供することで、顧客がメトリクスを自動化できるように支援します。これには、自動化のための精度、堅牢性、有害性、固定観念と事実知識、スタイル、一貫性、人間ベースの評価との関連性、および評価方法が含まれますが、これらに限定されません。 Amazon Bedrock などの LLM ベースのサービス。 フルマネージド型サービスである SageMaker Clarify は、Amazon SageMaker 内でのオープンソース評価フレームワークの使用を簡素化します。 お客様は、シナリオに関連する評価データセットとメトリクスを選択し、独自のプロンプト データセットと評価アルゴリズムで拡張できます。 SageMaker Clarify は、LLM ワークフローにおけるさまざまな役割をサポートするために、評価結果を複数の形式で提供します。 データ サイエンティストは、ノートブック、SageMaker モデル カード、および PDF レポートの SageMaker Clear 視覚化を使用して、詳細な結果を分析できます。 一方、運用チームは Amazon SageMaker GroundTruth を使用して、SageMaker Clarify が特定した高リスク項目をレビューし、注釈を付けることができます。 たとえば、ステレオタイプ化、有害性、PII の漏洩、精度の低さなどです。
その後、潜在的なリスクを軽減するために、注釈と強化学習が採用されます。 特定されたリスクについて人に優しい説明を行うことで、手動によるレビュープロセスが迅速化され、コストが削減されます。 概要レポートは、ビジネス関係者にさまざまなモデルやバージョン間の比較ベンチマークを提供し、情報に基づいた意思決定を促進します。
次の図は、LLM および LLM ベースのサービスを評価するためのフレームワークを示しています。
Amazon SageMaker Clarify LLM 評価は、顧客が LLM を簡単に評価できるように AWS によって開発されたオープンソースの Foundation Model Evaluation (FMEval) ライブラリです。 Amazon SageMaker Studio にはすべての機能が組み込まれており、ユーザーが LLM を評価できるようになります。 次のセクションでは、MLOps 原則を使用して大規模な LLM 評価を可能にする、Amazon SageMaker Clarify LLM 評価機能と SageMaker Pipelines の統合について紹介します。
Amazon SageMaker MLOps ライフサイクル
投稿として「AmazonSageMakerを使用する企業向けのMLOps基盤ロードマップ」では、MLOps は、ML ユースケースを効率的に本番化するためのプロセス、人材、テクノロジーの組み合わせであると説明しています。
次の図は、エンドツーエンドの MLOps ライフサイクルを示しています。
一般的な取り組みは、データ サイエンティストが ML がビジネス上の問題を解決できることを証明する概念実証 (PoC) ノートブックを作成することから始まります。 概念実証 (PoC) 開発全体を通して、ビジネスの重要業績評価指標 (KPI) を精度や誤検知率などの機械学習モデルの指標に変換し、限定されたテスト データセットを利用してこれらを評価するのはデータ サイエンティストの役割です。メトリクス。 データサイエンティストは ML エンジニアと協力してコードをノートブックからリポジトリに移行し、Amazon SageMaker Pipelines を使用して ML パイプラインを作成します。これにより、前処理、トレーニング、評価、後処理などのさまざまな処理ステップとタスクが接続され、同時に新しいプロダクションが継続的に組み込まれます。データ。 Amazon SageMaker Pipelines のデプロイは、リポジトリの操作と CI/CD パイプラインのアクティブ化に依存します。 ML パイプラインは、最高パフォーマンスのモデル、コンテナー イメージ、評価結果、ステータス情報をモデル レジストリに維持します。モデルの関係者はここでパフォーマンスを評価し、パフォーマンス結果とベンチマークに基づいて本番環境への移行を決定し、その後、別の CI/CD パイプラインをアクティブ化します。ステージングおよび実稼働デプロイメント用。 本番環境に入ると、ML コンシューマは、直接呼び出しまたは API 呼び出しによるアプリケーション トリガーの推論を介してモデルを利用し、継続的なパフォーマンス評価のためにモデル所有者へのフィードバック ループを使用します。
Amazon SageMaker Clear と MLOps の統合
MLOps ライフサイクルに従って、微調整者またはオープンソース モデルのユーザーは、Amazon SageMaker Jumpstart および MLOps サービスを使用して微調整されたモデルまたは FM を実稼働します。 Amazon SageMaker JumpStart 事前トレーニング済みモデルを使用して MLOps プラクティスを実装する。 これにより、基礎モデル操作 (FMOps) と LLM 操作 (LLMOps) の新しい領域が生まれました。 FMOps/LLMOps: 生成 AI の運用可能化と MLOps との違い.
次の図は、エンドツーエンドの LLMOps ライフサイクルを示しています。
LLMOps と MLOps との主な違いは、さまざまなプロセスとメトリクスを伴うモデルの選択とモデルの評価です。 最初の実験フェーズでは、データ サイエンティスト (または微調整者) が、特定の生成 AI ユースケースに使用される FM を選択します。
これにより、多くの場合、複数の FM のテストと微調整が行われ、そのうちのいくつかは同等の結果が得られる場合があります。 モデルの選択後、プロンプト エンジニアは、評価に必要な入力データと予想される出力 (入力データとクエリを含む入力プロンプトなど) を準備し、類似性や毒性などの指標を定義する責任を負います。 これらの指標に加えて、データ サイエンティストまたは微調整者は結果を検証し、精度の指標だけでなく、レイテンシやコストなどの他の機能にも基づいて適切な FM を選択する必要があります。 その後、モデルを SageMaker エンドポイントにデプロイし、そのパフォーマンスを小規模でテストできます。 実験フェーズには単純なプロセスが含まれる場合がありますが、実稼働への移行には、お客様がプロセスを自動化し、ソリューションの堅牢性を強化する必要があります。 したがって、評価を自動化し、テスターが大規模に効率的な評価を実行できるようにし、モデルの入出力のリアルタイム監視を実装する方法を深く掘り下げる必要があります。
FM評価を自動化する
Amazon SageMaker Pipelines は、前処理、FM 微調整 (オプション)、および大規模な評価のすべてのフェーズを自動化します。 実験中に選択されたモデルを考慮すると、プロンプト エンジニアは、多数のプロンプトを準備し、プロンプト カタログと呼ばれる指定されたストレージ リポジトリに保存することで、より多くのケースをカバーする必要があります。 詳細については、以下を参照してください。 FMOps/LLMOps: 生成 AI の運用可能化と MLOps との違い。 次に、Amazon SageMaker パイプラインは次のように構成できます。
シナリオ 1 – 複数の FM を評価する: このシナリオでは、FM は微調整することなくビジネス ユース ケースをカバーできます。 Amazon SageMaker パイプラインは、データの前処理、複数の FM の並列評価、モデルの比較、精度やコストやレイテンシーなどのその他のプロパティに基づく選択、選択したモデルアーティファクトの登録、およびメタデータのステップで構成されます。
次の図は、このアーキテクチャを示しています。
シナリオ 2 – 複数の FM を微調整して評価する: このシナリオでは、Amazon SageMaker パイプラインはシナリオ 1 とよく似た構造になっていますが、各 FM の微調整と評価のステップの両方が並行して実行されます。 最適に調整されたモデルがモデル レジストリに登録されます。
次の図は、このアーキテクチャを示しています。
シナリオ 3 – 複数の FM と微調整された FM を評価する: このシナリオは、汎用 FM と微調整された FM の評価を組み合わせたものです。 この場合、顧客は、微調整されたモデルが汎用の FM よりも優れたパフォーマンスを発揮できるかどうかを確認したいと考えています。
次の図は、結果として得られる SageMaker Pipeline ステップを示しています。
モデルの登録は XNUMX つのパターンに従います: (a) オープンソース モデルとアーティファクトを保存するか、(b) 独自の FM への参照を保存します。 詳細については、以下を参照してください。 FMOps/LLMOps: 生成 AI の運用可能化と MLOps との違い.
ソリューションの概要
大規模な LLM 評価への取り組みを加速するために、Amazon SageMaker Clear と新しい Amazon SageMaker Pipelines SDK の両方を使用してシナリオを実装するソリューションを作成しました。 データセット、ソース ノートブック、SageMaker パイプライン (ステップと ML パイプライン) を含むコード例は、次の場所から入手できます。 GitHubの。 このサンプル ソリューションを開発するために、Llama2 と Falcon-7B という XNUMX つの FM を使用しました。 この投稿では、評価プロセスに関連する SageMaker Pipeline ソリューションの主要な要素に主に焦点を当てます。
評価構成: 評価手順を標準化する目的で、YAML 構成ファイル (evaluation_config.yaml) を作成しました。このファイルには、データセット、モデル、実行中に実行されるアルゴリズムなど、評価プロセスに必要な詳細が含まれています。 SageMaker Pipeline の評価ステップ。 次の例は、構成ファイルを示しています。
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>"
評価ステップ: 新しい SageMaker Pipeline SDK は、「@step」Python デコレータを使用して ML ワークフローでカスタム ステップを定義する柔軟性をユーザーに提供します。 したがって、ユーザーは次のように、評価を実行する基本的な Python スクリプトを作成する必要があります。
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
SageMaker パイプライン: データの前処理、モデルのデプロイメント、モデルの評価などの必要なステップを作成した後、ユーザーは SageMaker Pipeline SDK を使用してステップをリンクする必要があります。 新しい SDK は、次の例に示すように、SageMaker Pipeline 作成 API が呼び出されるときに、さまざまなステップ間の依存関係を解釈してワークフローを自動的に生成します。
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()
この例では、初期データ セットを前処理し、モデルをデプロイし、評価を実行することにより、単一の FM の評価を実装します。 生成されたパイプライン有向非巡回グラフ (DAG) を次の図に示します。
同様のアプローチに従い、次の例を使用して調整します。 SageMaker JumpStart で LLaMA 2 モデルを微調整するでは、次の図に示すように、微調整されたモデルを評価するためのパイプラインを作成しました。
以前の SageMaker Pipeline ステップを「レゴ」ブロックとして使用することにより、次の図に示すように、シナリオ 1 とシナリオ 3 のソリューションを開発しました。 具体的には、 GitHubの リポジトリを使用すると、ユーザーは複数の FM を並行して評価したり、基礎モデルと微調整モデルの両方の評価を組み合わせたより複雑な評価を実行したりできます。
リポジトリで利用できる追加機能には次のものがあります。
- 動的評価ステップの生成: 当社のソリューションは、構成ファイルに基づいて必要なすべての評価ステップを動的に生成し、ユーザーが任意の数のモデルを評価できるようにします。 私たちは、Hugging Face や Amazon Bedrock などの新しいタイプのモデルの簡単な統合をサポートするためにソリューションを拡張しました。
- エンドポイントの再デプロイメントを防止する: エンドポイントがすでに配置されている場合は、展開プロセスをスキップします。 これにより、ユーザーは評価用に FM でエンドポイントを再利用できるため、コストが削減され、導入時間が短縮されます。
- エンドポイントのクリーンアップ: 評価の完了後、SageMaker Pipeline はデプロイされたエンドポイントを廃止します。 この機能を拡張して、最適なモデルのエンドポイントを維持することができます。
- モデル選択ステップ: コストやレイテンシーなどの基準を含む、最終的なモデル選択のビジネス ロジックを必要とするモデル選択ステップのプレースホルダーを追加しました。
- モデル登録ステップ: 最適なモデルは、特定のモデル グループの新しいバージョンとして Amazon SageMaker モデル レジストリに登録できます。
- 温水プール: SageMaker が管理するウォーム プールを使用すると、ジョブの完了後にプロビジョニングされたインフラストラクチャを保持および再利用して、反復的なワークロードのレイテンシーを削減できます。
次の図は、これらの機能と、ユーザーがこのソリューションを使用して簡単かつ動的に作成できるマルチモデル評価例を示しています。 GitHubの リポジトリ。
データ準備については、プロンプト カタログ デザイン、プロンプト テンプレート、プロンプト最適化など、別の投稿で詳しく説明するため、意図的に範囲外にしました。 詳細および関連コンポーネントの定義については、以下を参照してください。 FMOps/LLMOps: 生成 AI の運用可能化と MLOps との違い.
まとめ
この投稿では、Amazon SageMaker Clarify LLM 評価機能と Amazon SageMaker Pipelines を使用して、LLM 評価を大規模に自動化および運用する方法に焦点を当てました。 理論的なアーキテクチャ設計に加えて、サンプルコードもここにあります。 GitHubの リポジトリ (Llama2 および Falcon-7B FM を搭載) を使用して、顧客が独自のスケーラブルな評価メカニズムを開発できるようにします。
次の図は、モデル評価アーキテクチャを示しています。
この投稿では、図の左側に示すように、LLM 評価を大規模に運用できるようにすることに焦点を当てました。 将来的には、で説明されているガイドラインに従って、FM から運用までのエンドツーエンドのライフサイクルを満たすサンプルの開発に焦点を当てていきます。 FMOps/LLMOps: 生成 AI の運用可能化と MLOps との違い。 これには、LLM の提供、監視、最終的には自動再評価と微調整をトリガーする出力定格の保存が含まれ、最後にラベル付きデータやプロンプト カタログで作業するための人間参加型の使用が含まれます。
著者について
ソクラティス・カルタキス博士 アマゾン ウェブ サービスのプリンシパル機械学習および運用スペシャリスト ソリューション アーキテクトです。 Sokratis は、AWS のサービスを活用し、運用モデル (つまり、MLOps/FMOps/LLMOps 基盤) やベスト開発プラクティスを活用した変革ロードマップを形成することで、企業顧客が機械学習 (ML) および生成 AI ソリューションを産業化できるようにすることに重点を置いています。 彼は、エネルギー、小売、健康、金融、モータースポーツなどの分野で、革新的なエンドツーエンドの生産レベルの ML および AI ソリューションの発明、設計、主導、実装に 15 年以上を費やしてきました。
ジャグディープ・シン・ソニ オランダを拠点とする AWS のシニア パートナー ソリューション アーキテクトです。 DevOps、GenAI、ビルダー ツールに対する情熱を活かして、システム インテグレーターとテクノロジー パートナーの両方を支援しています。 Jagdeep は、アプリケーション開発とアーキテクチャの背景を活かして、チーム内のイノベーションを推進し、新しいテクノロジーを促進します。
リッカルド・ガッティ博士 イタリアを拠点とするシニア スタートアップ ソリューション アーキテクトです。 彼は顧客のテクニカル アドバイザーであり、数分で革新し、迅速に拡張し、世界に進出するための適切なツールとテクノロジーを選択することで、顧客のビジネスの成長を支援します。 彼は常に機械学習と生成 AI に情熱を注いでおり、キャリアを通じてこれらのテクノロジーをさまざまな領域にわたって研究し、適用してきました。 彼は、スタートアップの創業者の物語や新しい技術トレンドを専門とする AWS イタリア語ポッドキャスト「Casa Startup」のホスト兼編集者です。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/operationalize-llm-evaluation-at-scale-using-amazon-sagemaker-clarify-and-mlops-services/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 100
- 7
- 9
- a
- 私たちについて
- 加速する
- アクセス
- 精度
- 正確にデジタル化
- 達成する
- 達成する
- 越えて
- 行為
- アクティベーション
- アクティブ
- 非周期的
- 追加されました
- 添加
- さらに
- 住所
- 十分に
- 管理
- 採用
- 養子縁組
- 進歩
- 顧問
- 後
- に対して
- エージェント
- AI
- AI法
- AIシステム
- 目指す
- 目指す
- アルゴリズム
- アルゴリズム
- 整列
- alive を使用します。
- すべて
- ことができます
- 既に
- また
- 常に
- Amazon
- アマゾンセージメーカー
- Amazon SageMaker ジャンプスタート
- AmazonSageMakerパイプライン
- Amazon SageMakerスタジオ
- Amazon Webサービス
- an
- 分析します
- および
- 別の
- 回答
- どれか
- API
- 申し込み
- アプリケーション開発
- 適用された
- 適用
- アプローチ
- 適切な
- 建築
- です
- エリア
- 引数
- AS
- 評価する
- 評価中
- 評価
- アセスメント
- At
- 監査
- 自動化する
- 自動化
- オートマチック
- 自動的に
- オートメーション
- 利用できます
- AWS
- 背景
- ベース
- 基本
- BE
- なぜなら
- になる
- き
- 行動
- ベンチマーク
- ベンチマークされた
- ベンチマーク
- 利点
- BEST
- より良いです
- の間に
- 越えて
- バイアス
- 偏った
- バイアス
- ブロック
- 両言語で
- 違反
- 幅
- 持って来る
- ビルド
- ビルダー
- ビジネス
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 呼ばれます
- コール
- 缶
- 候補者
- 機能
- できる
- キャプチャー
- カード
- キャリア
- 場合
- 例
- カタログ
- 一定
- 挑戦する
- 特性
- 安い
- チェック
- 選択する
- 選ばれた
- 分類
- 分類します
- コード
- 凝集
- 協力します
- 組み合わせ
- 結合
- コマンドと
- コミュニティ
- 匹敵します
- 比較します
- 比べ
- 比較
- 補体
- 完成
- 複雑な
- 複雑さ
- コンプライアンス
- 従う
- コンポーネント
- コンポーネント
- 備えます
- 計算的
- 計算
- コンセプト
- 懸念
- プロフェッショナルな方法で
- 導電性
- 行動する
- お問合せ
- コネクト
- 見なさ
- からなる
- 構築する
- 消費者
- コンテナ
- 含まれています
- コンテンツ
- コンテンツ生成
- コンテキスト
- 継続的に
- 連続的な
- コントラスト
- 会話
- 会話
- 変換
- 正しい
- 費用
- コスト削減
- 高額で
- コスト
- カバー
- 作ります
- 作成した
- 作成
- 創造
- 基準
- 重大な
- 重大な
- カスタム
- Customers
- DAG
- データ
- データの準備
- データサイエンティスト
- データセキュリティ
- データセット
- データ改ざん
- データセット
- 日付時刻
- 決めます
- 意思決定
- 決定
- 専用の
- 深いです
- ディープダイブ
- デフォルト
- 定義します
- 定義
- 提供します
- 需要
- 依存関係
- 依存
- 展開します
- 展開
- 展開する
- 展開
- 深さ
- 記載された
- 指定された
- 設計
- 設計
- デザイン
- 慾望
- 希望
- 詳細な
- 細部
- 開発する
- 発展した
- 開発
- 開発
- の違い
- 異なります
- 直接
- 指示された
- ダイビング
- 異なる
- do
- そうではありません
- ドメイン
- ドメイン
- ドライブ
- 間に
- 動的に
- e
- 各
- 簡単に
- 簡単に
- エディタ
- 効果的な
- 有効
- 効率的な
- 効率良く
- 努力
- どちら
- 要素は
- ほかに
- 採用
- enable
- 可能
- 有効にする
- 端から端まで
- エンドポイント
- エネルギー
- エンジニア
- 高めます
- 確保
- 確実に
- 確保する
- Enterprise
- 企業
- 時代
- 平等に
- 特に
- 本質的な
- 等
- EU
- 評価する
- 評価
- 評価します
- 評価
- さらに
- 最終的に
- 例
- 例
- エグゼクティブ
- 既存の
- 期待
- 予想される
- 迅速化する
- 悪用
- 伸ばす
- で
- 外部
- 抽出
- f1
- 顔
- 容易化する
- 要因
- 公平
- フォールズ
- false
- 有名な
- スピーディー
- 速いです
- 特徴
- 特色
- フィードバック
- 少数の
- フィールド
- フィギュア
- フィギュア
- File
- ファイナル
- 最後に
- ファイナンス
- ファイナンシャル
- 金融部門
- 名
- 柔軟性
- フォーカス
- 焦点を当て
- 焦点を当てて
- 続いて
- フォロー中
- 次
- フォーム
- Foundation
- 財団
- 創設者
- フレームワーク
- フレームワーク
- 頻繁に
- から
- 充実した
- フル
- 機能性
- 機能性
- 基本的な
- さらに
- 未来
- 集まり
- 一般的用途
- 生成する
- 生成された
- 生成
- 生成
- 世代
- 生々しい
- 生成AI
- 取得する
- 与えられた
- グローバル
- Go
- 助成金
- グラフ
- グループ
- グループの
- 成長
- ハンド
- 有害な
- 利用する
- 持ってる
- 持って
- he
- 健康
- 重く
- 助けます
- 助け
- ことができます
- ハイ
- リスクが高い
- ヒンジ
- 彼の
- 開催
- host
- 認定条件
- How To
- しかしながら
- HTML
- HTTPS
- 人間
- i
- 特定され
- 識別する
- 識別する
- if
- 説明する
- 画像
- 実装する
- 実装
- 実装する
- import
- 重要性
- 改善
- 改善
- in
- include
- 含ま
- 含めて
- Incorporated
- 組み込む
- インジケータ
- 産業
- 情報
- 情報に基づく
- インフラ関連事業
- 初期
- 革新します
- 革新的手法
- 革新的な
- 入力
- 統合する
- 統合
- 故意に
- 相互作用
- 内部
- に
- 紹介する
- 呼び出された
- 巻き込む
- 関係する
- 関与
- ISO
- IT
- イタリアの
- Italy
- リーディングシート
- 繰り返し
- ITS
- ジョブ
- 旅
- JPG
- キープ
- 保管
- キー
- 知識
- 言語
- 大
- より大きい
- 姓
- 最後に
- レイテンシ
- つながる
- リーダーボード
- 主要な
- 学習
- 学ぶ
- 左
- う
- 活用
- 図書館
- wifecycwe
- ような
- 限定的
- LINK
- ラマ
- LLM
- 場所
- ロジック
- ロー
- 機械
- 機械学習
- メイン
- 維持する
- 維持
- マネージド
- 操作する
- 操作
- マニュアル
- 多くの
- 五月..
- その間
- だけど
- 措置
- メカニズム
- 方法
- メソッド
- メトリック
- メトリック
- 分
- 誤報
- 軽減する
- 緩和する
- ML
- MLOps
- モデル
- モジュール
- モニター
- モニタリング
- 他には?
- 最も
- やる気
- モータースポーツ
- ずっと
- の試合に
- しなければなりません
- 名
- 必要
- 必要
- ニーズ
- オランダ
- 新作
- 新技術
- 次の
- 非専門家
- 注意
- ノート
- ニュアンス
- 数
- of
- 提供
- 頻繁に
- on
- かつて
- ONE
- 継続
- の
- オープンソース
- オペレーティング
- 操作
- 業務執行統括
- 意見
- 最適化
- or
- OS
- その他
- 私たちの
- でる
- 結果
- 成果
- 出力
- outputs
- 傑出した
- が
- 全体
- 自分の
- 所有者
- 並列シミュレーションの設定
- パラメータ
- 特定の
- 特に
- パートナー
- パートナー
- 情熱
- 情熱的な
- path
- パターン
- のワークプ
- 実行する
- パフォーマンス
- 公演
- 実行する
- 相
- パイプライン
- 場所
- プレースホルダー
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- PoC
- ポッドキャスト
- ポイント
- プール
- プール
- ポスト
- 潜在的な
- 電力
- パワード
- プラクティス
- 精度
- 準備
- 準備中
- プレゼンス
- 防ぐ
- 前
- 主要な
- 校長
- 原則
- プライバシー
- プライベート
- 問題
- 手続き
- プロセス
- ラボレーション
- 処理
- 生産
- 進行
- 目立つ
- 約束
- 推進する
- プロンプト
- 証明
- 概念実証
- プロパティ
- 所有権
- 守る
- 受験する
- 提供します
- プロバイダ
- は、大阪で
- 提供
- 公共
- 公然と
- 目的
- Python
- 定性
- 品質
- 質問
- 範囲
- レート
- 評価
- リアル
- 現実の世界
- への
- 減らします
- 電話代などの費用を削減
- 縮小
- 参照する
- 参照
- 登録された
- 参加申し込み
- レジストリ
- レギュラー
- 規制
- 規制産業
- 規制
- 関連する
- 関連性
- 関連した
- 信頼性
- 反復的な
- レポート
- 各種レポート作成
- レポート
- 倉庫
- 代表者
- の提出が必要です
- 必要
- 研究
- 研究者
- リソースを大量に消費する
- リソース
- 責任
- 責任
- 結果として
- 結果
- 小売
- リテンションを維持
- return
- 再利用
- レビュー
- 革命
- 右
- 厳しい
- 復活
- リスク
- リスク
- ロードマップ
- 堅牢な
- 丈夫
- 職種
- 役割
- ラン
- ランニング
- runs
- s
- 安全な
- 保障措置
- セージメーカー
- SageMakerパイプライン
- 貯蓄
- スケーラビリティ
- ド電源のデ
- 規模
- シナリオ
- シナリオ
- 科学者
- 科学者たち
- スコープ
- スコア
- スクリプト
- SDDK
- シームレス
- セクション
- セクター
- 安全に
- セキュリティ
- セキュリティリスク
- select
- 選択
- 選択
- 選択
- シニア
- 感情
- 役立つ
- サービス
- サービス
- サービング
- セッション
- セッションに
- シェーピング
- シェアする
- 表示する
- 示す
- 作品
- 側
- 重要
- 同様の
- 簡素化する
- 単に
- から
- 小さい
- 溶液
- ソリューション
- 解決する
- 一部
- ソース
- スパン
- 専門家
- 特定の
- 特に
- 費やした
- ステージング
- ステークホルダー
- 標準化
- 規格
- スタンフォード
- 起動
- 開始
- スタートアップ
- Status:
- 手順
- ステップ
- まだ
- ストレージ利用料
- 店舗
- ストーリー
- 保存
- 簡単な
- 構造化された
- 研究
- 研究
- 続いて
- そのような
- 概要
- サポート
- システム
- 仕立てる
- 仕事
- タスク
- チーム
- チーム
- 技術的
- テクニック
- 技術の
- テクノロジー
- テクノロジー
- テンプレート
- test
- テスター
- テスト
- テスト
- 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다.
- より
- それ
- 未来
- アプリ環境に合わせて
- それら
- その後
- 理論的な
- それによって
- したがって、
- ボーマン
- 彼ら
- この
- それらの
- 三
- 介して
- 全体
- 時間
- 〜へ
- 一緒に
- ツール
- 豊富なツール群
- 追跡する
- トレーニング
- 訓練された
- トレーニング
- 列車
- 変換
- 遷移
- 移行する
- インタビュー
- トレンド
- トリガー
- true
- 信頼できる
- 2
- 典型的な
- 最終的に
- 無許可
- わかる
- 理解する
- 前例のない
- 今後の
- つかいます
- 使用事例
- 中古
- ユーザー
- users
- 使用されます
- 通常
- 活用する
- 検証
- 貴重な
- さまざまな
- バージョン
- バージョン
- 、
- 極めて重要な
- 脆弱性
- 欲しいです
- 暖かいです
- we
- ウェブ
- Webサービス
- WELL
- した
- この試験は
- いつ
- which
- while
- 誰
- ワイド
- 広い範囲
- Wikipedia
- 意志
- 以内
- 無し
- 仕事
- ワークフロー
- ワーキング
- 世界
- ヤムル
- 年
- 産出
- You
- あなたの
- ゼファーネット