shibing624/MedicalGPT

MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练医疗大模型,实现了包括增量预训练(PT)、有监督微调(SFT)、RLHF、DPO、ORPO、GRPO。

解決的問題

MedicalGPT 提供一個全面的訓練流程,用於建立領域特定的大規模語言模型,特別針對醫療產業。它簡化了將通用型 LLM 轉換為專業醫療助理的過程,為訓練生命週期的每個階段(從初始知識注入到人類偏好對齊)提供工具支援。

工作原理

本專案基於 ChatGPT 的訓練方法,實現多階段訓練流程:

  1. 持續預訓練(PT): 透過在大量醫療文件上訓練,注入領域特定知識。
  2. 監督式微調(SFT): 使用精心篩選的問答對,使模型具備遵循指令的行為。
  3. 對齊/偏好優化: 使用多種可用方法優化模型行為:
    • RLHF: 兩階段流程,包含獎勵建模(RM)與強化學習(PPO/RLOO)。
    • DPO(直接偏好優化): 無需獨立獎勵模型,直接根據人類偏好優化模型。
    • ORPO: 將 SFT 與對齊合併為一步,減少災難性遺忘。
    • GRPO: 使用規則式獎勵訓練推理鏈。
    • OPD(線上策略蒸餾): 從更強的教師模型中蒸餾知識。

此外,本專案支援 Agent 微調,透過在對話範本中引入 function_callobservation 等特定角色,使模型能學習函式呼叫(工具使用)。

適用對象

  • 希望建立專業醫療 LLM 的 AI 研究人員與開發者。
  • 希望在自有資料集上實作 DPO、GRPO 或 RLHF 等進階對齊技術的開發者。
  • 需要能透過函式呼叫與外部工具互動的醫療領域模型的組織。

亮點

  • 全流程流程: 覆蓋 PT、SFT、RLHF、DPO、ORPO、GRPO 與 OPD。
  • 廣泛模型支援: 相容 Llama-3、Qwen-2.5、Mixtral 等多種模型。
  • Agent 能力: 內建支援訓練模型執行函式呼叫。
  • 彈性訓練: 支援全參數微調、LoRA 與 QLoRA,適應不同硬體條件。
  • RAG 整合: 包含 ChatPDF 示範,支援基於知識庫檔案的檢索增強生成(RAG)。

相關

  • 專案
  • 專案
  • 專案
  • 專案