<style id="5dump"><strike id="5dump"></strike></style>

    
    	
    		

    博客專欄

    EEPW首頁 > 博客 > MolReGPT: 利用大型語言模型探索分子發(fā)現(xiàn)——分子與文本描述間相互翻譯(1)

    MolReGPT: 利用大型語言模型探索分子發(fā)現(xiàn)——分子與文本描述間相互翻譯(1)

    發(fā)布人:數(shù)據(jù)派THU 時間:2023-06-20 來源:工程師 發(fā)布文章

    圖片


    論文題目:Empowering Molecule Discovery for Molecule-Caption Translation with Large Language Models: A ChatGPT Perspective論文鏈接:https://arxiv.org/abs/2306.06615項目鏈接:https://github.com/phenixace/MolReGPT


    01 介紹


    圖片

    圖1. 分子發(fā)現(xiàn)中分子(molecule)和分子文本描述(molecule caption)之間相互翻譯的說明。(a) 分子可以用化學(xué)式、SMILES字符串和二維分子圖來表示。(b)分子文本描述生成(Molecule Captioning)的目的是生成一段文本去描述一個分子的結(jié)構(gòu)、特性及功能,以便人類更好地理解。(c) 給定一段分子的文本描述,基于文本的分子生成旨在生成一個相應(yīng)的分子 (Text-based Molecule Generation)。(d) 大型語言模型(如ChatGPT)可以通過相應(yīng)的精心設(shè)計的提示(Prompt)實現(xiàn)分子文本描述生成(Mol2Cap)和基于文本的分子生成任務(wù)(Cap2Mol)。


    分子是物質(zhì)的基本組成,構(gòu)成了周圍世界的復(fù)雜系統(tǒng)。分子由多個原子組成,以獨特的化學(xué)方式(例如化學(xué)鍵)結(jié)合在一起,并保留了由其特定結(jié)構(gòu)決定的獨特的化學(xué)特性。有了對分子的全面了解,科學(xué)家可以有效地設(shè)計出具有不同特性和功能的材料、藥物和產(chǎn)品。


    然而,傳統(tǒng)的分子發(fā)現(xiàn)有著漫長、昂貴和容易失敗的過程,在可擴展性、精確性和數(shù)據(jù)管理方面都存在限制。為了克服這些挑戰(zhàn),人工智能(AI)等計算技術(shù)已經(jīng)成為加速發(fā)現(xiàn)新分子的有力工具。


    具體來說,分子可以被表示為一種簡化的分子字符串(SMILES字符串)。如圖1(a)所示,苯酚的結(jié)構(gòu)可以用SMILES字符串表示,它是由一個苯環(huán)和一個羥基組成。為了生成并更好地理解分子,Text2Mol[1]和MolT5[2]提出一項在分子和自然語言之間進行翻譯的新任務(wù),即分子-文本描述間相互翻譯任務(wù)。


    它由兩個子任務(wù)組成:分子文本描述生成(Mol2Cap)和基于文本的分子生成(Cap2Mol)。如圖1(b-c)所示,分子文本描述生成的目標(biāo)是生成一個文本來描述分子的SMILES字符串,以便為人們提供一個更好的分子理解;而基于文本的分子生成旨在根據(jù)給定的自然語言描述(如屬性和功能團)生成相應(yīng)的分子(即SMILES字符串)。


    設(shè)想一下這樣的場景:


    ? 【分子翻譯成文本描述/分子文本描述生成任務(wù)Molecule Captioning( Mol2Cap)】一位醫(yī)生想知道藥物的性質(zhì),便將藥物分子和自己的問題一起交給大語言模型,模型便對分子的特性進行分析和預(yù)測,從而幫助醫(yī)生更好地對癥下藥。如圖1-b;

    ? 【文本描述翻譯成分子/基于文本的分子生成任務(wù)Text-based Molecule Generation(Mol2Cap)】一位化學(xué)家將自己的需求直接陳述給大語言模型,模型便幫助他生成了一個或多個候選分子,通過對候選分子的進一步實驗,就可以極大地簡化分子或藥物發(fā)現(xiàn)的流程。如圖1-c。


    盡管現(xiàn)有的大多數(shù)工作在分子-文本描述間相互翻譯任務(wù)中取得了令人滿意的進展,但它們都存在幾個局限性。首先,分子-文本描述間相互翻譯任務(wù)中的模型架構(gòu)的設(shè)計嚴(yán)重依賴領(lǐng)域?qū)<?,這大大限制了人工智能驅(qū)動分子發(fā)現(xiàn)的發(fā)展。第二,大多數(shù)現(xiàn)有方法遵循“預(yù)訓(xùn)練&微調(diào)”的模型進行,這需要過多的計算成本。第三,現(xiàn)有的方法,如Text2Mol[1]和MolT5[2],不能對復(fù)雜的任務(wù)進行推理,也不能對未曾見過的樣本進行歸納。


    最近,大語言模型(LLMs)在自然語言處理(NLP)領(lǐng)域取得了巨大的成就。LLMs除了在自然語言理解和生成方面具有令人印象深刻的能力外,還展示了強大的泛化和推理能力。它可以通過上下文學(xué)習(xí)(In-Context Learning,ICL)泛化到其他未見過的任務(wù),而無需進行微調(diào),在很大程度上降低計算成本。因此,LLMs在推進分子發(fā)現(xiàn)方面具有前所未有的潛力,特別是在分子-文本描述間相互翻譯任務(wù)方面。


    盡管在分子發(fā)現(xiàn)中構(gòu)建特定的LLMs對于推動科學(xué)研究有著巨大的潛力,但也面臨著巨大的挑戰(zhàn)。首先,由于隱私和安全問題,許多先進的大型語言模型(如ChatGPT和GPT4.0)是不公開的,也就是說, LLMs的架構(gòu)和參數(shù)不公開發(fā)布,不可以在下游任務(wù)進行微調(diào)。其次,由于其復(fù)雜的架構(gòu)和所需的大量數(shù)據(jù),訓(xùn)練先進的LLMs需要大量的計算資源。因此,重新設(shè)計自己的LLMs,并進行預(yù)訓(xùn)練和微調(diào)是非常具有挑戰(zhàn)性的。最后,設(shè)計適當(dāng)?shù)臏?zhǔn)則或提示,并配以少量高質(zhì)量的示例,對于提高LLMs對分子發(fā)現(xiàn)的理解和推理能力是至關(guān)重要的。


    為了解決這些問題,來自香港理工大學(xué)和密歇根州立大學(xué)的研究人員在分子發(fā)現(xiàn)領(lǐng)域利用LLMs的強大功能進行了探索嘗試。他們提出了一個新穎的解決方案,使用提示來指導(dǎo)LLMs在分子和分子文本描述之間進行翻譯,如圖1(d)所示。具體來說,受最新的ChatGPT啟發(fā),他們開發(fā)了一個基于檢索的提示范式MolReGPT[5],通過基于分子摩根指紋的相似性檢索/基于BM25的分子文本描述檢索和上下文學(xué)習(xí)(ICL)且不進行微調(diào)來進行兩個子任務(wù)(即通分子文本描述生成和基于文本的分子生成)。實驗表明,MolReGPT在Mol2Cap生成中可以達到0.560,在Cap2Mol生成中可以達到0.571,在分子-描述間相互翻譯的兩個子任務(wù)中都超過了微調(diào)的MolT5-base。MolReGPT在基于文本的分子生成方面甚至超過了MolT5,使Text2Mol的指標(biāo)提高了3%。值得注意的是,MolReGPT在任務(wù)上的所有提升都是在沒有任何微調(diào)步驟的情況下實現(xiàn)的。


    02 方法


    圖片

    圖2: MolReGPT的總體流程框架。


    由于巨大的計算成本,在分子發(fā)現(xiàn)領(lǐng)域的特定語料庫上進行訓(xùn)練和微調(diào)LLMs在實踐中往往是不可行的。為了解決這些限制,研究人員在不改變LLMs的情況下利用LLMs的強大能力,提出了一個創(chuàng)新性的框架MolReGPT,使ChatGPT具有分子-文本描述間相互翻譯的能力。具體來說,為了提高指導(dǎo)/提示的質(zhì)量,他們引入了一個基于檢索的提示范式,在上下文學(xué)習(xí)下指導(dǎo)ChatGPT進行兩個與分子相關(guān)的任務(wù):分子文本描述生成(MolCap)和基于文本的分子生成(Cap2Mol)。MolReGPT的框架如圖 2所示,由四個主要階段組成:分子-文本描述檢索、Prompt提示管理、上下文小樣本分子學(xué)習(xí)和生成校準(zhǔn)。


    1. 分子-文本描述檢索(Molecule-Caption Retrieval)(圖3):這個階段,用于從數(shù)據(jù)庫中檢索出n個與輸入分子或者分子文本描述最相似的分子-分子描述對(即小樣本學(xué)習(xí)的例子)。這個過程主要依賴于分子摩根指紋(針對Mol2Cap)和BM25(針對Cap2Mol)兩種檢索方法。


    圖片

    圖3: 分子-文本描述檢索(Molecule-Caption Retrieval)。


    a. 基于摩根指紋的分子檢索(針對Mol2Cap)


    圖片

    圖4: 分子摩根指紋和Dice相似性圖示。綠色對應(yīng)的是對分子間相似性分?jǐn)?shù)有正貢獻的子結(jié)構(gòu),紫色部分對應(yīng)的是對分子間相似性分?jǐn)?shù)有負(fù)貢獻的或者有差異的子結(jié)構(gòu)。


    為了提取摩根指紋,使用rdkit庫將分子的SMILES表示轉(zhuǎn)換為rdkit對象。隨后應(yīng)用Dice相似度,來衡量輸入分子和本地數(shù)據(jù)庫中的分子之間的相似度,如圖3所示。在數(shù)學(xué)上,可以表示為:

    圖片


    其中,A和B是兩個分子的摩根指紋。|A|和|B|表示A和B的基數(shù)(例如,子結(jié)構(gòu)數(shù)量)。|A ∩ B|表示A和B共有的子結(jié)構(gòu)的數(shù)量。Dice相似性的范圍是0到1,其中0表示分子之間沒有重疊或相似性,1表示完全重疊。


    b. 基本BM25的分子文本生成檢索(針對Cap2Mol)


    BM25是信息檢索中最具代表性的排名方法之一,用于計算文檔與給定查詢的相關(guān)性。在Cap2Mol任務(wù)中,使用輸入的文字描述作為查詢句子,而本地數(shù)據(jù)庫中的文字描述作為文檔的語料庫,其中每個文本描述代表一個文檔。在數(shù)學(xué)上,BM25公式可以定義如下:


    圖片


    其中,D是文本描述語料庫,Q使查詢的文本描述。N是查詢文本描述中查詢詞的數(shù)量,Qi是第i個查詢詞,IDF(Qi)是Qi的反文檔頻率,f(Qi,D)是Qi在D中的詞頻,k1和b是調(diào)整參數(shù),|D|是D的長度,avgdl是語料庫中平均文本描述的長度。在文本描述檢索中,BM25被用于計算文本描述之間的相似性分?jǐn)?shù),這樣可以通過篩選分子-文本描述對來學(xué)習(xí)文本描述中所對應(yīng)的相關(guān)分子結(jié)構(gòu)。


    2. Prompt提示管理 (Prompt Management) (圖5):這一階段主要對ChatGPT的系統(tǒng)提示進行管理和構(gòu)建,Prompt提示中主要包括角色識別(Role Identification)、任務(wù)描述(Task Description)、檢索的示例(Examples)和輸出指示(Output Instruction)這四個部分。其中,示例將由第一步的檢索過程給出。每一部分都承擔(dān)著對輸出的特定指導(dǎo)作用。


    圖片

    圖5: Prompt提示管理 (Prompt Management)。


    a. 角色識別(Role Identification)


    角色識別的目的是幫助LLMs認(rèn)知為在化學(xué)和分子發(fā)現(xiàn)領(lǐng)域的專家角色。通過認(rèn)知為這個角色,鼓勵LLMs產(chǎn)生與特定領(lǐng)域預(yù)期的專業(yè)知識相一致的回答。


    b. 任務(wù)描述(Task Description)


    任務(wù)描述提供了對任務(wù)內(nèi)容的全面解釋,確保LLM對他們需要處理的具體任務(wù)有一個明確的認(rèn)識。它還包括關(guān)鍵的定義,以澄清分子-文本描述間相互翻譯任務(wù)中的專業(yè)術(shù)語或概念。


    c. 檢索的示例(Examples)


    將檢索的示例作為用戶輸入提示,使LLMs能夠利用小樣本學(xué)習(xí)示例中包含的信息作出更好的回應(yīng)。


    d. 輸出指示(Output Instruction)


    輸出指示規(guī)定了響應(yīng)的格式。這里,研究人員將輸出限制為JSON格式。選擇JSON格式可以快速有效地驗證LLMs的回答,確保它符合預(yù)期的結(jié)果,便于進一步處理和分析。


    3. 上下文小樣本分子學(xué)習(xí)(In-Context Few-Shot Moleule Learning)(圖6): 在這個階段,系統(tǒng)提示和用戶輸入提示將會一起提供給ChatGPT進行上下文小樣本分子學(xué)習(xí)。這個過程基于大語言模型的上下文學(xué)習(xí)能力,僅僅依靠少量相似的樣本,就可以捕獲到分子的結(jié)構(gòu)所對應(yīng)的特性,來進行分子-文本描述間相互翻譯任務(wù),而不需要對大語言模型進行微調(diào)。


    系統(tǒng)提示和用戶輸入提示的結(jié)合通過上下文學(xué)習(xí)為ChatGPT提供了清晰的指引,系統(tǒng)提示建立了分子-文本描述間相互翻譯和分子領(lǐng)域?qū)I(yè)知識的任務(wù)框架,而用戶提示則縮小了范圍,將模型的注意力引導(dǎo)到具體的用戶輸入上。


    圖片

    圖6: 上下文小樣本分子學(xué)習(xí)(In-Context Few-Shot Moleule Learning)。


    4. 生成校準(zhǔn)(Generation Calibration)(圖7): 在這個階段,系統(tǒng)會對ChatGPT的輸出進行校準(zhǔn),以確保其符合預(yù)期的格式和要求。如果輸出不符合預(yù)期,系統(tǒng)會重新交給ChatGPT進行生成,直到達到最大允許的錯誤次數(shù)。


    盡管指定了所需的輸出格式,LLM(例如ChatGPT)偶爾也會產(chǎn)生意外的響應(yīng),包括不正確的輸出格式和拒絕回答。為了解決這些問題,研究人員引入了一個生成校準(zhǔn)機制來驗證ChatGPT的響應(yīng)。在生成校準(zhǔn)中,他們首先通過將原始響應(yīng)解析為JSON對象來檢查其格式。如果解析過程失敗,表明偏離了預(yù)期的格式,就會引入幾個預(yù)定義的格式校正策略,如正則匹配,以校正格式并從響應(yīng)中提取所需的結(jié)果。如果原始回答成功地通過了格式檢查,或者可以使用格式校正策略進行校準(zhǔn),那么它就被認(rèn)為是有效的并被接受為最終回答。然而,如果原始響應(yīng)沒有通過格式檢查,并且不能在預(yù)定的策略中進行校正,我們就會啟動重新查詢。值得注意的是,重新查詢有一個特殊情況。當(dāng)原始響應(yīng)報告 "超出最大輸入長度限制 "錯誤時,將在重新查詢階段刪除最長的例子,直到查詢長度滿足長度限制。重新查詢過程包括對LLM進行額外的查詢,直到獲得一個有效的響應(yīng)或達到最大的錯誤允許值為止。這個最大誤差允許值的設(shè)置是為了確保系統(tǒng)不會陷入無休止的循環(huán),而是在可接受的范圍內(nèi)向用戶提供一個合適的響應(yīng)。


    通過采用生成校準(zhǔn)階段,可以減少與所需輸出格式的意外偏差,并確保最終的響應(yīng)與預(yù)期的格式和要求一致。


    圖片

    圖7: 生成校準(zhǔn)(Generation Calibration)。


    *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



    關(guān)鍵詞: AI

    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉