コンテンツに移動
AI & 機械学習

Apollo 24|7 による MedLM と RAG を活用した医療分野の変革

2024年2月2日
Google Cloud Japan Team

※この投稿は米国時間 2024 年 1 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。

インド最大のマルチチャネル デジタル ヘルスケア プラットフォームである Apollo 24|7 は、臨床判断をサポートし、プライマリ ケア、疾患管理、在宅医療、ウェルネスにおける医療従事者の支援を目的とした臨床インテリジェンス エンジン(CIE)の構築に取り組んでいます。同社が直面した大きな課題の一つは、Apollo の臨床ナレッジベースの情報を活用できる専門的な臨床アシスタント機能の設計でした。

堅牢なシステムを構築するために、Apollo 24|7 のチームは Google Cloud と提携して、臨床ナレッジグラフ、臨床エンティティ抽出、タイムスタンプのリレーションシップ抽出といった機能を備えた各種のシステムを構築しました。

このブログでは、臨床アシスタント システムがどのように誕生したのかをご紹介します。このシステムは、医療従事者を支援して CIE プラットフォームの使用体験を向上させるものであり、最終的には臨床的意思決定の改善につながることが期待されます。

Google Cloud と Apollo 24|7 が共同で構築したソリューションを詳しく見ていきましょう。

モデルの特定

このようなソリューションを構築するための最初のステップは、システムの構築に役立つ可能性のある適切なモデルを特定することでした。いくつかのオープンソース モデルを含め、多数のモデルを慎重に評価した結果、チームは MedLM を使用してこのソリューションを実装することに決めました。

MedLM は、医療向けにチューニングされた基盤モデル ファミリーであり、医療に関する質問に対して高品質な回答を提供するよう設計されています。また、Med-PaLM 2 を基に構築され医療用にファイン チューニングされているため、臨床 QA モデルを構築するのに最適な候補でした。

次のステップは、Apollo のナレッジベースと連携させるために、モデル アーキテクチャを強化することでした。

ソリューションの試験運用

私たちが最初に試みたアプローチは、臨床の「報告」とユーザーの「質問」から構成されるプロンプトを作成することでした。このプロンプトは臨床的な質問応答のために、直接 MedLM に送信されます。アプローチ自体は優れた結果をもたらしたものの、Apollo の膨大な臨床ナレッジベースはまったく活用されませんでした。このナレッジベースは、匿名化された退院時の臨床記録の形式をとっており、特定の患者が過去に受けてきた治療内容に沿った、より直接的な回答を提供できる可能性を秘めていました。

これを活用するために、Apollo のナレッジベースからプロンプトに追加のコンテキストを提供するテストを行いました。しかし、モデルの入力トークンの上限を超えるため、問題が生じてしまうことにすぐに気付きました。

論理的な次のステップは、病院のデータを小さなシャードに分割することでしたが、このアプローチにも独自の課題がありました。データを小さなシャードに直接分割すると、患者の全体的なコンテキストが失われる可能性があるのです。つまり、個々のシャードには臨床記録の特定の限られた部分しか含まれず、患者の治療、投薬、家族歴などを含む全体的な臨床記録が保存されないことになります。

RAG + MedLM

このモデルをより堅牢なものにし、かつ Apollo のナレッジベースをもっと利用できるものにするために、私たちは Apollo の匿名化された臨床ナレッジベースで検索拡張生成(RAG)を活用する新しいアプローチを提案しました。

RAG は外部のナレッジソースを統合することで大規模言語モデル(LLM)を強化する AI フレームワークであり、この場合、ナレッジベースは Apollo Hospitals から入手した前処理済みの匿名化された退院時の臨床記録になります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_MedLM_with_RAG.max-1200x1200.png

Architecture Diagram

臨床記録はほとんど特定のパターンに従っておらず、その多くは自由形式のテキストでした。そのため、このソリューションの構築には、まず臨床記録に含まれるセクション情報により記録を分類し、次にその記録内のすべての臨床概念を要約する必要がありました。

要約にあたっては専用のプロンプトを作成し、それを PaLM 2 モデルで使用して、退院時の記録に含まれる臨床概念のみから構成された要約が出力されるようにしました。

この時点で、臨床要約を PaLM2 エンベディング モデルの入力として渡し、768 次元のベクトルを取得して、任意のベクトル データベースに保存します。このソリューションでは、Vertex AI Vector Search データベースを使用して、ベクトル インデックスを作成し保存しました。

このプロセスは、1 回限りのバッチ処理の場合も、追加の臨床データが調達された時点でのオンライン処理の場合もあります。

実行時に、このソリューションは医療従事者のクエリを解析します。クエリには通常、臨床の「報告」と「質問」フィールドが含まれ、解析された出力は同じエンベディング モデル(つまり PaLM2 エンベディング モデル)を使用して埋め込まれます。

このモデルの出力ベクトルは、Vertex AI Vector Search に組み込まれている近似最近傍アルゴリズムを使って、前述のベクトル データベースに保存されているベクトルと比較されます。

そして、最も近い近傍ベクトルがフェッチされ、ルックアップを実行して、それらの最も近い近傍に関連する臨床要約を特定します。

これらの要約が、さきほどの臨床「報告」とユーザーの「質問」とともに追加入力として MedLM モデルに渡され、追加のコンテキスト データでクエリが強化されます。

観察と結果

ソリューションを構築したら、次のステップは当然、実際の医療従事者や医師と協力して臨床における回答内容を検証することです。

しかしその前に、私たちは簡単なウェブ UI を構築し、エンドユーザーがソリューションをテストしてフィードバックを提供できるようにしました。

Apollo 24|7 のチームが、私たちのソリューションを実際にテストすることに快く応じてくれた医師や医療従事者のオンボーディングを支援しました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_MedLM_with_RAG.max-1300x1300.png

Sample Result

数週間にわたるイテレーションと段階的な改善の後、私たちはフィードバックを組み込んでシステムをより堅牢にし、スキーマ エンジニアリングやプロンプト エンジニアリングなどの手法を導入してハルシネーション防止策を講じることができました。

最終的に、医療従事者はウェブ UI を使用して私たちのソリューション アプローチを検証し、その回答の信頼性を確認してくれました。多くの医療従事者が、このツールはアシスタントのように機能し、医師が患者とその疾病についての理解を深めるのに役立つ可能性があるとコメントしました。

「Apollo 24|7 の技術スタックに MedLM が加わったことで、CIE モデルの効率性と有効性が大幅に向上しました。医師たちは、より堅牢な専用の CIE ツールをアシスタントとして使用できるようになりました」と、Apollo 24|7 の臨床 AI 製品責任者である Chaitanya Bharadwaj 氏はコメントしています。

Google Cloud と Apollo 24|7 のパートナーシップは、難題を解決する AI 搭載ソリューションを提供して組織の成果実現を支援する取り組みの最新の例のひとつです。Apollo は Google Cloud コンサルティング(GCC)の協力の下、多数のイテレーションとテストを実施し、最終的なソリューションを構築できました。そして、これはビジネスの強化につながっています。GCC は Apollo から、Apollo チームと共同でビジネス要件に合わせてワークフローの環境を構築することを託されました。GCC ポートフォリオは、複数の専門分野にまたがるさまざまなサービスを 1 か所に統合し、まとめて提供します。学習サービス、テクニカル アカウント マネジメント、プロフェッショナル サービス、カスタマー サクセスなど、Google Cloud コンサルティング サービスの具体的なサービスの全ポートフォリオはこちらでご確認いただけます。


免責条項: MedLM はインドではまだプレビュー段階であり、本番環境での使用は承認されていません。

-Apollo 24|7、エンジニアリング責任者 Abdussamad GM 氏

-Google Cloud、AI エンジニアリング リード Gopala Dhar

投稿先