復旦大學團隊發布中文醫療健康個人助手,同時開源47萬高質量數據集
隨著遠程醫療的興起,在線問診、咨詢越發成為患者尋求便捷高效的醫療支持的首選項。近來大語言模型(LLM)展示出強大的自然語言交互能力,為健康醫療助手走進人們的生活帶來了希望。
醫療健康咨詢場景通常較為復雜,個人助手需要有豐富的醫學知識,具備通過多個輪次對話了解病人意圖,并給出專業、詳實回復的能力。通用語言模型在面對醫療健康咨詢時,往往因為缺乏醫療知識,出現避而不談或者答非所問的情況;同時,傾向于針對當前輪次問題完成咨詢,缺少令人滿意的多輪追問能力。除此之外,當前高質量的中文醫學數據集也十分難得,這為訓練強大的醫療領域語言模型構成了挑戰。
復旦大學數據智能與社會計算實驗室(FudanDISC)發布中文醫療健康個人助手 ——DISC-MedLLM。在單輪問答和多輪對話的醫療健康咨詢評測中,模型的表現相比現有醫學對話大模型展現出明顯優勢。課題組同時公開了包含 47 萬高質量的監督微調(SFT)數據集 ——DISC-Med-SFT,模型參數和技術報告也一并開源。
- 主頁地址:https://med.fudan-disc.com
- Github 地址:https://github.com/FudanDISC/DISC-MedLLM
- 技術報告:https://arxiv.org/abs/2308.14346
1、樣例展示
圖 1:對話示例
患者感到身體不適時,可以向模型問診,描述自身癥狀,模型會給出可能的病因、推薦的治療方案等作為參考,在信息缺乏時會主動追問癥狀的詳細描述。
圖 2:問診場景下的對話
用戶還可以基于自身健康狀況,向模型提出需求明確的咨詢問題,模型會給予詳盡有助的答復,并在信息缺乏時主動追問,以增強回復的針對性和準確性。
圖 3:基于自身健康狀況咨詢的對話
用戶還可以詢問與自身無關的醫學知識,此時模型會盡可能專業地作答,使用戶全面準確地理解。
圖 4:與自身無關的醫學知識詢問對話
2、DISC-MedLLM 介紹
DISC-MedLLM 是基于我們構建的高質量數據集 DISC-Med-SFT 在通用領域中文大模型 Baichuan-13B 上訓練得到的醫療大模型。值得注意的是,我們的訓練數據和訓練方法可以被適配到任何基座大模型之上。
DISC-MedLLM 具有三個關鍵特點:
- 可靠豐富的專業知識。我們以醫學知識圖譜作為信息源,通過采樣三元組,并使用通用大模型的語言能力進行對話樣本的構造。
- 多輪對話的問詢能力。我們以真實咨詢對話紀錄作為信息源,使用大模型進行對話重建,構建過程中要求模型完全對齊對話中的醫學信息。
- 對齊人類偏好的回復。病人希望在咨詢的過程中獲得更豐富的支撐信息和背景知識,但人類醫生的回答往往簡練;我們通過人工篩選,構建高質量的小規模指令樣本,對齊病人的需求。
模型的優勢和數據構造框架如圖 5 所示。我們從真實咨詢場景中計算得到病人的真實分布,以此指導數據集的樣本構造,基于醫學知識圖譜和真實咨詢數據,我們使用大模型在回路和人在回路兩種思路,進行數據集的構造。
圖 5:DISC-Med-SFT 的構造
3、方法:數據集 DISC-Med-SFT 的構造
在模型訓練的過程中,我們向 DISC-Med-SFT 補充了通用領域的數據集和來自現有語料的數據樣本,形成了 DISC-Med-SFT-ext,詳細信息呈現在表 1 中。
表 1:DISC-Med-SFT-ext 數據內容介紹
重構 AI 醫患對話
數據集。分別從兩個公共數據集 MedDialog 和 cMedQA2 中隨機選擇 40 萬個和 2 萬個樣本,作為 SFT 數據集構建的源樣本。
重構。為了將真實世界醫生回答調整為所需的高質量的統一格式的回答,我們利用 GPT-3.5 來完成這個數據集的重構過程。提示詞(Prompts)要求改寫遵循以下幾個原則:
- 去除口頭表達,提取統一表達方式,糾正醫生語言使用中的不一致之處。
- 堅持原始醫生回答中的關鍵信息,并提供適當的解釋以更加全面、合乎邏輯。
- 重寫或刪除 AI 醫生不應該發出的回復,例如要求患者預約。
圖 6 展示了一個重構的示例。調整后醫生的回答與 AI 醫療助手的身份一致,既堅持原始醫生提供的關鍵信息,又為患者提供更豐富全面的幫助。
圖 6:對話重新改寫的例子
知識圖譜問答對
醫學知識圖譜包含大量經過良好組織的醫學專業知識,基于它可以生成噪聲更低的 QA 訓練樣本。我們在 CMeKG 的基礎上,根據疾病節點的科室信息在知識圖譜中進行采樣,利用適當設計的 GPT-3.5 模型 Prompts,總共生成了超過 5 萬個多樣化的醫學場景對話樣本。
行為偏好數據集
在訓練的最終階段,為了進一步提高模型的性能,我們使用更符合人類行為偏好數據集進行次級監督微調。從 MedDialog 和 cMedQA2 兩個數據集中人工挑選了約 2000 個高質量、多樣化的樣本,在交給 GPT-4 改寫幾個示例并人工修訂后,我們使用小樣本的方法將其提供給 GPT-3.5,生成高質量的行為偏好數據集。
其他
通用數據。為了豐富訓練集的多樣性,減輕模型在 SFT 訓練階段出現基礎能力降級的風險,我們從兩個通用的監督微調數據集 moss-sft-003 和 alpaca gpt4 data zh 隨機選擇了若干樣本。
MedMCQA。為增強模型的問答能力,我們選擇英文醫學領域的多項選擇題數據集 MedMCQA,使用 GPT-3.5 對多項選擇題中的問題和正確答案進行了優化,生成專業的中文醫學問答樣本約 8000 個。
4、實驗
訓練。如下圖所示,DISC-MedLLM 的訓練過程分為兩個 SFT 階段。
圖 7:兩階段訓練過程
評測。在兩個場景中評測醫學 LLMs 的性能,即單輪 QA 和多輪對話。
- 單輪 QA 評測:為了評估模型在醫學知識方面的準確性,我們從中國國家醫療執業醫師資格考試(NMLEC)和全國碩士研究生入學考試(NEEP)西醫 306 專業抽取了 1500 + 個單選題,評測模型在單輪 QA 中的表現。
- 多輪對話評測:為了系統性評估模型的對話能力,我們從三個公共數據集 —— 中文醫療基準評測(CMB-Clin)、中文醫療對話數據集(CMD)和中文醫療意圖數據集(CMID)中隨機選擇樣本并由 GPT-3.5 扮演患者與模型對話,提出了四個評測指標 —— 主動性、準確性、有用性和語言質量,由 GPT-4 打分。
評測結果
比較模型。將我們的模型與三個通用 LLM 和兩個中文醫學對話 LLM 進行比較。包括 OpenAI 的 GPT-3.5, GPT-4, Baichuan-13B-Chat; BianQue-2 和 HuatuoGPT-13B。
單輪 QA 結果。單項選擇題評測的總體結果顯示在表 2 中。GPT-3.5 展現出明顯的領先優勢。DISC-MedLLM 在小樣本設置下取得第二名,在零樣本設置中落后于 Baichuan-13B-Chat,排名第三。值得注意的是,我們的表現優于采用強化學習設置訓練的 HuatuoGPT (13B)。
表 2:單項選擇題評測結果
多輪對話結果。在 CMB-Clin 評估中,DISC-MedLLM 獲得了最高的綜合得分,HuatuoGPT 緊隨其后。我們的模型在積極性標準中得分最高,凸顯了我們偏向醫學行為模式的訓練方法的有效性。結果如表 3 所示。
表 3:CMB-clin 結果
在 CMD 樣本中,如圖 8 所示,GPT-4 獲得了最高分,其次是 GPT-3.5。醫學領域的模型 DISC-MedLLM 和 HuatuoGPT 的整體表現分數相同,在不同科室中表現各有出色之處。
圖 8:CMD 結果
CMID 的情況與 CMD 類似,如圖 9 所示,GPT-4 和 GPT-3.5 保持領先。除 GPT 系列外,DISC-MedLLM 表現最佳。在病癥、治療方案和藥物等三個意圖中,它的表現優于 HuatuoGPT。
圖 9:CMID 結果
各模型在 CMB-Clin 和 CMD/CMID 之間表現不一致的情況可能是由于這三個數據集之間的數據分布不同造成的。CMD 和 CMID 包含更多明確的問題樣本,患者在描述癥狀時可能已經獲得了診斷并表達明確的需求,甚至患者的疑問和需求可能與個人健康狀況無關。在多個方面表現出色的通用型模型 GPT-3.5 和 GPT-4 更擅長處理這種情況。
5、總結
DISC-Med-SFT 數據集利用現實世界對話和通用領域 LLM 的優勢和能力,對三個方面進行了針對性強化:領域知識、醫學對話技能和與人類偏好;高質量的數據集訓練了出色的醫療大模型 DISC-MedLLM,在醫學交互方面取得了顯著的改進,表現出很高的可用性,顯示出巨大的應用潛力。
該領域的研究將為降低在線醫療成本、推廣醫療資源以及實現平衡帶來更多前景和可能性。DISC-MedLLM 將為更多人帶來便捷而個性化的醫療服務,為大健康事業發揮力量。