編輯 | ScienceAI
科學家提出了一個新的基準測試——TOMG-Bench,用於評估 LLM 在分子領域的開放域生成能力。
專案主頁:https://phenixace.github.io/tomgbench/
資料集和測試指令碼:https://github.com/phenixace/TOMG-Bench
預印本:https://arxiv.org/abs/2412.14642
Huggingface Datasets:https://huggingface.co/datasets/Duke-de-Artois/TOMG-Bench
PaperWithCode:https://paperswithcode.com/dataset/tomg-bench
分子發現是推動醫藥、材料科學等領域進步的關鍵環節。然而,傳統的分子發現方法往往依賴於反覆實驗和資料分析,效率低下且成本高昂。
隨著機器學習技術的快速發展,圖神經網路(GNN)等 AI 工具在分子發現領域展現出巨大的潛力。然而,GNN 方法也存在侷限性,例如難以泛化到不同任務,以及無法生成具有特定性質的分子結構。
大語言模型(LLM)憑藉其強大的語言理解和生成能力以及泛化能力,為分子發現領域帶來了新的機遇。LLM 可以將分子結構以文字形式進行表示,從而理解分子的結構和性質,並可以生成新的分子結構。
然而,將分子與文字資料進行對齊是一個具有挑戰性的問題。先前的分子-描述文字資料集如 ChEBI-20 和 PubChem 都是基於給定的描述生成唯一對應的分子(基於文字的目標導向的分子生成),而現實中,化學家設計分子的需求往往是模糊的,可以對應到多個符合要求的分子,如圖 1 所示。因此,需要開發新的資料集和基準測試來評估 LLM 在分子發現中的效能。
為了解決這些挑戰,香港理工大學、上海交通大學、上海人工智慧實驗的研究者提出了基於文字的開放分子生成基準測試(TOMG-Bench),旨在評估 LLM 在分子領域的開放域生成能力。
TOMG-Bench 包含三個主要任務:分子編輯、分子最佳化和定製分子生成,涵蓋了分子發現的多個關鍵環節。透過 TOMG-Bench,我們可以更好地瞭解 LLM 在分子發現中的優勢和侷限性,並推動 LLM 在分子發現領域的應用。
圖 1:對比基於文字的目標導向的分子生成 (a) 和開放式分子生成 (b)
現有分子-文字對齊面臨的挑戰
1. 資料集和基準測試的不足:現有的資料集,例如 ChEBI-20 和 PubChem,都依賴於分子-描述對,這些資料集無法滿足開放域分子生成任務的需求。這些資料集往往是基於給定的描述生成唯一對應的分子,而現實中,化學家設計分子的需求往往是模糊的,可以對應到多個符合要求的分子。
2. 分子-描述翻譯任務的侷限性:分子-描述翻譯任務是跨越分子空間和自然語言空間的橋樑,但存在侷限性。一方面,真實場景中的分子描述可能高度模糊,存在多種正確解釋,而現有的分子-描述翻譯實際上是目標生成任務,模型難以泛化到使用者定製的要求。
3. 無法生成新分子結構:現有的分子-描述翻譯任務和相應的評估指標無法評估 LLM 生成新分子結構的能力,而這是分子發現的最終目標,尤其在藥物發現領域。
TOMG-Bench
TOMG-Bench 是一個創新的基準測試,旨在全面評估 LLM 在分子領域的開放域生成能力。與傳統的基於文字的目標導向分子生成任務不同,TOMG-Bench 的任務是開放域的,即不設定特定的目標分子,而是讓 LLM 生成滿足特定要求的分子結構。這種開放性更接近化學家在實際工作中遇到的需求,更能體現 LLM 的泛化能力和創造力。它包含三個主要任務,每個任務又細分為三個子任務,涵蓋分子發現的多個關鍵環節:
1. 分子編輯(MolEdit)
新增元件 (AddComponent): 指令 LLM 向給定分子新增特定官能團。
刪除元件 (DelComponent): 指令 LLM 從給定分子中刪除特定官能團。
替換元件 (SubComponent): 指令 LLM 從給定分子中刪除特定官能團,並新增新官能團。
2. 分子最佳化(MolOpt)
最佳化 LogP 值 (LogP): 指令 LLM 最佳化分子結構,使其 LogP 值降低或升高。
最佳化 MR 值 (MR): 指令 LLM 最佳化分子結構,使其 MR 值降低或升高。
最佳化 QED 值 (QED): 指令 LLM 最佳化分子結構,使其 QED 值降低或升高。
3. 定製分子生成(MolCustom)
指定原子數量(AtomNum): 指令 LLM 生成指定數量和型別的原子組成的分子。
指定鍵數量(BondNum): 指令 LLM 生成指定數量和型別的鍵組成的分子。
指定官能團(FunctionalGroup): 指令 LLM 生成包含特定官能團的分子。
每個子任務都包含 5000 個測試樣本,為 LLM 在分子領域的開放域生成能力提供了全面的評估。圖 2 展示了這些任務的示例。
圖 2: TOMG-Bench 中任務的示例。其中右側的分子都被認為是正確的。
資料生成
TOMG-Bench 的測試用例主要針對 MolEdit 和 MolOpt 兩個任務型別生成,MolCustom 任務型別的測試用例則根據需求隨機生成。
1. MolEdit 和 MolOpt 任務:
資料來源:從 Zinc250K 資料庫中隨機抽取分子作為測試樣本。
分子統計:使用 RDKit 工具箱收集分子的基本統計資料,包括分子結構模式、化學性質(如 LogP、MR、QED 值)等。
任務 Prompt:將收集到的分子統計資料整合到預先定義的任務提示中,例如:
MolEdit 任務:具體如下表所示,例如:「請將分子 c1ccccc1O 中的羥基替換為羧基。」
MolOpt 任務:具體如下表所示,例如:「請最佳化分子 c1ccccc1O,使其 LogP 值降低。」
2. MolCustom 任務:
資料來源:隨機生成滿足特定要求的分子指令,例如:
AtomNum 子任務:「請生成一個含有 6 個碳原子和 1 個氧原子的分子。」
BondNum 子任務:「請生成一個含有 10 個鍵的分子。」
FunctionalGroup 子任務:「請生成一個含有苯環和羧基的分子。」
任務 Prompt: 如下表所示:
評估指標
1. MolEdit 和 MolOpt 任務:
成功率 (Success Rate): 透過化學工具箱(例如 RDKit)自動測試生成的分子是否滿足要求。例如,對於 MolEdit 任務的 AddComponent 子任務,會檢查生成分子中是否包含指定數量的目標官能團;對於 MolOpt 任務的 LogP 子任務,會檢查生成分子的 LogP 值是否符合最佳化方向。
相似性 (Similarity): 評估生成分子與原始分子之間的相似程度。使用 Tanimoto 相似度計算方法,將分子轉換為 Morgan 指紋,然後比較指紋的交集和並集。
有效性 (Validity): 評估生成分子的化學有效性,即是否遵循分子結構的語法規則。
2. MolCustom 任務:
成功率 (Success Rate): 透過化學工具箱自動測試生成的分子是否滿足指定的原子數量、鍵數量或官能團要求。
新穎性 (Novelty): 評估生成分子與現有分子之間的差異程度。選擇 Zinc250K 資料庫作為參考,計算生成分子與現有分子之間的平均 Tanimoto 相似度,並以此作為新穎性評分。
有效性 (Validity): 與 MolEdit 和 MolOpt 任務相同,評估生成分子的化學有效性。
3. 平均加權成功率 (Average Weighted Success Rate):
由於僅靠成功率無法反映分子編輯和最佳化的過程(即生成的分子究竟是基於給定分子編輯而來還是從頭生成的);同時新穎性又是定製分子生成的一個重要考量指標。為了綜合評估 LLM 在 TOMG-Bench 上的平均效能,我們引入了平均加權成功率指標,該指標將相似性評分和新穎性評分作為成功率權重,以平衡評估結果。
OpenMolIns 指令微調資料集
OpenMolIns 是一個專門為 TOMG-Bench 開發的指令微調資料集,旨在幫助 LLM 更好地理解和執行開放域分子生成任務。
1. 資料來源:
OpenMolIns 的資料來源於 PubChem 資料庫,而非 Zinc250K 資料庫。
為了避免資料洩漏,OpenMolIns 資料集中的分子與 Zinc250K 資料庫中的分子互不重疊。
2. 資料結構:
OpenMolIns 資料集按照五個不同的資料規模進行構建:
輕 (Light): 包含 4,500 個樣本
小 (Small): 包含 18,000 個樣本
中 (Medium): 包含 45,000 個樣本
大 (Large): 包含 90,000 個樣本
超大 (Xlarge): 包含 1,200,000 個樣本
每個資料規模中,九個子任務的樣本數量均勻分佈。
3. 資料內容:
OpenMolIns 資料集包含九個子任務的指令和對應的目標分子結構:
AddComponent, DelComponent, SubComponent (MolEdit): 指令 LLM 對分子進行新增、刪除或替換官能團的操作。
LogP, MR, QED (MolOpt): 指令 LLM 最佳化分子的 LogP、MR 或 QED 值。
AtomNum, BondNum, FunctionalGroup (MolCustom): 指令 LLM 生成指定原子數量、鍵數量或官能團的分子。
每個樣本都包含一個指令和其對應的目標分子結構,用於指導 LLM 的訓練和微調。
4. 資料格式:
OpenMolIns 資料集採用 SMILES 字串表示分子結構。
指令採用自然語言文字形式,描述對分子的操作或要求。
透過 OpenMolIns 資料集,LLM 可以更好地學習如何根據文字指令生成符合要求的分子結構,從而提升其在 TOMG-Bench 上的效能。
實驗結果和發現
TOMG-Bench 的實驗結果揭示了 LLM 在分子發現領域開放域生成能力的一些重要發現:
1. 開放域分子生成任務具有挑戰性:即使是先進的私有模型,例如 Claude-3.5 和 Gemini-1.5-pro,在 MolCustom 任務上的成功率也低於 25%,表明 LLM 在從零開始生成分子結構方面仍存在較大挑戰。
2. 開源模型表現追趕迅速:在 TOMG-Bench 上,開源模型 Llama-3.1-8B-Instruct 的平均加權成功率超過了所有開源通用 LLM,甚至超過了 GPT-3.5-turbo。這表明,即使沒有經過化學相關語料庫的預訓練,開源模型也具備較強的分子理解和生成能力。
3. 模型能力與效能正相關:實驗結果表明,模型能力與在 TOMG-Bench 上的效能呈正相關。例如,Llama-3.1-8B-Instruct 的效能優於 Llama-3.2-1B-Instruct,而 Llama-3.70B-Instruct 的效能又優於 Llama-3.1-8B-Instruct。這表明,更大的模型通常能夠生成更高質量的分子結構。
4. ChEBI-20 資料集不足以訓練 LLM進行分子-文字對齊:儘管 ChEBI-20 資料集在分子-描述翻譯任務中表現出色,但實驗結果顯示,在 TOMG-Bench 上,基於 ChEBI-20 資料集微調的 LLM 效能較差。這表明,ChEBI-20 資料集缺乏足夠的多樣性,無法有效地訓練 LLM 掌握分子結構的複雜性和多樣性。
5. 資料規模對效能的影響:實驗結果表明,資料規模對 LLM 在 TOMG-Bench 上的效能有顯著影響。例如,Galactica-125M 在 OpenMolIns-xlarge 資料集上的表現優於 Llama3-70B-Instruct,這表明更大的資料集可以進一步提升 LLM 的效能。
6. TOMG-Bench 可以反映大語言模型的領域泛化能力,儘管現有的LLM在一些現有的 benchmark 上(如數學)表現出色,但是他們可能是「偏科生」:能力難以泛化到預訓練中所欠缺的任務上,這種「偏科」很有可能影響使用者實際使用 LLM 的體驗。因此,TOMG-Bench 在某些情況下也能幫助我們發現現有模型的不足之處,並提供了改進思路。
Leaderboard
在TOMG-Bench 的上排名靠前的模型如下(前五名):
Claude-3.5: 平均成功率為 51.10%,加權成功率為 35.92%。
Gemini-1.5-pro: 平均成功率為 52.25%,加權成功率為 34.80%。
GPT-4-turbo: 平均成功率為 50.74%,加權成功率為 34.23%。
GPT-4o: 平均成功率為 49.08%,加權成功率為 32.29%。
Claude-3: 平均成功率為 46.14%,加權成功率為 30.47%。
Llama-3.1-8B (OpenMolIns-large): 排名第六,平均成功率為 43.1%,加權成功率為 27.22%。這表明 OpenMolIns 資料集能夠有效地提升 LLM 在分子生成任務上的效能。
圖 3: TOMG-Bench 的Leaderboard
總結
TOMG-Bench 是第一個用於評估大型語言模型 (LLM) 開放域分子生成能力的基準。其包含一個資料集,包含三個主要任務:分子編輯 (MolEdit)、分子最佳化 (MolOpt) 和定製分子生成 (MolCustom)。
每個任務進一步包含三個子任務,每個子任務包含 5,000 個測試樣本。鑑於開放域分子生成的固有複雜性,一個自動化評估系統將用於衡量LLM生成的分子質量。
對 25 個 LLM 的綜合基準測試揭示了文字引導分子發現中當前的限制和潛在的改進領域。
此外,在 OpenMolIns 指令微調資料集的幫助下,Llama3.1-8B 能夠優於所有開源通用 LLM,甚至在 TOMG-Bench 上比 GPT-3.5-turbo 高出 46.5%。
這裡的測試指令碼和資料集均已開源,歡迎大家來嘗試 TOMG-Bench,也歡迎大家來刷榜!