醫(yī)療復(fù)雜推理開(kāi)源大模型——華佗GPT-o1
在醫(yī)學(xué)領(lǐng)域涉及大量復(fù)雜的推理過(guò)程,從癥狀分析到疾病診斷,每一步都需要綜合考慮眾多因素。例如,在診斷一種罕見(jiàn)疾病時(shí),醫(yī)生不僅要熟悉各種疾病的癥狀表現(xiàn),還要了解患者的病史、家族遺傳史、生活環(huán)境等多方面信息,通過(guò)層層推理才能做出準(zhǔn)確的判斷。
為了輔助醫(yī)生實(shí)現(xiàn)更高效的推理,香港中文大學(xué)(深圳)和深圳市大數(shù)據(jù)研究院聯(lián)合開(kāi)源了專用于醫(yī)療領(lǐng)域的復(fù)雜大模型——華佗GPT-o1。
開(kāi)源地址:https://huggingface.co/FreedomIntelligence/HuatuoGPT-o1-7B
Github:https://github.com/FreedomIntelligence/HuatuoGPT-o1
高質(zhì)量醫(yī)學(xué)數(shù)據(jù)集
開(kāi)發(fā)高質(zhì)量可驗(yàn)證醫(yī)學(xué)數(shù)據(jù)集是華佗GPT-o1實(shí)現(xiàn)高質(zhì)量推理的重要基石,研究人員從MedQA-USMLE和MedMCQA訓(xùn)練集中精心收集了192K醫(yī)學(xué)多項(xiàng)選擇題。
涵蓋了內(nèi)科學(xué)、外科學(xué)、婦產(chǎn)科學(xué)、兒科學(xué)、神經(jīng)病學(xué)等眾多醫(yī)學(xué)學(xué)科的知識(shí)點(diǎn),能全面地反映了醫(yī)學(xué)領(lǐng)域的知識(shí)體系。
但原始數(shù)據(jù)存在諸多問(wèn)題,需要進(jìn)行嚴(yán)格篩選。首先,許多題目過(guò)于簡(jiǎn)單,無(wú)法有效訓(xùn)練模型的復(fù)雜推理能力。例如,一些題目?jī)H考查單一知識(shí)點(diǎn),且答案一目了然,對(duì)于模型來(lái)說(shuō)缺乏挑戰(zhàn)性。其次,部分題目答案不唯一或存在歧義,這會(huì)給模型的學(xué)習(xí)和驗(yàn)證帶來(lái)困擾。此外,一些題目不適合轉(zhuǎn)化為開(kāi)放式問(wèn)題,不利于模型進(jìn)行深入推理。
為了篩選出合適的題目,研究人員采用了多輪篩選方法。第一輪,利用小型語(yǔ)言模型對(duì)題目進(jìn)行初步篩選,去除那些所有小型模型都能輕易回答正確的簡(jiǎn)單題目。第二輪,由人工對(duì)剩余題目進(jìn)行審核,排除答案不明確或存在歧義的題目。
最后,借助GPT-4o模型對(duì)篩選后的題目進(jìn)行進(jìn)一步優(yōu)化和驗(yàn)證,確保每個(gè)題目都具有明確的、唯一的正確答案,并且能夠轉(zhuǎn)化為開(kāi)放式問(wèn)題。經(jīng)過(guò)層層篩選,最終得到了一個(gè)包含40K可驗(yàn)證醫(yī)學(xué)問(wèn)題的數(shù)據(jù)集。
兩階段訓(xùn)練模式
在第一階段,華佗GPT-o1首先會(huì)對(duì)給定的可驗(yàn)證醫(yī)學(xué)問(wèn)題進(jìn)行初步分析,生成一個(gè)初始的思維鏈(CoT)和答案。例如,對(duì)于一個(gè)關(guān)于患者癥狀分析的問(wèn)題,模型可能會(huì)根據(jù)癥狀的表現(xiàn)、出現(xiàn)的時(shí)間順序、伴隨癥狀等因素,初步推測(cè)可能的疾病范圍,并給出一個(gè)初步診斷。
然后,醫(yī)學(xué)驗(yàn)證器會(huì)對(duì)這個(gè)初始答案進(jìn)行嚴(yán)格驗(yàn)證。如果答案不正確,模型將啟動(dòng)迭代優(yōu)化過(guò)程。它會(huì)從預(yù)先設(shè)定的四種搜索策略(探索新路徑、回溯、驗(yàn)證、修正)中隨機(jī)選擇一種,對(duì)之前的推理過(guò)程進(jìn)行改進(jìn)。
假設(shè)模型在診斷過(guò)程中忽略了某個(gè)重要癥狀,導(dǎo)致初步診斷錯(cuò)誤。如果選擇探索新路徑策略,模型會(huì)嘗試從新的角度分析癥狀,考慮其他可能的疾病因素;如果選擇回溯策略,模型會(huì)回到之前的推理步驟,重新審視癥狀與疾病之間的關(guān)聯(lián);
如果選擇驗(yàn)證策略,模型會(huì)對(duì)當(dāng)前的推理過(guò)程進(jìn)行再次評(píng)估,檢查是否存在邏輯漏洞;如果選擇修正策略,模型會(huì)根據(jù)驗(yàn)證器的反饋,糾正之前推理中的錯(cuò)誤,調(diào)整診斷方向。
模型會(huì)不斷重復(fù)這個(gè)過(guò)程,直到找到正確的答案。每次迭代都會(huì)生成新的CoT和答案,驗(yàn)證器會(huì)繼續(xù)對(duì)新答案進(jìn)行驗(yàn)證,直到答案被確認(rèn)為正確為止。通過(guò)這種方式,模型能夠在不斷的嘗試和改進(jìn)中,學(xué)習(xí)到正確的醫(yī)學(xué)推理方法,提高推理的準(zhǔn)確性和可靠性。
當(dāng)模型成功找到正確的推理軌跡后,這個(gè)軌跡將被重新格式化為一種更加自然、連貫的復(fù)雜CoT形式。例如,原始的推理過(guò)程可能是一系列分散的步驟和結(jié)論,經(jīng)過(guò)格式化后,會(huì)變成一個(gè)邏輯清晰、語(yǔ)言流暢的推理敘述,使用自然的過(guò)渡詞(如“嗯”“而且”“等等”)將各個(gè)步驟有機(jī)地連接起來(lái),使整個(gè)推理過(guò)程更加符合人類的思維方式。
在格式化過(guò)程中,模型會(huì)突出關(guān)鍵的推理步驟和依據(jù),使復(fù)雜CoT能夠清晰地展示模型的思考過(guò)程。然后,模型會(huì)根據(jù)這個(gè)復(fù)雜CoT生成一個(gè)正式的回答,這個(gè)回答不僅包含最終的結(jié)論,還會(huì)對(duì)推理過(guò)程進(jìn)行簡(jiǎn)要總結(jié),以便更好地與用戶進(jìn)行溝通和解釋。
通過(guò)構(gòu)建SFT訓(xùn)練數(shù)據(jù),模型能夠?qū)W習(xí)到如何在回答問(wèn)題之前進(jìn)行深入的思考和推理,將復(fù)雜的醫(yī)學(xué)知識(shí)和推理過(guò)程整合起來(lái),形成一個(gè)完整的解決方案。這種訓(xùn)練方式有助于提高模型在實(shí)際應(yīng)用中的表現(xiàn),使其能夠更好地應(yīng)對(duì)各種復(fù)雜的醫(yī)學(xué)問(wèn)題。
實(shí)驗(yàn)數(shù)據(jù)
為了評(píng)估華佗GPT-o1的性能,在MedQA、MMLU-Pro、MedMCQA、PubMedQA等醫(yī)學(xué)基準(zhǔn)中進(jìn)行了綜合測(cè)試。結(jié)果顯示,華佗GPT-o1-70B版本超越了其他所有開(kāi)源模型,在多個(gè)數(shù)據(jù)集上取得了領(lǐng)先成績(jī)。
例如,在MMLU-Pro的健康和生物學(xué)賽道上,其準(zhǔn)確率分別達(dá)到了73.6%和71.0%,在GPQA的遺傳學(xué)和分子生物學(xué)賽道上,準(zhǔn)確率也分別達(dá)到了66.5%和56.2%。