はじめに
大規模言語モデルはどのように開発されるのか? 医療でどのように使えるのか? 医療分野で人気のあるLLMは? 自分の医療用LLMを訓練する方法は? 医療におけるLLMの限界は? このブログではこれらの疑問を一つずつ探っていきます。
大規模言語モデルはどのように開発されるのか?
大規模言語モデル(LLM)の開発には、いくつかの主要な要素が含まれます(Thirunavukarasu et al., 2023)。
モデルアーキテクチャ
LLMは通常、テキスト訓練データ内の単語間の複雑な連想関係を表現するために、深層学習技術を活用したニューラルネットワークアーキテクチャを使用します。最もよく知られているアーキテクチャはTransformerで、GPT(Generative Pre-trained Transformer)などのモデルで使用されています。
訓練データ
LLMは、ウェブサイト、書籍、記事など、さまざまなソースから数十億の単語を含む大規模なデータセットで訓練されます。例えば、GPT-3はCommon Crawlのウェブページ、WebText、書籍、Wikipediaからなる45テラバイトのデータセットで訓練されました。
事前学習
初期の訓練プロセスは事前学習と呼ばれ、通常は教師なしです。モデルが前の単語に基づいてシーケンス内の次の単語を予測することを学習する言語モデリングタスクで訓練されます。一般的な事前学習アプローチには、因果言語モデリング、マスク言語モデリング、およびノイズ除去オートエンコーダがあります。
モデルスケーリング
LLMが大きくなり(パラメータ数が増加)、より大きなデータセットと増大する計算リソースで訓練されると、数回の例やゼロ例での能力が向上し、タスク固有の訓練データがほとんどまたはまったくなくても、未知のタスクで良好に機能できるようになります。
ファインチューニング
事前学習後、LLMはファインチューニングを受け、特定のタスクやデータセットで訓練されてパフォーマンスを最適化します。ChatGPTの場合、ファインチューニングではGPT-3に人間からのプロンプトと応答を提示し、人間のフィードバックからの強化学習(RLHF)を使用して応答品質を向上させました。医療用LLMの場合、医療試験問題を使用した質問応答、または臨床ノートを使用した要約でファインチューニングします。

継続的な訓練
ChatGPTのような一部のLLMアプリケーションは、展開されてユーザーと対話するにつれて継続的な訓練とファインチューニングを受ける場合があり、実際のデータとフィードバックから学習して改善することができます。
大規模言語モデルは医療でどのように使用できるか?
Thirunavukarasu et al.(2023)は、大規模言語モデル(LLM)が医療で使用されている、または使用される可能性があるいくつかのシナリオとアプリケーションについて議論しています。
臨床意思決定支援
ChatGPTのようなLLMは、医師免許試験で合格点を達成する能力を示しており、臨床意思決定や医療提供者への診断・治療推奨の提供での可能性が示唆されています。
患者教育
LLMは、患者の健康状態や背景に合わせた平易な言葉で、個別化された患者教育資料、指示、説明を生成するために使用できます。
医学研究
LLMは、科学文献の要約、仮説の生成、データ分析、さらには研究論文や助成金申請書の作成支援によって研究者を支援できます。
医学教育
LLMは、医学生や研修医向けの仮想チューターやアシスタントとして探求されており、質問応答、知識の強化、試験練習を支援します。
臨床文書作成
LLMは、患者と医療提供者の対話に基づいて、メモ作成や記録の要約などの臨床文書作成の側面を自動化することで、効率を向上させる可能性があります。
生物医学的質問応答
LLMは、大規模な医学知識ベースから情報を迅速に取得して統合し、実務者の臨床質問に回答できます。
医療コーディングと請求
LLMは、臨床ノートを理解し、標準化されたコードにマッピングすることで、請求のために患者の診療記録を正確にコーディングするのを支援できます。

医療で人気のあるLLMは?
GPT(Generative Pretrained Transformer)シリーズ:
- GPT-3: 約1750億のパラメータを持つ大規模モデルで、人間のようなテキストを生成する能力で知られ、さまざまなタスクにファインチューニングされています。
- GPT-4: 記事執筆時点での最新バージョンで、画像、テキスト、音声などのマルチモーダル入力を処理する機能が強化されています。
BERT(Bidirectional Encoder Representations from Transformers):
- BioBERT: 生物医学文献で事前学習され、生物医学テキストマイニングに特化しています。
- PubMedBERT: BioBERTと似ていますが、PubMed抄録で特に訓練されています。
- ClinicalBERT: 臨床ノートに適応し、電子健康記録で訓練されています。
PaLM(Pathways Language Model):
- Flan-PaLM: 医療質問応答用にファインチューニングされたPaLMのバージョンで、最先端の結果を達成しています。
- Med-PaLM: 臨床知識、科学的コンセンサス、医学的推論における能力を示す指示チューニングされたモデル。
BioGPT:
- PubMed抄録で事前学習されたモデルで、質問応答、関係抽出、文書分類などのタスクを対象としています。
BioMedLM(以前はPubMedGPTとして知られていました):
- PubMed抄録と全文の両方で事前学習され、生物医学LLMの進歩を示しています。
LLaMA(LLMs for Academic Medicine):
- さまざまなサイズのオープンソースモデルファミリーで、学術および医療アプリケーション向けに設計されています。
臨床基盤モデル:
- 電子健康記録データを使用してゼロから訓練されたモデルで、必要なラベル付きデータが少なく、マルチモーダルデータを効果的に処理できます。
InstructGPT:
- 指示に従うようにファインチューニングされ、医療ユーティリティについて評価されたモデル。
Megatron-LM:
- NVIDIAによって開発された大規模言語モデルで、そのサイズと計算要件で知られています。

自分の医療用LLMを訓練する方法は?
ステップ1:APIを選択してセットアップする
カスタムモデルの訓練をサポートするAPIを選択します。たとえば、Novita AI LLM APIは、Llama 3 8Bや70Bを含む強力な事前学習済みモデルとカスタマイズツールを提供します。Novita AIはOpenAI API標準との互換性を提供し、既存のアプリケーションへの統合を容易にします。

APIを統合する前に、利用可能なLLMのパフォーマンスを評価して、自分の医療用LLMに期待する基準を満たしているかを判断する必要があります。

ステップ2:データを収集して準備する
特定のドメイン(例:臨床ノート、研究論文、医学文献)に関連する大規模な医療テキストデータセットを収集します。データセットが多様で、モデルに理解させたい言語やトピックを代表していることを確認します。
ステップ3:データを前処理する
データセットをクリーニングして前処理し、ノイズや無関係な情報を除去します。これには以下が含まれる場合があります。
- トークン化:テキストをトークン(単語またはサブワード)に分割する。
- ストップワードの削除:意味にあまり寄与しない一般的な単語。
- テキストの正規化:テキストを小文字に変換する、略語を処理するなど。
ステップ4:事前学習済みモデルをファインチューニングする
ほとんどのLLM APIは、特定のデータセットでファインチューニングできる事前学習済みモデルを提供します。ファインチューニングには以下が含まれます。
- APIから事前学習済みの重みでモデルを初期化する。
- APIの訓練インターフェースにデータセットを提供する。
- バッチサイズ、学習率、エポック数などのパラメータを指定する。
ステップ5:訓練の進行状況を監視する
ファインチューニング中は、損失や精度などのメトリクスを監視してモデルのパフォーマンスを評価します。必要に応じてハイパーパラメータを調整してパフォーマンスを向上させます。
ステップ6:モデルのパフォーマンスを評価する
訓練が完了したら、別の検証データセットでモデルを評価し、一般化能力と精度を評価します。特定のタスクに関連するメトリクス(例:分類タスクの場合は精度、F1スコア)を使用します。
ステップ7:反復的な改善
以下の方法でモデルを反復的に改善します。
- 追加データでファインチューニングする。
- ハイパーパラメータを調整する。
- モデル評価からのフィードバックを組み込む。
ステップ8:デプロイして使用する
満足のいくパフォーマンスを達成したら、APIを介してモデルを推論用にデプロイします。デプロイが医療アプリケーションの規制や倫理ガイドラインを満たしていることを確認します。
ステップ9:維持および更新する
定期的に新しいデータでモデルを更新して最新の状態に保ち、パフォーマンスを向上させます。ドリフトを監視し、必要に応じて再訓練します。
考慮事項:
- 倫理的および法的考慮事項: データプライバシー法(例:HIPAA)、倫理ガイドライン、医療AIアプリケーションを管理する規制への準拠を確保します。
- リソース要件: LLMの訓練はリソース集約的(計算能力、データストレージ)な場合があるため、適切に計画してください。
- 検証: ドメイン専門家とモデルの予測を検証して、医療アプリケーションでの信頼性と安全性を確保します。
これらの手順に従うことで、APIを使用して独自の医療用LLMを効果的に訓練し、事前学習済みの機能を活用してヘルスケアドメインの特定のニーズにカスタマイズできます。
医療における大規模言語モデルの限界は?
Omiye et al.(2024)とThirunavukarasu et al.(2023)は、医療におけるLLMの以下の限界を指摘しています。
精度の問題
LLMの出力は、訓練データの品質と完全性に大きく依存します。非常に大規模なデータセットを完全に検証することはできず、一部の情報が古くなっている可能性があります。
ドメイン特異性の欠如
ほとんどのLLMは、ヘルスケアドメインに特化していない一般的なデータで訓練されています。これは、医療タスクに対して偏った、または不正確な出力をもたらす可能性があります。
真の理解の欠如
LLMは、真の理解なしに訓練データの統計的パターンに基づいて出力を生成します。無意味な、または架空の応答を生成する可能性があります。
バイアスと公平性の問題
訓練データセットには、マイノリティグループ、障害、性別などに対する社会的バイアスがエンコードされており、それがLLMの出力に反映されます。
プライバシーの懸念
現在利用可能な公開LLMはHIPAA準拠ではないため、患者記録からの保護された健康情報に直接さらすことはできません。
説明可能性の欠如
大規模LLMの内部動作と推論プロセスは不透明な「ブラックボックス」であり、監査目的で特定の出力にどのように到達したかを理解するのが困難です。
LLMへの過度の依存
LLMの出力への過度の依存に関する倫理的懸念があります。これは、賢明に使用されない場合、医学研究や教育における剽窃を促進したり、独創的な思考を阻害したりする可能性があります。
結論
結論として、大規模言語モデル(LLM)は、臨床意思決定支援から医学教育や研究に至るまで、医療アプリケーションを革命的に変える大きな可能性を提供します。その潜在的な利点にもかかわらず、精度の限界、バイアス、プライバシーの懸念、出力の不透明性などの課題に対処して、ヘルスケアへの責任ある統合を確実にする必要があります。AI研究者、医療提供者、政策立案者の間での継続的な協力は、LLMの可能性を活用しつつ、医療現場での倫理的かつ効果的な展開を確保するために重要です。
参考文献
Omiye, J. A., Gui, H., Rezaei, S. J., Zou, J., & Daneshjou, R. (2024). Large Language Models in Medicine: The Potentials and Pitfalls : A Narrative Review. Annals of Internal Medicine, 177(2), 210–220. https://doi.org/10.7326/M23-2772
Thirunavukarasu, A. J., Ting, D. S. J., Elangovan, K., Gutierrez, L., Tan, T. F., & Ting, D. S. W. (2023). Large language models in medicine. Nature Medicine, 29(8), 1930–1940. https://doi.org/10.1038/s41591-023-02448-8
Novita AI は、AIの野心を強化するオールインワンのクラウドプラットフォームです。シームレスに統合されたAPI、サーバーレスコンピューティング、GPUアクセラレーションにより、AI駆動のビジネスを迅速に構築およびスケーリングするためのコスト効率の高いツールを提供します。インフラストラクチャの悩みを解消し、無料で始めましょう — Novita AI があなたのAIの夢を現実にします。
