🚀 BioMistral: 医療分野向けのオープンソース事前学習大型言語モデルのコレクション
近年、大型言語モデル(LLM)は卓越した汎用性を示し、医療や医学などの専門分野での応用が期待されています。健康関連のオープンソースLLMは数多く存在しますが、汎用LLMを医療分野に適応させるには大きな課題があります。
本論文では、バイオメディカル分野に特化したオープンソースのLLMであるBioMistralを紹介します。このモデルはMistralをベースモデルとし、PubMed Centralのテキストデータでさらに事前学習を行っています。BioMistralを、英語で構成された10の医療質問応答(QA)タスクからなるベンチマークで総合的に評価しました。また、量子化やモデルマージ手法によって得られた軽量モデルについても検討しました。結果、BioMistralは既存のオープンソース医療モデルを上回る性能を示し、独自モデルとも競争力を持つことがわかりました。最後に、英語以外のデータ不足を解消し、医療LLMの多言語汎化能力を評価するために、このベンチマークを他の7言語に自動翻訳して評価しました。これは医療分野でのLLMの初の大規模多言語評価となります。実験で得られたデータセット、多言語評価ベンチマーク、スクリプト、すべてのモデルは無料で公開されています。
⚠️ 重要提示
BioMistralは高品質な証拠に基づく医療知識を包含することを目的としていますが、専門的な医療行動において、この知識を効果的、安全かつ適切に伝達するように調整されていません。BioMistralを医療現場で使用する場合は、特定のユースケースに完全に適合し、さらなるテスト(特に実世界の医療環境でのランダム化比較試験)を経るまでは避けることをお勧めします。BioMistral 7Bにはまだ十分に評価されていない固有のリスクとバイアスが存在する可能性があります。また、このモデルの性能は実世界の臨床環境で評価されていません。したがって、BioMistral 7Bは研究ツールとしてのみ使用することをおすすめし、自然言語生成や専門的な健康医療目的の本番環境での展開は避けてください。
🚀 クイックスタート
BioMistralは、医療分野に特化したオープンソースの大型言語モデルです。以下のセクションでは、BioMistralのモデルについて紹介し、使用方法や評価結果について説明します。
✨ 主な機能
- 医療分野特化:Mistralをベースに、PubMed Centralのデータで事前学習された医療分野向けのモデルです。
- 多言語評価:英語のベンチマークを7言語に翻訳して評価し、多言語汎化能力を検証しています。
- 軽量モデル対応:量子化やモデルマージ手法による軽量モデルを提供しています。
📦 インストール
BioMistralを使用するには、Hugging Face's Transformers library を利用できます。以下のコードでモデルとトークナイザーをロードできます。
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("BioMistral/BioMistral-7B")
model = AutoModel.from_pretrained("BioMistral/BioMistral-7B")
💻 使用例
基本的な使用法
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("BioMistral/BioMistral-7B")
model = AutoModel.from_pretrained("BioMistral/BioMistral-7B")
📚 ドキュメント
BioMistralモデル
BioMistralは、医療分野に適した、Mistralをベースにした事前学習済みのオープンソースモデルのコレクションです。PubMed Central Open Access(CC0、CC BY、CC BY - SA、CC BY - ND)のテキストデータを使用して事前学習されています。すべてのモデルは、CNRS(フランス科学研究センター)のJean Zay フランスのHPCを使用して学習されています。
モデル名 |
ベースモデル |
モデルタイプ |
シーケンス長 |
ダウンロード |
BioMistral - 7B |
[Mistral - 7B - Instruct - v0.1](https://huggingface.co/mistralai/Mistral - 7B - Instruct - v0.1) |
追加事前学習 |
2048 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B) |
BioMistral - 7B - DARE |
[Mistral - 7B - Instruct - v0.1](https://huggingface.co/mistralai/Mistral - 7B - Instruct - v0.1) |
マージDARE |
2048 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - DARE) |
BioMistral - 7B - TIES |
[Mistral - 7B - Instruct - v0.1](https://huggingface.co/mistralai/Mistral - 7B - Instruct - v0.1) |
マージTIES |
2048 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - TIES) |
BioMistral - 7B - SLERP |
[Mistral - 7B - Instruct - v0.1](https://huggingface.co/mistralai/Mistral - 7B - Instruct - v0.1) |
マージSLERP |
2048 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - SLERP) |
量子化モデル
ベースモデル |
方法 |
q_group_size |
w_bit |
バージョン |
VRAM GB |
時間 |
ダウンロード |
BioMistral - 7B |
FP16/BF16 |
|
|
|
15.02 |
x1.00 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B) |
BioMistral - 7B |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - AWQ - QGS128 - W4 - GEMM) |
BioMistral - 7B |
AWQ |
128 |
4 |
GEMV |
4.68 |
x10.30 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - AWQ - QGS128 - W4 - GEMV) |
BioMistral - 7B |
BnB.4 |
|
4 |
|
5.03 |
x3.25 |
HuggingFace |
BioMistral - 7B |
BnB.8 |
|
8 |
|
8.04 |
x4.34 |
HuggingFace |
BioMistral - 7B - DARE |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - DARE - AWQ - QGS128 - W4 - GEMM) |
BioMistral - 7B - TIES |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - TIES - AWQ - QGS128 - W4 - GEMM) |
BioMistral - 7B - SLERP |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
[HuggingFace](https://huggingface.co/BioMistral/BioMistral - 7B - SLERP - AWQ - QGS128 - W4 - GEMM) |
教師付き微調整ベンチマーク
|
臨床知識グラフ |
医学遺伝学 |
解剖学 |
専門医学 |
大学生物学 |
大学医学 |
MedQA |
MedQA 5選択肢 |
PubMedQA |
MedMCQA |
平均 |
BioMistral 7B |
59.9 |
64.0 |
56.5 |
60.4 |
59.0 |
54.7 |
50.6 |
42.8 |
77.5 |
48.1 |
57.3 |
Mistral 7B Instruct |
62.9 |
57.0 |
55.6 |
59.4 |
62.5 |
57.2 |
42.0 |
40.9 |
75.7 |
46.1 |
55.9 |
BioMistral 7B Ensemble |
62.8 |
62.7 |
57.5 |
63.5 |
64.3 |
55.7 |
50.6 |
43.6 |
77.5 |
48.8 |
58.7 |
BioMistral 7B DARE |
62.3 |
67.0 |
55.8 |
61.4 |
66.9 |
58.0 |
51.1 |
45.2 |
77.7 |
48.7 |
59.4 |
BioMistral 7B TIES |
60.1 |
65.0 |
58.5 |
60.5 |
60.4 |
56.5 |
49.5 |
43.2 |
77.5 |
48.1 |
57.9 |
BioMistral 7B SLERP |
62.5 |
64.7 |
55.8 |
62.7 |
64.8 |
56.3 |
50.8 |
44.3 |
77.8 |
48.6 |
58.8 |
MedAlpaca 7B |
53.1 |
58.0 |
54.1 |
58.8 |
58.1 |
48.6 |
40.1 |
33.7 |
73.6 |
37.0 |
51.5 |
PMC - LLaMA 7B |
24.5 |
27.7 |
35.3 |
17.4 |
30.3 |
23.3 |
25.5 |
20.2 |
72.9 |
26.6 |
30.4 |
MediTron - 7B |
41.6 |
50.3 |
46.4 |
27.9 |
44.4 |
30.8 |
41.6 |
28.1 |
74.9 |
41.3 |
42.7 |
BioMedGPT - LM - 7B |
51.4 |
52.0 |
49.4 |
53.3 |
50.7 |
49.1 |
42.5 |
33.9 |
76.8 |
37.6 |
49.7 |
GPT - 3.5 Turbo 1106* |
74.71 |
74.00 |
65.92 |
72.79 |
72.91 |
64.73 |
57.71 |
50.82 |
72.66 |
53.79 |
66.0 |
BioMistral 7Bモデルの教師付き微調整(SFT)性能をベースラインと比較した結果です。精度(↑)で測定され、3ショットの3つのランダムシードで平均化されています。DARE、TIES、およびSLERPは、BioMistral 7BとMistral 7B Instructを結合するモデルマージ戦略です。最良のモデルは太字、2番目に良いモデルは下線で示されています。*GPT - 3.5 Turboの性能は、SFTなしの3ショットの結果から報告されています。
引用BibTeX
Arxiv : https://arxiv.org/abs/2402.10373
@misc{labrak2024biomistral,
title={BioMistral: A Collection of Open-Source Pretrained Large Language Models for Medical Domains},
author={Yanis Labrak and Adrien Bazoge and Emmanuel Morin and Pierre-Antoine Gourraud and Mickael Rouvier and Richard Dufour},
year={2024},
eprint={2402.10373},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
⚠️ 重要提示
直接ユーザーと下流ユーザーの双方は、モデルに内在するリスク、バイアス、制約について知らされる必要があります。モデルは自然言語テキストを生成できますが、その能力と制限についての調査はまだ始まったばかりです。医学などの分野では、これらの制限を理解することが重要です。したがって、本番環境での自然言語生成や専門的な健康医療タスクでこのモデルを展開することは強くお勧めしません。