医療分野への新たなアプローチ、医療分野に特化した大規模言語モデル「BioMistral 7B」
3つの要点
✔️ PubMed Centralで追加の事前学習を行ったMistralを基盤として、医療分野に特化した新しい大規模言語モデル「BioMistral 7B」を開発。
✔️ 英語での評価に加えて、7つの異なる言語への翻訳を通じて、医療分野における大規模言語モデルの一般化能力を評価。
✔️ BioMistral 7Bの生成品質の人間による評価、多言語およびチャット機能の強化を目指し、教師ありファインチューニングや直接的な好みの最適化技術の適用を計画。
BioMistral: A Collection of Open-Source Pretrained Large Language Models for Medical Domains
written by Yanis Labrak, Adrien Bazoge, Emmanuel Morin, Pierre-Antoine Gourraud, Mickael Rouvier, Richard Dufour
(Submitted on 15 Feb 2024)
Comments: Published on arxiv.
Subjects: Computation and Language (cs.CL); Artificial Intelligence (cs.AI); Machine Learning (cs.LG)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
自然言語処理の世界は目覚ましい速度で進化しており、ChatGPTやVicunaといった大規模言語モデルが、私たちのコンピュータとのインターフェースを根本から変えようとしています。これらの先進的なモデルは、単純なテキストの理解から複雑な問題解決まで、人間のような推論能力を示しています。
特に、医療分野では、オープンソースモデルのBLOOMやLLaMAのようなモデルが注目を集め、医療分野の革新に新たな可能性をもたらしています。しかし、医療分野へのこれらの技術の導入は、特有の挑戦と機会を提供します。データプライバシーに関する懸念や、オープンソースモデルの採用における障壁など、解決すべき課題がいくつも存在しています。
こうした課題に応えるため、この論文では「BioMistral 7B」を開発しています。これは、生物医学分野に特化され、Mistral 7B Instructから派生し、PubMed Centralでの追加の事前学習によって構築されています。BioMistral 7Bは、医療分野におけるオープンソースの大規模言語モデルの可能性を拡大し、より幅広い使用例に対応する能力を示しています。
さらに、この取り組みは、Apache 2.0ライセンスのもと、HuggingFaceとGitHubで、データセット、多言語ベンチマーク、前処理スクリプト、モデルを公開しています。この研究は、医療技術の未来における革新的な一歩となることが期待されます。
BioMistralのモジュール
ここでは、BioMistral 7Bの構築を容易にするモジュールを紹介しています。
まず事前学習データセットについてです。生物医学分野への特化した適応を目指し、包括的でありながら自由にアクセス可能な医学研究論文が集まっているPMCオープンアクセスサブセットを選定しています。PMC-LLaMA、PubMedBERT、SciFiveといった先行研究の成功事例を参考にして選定しています。これらは、医療応用における言語モデリングの顕著な向上を示しています。この論文の焦点は、商業利用が許可されたサブセットにあり、さまざまなクリエイティブ・コモンズ・ライセンス(CC0、CC BY、CC BY-SA、CC BY-ND)の下でライセンスされた文書を含んでいます。このサブセットは、商業目的でもモデルの出力の再利用性を保証しています。
また、前処理されたPubMed Centralコーパスから約3億トークン、約147万の文書を厳選しています。このデータセットは、主に英語の文書で構成されていますが、オランダ語やドイツ語、フランス語を含む9言語の文書も含まれています。我々のアプローチは、非英語文書を優先することにより多言語データセットを重視し、3億トークンという目標に対して多様で代表的な訓練データセットを構築することに焦点を当てています。そして、Mistralトークナイザーを用いたトークン化と正規化のプロセスを経て、生のテキスト文書を前処理しています。
次に、モデル適応についてです。BioMistral 7Bの開発では、ガイドに基づいたプロンプトの組み込みと限定されたデータセットを用いた多様なタスクのファインチューニングに特化した設計を持つMistral 7B Instruct v0.1を基盤モデルとして採用しています。この選択は、モデルが具体的なガイドに基づいて動作する能力と、異なるタイプのタスクに柔軟に適応できる機能を重視したものです。また、最適化プロセスには、効率的なAdamWオプティマイザーと、学習率を時間経過とともに調整するコサインスケジューラーを採用しています。モデルのアーキテクチャは、Grouped-Query Attention、Sliding Window Attention、およびRolling Buffer Cacheなど、Mistralから受け継いだトランスフォーマーアーキテクチャの標準機能を保持しています。これらの選択は、高度な処理能力と精度を確保するためのものです。また、事前学習の効率を高めるために、ポストトークン化グルーピング手法を導入しています。これにより、シーケンスの終わりを示すトークンでマークされた可変サイズのシーケンスを効果的に集約し、パディングなしでモデルの2,048トークンシーケンスを満たすことができます。この工夫により、シーケンス数を大幅に削減し、結果としてエポック時間を短縮しています。
次は、生物医学分野での最先端の成果をさらに推し進めるため、異なる事前学習済みモデルを統合する革新的なアプローチを導入しています。伝統的に、特定のアプリケーションごとに異なるモデルを用いることが一般的でしたが、これには複雑さとコストの増大が伴います。最新の研究動向に倣い、モデル間のパラメーターをマージすることで、パフォーマンス向上とドメイン外での一般化能力の強化を図っています。SLERP、TIES、DAREといった先進的なモデルマージ技術を導入しています。
一般ドメインモデルとドメイン特化モデルのマージは、特に生物医学分野での適応性と正確性を高めるために有効です。このアプローチにより、より広範なアプリケーションに対して、特化したモデルの能力を強化することが可能になります。加えて、新たな推論の可能性を探求し、従来のモデルのパフォーマンスを超えることを目指しています。
最後に、量子化技術についてです。大規模言語モデルをより幅広いデバイスに適用することを可能にし、その普及を促進します。メモリ使用量を削減することで、小型デバイスでも大規模言語モデルを実行できるようになり、技術のアクセシビリティが向上します。この論文では、活性化認識重量量子化(AWQ)とBitsandBytes(BnB)の2つの先進的な量子化手法を導入しています。AWQは、重みの重要性を考慮して不可欠な重みの量子化を避けることで、モデルの性能劣化を最小限に抑えます。これにより、精度を維持しつつ、効率的なモデルサイズの削減が可能となります。一方で、BnB量子化は、モデル全体に対して4ビットまたは8ビットの一律の精度を割り当てることで、簡潔さと統一性を実現します。このアプローチは、量子化プロセスの複雑さを低減し、より広範囲のデバイスでの大規模言語モデルの実行を現実のものにします。
評価プロトコル - 英語の医学推論タスクのベンチマーク
BioMistral 7Bモデルの性能評価に向け、遺伝学、解剖学、臨床症例など、幅広い医学の専門分野をカバーする4つの重要な医学コーパスから選ばれた英語の質問応答(QA)タスク10個に焦点を当てています。これらは、医療専門家が日常遭遇する現実的なシナリオ、医学部入試の形式、そしてPubMedの内容に基づく理解力試験を網羅しています。これらのデータセットは、医療専門家が遭遇する実世界のシナリオ、医学部入学試験の形式、PubMedコンテンツに基づく理解テストを要約しています。データセットの概要は下表のとおりです。
MMLU(Hendrycks et al., 2021)は、57科目にわたる試験問題を集めたもので、我々は医療と臨床知識に関連する6科目を選び出しました。これらは大学の生物学、医学、解剖学、専門医学、医学遺伝学、臨床知識で、1,089の質問で構成される医療関連ベンチマークを形成します。MMLUはトレーニングデータを欠いているため、MedQAを使用してファインチューニングし、一般化性能をMMLUで評価しています。
MedQA(Jin et al., 2020)は、USMLE形式で提示される多様な医療知識に関する質問を含んでいます。トレーニングセットは10,178サンプル、テストセットは1,273の質問で構成され、4択と5択の2つの形式があります。MedMCQA(Pal et al., 2022)は、インドの医学入学試験から抽出された193K以上の問題を含み、21の医療科目、2,400のヘルスケアトピックを網羅しています。183Kのトレーニングサンプルと4,183の検証用質問があります。テストセットの回答キーが利用できないため、検証セットを評価に使用し、トレーニングセットを新たに146Kと37Kのサンプルに分けるハイパーパラメータチューニングを行っています。
PubMedQA(Jin et al., 2019)は、211Kの人工生成された多肢選択問題サンプルと専門家によってラベル付けされた1,000のサンプルを含んでおり、モデルは与えられたPubMedの抄録とそれに対する質問をコンテキストとして、「はい」「いいえ」「多分」を予測する推論が必要な設定に従って評価されています。ファインチューニングは211Kの人工的にラベル付けされたサンプルで行い、検証では500の専門家によるサンプルでパフォーマンスを測定し、BigBio(Fries et al., 2022)およびChen et al.(2023)、Singhal et al.(2023a)のプロトコルに従った500のテストサンプルで評価しています。
評価プロトコル - 多言語評価
BioMistral 7Bモデルの包括的な評価を目指し、英語だけでなく、多言語での性能も重視しています。これまで、生物医学言語モデルは英語、中国語、フランス語、スペイン語といった言語で幅広く検証されてきました。しかし、これらの言語以外でのパフォーマンス評価はまだ十分に行われていません。この状況は、英語以外の言語における生物医学関連タスクの不足に起因しています。
この問題に取り組むため、GPT-3.5 Turboを利用したOpenAI APIを通じた自動翻訳を用いて、スペイン語、ドイツ語、ポルトガル語、ロシア語、フランス語、アラビア語、中国語の7つの異なる言語でベンチマークテストを行っています。自動翻訳は確かに課題を伴いますが、最近の技術進歩により、これらのツールの精度は大幅に向上しており、効率的な多言語評価を実現しています。
多言語での評価方法は、英語で行った3ショットシナリオと同様に設計されています。質問、選択肢、そしてコンテキストの翻訳を行いつつ、少数ショット学習に用いる例はそのまま保持されます。これにより、各言語の文化的・言語的特性を考慮しつつ、モデルの理解力と適応性を試すことが可能になります。
評価プロトコル - 指示プロンプトの応用
BioMistral 7Bモデルの評価では、GPT-4の医療評価に関する公式ガイドライン(Nori et al., 2023a)に基づいた指示プロンプトを厳守しています。これにより、各質問応答(QA)タスクは、AからDまたはAからEまでの選択肢を持つ多肢選択質問(MCQA)形式で提示されます。指示プロンプトの詳細な一覧に関しては、この論文の付録に記載されています。
推論過程では、モデルは与えられた入力プロンプトを基に次のトークンを予測し、語彙内の各トークンに対して確率を生成します。予測の精度を高めるため、語彙は回答オプションに対応するトークン(この場合は選択肢の文字)のみを含むように絞り込まれます。この方法により、モデルが関係のないトークンや不正確な情報(幻覚)を生成するリスクを軽減し、より信頼性の高い予測を行うことが可能となります。
評価プロトコル - 教師ありファインチューニング(SFT)
教師ありファインチューニング(SFT)は、モデルを特定のタスクに適応させるために、アノテートされたデータ上での微調整を行う不可欠なプロセスです。BioMistral 7Bの能力を少数ショット学習の枠を超えて引き出すため、BioMistral 7Bと既存のオープンソースモデルにSFTを適用しています。使用されたトレーニングセットは、事前に定義された基準に基づいて選出されています。
しかし、従来のSFT手法はしばしば大量のリソースを必要とするという課題があります。この問題に対応するため、我々はQLoRaファインチューニング手法と8ビット量子化技術を導入しています。これらの手法は、コスト効率が高く、SFTプロセスをより実行可能なものにします。加えて、改良されたバッチ処理方法を採用することで、ファインチューニングにかかる時間の短縮を実現しています。これらの戦略は、BioMistral 7Bの性能を効率的に最大化し、特定のタスクへの適応性を高めるために重要な役割を果たします。
実験結果と考察
BioMistral 7Bモデルの能力を試すために、まず少数ショット学習シナリオでのパフォーマンスを検証しています。この評価では、各データセットのトレーニングセットからランダムに選出された3つのサンプルを基に3ショットのインコンテキスト学習を実施しています。結果は下表のようになります。
結果は極めてポジティブで、BioMistral 7Bは10のタスク中8つで既存のMistral 7B Instructモデルを超え、特定領域への適応の有効性を強く示しています。特に、この3ショット学習シナリオでは、すべてのタスクにおいて他のオープンソースの生物医学的ベースラインモデルを上回る性能を達成しています。
MedQAでは、BioMistral 7Bが、MediTron-7BとMedAlpaca 7Bに対して顕著な向上を示し、MMLUでは既存の生物医学大規模言語モデルを著しく上回るパフォーマンスを示しています。MedMCQAでも同様に、BioMistral 7Bは他のモデルと比較して顕著な改善を見せています。一方で、PubMedQAにおいてはクラスの不均衡から生じた幻覚の可能性により、パフォーマンスが低下しています。
この3ショット学習シナリオ全体で、GPT-3.5 Turboが最も優れたモデルとなっていますが、BioMistral 7Bはその領域適応能力と、少数ショット学習シナリオにおける優れたパフォーマンスにより、生物医学分野におけるAIの新たな可能性を示しています。これらの成果は、今後の生物医学的応用におけるAI技術の方向性に重要な示唆を提供しています。
次に、BioMistral 7Bのファインチューニング性能を複数のベースラインモデルと比較して評価しています。BioMistralモデルと関連するベースラインのパフォーマンスは下表のようになっています。
全体として、SFTはほぼすべてのデータセットにおいてモデルのパフォーマンスをさらに向上させています。モデルを比較すると、少数ショットインコンテキスト学習評価と同様の傾向が見られています。BioMistral 7Bは10のタスク中7つでMistral 7B Instructを上回り、またすべてのタスクで他のオープンソース生物医学ベースラインを超えています。また、PubMedQAにおいてBioMistral 7Bの顕著な改善が見られています。
まとめ
近年、大規模言語モデルは顕著な多様性を示し、医療や健康ケアなどの特定分野にわたる潜在的な応用可能性を提供しています。ヘルスケアに特化した様々なオープンソース大規模言語モデルが利用可能であるにもかかわらず、一般目的の大規模言語モデルを医療ドメインに適応させることは大きな課題を伴います。
この論文では、PubMed Centralでさらに事前学習された基盤モデルであるMistralを活用し、生物医学ドメインに特化したオープンソース大規模言語モデルであるBioMistral 7Bを提案し、医療分野に特化した大規模言語モデルの新たな可能性を示しています。このモデルは、PubMed Centralの高品質なリソースをもとに、Mistral 7B Instructをさらに進化させたもので、量子化やモデル統合などの技術を活用しています。その結果、BioMistral 7Bは多言語医療評価ベンチマークで、既存のオープンソース7Bモデルと比較して顕著なパフォーマンスを達成しています。
今後の展望として、BioMistral 7Bの生成品質をさらに深めるため、人間による評価を行う予定としています。また、教師ありファインチューニングや好みの直接的な最適化などの技術を利用して、モデルの多言語対応能力とチャット機能を拡張する計画を進めているとしています。
BioMistral 7Bが、医療分野におけるAI技術の可能性を広げ、その精度と信頼性をさらに高めることで、実世界の医療問題解決に貢献することが期待されます。
さらに、この論文では、データセット、多言語評価ベンチマーク、スクリプト、および、実験中に得られたすべてのモデルが公開されています。
この記事に関するカテゴリー