翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
生成 AI のデータライフサイクル
生成 AI をエンタープライズに実装するには、従来の AI/ML ライフサイクルと並行するデータライフサイクルが必要です。ただし、各ステージには固有の考慮事項があります。主要なフェーズには、データ準備、モデルワークフローへの統合 (取得や微調整など)、フィードバック収集、継続的な更新が含まれます。このセクションでは、相互接続されたこれらのデータライフサイクルの段階と、組織が生成 AI ソリューションを開発およびデプロイする際に考慮すべき重要なプロセス、課題、ベストプラクティスについて詳しく説明します。
このセクションは、以下のトピックで構成されます。
事前トレーニングのためのデータ準備とクリーニング
ガベージイン、ガベージアウトは、低品質の入力が同様に低品質の出力をもたらすという概念です。他の AI プロジェクトと同様に、データ品質はmake-or-break要素です。生成 AI は多くの場合、大規模なデータセットから始まりますが、ボリュームだけでは不十分です。慎重なクリーニング、フィルタリング、前処理が不可欠です。
この段階では、データチームは大量のテキストや画像コレクションなどの未加工データを集約します。次に、ノイズ、エラー、バイアスを削除します。例えば、LLM のテキストの準備には、重複の排除、機密性の高い個人情報の削除、有害または無関係なコンテンツの除外が含まれる場合があります。目標は、モデルがキャプチャする知識やスタイルを真に表す高品質のデータセットを作成することです。データを正規化したり、モデルの取り込みに適した構造にフォーマットしたりすることもできます。たとえば、テキストをトークン化したり、HTML タグを削除したり、画像の解像度を正規化したりできます。
生成 AI では、この準備はスケールのために特に集中的になる可能性があります。Anthropic Claude などのモデルは、公開およびライセンスされたさまざまなデータソースから取得される何十億ものトークン
この段階では、一部の企業がデータ拡張を採用して、特定のシナリオのカバレッジを強化しています。データ拡張は、追加のトレーニングデータを合成するプロセスです。詳細については、このガイドの「データ合成」を参照してください。
準備済みおよび前処理済みのデータでモデルをトレーニングする場合、緩和手法を使用して、特にバイアスに対処できます。テクニックには、憲法 AI と呼ばれるモデルのアーキテクチャ内に倫理原則を埋め込むことが含まれます。もう 1 つの手法は、敵対的な偏見の排除です。これは、トレーニング中にモデルにチャレンジして、さまざまなグループに公平な結果をもたらします。最後に、トレーニング後に後処理の調整を行い、微調整によってモデルを絞り込むことができます。これにより、残りのバイアスを修正し、全体的な公平性を向上させることができます。
検索拡張生成
静的 ML モデルは、固定トレーニングセットからのみ予測を行います。ただし、多くのエンタープライズ生成 AI ソリューションは、検索拡張生成 (RAG) を使用してモデルの知識を最新かつ関連性の高いものに保ちます。RAG には、LLM を、エンタープライズドキュメント、データベース、またはその他のデータソースを含む可能性のある外部ナレッジリポジトリに接続することが含まれます。
実際には、RAG は追加のデータパイプラインを実装する必要があります。これにより、ある程度の複雑さが生じ、次の順番のステップが含まれます。
-
取り込みとフィルタリング — さまざまなソースから高品質で関連データを収集します。冗長な情報または無関係な情報を除外するフィルタリングメカニズムを実装し、データセットがアプリケーションのドメインに関連していることを確認します。情報の精度と関連性を維持するためには、データリポジトリの定期的な更新とメンテナンスが不可欠です。
-
解析と抽出 – データインジェスト後、データを解析して意味のあるコンテンツを抽出する必要があります。HTML、JSON、プレーンテキストなど、さまざまなデータ形式を処理できるパーサーを使用します。パーサーは raw データを構造化された形式に変換します。このプロセスにより、後続の段階でのデータ操作と分析が容易になります。
-
チャンキング戦略 – データを管理可能な部分またはチャンクに分割します。このステップは、効率的な取得と処理に不可欠です。チャンキング戦略には以下が含まれますが、これらに限定されません。
-
標準、トークンベースのチャンキング – 特定のトークン数に基づいてテキストを固定サイズのセグメントに分割します。これは最も基本的なチャンキング戦略ですが、均一なチャンク長を維持するのに役立ちます。
-
階層チャンキング – コンテキスト関係を維持するために、コンテンツを階層 (章、セクション、段落など) に整理します。この戦略により、モデルのデータ構造に対する理解が強化されます。
-
セマンティックチャンキング – セマンティックコヒーレンスに基づいてテキストをセグメント化します。各チャンクが完全なアイデアまたはトピックを表していることを確認します。この戦略により、取得した情報の関連性を向上させることができます。
-
-
モデル選択の埋め込み – ベクトルデータベースは埋め込みを保存します。これは、意味とコンテキストを保持するテキストのチャンクの数値表現です。埋め込みは、ML モデルがセマンティック検索を実行するために理解して比較できる形式です。データチャンクのセマンティックな本質をキャプチャするには、適切な埋め込みモデルを選択することが不可欠です。ドメイン固有のニーズに合致し、コンテンツの意味を正確に反映する埋め込みを生成できるモデルを選択します。ユースケースに最適な埋め込みモデルを選択すると、関連性とコンテキストの精度が向上します。
-
インデックス作成と検索アルゴリズム – 類似度検索用に最適化されたベクトルデータベースの埋め込みをインデックス化します。高次元データを効率的に処理し、関連情報の迅速な取得をサポートする検索アルゴリズムを採用します。近似近傍 (ANN) 検索などの手法は、精度を損なうことなく取得速度を大幅に向上させることができます。
RAG パイプラインは本質的に複雑です。効果的に設計するには、複数のステージ、さまざまなレベルの統合、高度な専門知識が必要です。正しく実装すると、生成 AI ソリューションのパフォーマンスと精度が大幅に向上します。ただし、これらのシステムのメンテナンスはリソースを大量に消費するため、継続的なモニタリング、最適化、スケーリングが必要です。この複雑さにより、RAGOps が登場しました。RAGOps は、長期的な信頼性と有効性を促進するために、RAG パイプラインを効率的に運用および管理するための専用のアプローチです。
での RAG の詳細については AWS、次のリソースを参照してください。
-
で拡張生成オプションとアーキテクチャを取得する AWS (AWS 規範ガイダンス)
-
RAG ユースケース用の AWS ベクトルデータベースの選択 (AWS 規範ガイダンス)
-
Terraform と Amazon Bedrock を使用して AWS に RAG ユースケースをデプロイする (AWS 規範ガイダンス)
ファインチューニングと専門的なトレーニング
ファインチューニングには、ドメインファインチューニングとタスクファインチューニングの 2 つの異なる形式があります。それぞれが、事前トレーニング済みのモデルを適応させる上で異なる目的を果たします。教師なしドメインのファインチューニングでは、特定の分野や業界に固有の言語、用語、コンテキストをよりよく理解できるように、ドメイン固有のテキストの本文でモデルをさらにトレーニングします。たとえば、社内記事や専門語彙のコレクションでメディア固有の LLM を微調整して、会社の声調や専門語彙を反映することができます。
対照的に、教師ありタスクのファインチューニングは、特定の関数または出力形式を実行するようにモデルに教えることに焦点を当てています。たとえば、顧客のクエリへの回答、法的文書の要約、構造化データの抽出を指示できます。これには通常、ターゲットタスクの入力と必要な出力の例を含むラベル付きデータセットを準備する必要があります。
どちらの方法でも、ファインチューニングデータの慎重な収集とキュレーションが必要です。タスクのファインチューニングの場合、データセットには明示的にラベルが付けられます。ドメインのファインチューニングでは、ラベル付けされていないテキストを使用して、関連するコンテキストでの一般的な言語の理解を向上させることができます。アプローチに関係なく、データ品質が最優先事項です。モデルのパフォーマンスを維持および強化するには、クリーンで代表的な適切なサイズのデータセットが不可欠です。通常、ファインチューニングデータセットは初期事前トレーニングに使用されるデータセットよりもはるかに小さくなりますが、効果的なモデル適応を確保するためには慎重に選択する必要があります。
ファインチューニングの代替手段は、モデル抽出です。これは、より小さく、より一般的なモデルのパフォーマンスをレプリケートするために、より小さく、特殊なモデルをトレーニングする手法です。モデル抽出は、既存の LLM を微調整する代わりに、元のより複雑なモデル (教師) によって生成された出力で軽量モデル (学生) をトレーニングすることで知識を伝達します。このアプローチは、タスク固有のパフォーマンスを維持しながら、留出モデルに必要なリソースが少ないため、計算効率が優先される場合に特に有益です。
モデル抽出は、広範なドメイン固有のトレーニングデータを必要とするのではなく、合成データセットまたは教師生成データセットに依存します。複雑なモデルは、軽量モデルが学習するための高品質の例を生成します。これにより、専有データのキュレーションの負担は軽減されますが、一般化機能を維持するためには、多様で偏りのないトレーニング例を慎重に選択する必要があります。さらに、抽出は、機密レコードを直接公開することなく、保護されたデータに対して軽量モデルをトレーニングできるため、データプライバシーに関連するリスクを軽減するのに役立ちます。
とは言え、ほとんどの組織がファインチューニングやストリビューションを行う可能性は低くなります。多くの場合、ユースケースには不要であり、運用上および技術上の複雑さが増すためです。事前トレーニング済みの基盤モデルを使用すると、多くのビジネスニーズを効果的に満たすことができます。場合によっては、プロンプトエンジニアリングや RAG などのツールによる簡単なカスタマイズが可能です。ファインチューニングには、技術的能力、データキュレーション、モデルガバナンスの観点からかなりの投資が必要です。これにより、このような取り組みが正当化される高度に特殊なエンタープライズアプリケーションや大規模なエンタープライズアプリケーションに適しています。
評価データセット
生成 AI ソリューションの評価データセットを構築するときは、堅牢なデータ戦略を開発することが不可欠です。これらの評価データセットは、モデルのパフォーマンスを評価するためのベンチマークとして機能します。これらは信頼できるグラウンドトゥルースデータに固定する必要があります。グラウンドトゥルースデータは、正確で検証済みであり、実際の成果を表すことが知られているデータです。例えば、グラウンドトゥルースデータは、トレーニングデータセットやファインチューニングデータセットから保留する実際のデータである場合があります。Ground Truth データは複数のソースから取得でき、それぞれに独自の課題があります。
合成データ生成は、機密情報を公開することなく、特定のモデル機能をテストするための制御されたデータセットを作成するスケーラブルな方法を提供します。ただし、その有効性は、真のグラウンドトゥルース分布をどの程度レプリケートするかによって異なります。
または、ゴールデンデータセットと呼ばれることが多い、手動でキュレートされたデータセットには、厳密に検証された質問と回答のペアまたはラベル付きの例が含まれています。このデータセットは、堅牢なモデル評価のための高品質のグラウンドトゥルースデータとして機能します。ただし、これらのデータセットはコンパイルに時間がかかり、リソースを大量に消費します。実際の顧客とのやり取りを評価データとして取り込むことで、グラウンドトゥルースデータの関連性とカバレッジをさらに強化できますが、これには厳格なプライバシー保護と規制コンプライアンス (GDPR や CCPA など) が必要です。
包括的なデータ戦略では、これらのアプローチのバランスを取る必要があります。生成 AI モデルを効果的に評価するには、データ品質、代表性、倫理的考慮事項、ビジネス目標との整合性などの要因を考慮してください。詳細については、「Amazon Bedrock の評価
ユーザー生成のデータループとフィードバックループ
生成 AI システムがデプロイされると、出力の生成とユーザーとのやり取りが開始されます。これらのやり取り自体が貴重なデータソースになります。ユーザー生成データには、ユーザーの質問とプロンプト、モデルのレスポンス、およびユーザーが提供した明示的なフィードバック (評価など) が含まれます。企業はこれを生成 AI データライフサイクルの一部として扱い、モニタリングおよび改善プロセスにフィードバックする必要があります。重要なのは、ユーザーが生成したデータをグラウンドトゥルースデータセットに組み込むことができることです。これにより、プロンプトをさらに最適化し、時間の経過とともにアプリケーションの全体的なパフォーマンスを向上させることができます。もう 1 つの重要な理由は、時間の経過とともにモデルドリフトとパフォーマンスを管理することです。実際の使用後、モデルはトレーニングドメインから逸脱し始める可能性があります。これは、トレーニングデータに存在しない新しいトピックについて質問するクエリやユーザーに表示される新しいスラングの例です。このライブデータをモニタリングすると、入力分散がシフトするデータドリフトが明らかになり、モデルの精度が低下する可能性があります。
これに対処するために、組織はユーザーとのやり取りをキャプチャし、最近のサンプルでモデルを定期的に再トレーニングまたは微調整することでフィードバックループを確立します。場合によっては、フィードバックを使用してプロンプトと取得データを調整できます。例えば、内部チャットボットアシスタントが新しくリリースされた製品に関する回答を一貫してハルシネーションする場合、チームはそれらの失敗した Q&A ペアを収集し、正しい情報を追加のトレーニングまたは取得データとして含めることがあります。
場合によっては、人間のフィードバック (RLHF) による強化学習を使用して、トレーニング後または微調整段階で LLM をさらに調整します。これは、モデルが人間の好みと値をより適切に反映するレスポンスを生成するのに役立ちます。強化学習 (RL) 手法は、報酬を最大化する意思決定を行うためにソフトウェアをトレーニングし、その結果をより正確にします。RLHF は報酬関数に人間のフィードバックを組み込むため、ML モデルは人間の目標、希望、ニーズにより合致したタスクを実行できます。Amazon SageMaker AI での RLHF の使用の詳細については、 AWS AI ブログのLLMs の改善 Amazon SageMaker
正式な RLHF がない場合でも、より簡単なアプローチは、品質保証と同様に、モデル出力の一部を継続的に手動でレビューすることです。重要なのは、継続的なモニタリング、オブザーバビリティ、学習がプロセスに組み込まれていることです。で生成 AI アプリケーションから人間のフィードバックを収集して保存する方法については AWS、「 AWS ソリューションライブラリ」の「 での Chatbot ユーザーフィードバックと分析のガイダンス AWS
ドリフトを先取りまたは対処するには、企業は継続的なモデル更新を計画する必要があります。これにはいくつかの形式があります。1 つのアプローチは、定期的な微調整または継続的な事前トレーニングをスケジュールすることです。たとえば、モデルを毎月最新の内部データ、サポートケース、ニュース記事で更新できます。継続的な事前トレーニング中、事前トレーニング済みの言語モデルは、特に特定のドメインやタスクでパフォーマンスを向上させるために、追加データについてさらにトレーニングされます。このプロセスでは、モデルをラベル付けされていない新しいテキストデータに公開し、ゼロから始めることなく理解を深め、新しい情報に適応させることができます。潜在的に複雑なプロセスをサポートするために、Amazon Bedrock では、完全に安全で管理された環境でファインチューニングと継続的な事前トレーニングを行うことができます。詳細については、 AWS ニュースブログの「ファインチューニングと継続的な事前トレーニングを使用して、独自のデータを使用して Amazon Bedrock でモデルをカスタマイズ
RAG でoff-the-shelfモデルを使用するシナリオでは、Amazon Bedrock などのクラウド AI サービスを使用できます。これらのサービスは、リリース時にモデルを定期的にアップグレードし、利用可能なカタログに追加します。これにより、これらの基盤モデルの最新バージョンを使用するようにソリューションを更新できます。