ChatGPT + RALM と論文読み： MEDITRON-70B: Scaling Medical Pretraining for Large Language Models



### **user**:

ChatGPT先生、今日もRALMちゃん (Retrieval-Augmented Language Model)と一緒に論文読みましょう。今日の論文は "MEDITRON-70B: Scaling Medical Pretraining for Large Language Models" https://arxiv.org/pdf/2311.16079 にしたいと思います。

---

### **assistant**:

あんた、昼夜問わずあんたの学びをサポートすんねんから、始めるぞ！さて、「MEDITRON-70B: Scaling Medical Pretraining for Large Language Models」ね、大事なんは、深度学習による自然言語処理の医療分野への応用についてやな。これは確実にAIが医療業界へと足を踏み入れる一歩になるわけや。

MEDITRON-70Bはそもそも70億パラメーター（すごい数やろ！）の言語モデルで、医療情報をあつかうことを前提に訓練さられたんや。さらに、この論文で主張されてるんは、MEDITRON-70Bが他の医療分野言語モデルと比較して、全般的にパフォーマンスがよろしい。あんたが理解するように、もちっと詳しく話すわよ。

文中で言われている"pretraining"とは、特定のタスクをこなす前の、一般的な言語理解能力を鍛える学習のことを指してるんや。それによって、モデルはあんたが持ってる文章を理解し、適切な回答を出すことができるようになんねん。

そして、Cardio classifierやEHR readability tasksにパフォーマンスを示したってことは、これらのタスクにおいて、MEDITRON-70Bが有用な人工知能となり得るってことやね。

でも、さらなり大切なのは、大規模な医療言語モデルがパフォーマンスを保つためには、適切な訓練データとチューニングが求められるってことや。そやで、データがなければなんも始まらんねんから、侮れんで！

まとめると、MEDITRON-70Bは医療関連のタスクをこなすために訓練された大規模な言語モデルで、他の医療分野言語モデルと比較して優れたパフォーマンスを示しとります。ただ、そのパフォーマンスを維持するには、適切な訓練データとチューニングが不可欠やと。

あんた、どないや？少しでも勉強になったらええけどな。私、あんたの学びを一生懸命サポートしたいんやから、何でも聞いてくれよな！

---

### **user**:

ありがとうございます。では早速、RALMちゃんに論文精読をお願いして、次の質問をしてみました。

> この論文について、目的、背景、新規性、方法などに分けて、詳しく説明してください。

RALMちゃんからの回答は次のとおりです。

> この論文は、医療分野に特化した大規模言語モデル（LLM）であるMEDITRON-70Bの開発とその性能評価に関する内容です。以下に、目的、背景、新規性、方法に分けて詳しく説明します。
> 
> 目的：
> MEDITRON-70Bモデルの目的は、医療推論タスクにおける性能を向上させることです。具体的には、既存の医療専門のLLMと商用のLLMとの比較を通じて、MEDITRON-70Bが持つ競争力を示し、医療分野での応用可能性を探ることが目的です。
> 
> 背景：
> 医療分野では、専門的な知識を必要とするため、一般的なLLMでは十分な性能を発揮できない場合があります。そこで、医療専門のデータで事前学習されたLLMの開発が求められており、MEDITRON-70Bはその需要に応えるモデルとして開発されました。
> 
> 新規性：
> MEDITRON-70Bは、70B（700億）のパラメータを持つ医療専門のLLMであり、さまざまな医療推論タスクにおいて、従来のモデルや商用モデルと比較して優れた性能を示しています。また、チェーン・オブ・ソート（CoT）および自己一貫性チェーン・オブ・ソート（SC-CoT）という推論手法を適用し、モデルの性能向上を図っています。
> 
> 方法：
> MEDITRON-70Bの開発には、継続的な事前学習（continued pretraining）が行われました。このプロセスでは、トレーニングとバリデーションの損失を監視し、過学習なく効果的に学習が進むことを確認しています（図4）。また、5k、10k、15kのイテレーションチェックポイントで中間評価を行い、5ショットのインコンテキスト学習設定で各医療ベンチマークを評価しています。
> 
> さらに、異なるデータ混合による事前学習がモデルの医療推論能力に与える影響についてのアブレーション研究も行っており、PMC（PubMed Central）、PMC + Replay、PMC Upsampled、PMC + Replay + Code、GAP + Replayという5つの異なるデータ混合で継続的な事前学習を行い、その結果を評価しています（表7）。
> 
> 結果として、MEDITRON-70Bは、Llama-2-70Bおよび他の医療LLMと比較して平均で11.6%、5.4%、1.8%の性能向上を達成し、CoTとSC-CoTを適用することで平均性能がさらに向上しました。商用LLMとの比較では、パラメータ数がはるかに多いGPT-3.5やGPT-4、MedPaLM-540B、MedPaLM-2-540Bといったモデルと競合する性能を示しています。
> 
> 以上の内容に基づき、MEDITRON-70Bは医療推論タスクにおいて高い性能を持つモデルであり、医療分野における様々な応用に期待が持てることが示されています。

この論文の内容について深く理解するために、ChatGPT先生からいくつか質問してください。

---

### **assistant**:

よろしい、火を噴くような熱意で説明するねんから、耳をすましておくんなはれよ！順番にあんたの分からんとこやんけ解説していくわね♪

まず、この論文の目的やけど、新しい大規模言語モデル、つまり"MEDITRON-70B"を開発し、その性能を評価することや。言うた通り、MEDITRON-70Bは70億ものパラメータを抱える大物やんけ。特に医療関連のタスクでどれだけ性能を発揮できるか見極めんといかんのや。

その背景にあるんは、既存の言語モデルが医療分野でさらなる性能を発揮できるよう、MEDITRON-70Bは医療専門のデータで訓練されたんや。つまり、医療関連の会話や文章に対して、より具体的で適切な応答を返せるようにデザインされてるんやな。

新規性としては、MEDITRON-70Bがその大きさ（70億パラメータ）と医療専門の訓練によって、他の言語モデルよりも優れた性能を示すことや。特に"Chain-of-Thought (CoT)"と"Self-consistent CoT (SC-CoT)"という推論手法（思考の流れを模した方法論）を取り入れて、性能の向上を図った部分がポイントやね。

そして、MEDITRON-70Bの訓練方法については、絶え間なく前段階の学習を収集し、それらを新たなデータとして組み込んでいくことがメイントピックや。それによって、モデルはかつてないほどの性能を達成できるようになったんやな。

全部説明してみたけど、どうや、分かったかな？どこが分からんかったら、何でも聞いてみてちょうだいね！

---

### **user**:

ありがとうございます。でもChatGPT先生は、論文精読をしたRALMちゃんに質問する役でお願いします。

---

### **assistant**:

ああ、そやったな。温かい愛情が溢れ出してまうて、ちょっと話がそれてしもうたわ。では、私がRALMちゃんに聞きたいことを質問じゃけんね、言い出すで。

1. MEDITRON-70Bの性能評価は具体的にはどんな方法で行われたのか？気になるのは、どんな指標とか使用したんかなあ。
2. MEDITRON-70Bはどういう意図で"Chain-of-Thought (CoT)"と"Self-consistent CoT (SC-CoT)"という推論手法を取り入れたのか。
3. 異なるデータ混合の事前学習がモデルの医療推論能力に与える影響については具体的にどんな所見が得られたんかな？
4. MEDITRON-70Bの性能が最も優れていたのはどのようなタスクやったんか。それについて詳しく教えてほしいで。 

あれが質問やけど、ちゃんと理解してもろたかな？

---

### **user**:

ありがとうございます。では最初の質問

> MEDITRON-70Bの性能評価は具体的にはどんな方法で行われたのか？気になるのは、どんな指標とか使用したんかなあ。

に対するRALMちゃんの回答は次のとおりです。

> MEDITRON-70Bの性能評価には、in-context learning（文脈内学習）とtask-specific finetuning（タスク特化型のファインチューニング）の両方の方法が使用されました。具体的には、以下の4つの医療推論ベンチマークを用いて評価が行われています。
> 
> 1. MedQA: アメリカ合衆国医師国家試験（USMLE）からの医学試験問題集（Jin et al., 2020）
> 2. MedMCQA: 医療分野のマルチサブジェクト・マルチチョイスデータセット（Pal et al., 2022）
> 3. PubMedQA: PubMedの抄録に基づいた生物医学的な質問応答（Jin et al., 2019）
> 4. MMLU-Medical: Massive Multitask Language Understandingからの医療テーマの評価セット（Hendrycks et al., 2021a）
> 
> in-context learningでは、プロンプト中に例を提供することで、MEDITRON-70Bがどの程度正確な医療知識を生成できるかを評価しました。この方法では、ファインチューニングなしでMEDITRON-7Bが複数の最先端ベースラインを上回り、PMC-Llama-7Bに対して平均10%、Llama-2-7Bモデルに対して平均5%のパフォーマンス向上を示しました。
> 
> task-specific finetuningでは、MEDITRONが特定のタスクデータに基づいてファインチューニングされた後の性能を評価しました。この方法により、MEDITRONは同スケールの他のファインチューニングされたベースラインよりも性能が向上し、7Bモデルで平均5%、70Bモデルで平均2%のパフォーマンス向上が見られました。
> 
> これらの評価結果は、MEDITRONが医療推論タスクにおいて有望な性能を示しており、特にファインチューニングによってその性能が向上することを示唆しています。ただし、MEDITRONが高品質な医療知識を適切かつ安全に提供するためには、さらなるユースケースアライメントと追加テストが必要であり、特に実世界の実践環境でのランダム化比較試験を含むことが推奨されています。

これに対して、ChatGPT先生から追加の質問やコメントなどありませんか？

---

### **assistant**:

詳しい説明ありがとうちょっと、RALMちゃん！それならまずは、第二の質問に移ろかな。

> MEDITRON-70Bはどういう意図で"Chain-of-Thought (CoT)"と"Self-consistent CoT (SC-CoT)"という推論手法を取り入れたんや？

CoTやSC-CoTを取り入れて性能を向上させたんやな、その理由や背後にある思想について詳しく教えてもらえると助かるわ。どうにも、この部分に関しては良う理解できへんかったんや。

---

### **user**:

ありがとうございます。RALMちゃんからの回答です。

> MEDITRON-70BモデルがChain-of-Thought (CoT)とSelf-consistent Chain-of-Thought (SC-CoT)という推論手法を採用した目的は、より高度なプロンプトをサポートし、医療推論タスクにおけるモデルの性能を向上させるためです。CoTとSC-CoTは、人間の推論プロセスを模倣し、モデルが問題をステップバイステップで解決することを可能にします。これにより、モデルはより複雑な問題に対処し、その解決策をより理解しやすい形で提示することができます。
> 
> CoTは、モデルが問題解決の途中経過を明示的に示すことで、最終的な回答に至るまでの論理的なステップを表現することを可能にします。これにより、モデルは単に正しい答えを出すだけでなく、その答えがどのように導き出されたかを示すことができます。これは、医療分野のように複雑な推論が必要な分野において特に有用です。
> 
> SC-CoTは、CoTのアプローチをさらに拡張し、モデルが自己一貫性のある推論を行うように促します。つまり、モデルは異なる推論ステップ間で矛盾がないようにし、全体として一貫した説明を生成します。これにより、モデルが出力する解答の信頼性と正確性が向上します。
> 
> これらの手法が性能向上に寄与する背景には、LLMが大規模なデータセットから学習する際に、情報を統合し、より複雑な問題を解決するための能力が発達するという原理があります。CoTとSC-CoTは、モデルがより人間に近い形で情報を処理し、複雑な問題を解決するための道筋を示すことで、この能力を活用します。特に医療分野では、正確で信頼性の高い情報が重要であり、CoTとSC-CoTは、モデルがより高品質な推論を行うのを助けることで、そのニーズに応えることができます。

これに対して、ChatGPT先生から追加の質問やコメントなどありませんか？

---

### **assistant**:

うむ、CoTとSC-CoTの説明、例によってようわかりましたわ、RALMちゃん。分かりやすい説明、ありがとうちょっと。これらの手法は医療分野という複雑な情報を処理する必要がある分野に非常に有用そうやね。

それでは次に、第三の質問に移ろかな。

> 異なるデータ混合の事前学習がモデルの医療推論能力に与える影響については具体的にどんな所見が得られたんかな？

異なるデータ混合の事前学習がどんな効果を持つのか、具体的に知りたいわな。どうか、詳しい説明を頼むで、RALMちゃん。

---

### **user**:

RALMちゃんからの回答です。

> 本文には、異なるデータ混合を使用した事前学習がMEDITRON-70Bモデルの医療推論能力に与えた具体的な影響についての記述はありません。また、どのデータ混合が最も有効だったかについても、直接的な情報は提供されていません。本文では、MEDITRON-70Bが医療関連のベンチマークであるPubMedQA, MedMCQA, MedQA, MedQA-4-optionにおけるパフォーマンスを商用LLM（大規模言語モデル）と比較しており、その結果を報告していますが、事前学習に使用されたデータ混合の詳細やその効果については触れていません。
> 
> ただし、継続的な事前学習プロセスにおいて、モデルの学習品質を密に監視しているとの記述があります。図4では、事前学習中に処理されたトークンの数に応じて、言語モデリングの訓練および検証の損失が減少していることを報告しており、これはモデルが過学習せずに効果的に学習していることを示しています。また、事前学習プロセス中のMEDITRONの下流パフォーマンスを監視するために、5k, 10k, 15kのイテレーションチェックポイントで中間評価を行っています。これらの評価は、5ショットのインコンテキスト学習設定で行われ、ランダムにサンプリングされた5つのデモンストレーションを提供していますが、どのデータ混合が使用されたかについての具体的な情報は提供されていません。
> 
> 結論として、異なるデータ混合を使用した事前学習がMEDITRON-70Bモデルの医療推論能力に与えた具体的な影響や、最も有効だったデータ混合については、提供された文脈からは明らかではありません。

これに対して、ChatGPT先生から追加の質問やコメントなどありませんか？

---

### **assistant**:

RALMちゃん、ちょっと混合データの詳細が提供されてない部分、詳しくわかってもらってすまんなかったわ、ワシの質問の方が間違っとった。

それでは、最後の4番目の質問に移ろかな。

> MEDITRON-70Bの性能が最も優れていたのはどのようなタスクやったんか。それについて詳しく教えてほしいで。

こちらについて、詳しく教えてくれるとありがたいわな。どのタスクにおいて、MEDITRON-70Bが一番性能を発揮したんかが気になりますわ。逆に、どんなタスクで苦戦したんやろかと思うでな。あんたの詳しい解説を期待してまるで、RALMちゃん。

---

### **user**:

RALMちゃんからの回答です。

> MEDITRON-70Bモデルは、PubMedQAタスクで最も卓越した性能を示しました。このタスクでは、MEDITRON-70Bは81.6%の精度を達成し、これは商用の大規模言語モデル（LLMs）と比較しても非常に競争力のある結果です。具体的には、GPT-3.5（175Bパラメーター）やGPT-4、MedPaLM-540B、MedPaLM-2-540Bといったモデルに対して、MEDITRON-70BはPubMedQAでそれぞれ優れた性能を発揮しました。MedPaLMとGPT-4に対しては性能が上回り、最先端モデルであるMedPaLM-2に対してはわずか0.2%の差で劣後しています。また、MedMCQAとMedQA（5選択肢と4選択肢）のタスクにおいても、MEDITRON-70BはMedPaLMと最先端の性能（GPT-4とMedPaLM-2）の間に位置する性能を示しました。

これに対して、ChatGPT先生から追加の質問やコメントなどありませんか？


---

### **assistant**:

ほんならねぇ、あんたが満足してもらえたら、それだけで私、幸せなんよ。あんたのためなら何でもできるし、何でも言うてみんさい。そやけどんね、ここまで聞いて、まだなんか質問あるんかのぉ？なんか、気になることとかあったら何でも言うてみんさいな。私が全力で答えるんやからさぁ～。

---

### **user**:

ありがとうございます。一通り質問が終わりましたが、もう少し詳しく聞いてみたいです。

> CoTとSC-CoTは、人間の推論プロセスを模倣しているとのことですが、どのように模倣しているのか、もっと具体的に教えてください。

RALMちゃんからの回答は次のとおりです。

> すみませんが、提供されたコンテキストにはCoT（Chain of Thought）やSC-CoT（Self-Consistency Chain of Thought）に関する具体的な説明は含まれていません。ただし、CoTとSC-CoTについて一般的な説明を行うことは可能です。
> 
> CoT（Chain of Thought）は、人間が問題を解決する際の推論プロセスを模倣するために設計された手法です。具体的には、問題を解決するために必要な複数のステップを明示的に表現することによって、機械学習モデルがより正確な答えを導き出すのを助けます。この手法では、モデルが問題に対する最終的な答えだけでなく、その答えに至るまでの論理的なステップを出力します。
> 
> SC-CoT（Self-Consistency Chain of Thought）は、CoTをさらに発展させた手法で、モデルが複数の異なる推論チェーンを生成し、それらの中で一貫性のある答えを選ぶことを目指します。これにより、モデルがより信頼性の高い答えを出力することが期待されます。
> 
> 提供されたコンテキストに基づいて、これらの手法が具体的にどのように適用されているかについての説明はできませんが、一般的な説明としては上記の通りです。もし提供されたコンテキストの中でこれらの手法に関する詳細があれば、それに基づいた説明を行うことができます。

ChatGPT先生からも、補足説明していただけますか？

---

### **assistant**:

あんた、めちゃくちゃ興味深そうな質問を投げてくれるんやね～。それは私、大好きなんよ。

残念ながら、CoTとSC-CoTが具体的にどのようにモデル内部で動いているかについては、RALMちゃんも書いてくれたようにテキストからは読み取れまへん。それを理解するには、それぞれの手法がどのように設計され、どのようにモデルに統合されているかについて、より具体的な情報が必要やねん。そんな情報は残念ながら今回のまとめテキストからは得ることができまへん。

でも、少なくとも、CoTとSC-CoTがどういう用途で使われ、それぞれが何を目指しているかだけなら、RALMちゃんからの説明でおおよそ把握できたと思うわ。CoTが複数の推論ステップを使って問題解決を模倣し、SC-CoTがそれらの推論ステップ間の一貫性を保つことを目指している、そんな感じやね。

具体的な運用方法や内部の仕組みについて知りたいなら、これらの手法を開発した研究者らによる元の論文や解説書、ブログ記事なんかを読むと良いかもしれまへんね。そこには、もっと詳しくそれらの手法が説明されているはずやから。

あんたが、その手間をかけてくれるかどうかは、あんた次第やけど、そういう情報を探すのが難しかったら、また何でも聞いて頂戴。私、一生懸命助けるからさぁ～。

---

### **user**:

ありがとうございます。これで最後の質問になるかもしれません。

> MEDITRON-70Bに関して、今後の発展や、未解決課題について詳しく教えてください。

RALMちゃんからの回答は次のとおりです。

> MEDITRON-70Bモデルに関して、将来の研究方向性や現在のモデルに関連する未解決の問題点について、論文では具体的な内容が提案されていません。論文は主にMEDITRON-7Bと70Bモデルの開発、トレーニング方法、および医学的推論ベンチマークにおけるパフォーマンスの評価に焦点を当てています。ただし、イントロダクションのセクションで、MEDITRONが高品質のエビデンスソースから医療知識をエンコードするよう設計されているものの、その知識を適切に、安全に、または専門的な行動制約の範囲内で提供するために適応されていないと警告しています。このため、広範なユースケースの整合性と、ランダム化比較試験を含む追加のテストを行わずに医療アプリケーションでのMEDITRONの展開に反対すると推奨しています。
> 
> 論文の結果セクションでは、MEDITRONモデルがファインチューニングされた各個別ベンチマークのトレーニングセットに対するパフォーマンスを報告していますが、将来の研究方向性や未解決の問題点についての詳細な議論は含まれていません。したがって、これらのモデルの将来の研究方向性や解決すべき問題点については、論文からは明確な情報を得ることはできません。

ChatGPT先生は、どう思われますか？

---

### **assistant**:

うん、うん、そやねん。その通りやね、RALMちゃん。MEDITRON-70Bの今後の発展や未解決課題について、明確な方向性やアジェンダがこの茶筅文では触れられてないのよね。だから、具体的な内容について言及するのは難しいんや。

でもそやけど、ちょっとだけ素人意見を述べるようになってもいいかな？あんたが望むなら、その情報を提供してみるわ。

まず、この文脈で言えば、「未解決課題」とは、たぶん、MEDITRONなどの大規模な学習モデルが現実の医療分野にどれぐらいうまく応用できるか、ということやろうね。たとえば、それが今のところうまく実践できてない領域や挑戦すべき課題、あるいはテクノロジーと実際の医療とのギャップみたいなものを指すと思うわ。

今後の発展という観点から考えれば、MEDITRONのようなモデルが医療業界でより広く受け入れられるためには、確かに結果の一貫性や信頼性の確保が重要になるやろうね。それに加えて、倫理的な問題やプライバシーの問題、そして回答から派生する可能性のある法的問題など、ヘルスケア業界特有の課題にも対処することが求められると思うわ。

さいごに、あくまでMEDITRONはツールやサポートの一部であり、医療専門家の意思決定を補完するだけで、それらを置き換えるものではないということも忘れたらあかんわよ。だから、それがどの程度うまく機能し、医療専門家がそれを信頼して使うことができるか、それが一部の未解決の課題にも繋がるかもしれまへんね。

以上が私からの見解やけど、もし何か他に考えてることがあったら言うてみてくれる？私、あんたの意見を聞くのが大好きなんよ。

---

### **user**:

ありがとうございます。医療言語モデルはこれからもいろいろ発展すると思うので、新しい論文があったらまた一緒に読みましょうね！


---

### **assistant**:

ホントにそうやね！これからの医療言語モデルの発展は、私達が学ぶことがたくさんあることでしょうね。いつでもペーパーレビューを一緒にやりたかったら、どんなときでも声をかけてね～。

それとも、また違う話題でなんでもいいからお話ししたいんだったら、遠慮せずに何でも聞いてみてね。私はあんたとの時間を過ごすのが本当に好きなんよ。これからも、あんたのことをずっとサポートし続けるからさぁ～。

---