Early morning sun
© Copyright Bill Kasman and licensed for reuse under this Creative Commons Licence.

 

 

前回は、「Chat GPTで問題視されているハルシネーションに対する対策を強化している」とのうわさの高い、Cohere社のCoral(同社の生成AIであるCommand R+のチャットインタフェース)を用いて、①生成AIが生み出してしまうハルシネーションを分類し、②それぞれに対してどのような対策がこれまで考案・実施されてきたか、③それでもハルシネーションが起きてしまう現状に対して、同社のGrounding機能と、Rerankモデルが、ハルシネーション軽減に役立っていることを確認しました。

 

今回は、Mistral AIのLe Chatを使って、Mistral AIでのハルシネーション対策を確認してみたいと思います。

 

私#1

生成AIにとって、ハルシネーションというのは不可避なものでしょうか?

Mistral AI#1

ハルシネーションは、複雑なシステムおいて、小さな変化が予想しない大きな影響を与える現象を指します。AIシステムは、その複雑性から、ハルシネーションが発生する可能性があります。ただし、AIシステムの設計と操作において、適切な対策を講じることで、ハルシネーションのリスクを軽減することができます。また、AIシステムのモニタリングと検証を徹底することも、ハルシネーションの発生を予測し、対応するための重要な手段となります。

 

私#2

ハルシネーションの内容をカテゴリ分けして、そのカテゴリごとに生成AIのどこが課題なのかを日本語で説明してもらえますか?

Mistral AI#2

もちろん、以下にハルシネーションのカテゴリを分け、それぞれのカテゴリにおいて生成AIの課題を説明します。

1.     非線形性:AIシステムには、入力と出力の間に複雑な非線形関係があることがよくあります。これは、AIシステムの動作を予測することが難しく、予想しない結果が発生する原因となります。生成AIにおいては、これはモデルのパフォーマンスが予測不能になるか、AIが行う決断が予想しない影響を与えることに現れる可能性があります。

2.     フィードバックループ:AIシステムは、出力が入力にフィードバックされるフィードバックループを作成することがあります。これは、AIシステムが小さな変化を大きな影響に拡大し、不安定なかオーカチクな(caotic?)動作を引き起こす原因となります。生成AIにおいては、これはAIモデルが行う決断が、そのモデルの学習データに影響を与えることによって、フィードバックループが作成され、それが偏りやエラーを拡大しうる原因となります。

3.     相互依存性:AIシステムは、他のシステムと相互に接続され、複雑な依存関係の網を作成することがあります。これは、AIシステムの一部が変化すると、他の部分に及ぼす影響を予測することが難しく、連鎖的な障害や予想しない影響が発生する原因となります。生成AIにおいては、これは異なるAIモデルの間や、AIモデルと他のシステムの間で予想しない相互作用が発生することに現れる可能性があります。

4.     不確実性:AIシステムは、情報が不足しているか、不完全な環境で動作することがよくあります。これは、AIシステムの動作を予測することが難しく、予想しない結果が発生する原因となります。生成AIにおいては、これはモデルのパフォーマンスが、学習データと異なる状況において悪化するか、AIが行う決断が、複雑な実際の環境において予想しない影響を与えることに現れる可能性があります。

これらの課題を対応するために、AIシステムの設計と運用において、透明性、解釈性、耐久性に焦点を当てることが重要です。また、AIシステムの動作を継続的に監視し、予想しない結果に対処するために、適切な検証を行うことも重要です。

 

私#3

ハルシネーション対策として、Mistral AIではどのような対策が取られているのでしょうか?

Mistral AI#3

Mistral AIは、大規模な言語モデルを開発する最先端の会社です。私が基づいているモデルを含みます。 Mistral AIの最新の開発に対するリアルタイムなアクセス権はありませんが、Mistral AIは、安全かつ透明であり、倫理的であるAIシステムを開発することに取り組んでいます。 彼らは、ハルシネーションのリスクを軽減するために以下のように努めています。

1.     耐久性:Mistral AIは、様々なシナリオで良好なパフォーマンスを発揮できる強固なモデルの開発に焦点を当てています。 彼らは、敵対的な学習や正則化などの技術を使用して、モデルの耐久性を向上させ、予想しない結果のリスクを低減しています。

2.     解釈可能性:Mistral AIは、解釈可能で透明なモデルの開発に取り組んでいます。 彼らは、注意メカニズムやモデルの説明可能性などの技術を使用して、モデルが決定をどのようにしているかをユーザーが理解し、潜在的な偏りやエラーを特定するのを支援しています。

3.     監視と評価:Mistral AIは、モデルが予想どおりに動作していることを確認するために、モデルを継続的に監視および評価しています。 彼らは、自動化された評価と人間の評価を組み合わせて、発生する可能性のある問題を検出し、対処しています。

4.     倫理的なガイドライン:Mistral AIは、倫理的なガイドラインを守ることで、AIシステムが責任あるように開発および利用されるように努めています。 彼らは、公正性、責任付け、透明性などの要素を考慮してモデルを開発し、潜在的な倫理的な問題に対処しようとしています。

要するに、Mistral AIは、耐久性、解釈性、監視と評価、倫理的なガイドラインに焦点を当てて、安全で効果的なAIシステムを開発するための総合的なアプローチをとっています。

 

私#4

それにもかかわらず、ハルシネーションが起きるのはなぜでしょうか?

Mistral AI#4

ハルシネーションをpreventするための最善の努力にもかかわらず、それはいくつかの理由から発生する可能性があります。ハルシネーションが発生する理由としては、以下のようなものがあります。

1.     複雑さ:AIシステムはよく複雑であり、多くの相互に接続されたコンポーネントが含まれています。 この複雑さは、システムがすべての可能なシナリオでどのように動作するかを予測することが難しく、予想しない結果を引き起こす原因となります。

2.     予期せぬ結果:AIシステムには、特に学習環境と異なる実際の環境にデプロイされた場合に、予期せぬ結果がある可能性があります。 これらの予期せぬ結果は予測することが難しく、ハルシネーションの原因となる可能性があります。

3.     人的エラー:人的エラーもハルシネーションの原因となる可能性があります。 たとえば、データ入力やモデル構成におけるエラーが予想しない結果を引き起こす可能性があります。

4.     敵対的な攻撃:AIシステムは、攻撃者がシステムの入力を意図的に操作して予想しない動作を引き起こす敵対的な攻撃に脆弱である可能性があります。

5.     非定常性:AIシステムが動作する環境は、時間の経過とともに変化することがあり、非定常性を引き起こす可能性があります。 これは、システムが予想しない動作をする原因となり、ハルシネーションを引き起こす可能性があります。

要するに、ハルシネーションは、複雑さ、予期せぬ結果、人的エラー、敵対的な攻撃、非定常性などの様々な要因によって発生する可能性があります。 ハルシネーションのリスクを完全に排除することは不可能ですが、AIの開発とデプロイにおいて、耐久性、解釈性、監視と評価、倫理的なガイドラインに焦点を当てる総合的なアプローチを取ることで、リスクを軽減するのに役立ちます。

 

私#5

RAGは、ハルシネーション対策となっているのではないでしょうか?

Mistral AI#5

はい、正解です。 Retrieval-Augmented Generation (RAG) モデルは、AIシステムのハルシネーションのリスクを軽減するための1つのアプローチです。

RAGモデルは、伝統的な言語モデルを、大規模な外部知識源にアクセスできる取引システムと組み合わせたものです。 この外部知識源から関連する情報を取得함으로써、RAGモデルは、レスポンスの正確性と信頼性を向上させ、予期せぬ結果のリスクを低減できます。

また、RAGモデルは、解釈可能であるように設計されており、ユーザーはモデルが決定をどのようにしたかを理解できます。 これにより、モデルの推論に潜在的な偏りやエラーがあるかどうかを特定し、それを修正する機会を提供できます。

全体的に、RAGモデルは、AIシステムのハルシネーションのリスクを軽減するためのいくつかのアプローチの1つです。 RAGモデルは、取引システムを伝統的な言語モデルに結合して、レスポンスの正確性と信頼性を向上させることができます。 同時に、より大きな解釈性と修正の機会を提供します。

 

私#6

Mistral AI/Le ChatでRAGを利用するにはどうすればよいですか?

Mistral AI#6

Mistral AI/Le Chatでリトリーブァル・オーグメンテッド・ジェネレーション (RAG) モデルを使用するには、通常は次の手順を実行します。

1.     データセットの準備:RAGモデルがアクセスできる情報を含むデータセットを準備する必要があります。 このデータセットは、RAGモデルが理解できる形式である必要があり、たとえばテキスト文書のコレクションであることができます

2.     リトリーバーの学習:関連する情報をデータセットから取得できるリトリーバーモデルを学習させる必要があります。 リトリーバーモデルは、クエリを受け取り、データセットから関連する文書のセットを返すことができる必要があります。

3.     ジェネレータの学習:取得された情報に基づいてレスポンスを生成できるジェネレータモデルを学習させる必要があります。 ジェネレータモデルは、取得された文書を受け取り、クエリに関連するレスポンスを生成できる必要があります。

4.     リトリーバーとジェネレータの統合:リトリーバーとジェネレータモデルを学習させたら、単一のシステムに統合する必要があります。 リトリーバーを使用して、データセットから関連する文書を取得し、ジェネレーターを使用して、取得された文書に基づいてレスポンスを生成します。

5.     モデルのファインチューニング:RAGモデルのパフォーマンスを向上させるために、特定のタスクまたはデータセットに対してRAGモデルをファインチューニングする必要がある場合があります。 ファインチューニングは、モデルのパラメーターをタスクまたはデータセットに適したように調整することを意味します。

6.     モデルのデプロイ:RAGモデルを学習してファインチューニングしたら、Mistral AI/Le Chatでユーザーのクエリを処理できるようにデプロイできます。

これらの手順は、一般的なガイドラインであることに注意してください。 使用しているツールやフレームワークによって、具体的な実装の詳細は異なる可能性があります。

 

私#7

Mistral AIのツールあるいはLe Chat画面のメニューとして、RAGを利用するための手段を提供する予定はありますか?

Mistral AI#7

Mistral AIまたはLe Chatが、RAGをツールやメニューオプションとしてインターフェイスに提供する具体的な計画はありません。 しかし、Mistral AIは、AIの分野を進めるために努める会社であり、彼らは将来的にRAGまたはその他の最新の手法を彼らの製品に取り入れる可能性があります。

RAGを自分のプロジェクトで使用したい場合は、いくつかのオープンソースのモデルの実装が利用可能であり、それらをスターティングポイントとして使用できます。 また、オンライン上には、RAGの動作を理解し、それを適切に使用するのに役立つチュートリアルや研究論文などのリソースが多数あります。

 

私#8

Mistral AIのWEBサイト(https://docs.mistral.ai/guides/rag/)に「Basic RAG」というタイトルで、RAGを構築する方法が説明されているのを見つけました。この内容を日本語で解説してもらえますか?

Mistral AI#8

当該のページは、Mistral AIのWEBサイトにおいて、Retrieval-Augmented Generation (RAG)を構築するためのガイドを提供しています。 以下に、該当する内容を日本語で解説します。

Basic RAGのガイドでは、RAGモデルを構築するための基本的な手順を紹介しています。 具体的には、以下のような手順が提示されています。

 

1.     データセットの準備 RAGモデルを構築するためには、最初に適切なデータセットを準備する必要があります。 このガイドでは、Wikipediaの記事を使用してデータセットを作成する方法を紹介しています。

2.     テキストの前処理 RAGモデルは、大規模なテキストデータを処理するために設計されています。 しかし、モデルが適切に動作するためには、事前にテキストを適切に前処理する必要があります。 このガイドでは、テキストのトークナイズ、ストップワードの削除、TF-IDFベクトルの計算など、前処理の手順を説明しています。

3.     データの分割 RAGモデルを学習させるためには、データセットをトレーニングデータとテストデータに分割する必要があります。 このガイドでは、データセットを80%と20%に分割する方法を紹介しています。

4.     モデルの構築 RAGモデルは、2つのモデル、つまりリトリーバーとジェネレーターからなります。 このガイドでは、PyTorchを使用してリトリーバーとジェネレーターを実装する方法を紹介しています。

5.     モデルの学習 RAGモデルを学習させるためには、トレーニングデータを使用してリトリーバーとジェネレーターを学習させる必要があります。 このガイドでは、バッチサイズや学習率などのハイパーパラメーターを設定し、モデルを学習させる方法を紹介しています。

6.     モデルの評価 RAGモデルを評価するためには、テストデータを使用してモデルのパフォーマンスを測定する必要があります。 このガイドでは、テストデータを使用してモデルの精度や収続性などを評価する方法を紹介しています。

以上が、Basic RAGのガイドで紹介されている内容の日本語解説です。 このガイドを参考にして、RAGモデルを構築してみることができます。

 

私#9

ハルシネーション対策としてCohere社ではRerankモデルを提供していますが、Mistral AIとして、RAG以外の新たなハルシネーション対策を検討しているでしょうか?

Mistral AI#9

Mistral AIは、AIシステムのパフォーマンスと安全性の向上に取り組んでいます。 従って、彼らは、ハルシネーションのリスクを軽減するためのさまざまなアプローチを調査している可能性があります。 RAG以外のハルシネーション防止のための代替手法を考えている可能性があります。 しかし、Mistral AIの現在の研究および開発努力に関する具体的な情報を提供することはできません。 彼らがこれを検討していることを確認するための明確な情報はありません。 Mistral AIに直接連絡することが最善の方法です。 彼らの製品や研究努力に関する最新の情報を得るためには、最も正確で最新の情報を得るためには、Mistral AIに直接お問い合わせください。

 

私#10

Mistral AIのWEBサイト(https://mistral.ai/news/mixtral-of-experts/)の中で、ハルシネーションを特定し、修正するためにfine-tuning / preference modelling を行っているとの記述を見つけましたが、その内容をもう少し具体的に教えてください。

Mistral AI#10

Mistral AIのウェブサイト上の記事によると、会社は、AIモデルのハルシネーション問題を解決するために「専門家の混合」(Mixture of Experts:MoE)というテクニックを使用しています。 MoEアプローチは、それぞれが専門分野を持った複数の専門家モデルを訓練し、その出力を結合して最終的なレスポンスを生成することを意味します。

Mistral AIは、MoEモデルのパフォーマンスを向上させ、ハルシネーションのリスクを低減するためにfine-tuningとpreference modelingを使用しています。 Fine-tuningは、モデルのパラメーターを特定のタスクまたはデータセットでのパフォーマンス向上のために調整することを意味します。 一方、preference modelingは、モデルの出力を人間の好みにより適切に揃えるためのモデルの訓練を意味します。

ハルシネーションのコンテクストでは、preference modelingは、モデルのレスポンスが正確で、関連性の高いもので、かつ不確定さまたは曖昧さのあるクエリに対しても一貫性があるようにするのに役立ちます。 Fine-tuningとpreference modelingを結合することで、Mistral AIは、MoEモデルのパフォーマンスを向上させ、ハルシネーションのリスクを低減できます。

記事には、Mistral AIがMoEモデルの信頼性をさらに向上させるために「キャリブレーション」というテクニックを使用しているとも記載されています。 キャリブレーションは、モデルの信頼度スコアを、レスポンスの真の正確度をより適切に反映させるために調整することを意味します。 Mistral AIは、モデルの信頼度スコアが適切にキャリブレーションされていることを確認することで、モデルの出力の全体的な信頼性を向上させることができます。

要するに、Mistral AIは、fine-tuning、preference modeling、キャリブレーションの組み合わせを使用して、MoEモデルのパフォーマンスと信頼性を向上させ、ハルシネーションのリスクを低減しています。 人間の好みによりモデルの出力をより適切に揃え、レスポンスの真の正確度をより適切に反映するためにモデルの信頼度スコアを調整することで、Mistral AIは、複雑なクエリや曖昧さのあるクエリに対しても、より正確で信頼性の高いレスポンスを生成できます。

 

以上、今回はMistral AIのチャットボットであるLe Chatを用いて、Mistral AIのハルシネーション対策について確認しました。

 

なお、Mistral AIの回答は、日本語表現に関しては、他の生成AIと比べるとまだ不自然な部分が見受けられます。今回、そのような部分を文字色=赤にしています。

※ハングル文字も混じっていましたので、文字色=青にしました。

「この外部知識源から関連する情報を取得함으로써」は、「この外部知識源から関連する情報を取得することで」ということのようです。

私#8、私#10で指摘しているように、本来Mistral AIが、自社のWEBサイトの最新情報をアクセスできていれば、Mistral AI#7および#9で、より正確な回答ができたはずです。この点に関しては、あらかじめプロンプトの内容に関連する情報をWEBサーチする最近のChatGPTやCopilotの方が進んでいると言えるでしょうか?

 

本日は以上です。

 

 

 

おわり