這個太牛了!哈工大有高人,難怪美國要禁止哈工大,水平太高! 開源醫(yī)療大模型,華佗!本草(原名:華駝)模型倉庫,基于中文醫(yī)學(xué)知識的大語言模型指令微調(diào) 源代碼 http://www./goldenbear/huatuo-llama-med-chinese 本草(原名:華駝)模型倉庫,基于中文醫(yī)學(xué)知識的大語言模型指令微調(diào) 哈爾濱工業(yè)大學(xué)社會計算與信息檢索研究中心健康智能組 ChatGPT的出現(xiàn)確實代表了自然語言處理領(lǐng)域的一次革命性進展,它展示了深度學(xué)習(xí)技術(shù)在處理自然語言方面的強大能力。在這個背景下,哈爾濱工業(yè)大學(xué)針對中醫(yī)領(lǐng)域的語言知識發(fā)布了“本草”大模型(原名華佗大模型),這一舉措具有深遠的意義。 首先,“本草”大模型是專門針對中醫(yī)領(lǐng)域構(gòu)建的大型語言模型。中醫(yī)作為中國傳統(tǒng)醫(yī)學(xué)的瑰寶,其理論知識和實踐經(jīng)驗非常豐富,但同時也包含著大量專業(yè)術(shù)語和復(fù)雜的理論體系。通過深度學(xué)習(xí)技術(shù)對中醫(yī)文獻和知識進行訓(xùn)練和學(xué)習(xí),“本草”大模型能夠更深入地理解和解析中醫(yī)語言,從而為中醫(yī)領(lǐng)域的研究和實踐提供強有力的支持。 其次,“本草”大模型的出現(xiàn)有助于推動中醫(yī)領(lǐng)域的智能化和信息化進程。借助“本草”大模型,中醫(yī)工作者可以更方便地進行知識檢索、病癥分析和治療方案推薦等工作,從而提高工作效率和準(zhǔn)確性。同時,這也為中醫(yī)領(lǐng)域的教學(xué)和科普工作提供了新的手段,使得中醫(yī)知識能夠更加易于傳播和被理解。 此外,“本草”大模型還具有廣闊的應(yīng)用前景。隨著技術(shù)的不斷發(fā)展,“本草”大模型可以進一步與其他醫(yī)療信息系統(tǒng)進行集成,為中醫(yī)臨床決策提供輔助支持。同時,它也可以作為智能問答系統(tǒng)的基礎(chǔ),為患者提供更加便捷和高效的醫(yī)療咨詢服務(wù)。 總的來說,“本草”大模型的意義在于它將深度學(xué)習(xí)技術(shù)應(yīng)用于中醫(yī)領(lǐng)域,為中醫(yī)語言的理解和處理提供了新的工具和方法。這不僅有助于推動中醫(yī)領(lǐng)域的技術(shù)進步和智能化發(fā)展,也為中醫(yī)知識的傳承和創(chuàng)新提供了新的可能。 本項目參考了以下開源項目,在此對相關(guān)項目和研究開發(fā)人員表示感謝。
A Quick Start首先安裝依賴包,python環(huán)境建議3.9+ pip install -r requirements.txt 針對所有基模型,我們采用了半精度基模型LoRA微調(diào)的方式進行指令微調(diào)訓(xùn)練,以在計算資源與模型性能之間進行權(quán)衡。 基模型
LoRA模型權(quán)重下載LoRA權(quán)重可以通過百度網(wǎng)盤或Hugging Face下載:
下載LoRA權(quán)重并解壓,解壓后的格式如下:
基于相同的數(shù)據(jù),我們還訓(xùn)練了醫(yī)療版本的ChatGLM模型: ChatGLM-6B-Med Infer我們在 運行infer腳本 #基于醫(yī)學(xué)知識庫 infer.sh腳本代碼如下,請將下列代碼中基模型base_model、lora權(quán)重lora_weights以及測試數(shù)據(jù)集路徑instruct_dir進行替換后運行
提示模板的選擇與模型相關(guān),詳情如下:
也可參考 方法基模型在醫(yī)學(xué)問答場景下效果有限,指令微調(diào)是一種高效的使基模型擁有回答人類問題能力的方法。 數(shù)據(jù)集構(gòu)建醫(yī)學(xué)知識庫我們采用了公開和自建的中文醫(yī)學(xué)知識庫,主要參考了cMeKG。 醫(yī)學(xué)知識庫圍繞疾病、藥物、檢查指標(biāo)等構(gòu)建,字段包括并發(fā)癥,高危因素,組織學(xué)檢查,臨床癥狀,藥物治療,輔助治療等。知識庫示例如下:
我們利用GPT3.5接口圍繞醫(yī)學(xué)知識庫構(gòu)建問答數(shù)據(jù),設(shè)置了多種Prompt形式來充分利用知識。 指令微調(diào)的訓(xùn)練集數(shù)據(jù)示例如下:
我們提供了模型的訓(xùn)練數(shù)據(jù)集,共計八千余條,需要注意的是,雖然訓(xùn)練集的構(gòu)建融入了知識,但是仍存在錯誤和不完善的地方,后續(xù)我們會利用更好的策略迭代更新數(shù)據(jù)集。 指令微調(diào)數(shù)據(jù)集質(zhì)量仍有限,后續(xù)將進行不斷迭代,同時醫(yī)學(xué)知識庫和數(shù)據(jù)集構(gòu)建代碼還在整理中,整理完成將會發(fā)布。 醫(yī)學(xué)文獻此外,我們收集了2023年關(guān)于肝癌疾病的中文醫(yī)學(xué)文獻,利用GPT3.5接口圍繞醫(yī)學(xué)文獻的【結(jié)論】構(gòu)建多輪問答數(shù)據(jù)。在· 目前,我們只開放針對'肝癌'單個疾病訓(xùn)練的模型參數(shù)。在未來,我們計劃發(fā)布融入文獻結(jié)論的醫(yī)學(xué)對話數(shù)據(jù)集,并且會針對“肝膽胰”相關(guān)16種疾病訓(xùn)練模型。 相關(guān)細節(jié)可參考我們的文章:《探索大模型從醫(yī)學(xué)文獻中交互式知識的獲取》 Finetune如果想用自己的數(shù)據(jù)集微調(diào)大語言模型,請按照 運行finetune腳本
訓(xùn)練細節(jié)計算資源需求參考基于LLaMA模型的指令微調(diào)過程中,我們在一張A100-SXM-80GB顯卡上進行了訓(xùn)練,訓(xùn)練總輪次10輪,耗時約2h17m。batch_size=128的情況下顯存占用在40G左右。預(yù)計3090/4090顯卡(24GB顯存)以上顯卡可以較好支持,根據(jù)顯存大小來調(diào)整batch_size。 實驗過程超參設(shè)置和實驗過程可以參考wandb的鏈接: https:///thinksoso/llama_med/runs/a5wgcnzt/overview?workspace=user-thinksoso |
|