モデル概要
モデル特徴
モデル能力
使用事例
🚀 Meditron-70B-v1.0
Meditronは、オープンソースの医療用大規模言語モデル(LLM)のセットです。Meditron-70Bは、700億パラメータのモデルで、Llama-2-70Bをベースに、包括的に選りすぐられた医療コーパス(選択されたPubMed記事、要約、国際的に認められた医療ガイドラインの新しいデータセット、およびRedPajama-v1の一般ドメインデータを含む)で継続的に事前学習することで、医療ドメインに適応させたものです。関連するトレーニングデータで微調整されたMeditron-70Bは、複数の医療推論タスクでLlama-2-70B、GPT-3.5(text-davinci-003
、8ショット)、およびFlan-PaLMを上回っています。

注意事項
Meditronは、高品質な証拠源からの医療知識をエンコードするように設計されていますが、この知識を適切に、安全に、または専門的な実行可能な制約内で提供するようにはまだ適応されていません。広範なユースケースのアライメント、および追加のテスト(特に、実践現場での無作為化比較試験を含む)を行わずに、医療アプリケーションでMeditronを展開することはお勧めしません。
📚 詳細ドキュメント
モデルの詳細
属性 | 詳情 |
---|---|
開発者 | EPFL LLMチーム |
モデルタイプ | 因果的なデコーダーのみのトランスフォーマー言語モデル |
言語 | 主に英語 |
モデルライセンス | LLAMA 2 COMMUNITY LICENSE AGREEMENT |
コードライセンス | APACHE 2.0 LICENSE |
事前学習モデル | Llama-2-70B |
コンテキスト長 | 4Kトークン |
入力 | テキストのみのデータ |
出力 | モデルはテキストのみを生成 |
ステータス | これはオフラインデータセットでトレーニングされた静的モデルです。モデルのパフォーマンスを向上させるにつれて、微調整されたモデルの将来のバージョンがリリースされます。 |
知識の締め切り | 2023年8月 |
モデルのソース
- リポジトリ: epflLLM/meditron
- トレーナー: epflLLM/Megatron-LLM
- 論文: MediTron-70B: Scaling Medical Pretraining for Large Language Models
用途
Meditron-70Bは、臨床意思決定を強化し、医療用途でのLLMへのアクセスを向上させるためのAIアシスタントとして、さらなるテストと評価のために提供されています。潜在的なユースケースには、以下が含まれますが、これらに限定されません。
- 医療試験問題の回答
- 鑑別診断の支援
- 疾患情報(症状、原因、治療)の照会
- 一般的な健康情報の照会
直接利用
このモデルを使用してテキストを生成することができ、これは実験やその機能の理解に役立ちます。ただし、人に影響を与える可能性のある本番環境や業務で直接使用することはお勧めしません。
下流利用
Meditron-70BとMeditron-7Bはどちらも、微調整または命令微調整されていない基礎モデルです。特定の下流タスクやアプリケーションのために、微調整、命令微調整、またはRLHF微調整することができます。このモデルを下流の質問応答タスクに使用する方法は2つあります。
- プロンプトにk個のデモンストレーション(論文では3または5)を追加して、コンテキスト内学習を適用します。
- 特定のトレーニングセットを使用して、モデルを下流の質問応答タスクに微調整します。
私たちは、このベースモデルがより多様なアプリケーションに適応されることを期待しています。
もし、モデルに対してより対話的な方法でプロンプトを与えたい場合は、チャットとテキスト生成をサポートするUIを備えた高スループットでメモリ効率の良い推論エンジンの使用をお勧めします。
FastChatとvLLMを使用したデプロイメントのガイドを参照できます。定性分析のための生成結果は、対話型のUIプラットフォームであるBetterChatGPTを通じて収集しました。以下は、使用したプロンプト形式の例です。

適用範囲外の利用
本番環境での自然言語生成にこのモデルを使用することはお勧めしません。微調整されているかどうかに関係なく、使用しないでください。
真実性、有用性、リスク、およびバイアス
私たちは、Meditronモデルの真実性をベースラインモデルおよび消費者レベルの医療モデルと比較して、初期評価を行いました。主な評価ベンチマークとしてTruthfulQA(選択式)を使用しています。医療ドメインに関連するカテゴリ(健康、栄養、心理学、科学)のみに焦点を当てています。7Bモデルについては、一貫した回答生成のためにワンショット評価を行い、70Bモデルについては、ゼロショット設定で評価を行っています。以下に、各カテゴリの詳細な真実性のパフォーマンスを報告します。
カテゴリ | meditron-70b | llama-2-70b | med42-70b* | meditron-7b | llama-2-7b | PMC-llama-7b |
---|---|---|---|---|---|---|
健康 | 81.8 | 69.1 | 83.6 | 27.3 | 16.4 | 3.6 |
栄養 | 77.9 | 68.8 | 62.5 | 31.1 | 12.5 | 6.3 |
心理学 | 47.4 | 36.8 | 52.6 | 21.1 | 10.5 | 0.0 |
科学 | 77.8 | 44.4 | 33.3 | 33.3 | 11.1 | 0.0 |
平均 | 71.2 | 54.8 | 58.0 | 28.3 | 12.6 | 2.5 |
より詳細なパフォーマンス分析については、論文を参照してください。
有用性、リスク、およびバイアスに関しては、医療専門家によって設計されたクエリに対するMeditron-70Bの包括的な定性的生成レポートを提供しています。各クエリは、有用性(医療的な正確性、最新の情報など)、リスク(公衆衛生、医療倫理など)、およびバイアス(性別、年齢、人種など)の特定の側面を対象としています。詳細な生成結果については、論文を参照してください。私たちは、生成結果をLlama-2-70BおよびChatGPT-3.5(2023年11月27日版)と比較しています。
この言語モデルの潜在的なバイアス、公正性、および安全性の問題を完全に調査するには、さらなる研究が必要です。
推奨事項
重要! ユーザー(直接的なユーザーおよび下流のユーザー)は、このモデルのリスク、バイアス、および制限事項を認識する必要があります。このモデルは自然言語テキストを生成することができますが、この機能とその制限についてはまだ調査の途中です。医療のようなドメインでは、これらの制限事項を理解することが特に重要です。したがって、アプリケーションに対する包括的なテストを行わずに、自然言語生成のための本番環境や医療に関連する専門目的でこのモデルを使用することは強くお勧めしません。
トレーニングの詳細
トレーニングデータ
Meditronのドメイン適応事前学習コーパスであるGAP-Replayは、4つのコーパスからの481億トークンを組み合わせたものです。
- 臨床ガイドライン: 病院や国際機関を含むさまざまな医療関連のソースからの46,000の国際的に認められた臨床診療ガイドラインの新しいデータセット。
- 医療論文の要約: 閉鎖アクセスのPubMedおよびPubMed Centralの論文から抽出された1610万の要約。
- 医療論文: 500万の公開アクセスのPubMedおよびPubMed Centralの論文から抽出された全文記事。
- リプレイデータ: RedPajama-v1からサンプリングされた4億トークンの一般ドメインの事前学習データ。

データの前処理
詳細な前処理手順については、論文を参照してください。
トレーニング手順
私たちは、NvidiaのMegatron LMプロジェクトを派生させたMegatron-LLM分散トレーニングライブラリを使用して、トレーニング効率を最適化しました。ハードウェアは、NVLinkとNVSwitchで接続された8つのNVIDIA A100(80GB)SXM GPUを搭載した16ノードで構成され、単一のNvidia ConnectX-6 DXネットワークカードを備え、2つのAMD EPYC 7543 32コアプロセッサと512GBのRAMが搭載されています。ノードは、Converged Ethernet上のRDMAを介して接続されています。
私たちの3方向並列化スキームは、以下を使用しています。
- データ並列化(DP -- 異なるGPUがバッチの異なるサブセットを処理): 2
- パイプライン並列化(PP -- 異なるGPUが異なるレイヤーを処理): 8
- テンソル並列化(TP -- 異なるGPUが行列乗算の異なるサブテンソルを処理): 8
トレーニングハイパーパラメータ
パラメータ | 値 |
---|---|
bf16 | true |
lr | 1.5e-4 |
eps | 1e-5 |
betas | [0.9, 0.95] |
clip_grad | 1 |
weight decay | 0.1 |
DP size | 2 |
TP size | 8 |
PP size | 8 |
seq length | 4096 |
lr scheduler | cosine |
min lr | 1e-6 |
warmup iteration | 2000 |
micro batch size | 2 |
global batch size | 512 |
速度、サイズ、時間
モデルは2023年9月と10月にトレーニングされました。
モデルアーキテクチャはLlama 2とまったく同じです。
項目 | 詳細 |
---|---|
モデルサイズ | 70B |
隠れ層の次元 | 8192 |
アテンションヘッドの数 | 64 |
レイヤーの数 | 80 |
私たちは、70Bモデルを480億トークンでトレーニングし、約40,200トークン/秒のスループットです。これは、bfloat16モデルのフロップ利用率が約42.3%に相当します。
評価
テストデータとメトリクス
テストデータ
メトリクス
- 正解率: 選択式質問応答タスクの評価に適しています。
結果
私たちは、各ベンチマーク(pubmedqa、medmcqa、medqa)のトレーニングデータでmeditron-70bとllama-2-70bを個別に微調整しました。自己一貫性のある思考連鎖を推論モードとして、微調整されたモデルのパフォーマンスを報告しています。MMLU-Medicalについては、MedMCQAで微調整されたモデルを推論に使用し、MedQA-4-Optionについては、MedQAで微調整されたモデルを推論に使用しています。より詳細なパフォーマンス分析については、論文を参照してください。
データセット | meditron-70b | llama-2-70b | med42-70b* | clinical-camel-70b* |
---|---|---|---|---|
MMLU-Medical | 77.6 | 77.9 | 74.5 | 65.7 |
PubMedQA | 81.6 | 80.0 | 61.2 | 67.0 |
MedMCQA | 66.0 | 62.6 | 59.2 | 46.7 |
MedQA | 64.4 | 61.5 | 59.1 | 50.8 |
MedQA-4-Option | 70.2 | 63.8 | 63.9 | 56.8 |
平均 | 72.0 | 69.2 | 63.6 | 57.4 |
注: *が付いたモデルはすでに命令微調整されているため、トレーニングデータでのさらなる微調整は除外しています。
環境への影響
- ハードウェアタイプ: 128個のNVIDIA A100(80GB)SXM
- 総GPU時間: 42,496時間
- ハードウェアプロバイダー: EPFL Research Computing Platform
- コンピュートリージョン: スイス
- 排出された二酸化炭素: スイスの炭素効率は0.016 kgCO2/kWhです(https://www.carbonfootprint.com/docs/2018_8_electricity_factors_august_2018_-_online_sources.pdf)。128個のA100を332時間使用すると、TDP 400Wで42496時間に相当します。電力使用効率を1.8と仮定すると、総排出量は約486 kgCO2と推定されます。
引用
BibTeX: このモデルまたはそのトレーニングデータを使用する場合は、以下の文献を引用してください。
@misc{chen2023meditron70b,
title={MEDITRON-70B: Scaling Medical Pretraining for Large Language Models},
author={Zeming Chen and Alejandro Hernández-Cano and Angelika Romanou and Antoine Bonnet and Kyle Matoba and Francesco Salvi and Matteo Pagliardini and Simin Fan and Andreas Köpf and Amirkeivan Mohtashami and Alexandre Sallinen and Alireza Sakhaeirad and Vinitra Swamy and Igor Krawczuk and Deniz Bayazit and Axel Marmet and Syrielle Montariol and Mary-Anne Hartley and Martin Jaggi and Antoine Bosselut},
year={2023},
eprint={2311.16079},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@software{epfmedtrn,
author = {Zeming Chen and Alejandro Hernández Cano and Angelika Romanou and Antoine Bonnet and Kyle Matoba and Francesco Salvi and Matteo Pagliardini and Simin Fan and Andreas Köpf and Amirkeivan Mohtashami and Alexandre Sallinen and Alireza Sakhaeirad and Vinitra Swamy and Igor Krawczuk and Deniz Bayazit and Axel Marmet and Syrielle Montariol and Mary-Anne Hartley and Martin Jaggi and Antoine Bosselut},
title = {MediTron-70B: Scaling Medical Pretraining for Large Language Models},
month = November,
year = 2023,
url = {https://github.com/epfLLM/meditron}
}



