生成 AI は、企業が境界内に閉じ込められたデータを解放するために採用できる最新の技術を表します。 Generative AI で何ができるかを概念化する最も簡単な方法は、カスタマイズされた大規模言語モデル (ChatGPT を強化するものと同様) がファイアウォール内で実行されていると想像することです。さて、このカスタム LLM は、OpenAI が公共のインターネット上でホストしているものと同じではありません。代わりに、あなたのビジネスに関する「高度な教育」を取得します。これは、外部からアクセスできない文書のコーパスへのアクセスを許可することによって行われます。ただし、この新しいツールは、確認してさらにフィルタリングするのに何時間もかかるリンクのリストを提供する従来の検索エンジンではありません。むしろ、必要なコンテンツを生成できるソリューションです。時間が経つにつれて、質問するだけでなくコマンドを与えることもできるようになります。以下に、何が可能なのかを理解していただくためのいくつかの例を示します。
「欧州株式市場における最近の調査結果をご覧ください。」
「生成 AI に関する私の講演の要約を作成してください。」
「この四半期に公開したものをすべてご覧ください。」
上記の例は調査シナリオですが、適切に構築された大規模言語モデル (LLM) は、ほんの数例を挙げると、カスタマー サポート (チャットボット)、要約、調査、翻訳、文書作成にも使用できます。
これらの簡単な例は、Generative AI の力を強調しています。これは、読書リストを生成するのではなく、仕事をより効率的に実行するためのツールです。
このようなツールは意図的に存在させることはできず、セキュリティやデータ品質などの懸念を考慮しないと、物事が非常に間違った方向に進む可能性があります。さらに、生成 AI を強化するモデルは、従来のデータセンター内では実行できません。非構造化データ (データ レイク) の管理、LLM 用の AI/ML パイプライン (MLOP ツール) の作成、および LLM がカスタム コーパスに関して必要な教育を受けられるようにする新しいツールを備えた最新の環境が必要です。 (私は検索拡張生成を実装するためのベクトル データベースについて話しています。この記事の後半でさらに詳しく説明します)。
この投稿では、企業が生成 AI をうまく実装するために何を考慮すべきかを概念的レベルで説明したいと思います。
データについての会話から始めましょう。
重要な違いは、生成 AI に必要なデータが従来の AI に使用されるデータと同じではないことです。データは非構造化されます。具体的には、必要なデータは、SharePoint、Confluence、ネットワーク ファイル共有などのツールにロックされたドキュメントになります。優れた Generative AI ソリューションは、オーディオ ファイルやビデオ ファイルなどの非テキスト コンテンツも処理できます。このすべてのデータを収集し、それを 1 つの屋根の下に置くデータ パイプラインが必要になります。
これは、生成 AI イニシアチブの中で最も困難なタスクである可能性があります。 Confluence サイトと Sharepoint サイトが組織内にいかに早く現れるかは誰もが知っています。その中の文書が完全、真実、正確であるという保証はありません。その他の懸念事項は、セキュリティ、個人を特定できる情報、および文書が外部ソースからのものである場合のライセンス条件です。
真のインテリジェンスが含まれる文書を特定したら、それを保管する場所が必要です。残念ながら、元の場所に留まることができません。 SharePoint、Confluence、およびネットワーク ファイル共有は、トレーニングや推論のためにドキュメントを迅速に提供するように設計されたツールではありません。ここで MinIO が活躍します。ニーズに合わせた拡張性、大規模なパフォーマンス、信頼性、フォールト トレラント、クラウド ネイティブ インターフェイスなど、使い慣れたすべての機能を備えたストレージ ソリューションにドキュメントを保存したいと思うでしょう。要は、複数のソースから生データを集約し、それを LLM で使用できるように変換するデータ パイプラインを構築する必要があるということです。以下の図は、組織内に存在する可能性のあるさまざまな情報源と、実行する必要がある高レベルのチェックを示しています。
生データを高品質のデータに変換するために必要なセキュリティと品質チェックを詳しく掘り下げて、データ パイプラインを詳しく見てみましょう。
組織は、すべての文書ソースの目録を作成することから始める必要があります。文書ソースごとに、見つかったすべての文書をカタログ化する必要があります。ライセンスとセキュリティに関する文書を確認する必要があります。一部のドキュメントをソリューションから除外する必要がある場合があります。このプロセスの重要な部分は、生成 AI ソリューションに含める前に、変更する必要がある制限付きデータを特定することです。
セキュリティとライセンスについてドキュメントを確認したら、次は品質チェックです。たとえば、誠実さ、多様性(人々に関するものであれば)、冗長性などです。高品質のデータがなければ正確なモデルを作成することはできません。これは従来の AI (教師あり学習、教師なし学習、強化学習) にも当てはまりますが、生成 AI には特に当てはまります。低品質の文書、冗長な文書、不正確なデータを含む文書は、LLM からの応答を薄めたり、幻覚を引き起こしたりすることがあります。
より詳細なパイプラインを視覚化すると次のようになります。
ストレージ ソリューションの重要性に関するいくつかの考え: 高品質のドキュメントは、トレーニング、微調整、推論のためにデータを迅速に提供できるストレージ ソリューションに保存する必要があります。エンジニアがより多くの実験を実行できるほど、最終的にモデルのパフォーマンスが向上します。また、実験を追跡し、処理されたデータを保存し、モデルをバージョン管理することもできます。これは、この情報を MinIO に直接保存するか、選択した MLOP ツールを使用して手動で行うことができます。多くの MLOP ツールは内部でオブジェクト ストレージを使用します。たとえば、DataBricks の MLFlow と Google の KubeFlow は両方とも MinIO を使用します。さらに、上の図に示されている MinIO のインスタンスは、最新のデータ レイクの実装から取得されている必要があります。最新のデータ レイクは、AI をサポートできるシステム アーキテクチャの中心です。
次に、LLM が品質ドキュメントを含むオブジェクト ストアをどのように使用できるかについて説明します。
このセクションでは、オープンソース LLM と高品質のドキュメントを使用してドメイン固有のコンテンツを生成する 2 つの方法を見ていきます。これら 2 つの手法は、微調整と検索拡張生成 (RAG) です。
モデルを微調整するときは、カスタム情報を使用してさらにモデルをトレーニングします。これは、ドメイン固有の LLM を取得する良い方法である可能性があります。このオプションでは、カスタム コーパスに対して微調整を実行するためのコンピューティングが必要ですが、モデルを最初からトレーニングするほど集中的ではなく、適度な時間枠で完了できます。
ドメインに日常的に使用されない用語が含まれている場合、微調整することで LLM の応答の品質が向上します。たとえば、医学研究、環境研究、および自然科学に関連するあらゆる文書を使用するプロジェクトは、微調整の恩恵を受けるでしょう。微調整では、ドキュメント内にある非常に特殊な言語を取得し、モデルのパラメトリック パラメーターに組み込みます。
短所
微調整にはコンピューティング リソースが必要になります。
説明可能性はあり得ません。
コーパスが進化するにつれて、新しいデータを使用して定期的に再微調整する必要があります。
幻覚が心配です。
利点
LLM には、微調整を通じてカスタム コーパスからの知識が含まれています。
RAGと比較して価値実現までの時間が短縮されます。
微調整は LLM にビジネスの言語を教える良い方法ですが、ほとんどの LLM には数十億のパラメーターが含まれており、データはこれらすべてのパラメーターに分散されるため、データが希薄化します。
推論時にカスタム データとパラメトリック データを組み合わせる手法を見てみましょう。
検索拡張生成 (RAG) は、質問された質問から始まり、追加のデータと組み合わせて、質問とデータを LLM およびベクトル データベースに渡してコンテンツを作成する手法です。 RAG では、高品質のドキュメントのコーパスから関連するテキスト スニペットを LLM に送信して LLM を教育するため、トレーニングは必要ありません。
質問応答タスクを使用すると、次のように機能します。ユーザーはアプリケーションのユーザー インターフェイスで質問します。アプリケーションは質問 (具体的にはその中の単語) を取得し、ベクトル データベースを使用して、高品質のドキュメントのコーパスを検索して、文脈的に関連するテキスト スニペットを探します。これらのスニペットは、元の質問とともに LLM に送信されます。このパッケージ全体 (質問とスニペット (コンテキスト)) はプロンプトとして知られています。 LLM はこの情報を使用して回答を生成します。これは愚かなことのように思えるかもしれません。すでに答え (スニペット) を知っているのであれば、なぜ LLM をわざわざ使う必要があるのでしょうか?覚えておいてください。これはリアルタイムで行われ、目的は生成されたテキストです。コピーして研究に貼り付けることができます。カスタム コーパスの情報を組み込んだテキストを作成するには、LLM が必要です。
これは微調整よりも複雑です。ベクトル データベースについて聞いたことがあるかもしれません。ベクトル データベースは、質問に最適なコンテキストを探すときに重要なコンポーネントです。ベクトル データベースのセットアップは難しい場合があります。単純な暫定的な解決策が必要な場合は、Elastic Search などのテキスト検索ツールを使用できます。ただし、ベクトル データベースは、単語の意味論的な意味を学習し、同じまたは類似の意味を持つ異なる単語を使用するコンテキストを取り込むことができるため、より優れています。
短所
ベクトルデータベースが必要です。
微調整と比較して価値を得るまでの時間が長くなります。 (ベクトル データベースと、LLM にリクエストを送信する前に必要な前処理のため。)
利点
適切に計画を立てる意欲のある企業であれば、生成 AI の実装を成功させることができます。
すべての AI と同様に、生成 AI もデータから始まります。生成 AI を強化する大規模言語モデルに必要なデータは、ファイアウォール内で固有の知識を定義するカスタム コーパスです。テキストベースのドキュメントに限定しないでください。トレーニング ビデオ、録画された会議、録画されたイベントを音声とビデオの両方の形式で使用できます。データ パイプラインの構築は簡単ではありません。品質を確保しながら、セキュリティとライセンスを維持するように注意する必要があります。
オープンソース モデルでは、モデル設計の複雑さが軽減され、ほとんどが事前トレーニングされているため、初期トレーニングにかかる高額なコストも削減されます。組織は微調整を試して、生成されたコンテンツの品質が向上するかどうかを確認する必要があります。
最後に、検索拡張生成 (RAG) は、組織のカスタム文書コーパスの知識と LLM のパラメトリック知識を組み合わせるために使用できる強力な手法です。微調整とは異なり、コーパスからの情報はモデルのパラメトリック パラメーターにトレーニングされません。むしろ、関連するスニペットが推論時に特定され、コンテキストとしてモデルに渡されます。
生成 AI は新しいテクノロジーであり、新しいテクノロジーにはインフラストラクチャの更新が必要です。生成 AI に真剣に取り組んでいる組織の場合、次のステップは、AI/ML パイプライン、データ パイプライン、最新のデータ レイク、および Vector データベース (RAG を利用する場合) を含むシステム アーキテクチャを作成することです。この投稿では、これらのテクノロジーについて概要を説明しました。
Generative AI System Architecture の詳細については、このブログをご覧ください。ご質問がある場合は、[email protected] でご連絡いただくか、 Slack コミュニティに参加してください。
ここにも登場します。