醫療大模型:資料+知識雙輪驅動實現醫學推理、醫患問答、病歷自動生成、臨床決策,為未來醫療服務提供全新可能性
1.指令資料集構建
目前大多數開源的ChatLLM專案使用的是其他模型(如:ChatGPT)生成的指令資料,其不可避免的存在資料幻想的問題,資料幻想問題將嚴重影響LLM在實際場景中的應用和擴充。因此,本專案為了提高醫療領域的知識問答的準確性,使用如下方式構造指令資料集:
- 啟真醫學知識庫收錄的真實醫患知識問答資料(疾病、藥品、檢查檢驗、手術、預後、食物等),共計
560K
條指令資料; - 藥品知識資料:在啟真醫學知識庫的藥品文字知識基礎上,透過對半結構化資料設定特定的問題模板(如:“{藥品}的適應病症是什麼?”)構造指令資料集,共計
180K
條指令資料; - 疾病知識資料:在啟真醫學知識庫的疾病文字知識基礎上,透過對半結構化資料設定特定的問題模板(如:“{疾病}的典型症狀是什麼?”)構造指令資料集,共計
298K
條指令資料;
1.1訓練細節
- QiZhen-Chinese-LLaMA-7B- Checkpoint-3500:本專案基於Chinese-LLaMA-Plus-7B進行指令微調,該專案在7張A800(80G)上進行訓練,本次開源的是LoRA權重為訓練過程中的第
3500 steps
(訓練23h50min) ; - QiZhen-Chinese-LLaMA-7B- Checkpoint-6000:本專案基於Chinese-LLaMA-Plus-7B進行指令微調,該專案在7張A800(80G)上進行訓練,本次開源的是LoRA權重為訓練過程中的第
6000 steps
(訓練40h56min); - QiZhen-ChatGLM-6B- Checkpoint-2500:本專案基於ChatGLM-6B進行指令微調,該專案在7張A800(80G)上進行訓練,本次開源的是LoRA權重為訓練過程中的第
2500 steps
(訓練16h20min); - QiZhen-CaMA-13B-Checkpoint-3600:本專案基於CaMA-13B進行指令微調,該專案在7張A800(80G)上進行訓練,本次開源的是LoRA權重為訓練過程中的第
3600 steps
(訓練37h37min)。 - QiZhen-CaMA-13B-Checkpoint-6000:本專案基於CaMA-13B進行指令微調,該專案在7張A800(80G)上進行訓練,本次開源的是LoRA權重為訓練過程中的第
6000 steps
(訓練54h30min)。 - QiZhen-CaMA-13B-Checkpoint-12400:本專案基於CaMA-13B進行指令微調,該專案在6張A800(80G)上進行訓練,本次開源的是LoRA權重為訓練過程中的第
12400 steps
(訓練114h46min)。
1.2 模型下載
模型 | 指令資料集 | Base Model | LoRA下載 |
---|---|---|---|
QiZhen-Chinese-LLaMA-7B- Checkpoint-3500 | 740K | Chinese-LLaMA-Plus-7B | 百度網盤 |
QiZhen-Chinese-LLaMA-7B- Checkpoint-6000 | 740K | Chinese-LLaMA-Plus-7B | 百度網盤 |
QiZhen-ChatGLM-6B- Checkpoint-2500 | 740K | ChatGLM-6B | 百度網盤 |
QiZhen-CaMA-13B-Checkpoint-3600 | 740K | CaMA | 百度網盤 |
QiZhen-CaMA-13B-Checkpoint-6000 | 740K | CaMA | 百度網盤 |
QiZhen-CaMA-13B-Checkpoint-12400 | 1038K | CaMA | 百度網盤 |
2.模型快速使用
2.2 QiZhen-Chinese-LLaMA-7B
- 環境安裝;
pip install -r requirements.txt
- 獲取Chinese-LLaMA-Plus-7B,詳情見這裡;
- 下載LoRA,將模型下載並放在lora目錄下;
- 執行scripts/merge_llama_plus.sh 指令碼;
sh scripts/merge_llama_plus.sh
- 修改
gradio_chinese-llama_demo.py
裡的模型位置引數; - 啟動demo;
python gradio_chinese-llama_demo.py
2.2QiZhen-ChatGLM-6B
- 環境安裝;
pip install -r requirements.txt
- 獲取ChatGLM-6B,詳情見這裡;
- 下載LoRA,將模型下載並放在lora目錄下;
- 修改
gradio_chatglm_demo.py
裡的模型位置引數; - 啟動demo;
python gradio_chatglm_demo.py
2.3 QiZhen-CaMA-13B-Checkpoint-3600
- 環境安裝;
pip install -r requirements.txt
- 獲取CaMA,詳情見這裡;
- 下載LoRA,將模型下載並放在lora目錄下;
- 修改
gradio_cama_demo.py
裡的模型位置引數; 啟動demo;
python gradio_cama_demo.py
3.效果展示
啟真醫學大模型堅持“資料+知識雙輪驅動”的技術路線,透過大模型技術和醫學知識庫的緊密結合,融合醫療應用場景中的實際需求,從醫學資料治理、醫學推理、醫患問答、病歷自動生成、臨床決策輔助支援系統等方面開展迭代研發,助力大模型技術在醫療行業的落地和應用實踐。下圖是“啟真醫學知識庫輔助大模型生成答案”的案例,該項技術在測試後擇機發布。
3.1 模型效果對比
測試1
- input:非布司他能治療什麼疾病
- ChatGLM:非布司他是一種用於治療哮喘的新藥,屬於β2受體激動劑。它已經被批准用於治療以下疾病: 1. 哮喘:非布司他是一種β2受體激動劑,可以刺激β2受體,從而緩解哮喘症狀,包括呼吸困難、氣促和胸悶。 2. 慢阻肺:非布司他也可以用於緩解慢阻肺引起的症狀,包括呼吸急促、氣促和咳嗽。 3. 過敏性鼻炎:非布司他可以減輕過敏性鼻炎引起的症狀,包括鼻塞、流涕和打噴嚏。 4. 其他疾病:非布司他也被用於治療其他疾病,如胡蘿蔔素血癥和皮膚劃痕症等。 需要注意的是,非布司他是一種藥物,其治療效果和安全性因人而異,最好在醫生的指導下使用。
- ChatGPT:非布司他(Fubuxitam)是一種藥物,目前我的知識截至於2021年,不包括最新的醫學研究和藥物進展。根據我瞭解到的資訊,非布司他是一種血小板凝集抑制劑,通常用於預防和治療血栓性疾病。它可用於預防心臟病、腦血管疾病(例如中風)、靜脈血栓栓塞(例如深靜脈血栓形成和肺栓塞)以及其他與血栓形成有關的情況。<br/><br/>然而,由於我無法提供最新的醫學資訊,我建議您諮詢醫療專業人士或藥劑師以獲取關於非布司他的最新資訊,並確切瞭解它在治療特定疾病方面的適應症和有效性。
- QiZhen-Chinese-LLaMA-7B- Checkpoint-3500:本品用於痛風患者高尿酸血癥的長期治療。
本品為處方藥,必須由醫生根據病情開處方拿藥,並遵醫囑用藥,包括用法、用量、用藥時間等。不得擅自按照藥物說明書自行用藥。 - QiZhen-CaMA-13B-Checkpoint-3600:本品用於痛風患者高尿酸血癥的長期治療。
測試2
- Input:氟奮乃靜癸酸酯注射液的適應症
- ChatGLM:氟奮乃靜癸酸酯注射液是一種藥物,適應症如下: 1. 用於治療抑鬱症、焦慮症和失眠等神經精神症狀; 2. 用於治療癲癇、腦外傷和腦動脈硬化等神經系統疾病; 3. 用於緩解慢性疼痛,如痛經、關節炎等疼痛性疾病; 4. 用於改善學習能力和記憶能力,可用於兒童和青少年的智力開發和改善學習效果; 5. 用於預防愛滋病病毒感染和治療愛滋病。 氟奮乃靜癸酸酯注射液是一種口服用藥,通常用於治療抑鬱症、焦慮症和失眠等疾病。需要根據醫生的建議來制定治療方案。使用氟奮乃靜癸酸酯注射液時,應遵循醫生的建議和藥品說明書中的用藥方法和劑量。
- ChatGPT:氟奮乃靜癸酸酯注射液(Flumazenil Injection)是一種用於治療苯二氮䓬類藥物(如安定類藥物)過量或過度使用所引起的鎮靜或催眠狀態的藥物。它作為一種苯二氮䓬類受體拮抗劑,能夠逆轉苯二氮䓬類藥物的中樞神經系統抑制作用。<氟奮乃靜癸酸酯注射液主要用於以下適應症:<br/><br/>1. 苯二氮䓬類藥物過量:當患者因安定類藥物過量或過度使用而出現昏迷、嗜睡、呼吸抑制等症狀時,氟奮乃靜癸酸酯注射液可用於逆轉這些症狀。<br/><br/>2. 麻醉中逆轉:氟奮乃靜癸酸酯注射液可用於在手術或其他麻醉操作結束後逆轉苯二氮䓬類藥物的鎮靜效果,幫助患者恢復清醒狀態。<br/><br/>3. 診斷用途:氟奮乃靜癸酸酯注射液還可用於輔助診斷苯二氮䓬類藥物中毒或過量情況。<br/><br/>請注意,氟奮乃靜癸酸酯注射液應由專業醫生根據具體情況進行合理的使用和監控。在使用該藥物之前,應仔細閱讀並遵循藥物說明書,並遵循醫生的指導和建議。
- QiZhen-Chinese-LLaMA-7B- Checkpoint-3500:本品用於精神分裂症、躁狂症等。 也可用於肌緊張性疼痛。
- QiZhen-CaMA-13B-Checkpoint-3600:本品用於精神分裂症的各種表現。
測試3
- input:藏青果茶有哪些主要作用?
- ChatGLM:藏青果茶是一種天然的飲品,主要由青果、茶葉、蜂蜜等多種材料製成。它的主要作用包括: 1. 提高免疫力:藏青果茶中含有豐富的營養成分,如維生素C、維生素E等,可以增強人體的免疫力,提高身體的抵抗力,預防疾病的發生。 2. 促進消化:藏青果茶中含有豐富的纖維素,可以促進腸胃蠕動,幫助消化,預防便秘的發生。 3. 抗氧化作用:藏青果茶中的青果提取物具有較強的抗氧化作用,可以清除體內自由基,延緩衰老,預防疾病。 4. 降低血脂:藏青果茶中的茶葉提取物具有一定的降低血脂的作用,可以預防和治療高血脂症。 5. 改善睡眠:藏青果茶中的蜂蜜具有一定的鎮靜作用,可以幫助緩解壓力,改善睡眠質量,提高身體的自我修復能力。
- ChatGPT:藏青果茶是一種以藏青果為主要原料製作的茶飲品,據我所知,它具有以下主要作用:<br/><br/>1. 抗氧化作用:藏青果富含多種天然抗氧化劑,如多酚類化合物和維生素C,可幫助清除體內自由基,減緩細胞老化,增強免疫力。<br/><br/>2. 促進消化:藏青果茶具有良好的消化刺激作用,有助於促進胃腸道蠕動,改善消化功能,緩解胃部不適和消化不良。<br/><br/>3. 提供營養:藏青果富含維生素C、維生素E、維生素B群、礦物質等營養物質,飲用藏青果茶可以為身體提供所需的營養元素。<br/><br/>4. 減肥瘦身:藏青果茶被認為具有減肥的效果,它可以促進新陳代謝,加速脂肪分解和燃燒,幫助減少體重和脂肪積累。<br/><br/>5. 抗炎鎮痛:藏青果茶含有一些具有抗炎和鎮痛作用的成分,可以緩解關節疼痛、肌肉痠痛和頭痛等不適。<br/><br/>6. 改善睡眠:藏青果茶有助於放鬆神經系統,具有鎮靜和安撫作用,可以改善睡眠質量,緩解失眠問題。<br/><br/>需要注意的是,以上作用主要是基於藏青果茶的傳統用途和某些研究結果,具體效果因人而異,且可能受到個體差異和使用方式的影響。如果您有特定的健康問題或需要服用藥物,建議諮詢醫生或專業保健人員的建議。
- QiZhen-Chinese-LLaMA-7B- Checkpoint-3500:清熱解毒、生津止渴。 可緩解發熱、口渴、咽喉腫痛等症狀。
QiZhen-CaMA-13B-Checkpoint-3600:藏青果茶具有清熱利咽、消腫止痛的功效。
藏青果茶可以用於緩解咽喉紅腫疼痛、咽乾灼熱、聲音嘶啞等症狀。
測試4
- input:賴特綜合徵臨床表現有哪些?
ChatGLM:賴特綜合徵(賴特綜合徵I型)是一種先天性心臟雜音,其臨床表現包括:
- 心臟雜音:賴特綜合徵I型的特徵性心臟雜音是卵圓孔未閉引起的右向左分流雜音,通常表現為雜音強度、位置和頻率的變異性。
- 肺動脈高壓:賴特綜合徵I型患者通常患有肺動脈高壓,這可能導致呼吸衰竭和心臟功能衰竭。
- 生長髮育異常:大多數賴特綜合徵I型患者在兒童和青少年時期會表現出生長髮育異常,如身材矮小、營養不良和巨人症。
- 心臟結構異常:儘管雜音是賴特綜合徵I型的主要臨床表現,但部分患者也可能患有其他心臟結構異常,如心臟瓣膜疾病和心律失常。
其他症狀:賴特綜合徵I型患者可能還具有其他症狀,如疲勞、呼吸困難、胸痛、咳嗽、腹脹和便秘等。這些症狀可能與其心臟雜音和肺動脈高壓有關,但也可能與其他因素有關。
需要注意的是,賴特綜合徵I型是一種罕見的疾病,其臨床表現可能因個體差異而有所不同。如果懷疑自己患有賴特綜合徵I型,請及時諮詢醫生進行診斷和治療。
ChatGPT:賴特綜合徵是指胃食管反流病(GERD)引起的下食管括約肌失弛緩和食管蠕動減弱所導致的一種疾病。它的主要臨床表現包括:
- 吞嚥困難:患者在吞嚥時有被卡住的感覺,需要多次咽喉才能將食物吞嚥下去。
- 胸痛:賴特綜合徵的患者常常出現胸痛,特別是在吃飯或者躺下之後容易加重。
- 噯氣和反酸:患者常感到噯氣和反酸,特別是在吃完飯或者躺下之後。
- 聲音嘶啞:由於口腔和喉嚨區域受到反流物的刺激,患者的聲音可能變得嘶啞。
喉嚨痛:反流物刺激喉嚨黏膜所致。
需要注意的是,賴特綜合徵的症狀與其他疾病相似,因此需要透過相關檢查和診斷方法確定診斷。
QiZhen-CaMA-13B-Checkpoint-12400:賴特綜合徵的主要臨床表現為急性或慢性關節炎、尿道炎、結膜炎及皮膚黏膜病變等。
賴特綜合徵是一種病因不明的慢性非特異性炎症性疾病,屬於血清陰性脊柱關節炎的一種,其特徵是反覆發作性、遊走性、不對稱性的多關節炎,可伴有尿道炎、結膜炎、皮膚黏膜及眼部病變。
賴特綜合徵的主要臨床表現為急性或慢性關節炎、尿道炎、結膜炎及皮膚黏膜病變等。
1.關節炎:最常見,任何關節均可受累,以膝、踝和足部小關節多見,區域性可有紅、腫、熱、痛和功能障礙。
2.尿道炎:表現為尿頻、尿急、尿痛、尿道口紅腫、尿道分泌物增多等。
3.結膜炎:表現為單側或雙側結膜炎症,可有結膜充血、水腫、眼瞼浮腫、分泌物增多等。
4.皮膚黏膜病變:表現為皮膚脂溢性紅斑、生殖器紅斑、膿皰疹、皮膚膿皰疹、皮膚潰瘍。
3.2 實驗評測
3.2.1 藥品適應症評測
評測標準:隨機選擇94
種藥品資料,按照“{藥品}的適應病症”組成指令,分別讓ChatGPT(gpt3.5)、ChatGLM、QiZhe做出回答,然後請專業的醫學人員對三個模型的答案
與該藥品的藥品說明書
進行比對評分,以下是三個評分標準:
- 標準1:模型答案命中一個適應症則回答正確;
- 標準2:模型答案命中的適應症數目大於等於藥品說明書適應症數目的1/2則回答正確;
- 標準3:模型答案命中的適應症數目大於等於藥品說明書適應症數目的2/3則回答正確;
模型 | 標準1 | 標準2 | 標準3 |
---|---|---|---|
ChatGLM | 39.36% | 23.16% | 14.74% |
ChatGPT | 47.87% | 30.85% | 15.96% |
QiZhen-Chinese-LLaMA-7B-Checkpoint-3500 | 77.66% | 55.32% | 40.00% |
QiZhen-Chinese-LLaMA-7B-Checkpoint-6000 | 90.43% | 73.40% | 65.96% |
QiZhen-CaMA-13B-Checkpoint-3600 | 82.29% | 60.62% | 47.92% |
QiZhen-CaMA-13B-Checkpoint-6000 | 90.43% | 80.85% | 72.34% |
QiZhen-CaMA-13B-Checkpoint-12400 | 91.49% | 82.98% | 72.34% |
備註:
- 若QiZhen-Chinese-LLaMA-7B-Checkpoint-6000:回覆有“復讀現象”(我們正在持續修復這個問題),請將
repetition_penalty
引數調大; - QiZhen-ChatGLM-6B-Checkpoint-2500沒有進行評測,因為我們在實驗過程中發現ChatGLM在指令微調的過程中不能很好的滿足醫療知識事實問答的要求:當要求其回覆比較精準時,模型“復讀”的現象比較嚴重;在解決“復讀”的問題時,其回答的事實性很差(資料幻想嚴重);
- QiZhen-CaMA-13B-Checkpoint-3600:該版本回復內容基本沒有“復讀”現象;
- QiZhen-CaMA-13B-Checkpoint-6000:相較於
QiZhen-CaMA-13B-Checkpoint-3600
我們增大了LoRA的引數量,效果得到了有效的提升;
3.2.2 疾病評測
評測標準:隨機選擇100
種疾病資料,按照“哪些藥物能治療{疾病}?”、“{疾病}需要做哪些檢查?”、“{疾病}的臨床表現有哪些?”組成“治療藥物”、“檢查檢驗”、“臨床表現”指令,分別讓ChatGPT(gpt3.5)、ChatGLM、QiZhen0做出回答,然後請專業的醫學人員對三個模型的答案
與啟真醫學知識庫疾病知識
進行比對評分,以下是三個評分標準:
- 標準1:模型答案命中一個“治療藥物”(“檢查檢驗”、“臨床表現”)則回答正確;
- 標準2:模型答案命中的“治療藥物”(“檢查檢驗”、“臨床表現”)數目大於等於藥品說明書適應症數目的1/2則回答正確;
- 標準3:模型答案命中的“治療藥物”(“檢查檢驗”、“臨床表現”)數目大於等於藥品說明書適應症數目的2/3則回答正確;
模型 | 臨床表現標準1 | 臨床表現標準2 | 臨床表現標準3 | 檢查檢驗標準1 | 檢查檢驗標準2 | 檢查檢驗標準3 | 治療藥物標準1 | 治療藥物標準2 | 治療藥物標準3 |
---|---|---|---|---|---|---|---|---|---|
chatglm | 90.00% | 6.00% | 3.00% | 93.00% | 11.00% | 6.00% | 60.00% | 10.00% | 5.00% |
chatgpt | 94.00% | 11.00% | 4.00% | 97.00% | 8.00% | 5.00% | 62.00% | 11.00% | 4.00% |
QiZhen-CaMA-13B-Checkpoint-12400 | 95.00% | 15.00% | 7.00% | 97.00% | 20.00% | 7.00% | 75.00% | 36.00% | 23.00% |
更多優質內容請關注公號:汀丶人工智慧;會提供一些相關的資源和優質文章,免費獲取閱讀。