IBMニュースレター
The DX Leaders
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
大規模言語モデル (LLM) では、大規模なテキストベースのインプットシーケンス全体を処理することはできません。自然言語処理 (NLP)モデルのコンテキストウィンドウは、コンテキストの理解を維持しながら、モデルが取り込むことができるコンテンツの最大量を決定します。機械学習 (ML) システムは、チャンク化技術を使用して、ドキュメントを LLM のコンテキストウィンドウに適合する部分に分割します。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
LLMを外部データソースに接続する検索拡張生成 (RAG) の開発には、チャンキングシステムの作成が必要でした。RAGシステムは、LLMが現実世界の結果や情報を反映しない回答を出すというハルシネーションの問題に対処するために登場しました。
RAGシステムは、LLMを追加の知識ベースと組み合わせることで、LLMがより正確でより有用な回答を生成するのに役立ちます。多くの場合、RAGナレッジベースは、接続されたLLMにドメイン固有のナレッジへのアクセスを提供するドキュメントを含むベクトルデータベースです。埋め込みモデルはドキュメントを数学的なベクトルに変換し、ユーザークエリに対しても同じ処理を実行します。
RAGシステムは、ベクターデータベース内で、関連情報を表し、ユーザーのクエリに一致する埋め込みを見つけます。次に、LLMは、取得したデータを使用して、より関連性が高く正確な回答をユーザーに提供します。
ただし、コンテキストウィンドウの制限により、LLMは1つのドキュメントを一度に処理できません。チャンク化が解決策として登場しました。文書を断片に分割することで、LLMは文脈を理解しながら、関連するチャンクをリアルタイムで効率的に見つけることができます。
エージェント的チャンク化により、LLMは、RAGユースケースなど、より適切な回答を提供するのに役立つ意味のあるチャンクを作成できます。一部のチャンク化手法では意味論も考慮され、文書を固定長の小さなチャンクに分割します。
その他のチャンク化方法には、次のものがあります。
最もシンプルなチャンク戦略である固定サイズのチャンクは、事前設定された文字またはトークンの数に基づいて、テキストを同じサイズのブロックに分割します。トークンとは、LLMが処理できる最小量のテキスト(多くの場合、単語またはその一部)です。
文の中断を避けるために、固定サイズのチャンク化の実装の多くには、あるチャンクの終わりと次のチャンクの先頭に繰り返すオーバーラップ機能が含まれています。固定サイズのチャンクはシンプルで計算量も少ないですが、柔軟性があり、コンテンツ密度や文書構造を考慮できず、意味的に一貫性のないチャンクを生成する可能性があります。
再帰的チャンク化では、事前定義されたテキスト・セパレーターの階層リストを使用して、より一貫性が高い方法でテキストを分割します。セパレーターには、段落、文、単語などの自然に発生する構造が含まれます。Pythonコーディング・ドキュメントでは、セパレーターにクラスと関数の定義を含めることができます。
再帰的チャンクは、固定サイズのチャンクと比較して、テキスト内の自然な分離に従うことで、より一貫性のあるチャンクを作成します。マークダウンの使用は、チャンク化アルゴリズム(チャンク)がどこで分割するべきかを判断するのにも役立ちます。RecursiveCharacterTextSplitterは、LangChainで利用できる人気のあるチャンカーです。
しかし、テキストに明確なセパレーターが欠けている場合、再帰的チャンク化アルゴリズムは、新しいチャンクを作成する場所を知りません。また、再帰的チャンクは、固定サイズのチャンクよりも計算量が多くなります。
セマンティック・チャンクでは、埋め込みモデルを使用して各文の数学的表現を作成します。次に、チャンク化アルゴリズムは、意味的に類似した文のチャンクを作成し、新しいチャンクを作成して検知します。セマンティック・チャンキングは、Greg KamradtがGithubで議論した手法とされています。1
セマンティックチャンクはコンテキスト認識であり、文書の自然な流れと意味を中心にチャンクを構築します。トピックが変更されると、新しいチャンクが作成されます。ただし、段落で複数のトピックについて説明している場合や、チャンク化のしきい値が文書の種類や構造に応じて適切に設定されていない場合に問題が発生する可能性があります。
セマンティックチャンクは、再帰的および固定サイズのチャンク化よりも計算量が多く、テキスト内のセマンティックコンテンツを識別するために高度なモデルが必要です。
エージェント型チャンキングは、エージェント型自動化(AIエージェントを使用してワークフローを自動化する)の一例です。この場合、インテリジェントに自動化されるワークフローは、LLMのコンテキストウィンドウ内に収まる小さなチャンクにドキュメントを分割する方法を決定するプロセスです。
エージェント型AIとは、AIシステムを使用して人間の介入なしに自律的に意思決定を行い、アクションを実行することを指します。エージェント型チャンクを使用すると、エージェントは自ら動作して、テキストを分離し、チャンクにラベルを付ける方法を決定します。
エージェント・チャンキングは、他のチャンキング方法を利用して重複セクションと再帰分割を作成し、生成AIを適用して各チャンクにメタデータのラベルを付け、RAGの取得を容易にします。
エージェント・チャンキングはまだ探索段階にあります。クリエイターはGitHubでアプローチを共有し、議論します。これらは、多くの場合、LlamaindexやLangchainなどのLLMフレームワークと、Huggingfaceで利用可能なオープンソースLLMを使用して、Pythonコーディング言語で構築されます。
エージェント・チャンキングの一般的なAIワークフローには、次の手順が含まれます。
インテリジェントな自動化ツールを使用して、テキストがPDFなどのソースドキュメントから抽出され、クリーニングされます。テキスト・クリーニングでは、ページ番号やフッタなどの余分な要素を削除して、LLMに生のテキストのみが与えられるようにします。
再帰的チャンク化アルゴリズムは、テキストを小さなチャンクに分割し、文を断片化するのを回避します。セマンティック・チャンクと同様、エージェント型チャンクは、チャンク・オーバーラップ技術を使用して、意味、構造、アウェアネスに基づいてテキストを動的に分割します。
OpenAIのGPTなどのLLMは、チャンクを処理、結合、強化します。小さなチャンクは、意味上の一貫性を維持するより大きなチャンクに結合されます。LLMは、チャンクの内容のタイトルと概要を含むメタデータで各チャンクを強化します。生成されたメタデータは、エージェント型RAGシステムなどの下流での使用に役立ちます。
各チャンクは埋め込みに変換され、ベクトル・データベースに保管されます。検索モデルはデータベースにクエリを実行し、セマンティック検索を使用して関連するメタデータを持つチャンクを見つけ、RAGシステム内のLLMのプロンプトに含めます。
LangChainのprompt_template設定は、LLMに与えられる入力プロンプトを決定します。LangChainとwatsonx.aiを使用してRAGチャンキングを最適化する方法について詳しく学びます。
従来のチャンク化方法と比較して、エージェント型チャンクのダイナミズムとメタデータのラベル付けは、RAGの実装に最適です。そのメリットは以下のとおりです。
効率的な検索:各チャンクのAI生成タイトルと概要により、RAGステムは接続されたデータセット内で関連情報をより速く見つけることができます。
正確な応答:AIが生成したメタデータを使用した意味論的に一貫したチャンク化は、RAGシステムが生成された応答を関連データで補強し、より適切な回答を得るのに役立ちます。
柔軟性:AI駆動型チャンク化は、さまざまな種類のドキュメントに対応できます。エージェント型チャンク・システムは、さまざまなLLMやRAGチェーンと統合して、プロジェクトの成長と拡大に対応できます。
コンテンツの保存:エージェント型チャンキング・システムは、以前のチャンキング手法に基づき、意味的な意味と一貫性を保持したチャンクを作成する。
生成AIを使用してワークフローとプロセスを自動化する強力なAIアシスタントとエージェントを構築、デプロイ、管理しましょう。
信頼できるAIソリューションでビジネスの未来を構築します。
IBMコンサルティングAIサービスは、企業がAIをトランスフォーメーションに活用する方法を再考するのに役立ちます。