医師のための生成AI紹介①~ハルシネーションを抑えて、信頼できる情報のみ得ることは可能?
医療における生成AIの活用を妨げる最大の理由の1つ、ハルシネーション(AIが誤った情報を出力すること)。これをいかに抑えて、信頼できる情報を届けられるかが、医療での生成AI活用と効率化の鍵です。この記事では、ハルシネーションが0になる遠い未来を待たずして、現状でハルシネーションのリスク最小限に抑えつつ、生成AIを活用するのに必要な取り組みをご紹介します。
本記事は医療現場で生成AIを活用される方向けに、その課題や解決策を概観するものです。
エンジニア向けではないため、技術の詳細は割愛します。この分野では日進月歩で論文が出ており、効果が実証されたものから、実践で活用が難しいものまで様々です。下記の記事が、最新手法が日本語で丁寧にまとめられており、技術面を知られたい方にお勧めです。
弊社では医師向けの生成AIプラットフォーム「MedGen Japan」を提供しています。是非ご確認、ご登録ください。
医療での生成AI活用とハルシネーション
医療は生成AIに向いている業界?
医療は知識ヘビー、言語ヘビーな業界です。過去の知見をエビデンスを確かめ、記録し、積み重ねる習慣が強い業界でもあります。
こうした傾向は法務などとも共通し、過去の大量のデータを読み込んで学習し、各々のケースに合わせて出力するという場面で生成AIがパワフルに働くはずです。
もちろん、診断においてはテキスト情報のみでは不十分で、五感を使って判断する必要があり、その分野のAI研究も進められています。
他方、様々な資料から治療の事例やエビデンスを横断的に参照する必要のある医療では、テキスト面でも作業を効率化できる幅が大きいはずです。AIは学習データの幅広さ、処理の速さにおいて圧倒的であり、上手く活用すれば情報収集のスピードが飛躍的に上昇します。
ところが、活用度合いは他の産業と比べても低く、2023年時点の米国・欧州において、法務で浸透度10%のところ、ヘルスケアでは2%にとどまっています。日本ではさらに下振れしている可能性もあります。
活用を妨げる理由の1つがハルシネーションへの懸念です。医療では何より誤情報が使われることを防がなければなりません。
ただただ生成AIを導入すればいいという話ではありません。リスクを理解し、最小化する取り組みをしつつ、業界のワークフローにあった方法で浸透させることで、現場の皆様の課題が少しでも解決されることを願います。
ハルシネーションはなぜ起きるのか
解決策に入る前に、なぜハルシネーションが起きるかをお話します。生成AIはディープラーニング技術を用い、「学習」と「推論」を行います。それぞれの過程でハルシネーションの原因が潜んでいる場合があります。
データの不均衡:特定のトピックや用語について十分なデータが存在しない場合、そのトピックに関する回答が不正確になる可能性があります。モデルは一般的な知識や類推を用いて回答を生成しますが、それが正確ではない場合があります。
モデルの過学習:トレーニングデータに過度に適応することで、特定のパターンやフレーズを過度に使用することがあります。これが、特定の文脈で不適切な情報を生成する原因となります。
コンテキストの不足:モデルが質問のコンテキストを十分に理解できない場合、不完全な情報を基に回答を生成することがあります。特に、複雑な質問や曖昧な質問に対しては、モデルが正確なコンテキストを把握できず、ハルシネーションが発生します。
確率的生成:モデルは確率的に次の単語を選択しますが、これは必ずしも文脈に最適な選択ではありません。確率的な生成プロセスは、多様性を持たせるために導入されますが、これが不正確な情報の生成を引き起こすことがあります。
生成AIモデルの仕組みについては、別の記事で詳しく書きますので、そちらをご参照ください。
ハルシネーションの悪影響を抑える
ハルシネーションの悪影響を抑えるには、2つの側面があります。「ハルシネーションが起きる確率を減らすこと」、そして「ハルシネーションが出たときに悪影響を抑えること」です。
つまり、モデルが誤情報を出力する確率を減らすと同時に、人間側で検証方法が可視化されており、誤情報をキャッチできる仕組みが肝要です。
ハルシネーションがあるとAIは使えない?
残念ながら、AIが100%正しい情報を出力することは今は難しいでしょう。「じゃあ、AIは使えないじゃないのか」というとそれも違います。
大前提として、AIの使い手である人間も、そしてAIのトレーニングの元となる情報(つまり、人間の過去の集合知)も100%正確ではありません。それでも我々は日常的に学習・検証を行い、様々な意思決定を行っています。
従って、どの様な情報も透明性をもって検証されることで、活用につながります。他の情報と同様、AIからの出力にも、透明性と検証の仕組みが必要です。
こう考えると、生成AIのハルシネーションの問題は、情報の正確性ではなく、ブラックボックスから情報が出ていることだとわかります。
では、生成AIに透明性を持たせることはできないのでしょうか。
生成AIの回答の精度と透明性をあげる方法
RAGモデルはこの課題への1つの回答です。
RAGモデルとは、「Retrieval-Augmented Generation」の略で、生成AIの出力を改善するための手法の1つです。RAGモデルは、従来の生成AIモデルに「リトリーバル(情報検索)」のプロセスを組み合わせたものです。
この手法では、質問に対してまず関連文書を検索し、その後に生成AIがその文書を参照して回答を生成します。これにより、生成される情報の根拠が明確になり、ハルシネーションのリスクが低減されます。
また、未学習情報の取り扱いが可能になることもメリットの一つです。
先程述べたように、生成AIは「学習」と「推論」の2つのプロセスを経ます。ここで、通常ChatGPTなどが学習しているデータは1~2年ほど過去のものであり、また、日本や特定分野のデータの学習も十分ではありません。
RAGモデルでは、「リトリーバル」により最新の情報や専門的なデータベースから必要な情報を検索し、それを元に回答を生成するため、最新の医療情報や特定の専門知識を含んだ回答が可能となります。
RAGの課題と解決法(の一部)
RAGモデルは、生成AIの精度と透明性を向上させるための有力な手段ですが、これだけで全ての問題が解決するわけではありません。
残された課題と、RAGモデルを補完するためのさらなる取り組みを、ここではプロセス別に4点見ていきます。
「ソース」:ソースの精度の担保
「質問」:質問の解釈
「検索」:検索精度の向上
「推論」:自己検証の仕組み
1. ソースの精度の担保
RAGを使ったら必ずハルシネーションを抑えられるわけではありません。ソースの情報の質が十分でない場合、当然回答の精度は下がり、生成よりも質の悪い回答となる可能性もあります。
また、誤った情報でなくとも、古い情報や患者向け情報では、医師がプロフェッショナルで求める回答のレベルに到達しない可能性が高いです。
とはいえ、MicrosoftやOpen AIが全てのソースを検証することは不可能です。従って、ユーザーの活用例を把握し、地域ごと、領域ごと専門にソースをコントロールする必要があります。
2. 質問の解釈
必ずしもハルシネーションに限りませんが、いくらソースや生成が正しくとも、そもそも質問が不十分、あるいは、それをモデルが正しく理解できない場合、正しく出力されません。
よく見るのが、Googleのキーワード検索と同様、一単語しか入力せず、回答を得ようとする場合で、意図した回答は得られないかもしれません。
Multi-query(複数の質問という意味)という手法では、ユーザーの入力した質問から、異なるバリエーションの質問をいくつか生成することで、異なる視点の情報収集をします。最終的に複数の回答を統合して評価することで、最適な回答をします。
また、ユーザーが最新情報を欲しい際、「最新」というワードのみでは必ずしも本当に最新のものに辿り着けません。20年前の情報も当時は「最新」であり、「2004年の最新トレンド」などと書かれているかもしれません。この場合、ユーザーの意図を汲み取ってモデル側で検索に「2024」と追加するなどして、より新しい情報が出る確率を上げられます。
3. 検索精度の向上
RAGモデルはあくまで「検索」を行います。つまり、全ての文書を参照して答えるのではなく、最初に参照すべき文書を絞り、それらに基づいて回答します。つまり、この絞りのプロセスの精度がいまいちだと、回答の精度も上がりません。
検索の難しさの1つは、回答を知らないから検索しているのに、ある程度回答を知らなければ精度の高い検索ができない点です。例えば、心不全の最新治療薬ついて知りたい場合、「心不全の最新治療薬」ではなく、より具体的な薬剤名で検索した方が、直接的に詳細な情報を得られる確率が高いです。
この問題に対処する方法として、一度仮の回答を生成してから検索をかけて回答を補正していくなど、生成と回答を動的に繰り返す手法があります。
4. 自己検証の仕組み
生成AIが回答を生成した後に、自分自身で内容を検証して改善する仕組みです。様々な研究や論文によってその効果が実証されており、代表的なものをいくつかご紹介します。
Langchain agent:自分で思考し、計画を立て、結果を観察するフィードバックループを目的達成まで繰り返して最終的な回答に導きます。
CoVe(Chain-of-Verification):自分の回答に対して、その正確性の検証に役立つ質問をいくつか生成して、元の回答を修正します。
結語:色々書いてあってけど、自分で実装できなければ意味ない?
これらのことは、プログラムを構築しなくとも、生成AIに精通した人が注意深くプロンプトを書けば、部分的に達成できるかもしれません。しかし、細かくサイトを指定していくことは難しいですし、質問によって揺れも生じます。質問1つだけでも、プロンプトを書くだけで相当時間がかかります。そして、誰もがそのような複雑なプロンプトを書けるわけではありません。
私たちは、日本の医師の皆様に合わせたプロセスの構築、揺れの最小化、継続的な検証を行い、上記の手間無しに1人でも多くの医師の方に効率化を達成頂くお手伝いをしています。
医師のための情報収集プラットフォームの開発、および、病院・クリニック・企業への生成AIシステムの導入支援(院内資料について質問できるチャットボット開発など)を行っています。お気軽にお問い合わせください。
記事のいいね、noteおよびXのフォーロー、お願い致します!
この記事が気に入ったらサポートをしてみませんか?