AI News HubLIVE
站内改写

MedQA:AMD ROCm上での臨床AIのファインチューニング—CUDAは不要

AMD MI300XとROCmを使用して、MedMCQAデータセットでQwen3-1.7BをLoRAファインチューニングする完全な手順。CUDA不要でトレーニングは約5分、モデルは回答と解説を出力します。

記事インテリジェンス

エンジニア上級

要点

  • AMD MI300Xの192GB HBM3メモリを活用し、量子化なしでfp16完全精度トレーニングを実現。
  • LoRAは全パラメータの約0.14%(220万)のみを更新、トレーニング時間は約5分。
  • モデルは正解の選択肢と臨床的説明を出力し、HuggingFace Hubから直接ロード可能。
  • bfloat16でのNaN損失(fp16に切り替え解決)やbitsandbytes非互換(大VRAMで回避)などの課題を克服。

重要な理由

このニュースが重要なのは、AMD MI300Xの192GB HBM3メモリを活用し、量子化なしでfp16完全精度トレーニングを実現ためです。

技術的影響

モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。

医療質問応答は、誤った回答が危険を伴う高リスクなタスクです。しかし、オープンソースの医療AIの多くはNVIDIA GPUとCUDAを前提としています。MedQAプロジェクトはこの前提に挑戦し、AMDハードウェア上で高性能で説明可能な臨床QAモデルを構築する方法を示します。

本プロジェクトでは、AMD Instinct MI300X GPUとROCmソフトウェアスタックを使用し、AlibabaのQwen3-1.7BモデルをLoRAでファインチューニングします。MI300Xは192GBのHBM3メモリを搭載しており、量子化を一切行わずにfp16完全精度でトレーニング可能です。トレーニングデータはMedMCQAデータセット(インドの医学入学試験に基づく多肢選択問題)から2,000サンプルを使用し、MI300X上で約5分で完了します。

ファインチューニングにはLoRA技術を採用し、PEFTライブラリを介してアテンション層に低ランク行列を注入します。LoRA設定はr=8、lora_alpha=16、lora_dropout=0.05、ターゲットモジュールはq_projとv_projです。トレーニングパラメータは220万個(全体の0.14%)のみで、メモリ使用量とトレーニング時間を大幅に削減します。トレーニング引数にはfp16混合精度、勾配チェックポイント、コサイン学習率スケジュール、実効バッチサイズ16などを使用。初期のbfloat16実験でNaN損失が発生しましたが、fp16に切り替えることで完全に解決しました。

推論時には、ベースモデルをロードしてLoRAアダプタをアタッチし、貪欲デコーディング(do_sample=False)と繰り返しペナルティを使用して生成します。例えば、「高血圧緊急症の第一選択治療は?」という質問に対し、モデルは「B) IVラベタロールまたはIVニトロプルシド」と出力し、静脈内投与が迅速に血圧を下げる理由を説明します。単なる選択肢の文字列ではなく、臨床的説明を提供する点が有用です。

プロジェクトではいくつかの課題に直面しました:GPUが検出されない問題は環境変数ROCR_VISIBLE_DEVICES、HIP_VISIBLE_DEVICES、HSA_OVERRIDE_GFX_VERSIONを設定して解決;bitsandbytesの非互換性は、MI300Xの大容量VRAMにより量子化を完全に省略することで回避;トークナイザのパディング設定ミスによるガベージ出力はpad_tokenをeos_tokenに設定して修正;トレーナーの評価エラーはTransformersのバージョン不一致によるもので、バージョンを固定して解決。

結果として、トレーニング可能パラメータは約220万、トレーニング時間は5分、使用データセットサイズは2,000サンプル、ベースライン精度は約45%でした。ユーザーはGitHubリポジトリをクローンし、依存関係をインストールしてトレーニングスクリプトを実行するか、Gradio UIを起動できます。今後の計画には、完全なMedMCQAコーパス(約18万質問)でのトレーニング、信頼度スコアの追加、検索拡張生成(RAG)の統合、評価ベンチマークの構築が含まれます。

MedQAプロジェクトは、AMDハードウェア上で有能で説明可能な医療AIを構築することが可能であり、かつ簡単であることを示しました。HuggingFaceエコシステムのROCm互換性は優れており、MI300Xの大容量メモリは量子化という工学的問題を排除し、LoRAにより1.7Bモデルのファインチューニングが5分で完了します。