天天看點

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

作者:資料派THU
利用大型語言模型探索分子發現——分子與文本描述間互相翻譯
來源:ScienceAI本文約6000字,建議閱讀5分鐘使用提示來指導LLMs在分子和分子文本描述之間進行翻譯。           
利用大型語言模型探索分子發現——分子與文本描述間互相翻譯
利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

論文題目:

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. 分子發現中分子(molecule)和分子文本描述(molecule caption)之間互相翻譯的說明。(a) 分子可以用化學式、SMILES字元串和二維分子圖來表示。(b)分子文本描述生成(Molecule Captioning)的目的是生成一段文本去描述一個分子的結構、特性及功能,以便人類更好地了解。(c) 給定一段分子的文本描述,基于文本的分子生成旨在生成一個相應的分子 (Text-based Molecule Generation)。(d) 大型語言模型(如ChatGPT)可以通過相應的精心設計的提示(Prompt)實作分子文本描述生成(Mol2Cap)和基于文本的分子生成任務(Cap2Mol)。

分子是物質的基本組成,構成了周圍世界的複雜系統。分子由多個原子組成,以獨特的化學方式(例如化學鍵)結合在一起,并保留了由其特定結構決定的獨特的化學特性。有了對分子的全面了解,科學家可以有效地設計出具有不同特性和功能的材料、藥物和産品。

然而,傳統的分子發現有着漫長、昂貴和容易失敗的過程,在可擴充性、精确性和資料管理方面都存在限制。為了克服這些挑戰,人工智能(AI)等計算技術已經成為加速發現新分子的有力工具。

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

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

設想一下這樣的場景:

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

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

盡管現有的大多數工作在分子-文本描述間互相翻譯任務中取得了令人滿意的進展,但它們都存在幾個局限性。首先,分子-文本描述間互相翻譯任務中的模型架構的設計嚴重依賴領域專家,這大大限制了人工智能驅動分子發現的發展。第二,大多數現有方法遵循“預訓練&微調”的模型進行,這需要過多的計算成本。第三,現有的方法,如Text2Mol[1]和MolT5[2],不能對複雜的任務進行推理,也不能對未曾見過的樣本進行歸納。

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

盡管在分子發現中建構特定的LLMs對于推動科學研究有着巨大的潛力,但也面臨着巨大的挑戰。首先,由于隐私和安全問題,許多先進的大型語言模型(如ChatGPT和GPT4.0)是不公開的,也就是說, LLMs的架構和參數不公開釋出,不可以在下遊任務進行微調。其次,由于其複雜的架構和所需的大量資料,訓練先進的LLMs需要大量的計算資源。是以,重新設計自己的LLMs,并進行預訓練和微調是非常具有挑戰性的。最後,設計适當的準則或提示,并配以少量高品質的示例,對于提高LLMs對分子發現的了解和推理能力是至關重要的。

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

02 方法

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

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

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

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

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

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

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

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

圖4: 分子摩根指紋和Dice相似性圖示。綠色對應的是對分子間相似性分數有正貢獻的子結構,紫色部分對應的是對分子間相似性分數有負貢獻的或者有差異的子結構。

為了提取摩根指紋,使用rdkit庫将分子的SMILES表示轉換為rdkit對象。随後應用Dice相似度,來衡量輸入分子和本地資料庫中的分子之間的相似度,如圖3所示。在數學上,可以表示為:

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

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

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

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

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

其中,D是文本描述語料庫,Q使查詢的文本描述。N是查詢文本描述中查詢詞的數量,Qi是第i個查詢詞,IDF(Qi)是Qi的反文檔頻率,f(Qi,D)是Qi在D中的詞頻,k1和b是調整參數,|D|是D的長度,avgdl是語料庫中平均文本描述的長度。在文本描述檢索中,BM25被用于計算文本描述之間的相似性分數,這樣可以通過篩選分子-文本描述對來學習文本描述中所對應的相關分子結構。

2. Prompt提示管理 (Prompt Management) (圖5):這一階段主要對ChatGPT的系統提示進行管理和建構,Prompt提示中主要包括角色識别(Role Identification)、任務描述(Task Description)、檢索的示例(Examples)和輸出訓示(Output Instruction)這四個部分。其中,示例将由第一步的檢索過程給出。每一部分都承擔着對輸出的特定指導作用。

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

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

a. 角色識别(Role Identification)

角色識别的目的是幫助LLMs認知為在化學和分子發現領域的專家角色。通過認知為這個角色,鼓勵LLMs産生與特定領域預期的專業知識相一緻的回答。

b. 任務描述(Task Description)

任務描述提供了對任務内容的全面解釋,確定LLM對他們需要處理的具體任務有一個明确的認識。它還包括關鍵的定義,以澄清分子-文本描述間互相翻譯任務中的專業術語或概念。

c. 檢索的示例(Examples)

将檢索的示例作為使用者輸入提示,使LLMs能夠利用小樣本學習示例中包含的資訊作出更好的回應。

d. 輸出訓示(Output Instruction)

輸出訓示規定了響應的格式。這裡,研究人員将輸出限制為JSON格式。選擇JSON格式可以快速有效地驗證LLMs的回答,確定它符合預期的結果,便于進一步處理和分析。

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

系統提示和使用者輸入提示的結合通過上下文學習為ChatGPT提供了清晰的指引,系統提示建立了分子-文本描述間互相翻譯和分子領域專業知識的任務架構,而使用者提示則縮小了範圍,将模型的注意力引導到具體的使用者輸入上。

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

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

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

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

通過采用生成校準階段,可以減少與所需輸出格式的意外偏差,并確定最終的響應與預期的格式和要求一緻。

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

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

03 結果

分子描述生成任務(Mol2Cap)

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

表1: 不同模型在ChEBI-20資料集上分子描述生成(Mol2Cap)任務上的性能對比[3,4]。

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

表3: MolReGPT使用N-shot在分子描述生成(Mol2Cap)任務上的性能對比。

Mol2Cap任務的結果顯示在表1和表3,MolReGPT方法可以獲得與微調後的MolT5-base[2]相當的ROUGE分數,同時在其餘名額上超過了所有標明的基線模型。

另外,在消融實驗中,主要比較了三種檢索政策的性能,如表3所示:随機、BM25和Morgan FTS(在MolReGPT中采用)。随機政策指的是檢索n個随機例子,而BM25則是對分子的SMILES字元串表示采用字元級的BM25算法。在三種檢索政策中,Morgan FTS在少樣本學習的樣本數量相同的情況下表現最好,在Text2Mol[1]名額中甚至比BM25高出37%。

此外,與随機或者BM25檢索政策相比,Morgan FTS取得的ROUGE-L得分幾乎翻了一倍。Morgan FTS檢索政策的使用表明,通過比較獨特的結構特征,如官能團,可以更好地估計分子之間的結構相似性,而這些特征通常在分子的描述中以詳細的描述展現。在這種情況下,通過Morgan FTS檢索相似的分子可以有效地指導LLM學習分子結構和分子描述之間的關聯,進而獲得更準确和理想的輸出。

圖8列出了分子文字描述生成的例子,以比較不同模型的性能。從給出的例子中,可以注意到MolReGPT可以生成包含輸入分子關鍵資訊的文本描述。更重要的是,生成的标題在文法上更加完善,并且易于人類了解。

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

圖8: 不同模型生成的分子描述的例子(其中SMILES字元串被轉換成分子圖,以友善更好地展示)。

基于文本的分子生成任務(Cap2Mol)

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

表2: 不同模型在ChEBI-20資料集上基于文本的分子生成(Cap2Mol)任務上的性能對比。

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

表4: MolReGPT使用N-shot在基于文本的分子生成(Mol2Cap)任務上的性能對比。

給定一個分子文本描述(包含結構和屬性),Cap2Mol的目标是生成相應的分子(即SMILES字元串)用于分子發現。具體的結果列于表2和表4。比較所有的基線模型,可以發現10-shot MolReGPT明顯增強了GPT-3.5-turbo的能力,達到了最佳的整體性能。在MACCS FTS、RDK FTS和Morgan FTS等分子評估名額中,MolReGPT與MolT5-base相比,在Text2Mol名額上取得了15%的大幅提升。考慮分子指紋得分,10-shot MolReGPT與MolT5-base相比也獲得了平均18%的改進。此外,MolReGPT還獲得了最高的精确比對分數,有13.9%的例子與ground truth完全一緻。值得注意的是,以上所有令人印象深刻的結果都是在沒有額外訓練或微調的情況下實作的。

圖9列出了基于文本的分子生成結果的例子,以比較不同模型之間的性能。從給定的例子中可以看出, MolReGPT能夠生成與ground truth更相似的結構。

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

圖9: 不同模型生成的分子的例子(其中SMILES字元串被轉換成分子圖,以友善更好地展示)。

04 讨論

利用大型語言模型探索分子發現——分子與文本描述間互相翻譯

圖10: 給定輸入,MolT5和MolReGPT生成分子的對比。

該論文還針對基于定制化文本的分子生成任務做了進一步的探索。如圖10所示,例1中的輸入強調了結構中的五個苯環和疏水基團。然而MolT5的結果産生了不正确的苯環數量,并且生成的結構含有一些親水基團。相比之下,MolReGPT則給出了與輸入相對應的正确結構。在例2中,MolT5和MolReGPT都生成了正确的苯環數量,而MolReGPT生成了更多的親水基團,更符合我們給定的輸入。

05 結論

這篇文章提出了MolReGPT,一種通用的基于檢索的上下文小樣本分子學習的提示範式,賦予大語言模型(如ChatGPT)分子發現的能力。MolReGPT利用分子相似性原理從本地資料庫中檢索分子-分子文本描述對作為上下文學習中的示例,指導大語言模型生成分子的SMILES字元串,進而無需對大語言模型進行微調。

這篇工作的方法專注于分子-文本描述間互相翻譯任務,包括分子文本描述生成(Mol2Cap)和基于文本的分子生成(Cap2Mol),并在該任務上對大語言模型的能力進行了評估。實驗結果表明,MolReGPT可以使ChatGPT在分子描述生成和分子生成方面分别達到0.560和0.571的Text2Mol分數。從分子了解和基于文本的分子生成角度來看,其性能都超過了MolT5-base這樣的微調模型,甚至可以與微調的MolT5-large相媲美。總而言之,MolReGPT提供了一個新穎的、多功能內建的範式,通過上下文學習在分子發現中部署大型語言模型,這大大降低了領域轉移的成本,探索了大型語言模型在分子發現中的潛力。

參考文獻

[1] Edwards, C., Zhai, C., and Ji, H. Text2mol: Cross-modal molecule retrieval with natural language queries. In Pro- ceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 595–607, 2021.

[2] Edwards, C., Lai, T., Ros, K., Honke, G., Cho, K., and Ji, H. Translation between molecules and natural language. In Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing, pp. 375–413, Abu Dhabi, United Arab Emirates, December 2022. As- sociation for Computational Linguistics.

[3] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., and Polosukhin, I. At- tention is all you need. Advances in neural information processing systems, 30, 2017.

[4] Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Li, W., and Liu, P. J. Exploring the limits of transfer learning with a unified text-to-text transformer. The Journal of Machine Learning Research, 21(1):5485–5551, 2020.

[5] Li, J., Liu, Y., Fan, W., Wei, X. Y., Liu, H., Tang, J., & Li, Q. (2023). Empowering Molecule Discovery for Molecule-Caption Translation with Large Language Models: A ChatGPT Perspective. arXiv preprint arXiv:2306.06615.

繼續閱讀