なぜ言語モデルを微調整するのですか? LLMに新しいスキルを教えるか、特定のドメインでの理解を高める必要がある場合、微調整が不可欠です。
このプロジェクトでは、小言語モデル(SLM)のSMOLLMや大型言語モデル(LLM)のミストラルなど、小規模および大規模な指導/チャット言語モデルの両方を微調整することを目指しています。
使用される主な例は、ANKI医療カリキュラムフラッシュカードから派生したmedalpaca/medical_meadow_medical_flashcardsです。医学生によって作成および定期的に更新されるこれらのフラッシュカードは、解剖学、生理学、病理学、薬理学など、幅広い医療トピックをカバーし、簡潔な要約とニーモニックを通じて効果的な学習と保持をサポートするように設計されています。
このプロジェクトでは、Medical_meadow_medical_flashcardsデータセットを使用していますが、質問/応答および応答タスクのために他のデータセットに適応できます。さまざまなデータセットの統合は、構成ファイルを変更することで簡単に実現できます。
また、このプロジェクトは量子化をサポートしているため、より控えめなハードウェアセットアップでMistralやLlamaなどの大規模なモデルを微調整することが可能になります。
微調整されたSMOLLMモデルはHuggingfaceで入手できますか?
基本モデルの応答は一般的であり、マークダウン形式に従いますが、微調整されたモデルは、特に予想される応答スタイルの複製において、訓練された専門スキルを効果的に組み込んだようです。ただし、医学的背景のない人として、どちらのモデルでも提供される応答の精度または品質を評価することはできません。以下は、一連の医学的質問のための元のモデル、ベースモデル、および微調整されたモデルの応答を比較する表です。
| 質問 | 元の応答 | ベースモデル応答 | 微調整されたモデル応答 |
|---|---|---|---|
| マラリア原虫催眠に対する活性は何ですか? | プリマキンは、マラリア原虫催眠菌に対する活性を持つ抗マラリア薬です。 | 抗マラリア薬は、マラリアを引き起こす原因となっているマラリア原虫寄生虫に対して効果的な薬物のクラスです。マラリアの治療に使用される最も一般的な抗マラリア薬には、次のものが含まれます。1。アンピシリン(アンホテリシンB) :マラリア原虫種に対して効果的な広範囲の抗生物質。 2。Fosamivir (Fosamivir) :プラズモジウム種に対して効果的な広範囲の抗ウイルス性。 3。影響(影響力) :マラリア原虫種に対して効果的な広範なスペクトル抗ウイルス。 4。**アンピシリン | エリスロマイシンは、マラリア原虫催眠菌に対する活性を持つ抗マラリア薬です。 |
| 単位時間あたりのボウマンのスペースでろ過された物質の量を説明するために使用される用語は何ですか? | 単位時間あたりのボウマンのスペースでフィルタンスされた物質の量は、フィルター荷重と呼ばれます。 | 「ボウマンの空間」という用語は、宇宙船が軌道に打ち上げられる仮想空間であるボウマンの空間でろ過された物質の量を説明するために使用される口語主義です。この概念は、宇宙船を軌道に入れてから地球に戻ることができるという考えに基づいており、宇宙船は空間に存在する可能性のある残りの粒子または破片を除外します。 「Bowman's Space」という用語は、宇宙船が軌道に打ち上げられて地球に戻る仮想空間であるボウマンの空間でろ過された物質の量を記述するためによく使用されます。 | 単位時間あたりのボウマンのスペースでフィルターされた物質の量を記述するために使用される用語は、ろ過効率と呼ばれます。 |
| 静脈に含まれる血液量を説明するために使用される用語は何ですか? | 静脈に含まれる血液量は、ストレスのない体積と呼ばれます。 | 「血液量」という用語は、体の循環系を循環する血液の量を指します。これは、血液と組織間の酸素、栄養素、廃棄物の交換を含む複雑なプロセスです。血液量は通常、リットル(L)またはミリリットル(ML)で測定され、通常、循環系を介して体全体に分布しています。血液量に寄与するいくつかの重要な成分があります:1。赤血球:これらは肺から組織に酸素を運ぶ細胞です。彼らは約1.5 mmの直径を持ち、ヘモグロビンで構成されています | 静脈に含まれる血液量を記述するために使用される用語は、静脈血と呼ばれます。 |
| 移行細胞癌の予後を決定するための最も重要な要因は何ですか? | 移行細胞癌の予後を決定するための最も重要な要因は、浸潤の程度です。 | 患者の生活の質、治療オプション、および全生存に大きな影響を与える可能性があるため、移行細胞癌(TCC)の予後を決定することが重要です。 TCCの予後を決定するための最も重要な要因は、明確な診断、明確に定義された腫瘍、および好ましい予後の存在です。 TCCの予後に影響を与える可能性のあるいくつかの重要な要因を次に示します。1。明確な診断:TCCは明確な腫瘍と診断されます。つまり、良性または良性のような成長があります。 TCCは、広がる可能性は低いため、好ましい予後と診断されます | 移行細胞癌の予後を決定するための最も重要な要因は、高グレードの存在です。 |
応答の精度:微調整されたモデルは、予想される形式とスタイルを複製しますが、いくつかの不正確さを示します。たとえば、エリスロマイシンは、マラリア原虫催眠菌に対して効果的な抗マラリア薬として誤って特定されています。正解はプリマキンでなければなりません。
基本モデルの問題:ベースモデルの応答は、ボウマンの空間と血液量に関する誤った説明に見られるように、特に医療の文脈では、過度に一般化されており、時にはトピック外です。
注:この結果は、わずか10個のトレーニングの後に得られました。より多くの時代のためのトレーニングは、より良い結果につながる可能性があります¯ (ツ) /¯。
このプロジェクトをスムーズに実行するには、Python 3.10が必要です。このプロジェクトは、Python 3.10.13でテストおよび検証されています。以下の手順に従って、環境をセットアップしてください。
仮想環境を作成します:
python -m venv env
仮想環境を有効にします:
source env/bin/activate
必要な依存関係をインストールします。
pip install -r requirements.txt
環境変数のセットアップ:.env.exampleファイルをコピーして.envに変更します:
mv .env.example .env
Jupyterノートブックを使用して、トレーニングステップを探索できます。
cd notebooks
jupyter-lab
または、微調整プロセスを直接開始することもできます。微調整に使用されるパラメーターは、 configsフォルダー内の構成ファイルで指定されています。デフォルトのSmallMモデルで微調整プロセスを開始するには、実行します。
python train.py
別のモデルをトレーニングする場合は、構成ファイル名を引数として渡すことでモデル構成を指定できます。
python train.py --model Mistral
Mistralを目的のモデルの構成ファイルの名前に置き換えます。新しいモデルをトレーニングするには、目的の設定で新しい構成ファイルを作成し、適切なモデル名でtrain.pyを実行します。