把 169861 個生物物種數據裝進大模型,大模型竟 get 到了生物中心法則的奧秘——
不僅能識別 DNA、RNA 與相應蛋白質之間的內在聯系,在基因分類、蛋白質相互作用預測、熱穩定性預測等 7 種不同類型任務中也能比肩 SOTA 模型。
模型名為LucaOne,由阿里云飛天實驗室生物智能計算團隊打造。
相比 AlphaFold 3 因未開源遭到 650 多名學者聯名批評,LucaOne 訓練推理代碼及相關數據目前均已開源。
LucaOne 是目前首個全生物系統的核酸語言 + 蛋白語言的融合基座模型。換句話說,LucaOne 由核酸(DNA、RNA)和蛋白質序列聯合訓練而來。
通過一系列實驗,研究人員發現它能廣泛適用各種下游任務。
在含 13 個物種、關系對總數量為 24000 的核酸序列和其對應蛋白的正負樣本數據集中,LucaOne 提供表征的模型達到 0.85 的預測準確率。
遠高于目前業內最好的預訓練模型組合 ESM-3B+DNAbert2(0.73)及其他建模方式,也顯著高于 LucaOne 的單核酸訓練版本 + 單蛋白訓練版本。
其他任務如針對流感 H3N2 病毒疫苗有效性(免疫逃逸風險)的預測,LucaOne準確率可達 100%。
量子位也聯系到了論文一作,聊了聊 LucaOne 的實現細節,以及 AI for Science 在生物科學領域的發展。
核酸和蛋白質序列聯合訓練
總的來說,LucaOne 圍繞中心法則的數據進行構建,能夠學習到中心法則背后的原理和邏輯,可提取基因轉錄和蛋白質翻譯過程中固有的復雜模式和關系,在使用層面相當于提供了一個對 DNA、 RNA、蛋白質的無差別表征。
PS:
分子生物學的中心法則即遺傳信息從 DNA 傳遞給 RNA,再從 RNA 傳遞給蛋白質的過程,這一過程包括 DNA 的復制、RNA 的轉錄和蛋白質的翻譯。
展開來看,LucaOne 整個工作流是這樣嬸兒的:
從技術上講,構建 LucaOne 的難點首先是數據集的構建。
在生命科學領域,真實存在的只是分子數據。
例如,核酸的表示方式是 4 種堿基。DNA 是腺嘌呤(A)、鳥嘌呤(G)、胞嘧啶(C)和胸腺嘧啶(T);RNA 是腺嘌呤(A)、鳥嘌呤(G)、胞嘧啶(C)、尿嘧啶(U)。蛋白質由氨基酸組成,自然界存在的氨基酸大約有 20-22 種,每種氨基酸也用一個字母表示。
而人類為理解這些分子的性質與作用,通常需要添加很多注釋信息,包括一些圖片的注釋。注釋信息屬于人類語言,自然界本身不存在,從而就形成了一種生命科學領域的從 " 自然界 " 語言到 " 人類文化 " 語言的跨模態。
因此,LucaOne 的預訓練數據不僅包含 DNA、RNA、蛋白質這三類分子的序列(核苷酸序列或者氨基酸序列)數據,同時還使用了這些分子的注釋信息。
總共涵蓋了 169861 個物種的核酸和蛋白質序列和注釋信息,分為兩部分:
核酸數據集來自 RefSeq,包括核酸序列及注釋;蛋白質數據集來自 InterPro、UniProt、ColabFold、RCSB-PDB、AlphaFold2,包括蛋白質序列、注釋和三維結構。
據介紹,在數據集的收集處理方面,阿里云飛天實驗室與中山大學、浙江大學等多個團隊進行了合作。
另一大難點是生物分子序列的預測和大語言模型預測下一個 token 不同,在模型訓練階段還需要一些專門的設計。
LucaOne 采用了Transformer-Encoder架構,由 20 個編碼器塊組成,嵌入維度為 2560,總參數量1.8B。
研究人員在此基礎上進行了一些優化:
使用 Pre-Layer 歸一化代替 Post-Layer 歸一化,以便更好地訓練深層網絡;使用旋轉位置嵌入(RoPE)代替傳統絕對位置編碼,以推理更長序列。
此外,在數據處理和模型訓練過程中,核苷酸和氨基酸用統一的方式進行表征或編碼。通過 token-type embeddings 實現核酸和蛋白質序列的混合訓練,區分核苷酸(0)和氨基酸(1)。
在兩個自監督掩碼任務的基礎上,研究人員還增加了八個半監督預訓練任務,通過序列注釋增強模型對數據的理解。
已能理解基因和蛋白對應關系
為驗證核酸和蛋白質數據混合訓練的優勢,研究人員分別使用核酸和蛋白質數據單獨訓練了兩個額外的模型—— LucaOne-Gene 和 LucaOne-Prot,并使用相同的 5.6M checkpoint 在分子生物學中心法則任務中進行了比較。
使用 t-SNE 可視化說明,與其他模型相比,LucaOne 的嵌入在兩個數據集上呈現出更緊密的聚類,可能包含了更多上下文信息。
為驗證 LucaOne 通過廣泛學習基因及蛋白語言,已具備對生物學中心法則里的基因和蛋白對應關系的理解能力,研究人員設計了一個數據集及評測任務。
選取 13 個物種的核酸序列和其對應蛋白的正負樣本數據集,關系對總數量為 24000,其中正負樣本比例 1:2。基因序列數據是其在基因組的原始數據,包括了大量的非編碼區(內含子,調控元件,及 " 垃圾片段 " 等)。
采用訓練:驗證:測試比例為:4:3:25;即僅 3200 組數據作為訓練,18750 組數據作為測試集來預測其核酸序列是否可以翻譯成數據組里的蛋白序列。
結果 LucaOne 提供表征的模型達到0.85的預測準確率,不僅遠高于目前業內最好的預訓練模型組合 ESM-3B+DNAbert2(0.73)及其他建模方式,也明顯高于 LucaOne 的單核酸訓練版本 + 單蛋白訓練版本。
這表明這兩種大分子數據聯合訓練可以顯著增強模型的學習效果。
有意思的是,研究人員發現在模型細分表現里,LucaOne海鞘這種生物里的預測表現比較差(其他模型也類似),進一步分析海鞘的特性表明,因為進化適應性等各種原因,海鞘利用中心法則的具體規則 - 密碼子偏好性,和其他生物明顯不同。
他們猜測 LucaOne 可能用的是另一種中心法則語法" 方言 ",而這種 " 方言 " 在訓練數據集里僅有 100 條,因此模型沒有很好的學習到這種規則。
在其他下游任務中,LucaOne 對不同類型輸入的下游任務也廣泛適用。
具體來說,研究人員評估了 7 個不同類型的下游生物計算任務,包括 :
單序列任務:GenusTax(屬分類)、ncRNAFam(ncRNA 家族分類)、ProtLoc(蛋白質亞細胞定位)、ProtStab(蛋白質熱穩定性預測)。同源序列對任務:InfA(流感血凝素分析)、PPI(蛋白質相互作用預測)。異源序列對任務:ncRPI(ncRNA- 蛋白質相互作用預測)。
為簡化下游任務,研究人員使用了三種對應不同輸入形式的簡單網絡架構:
結果表明,GenusTax、ProtStab、ncRNAFam、InfA、PPI 任務上,LucaOne 顯著優于其他模型;ProtLoc 任務上,LucaOne 與 ESM2-3B 相當,優于 SOTA;ncRPI 任務上,LucaOne 優于 DNABert2+ESM2-3B 的組合:
值得一提的是,在流感 H3N2 病毒的免疫逃逸風險預測中,研究人員采用了 1968 年至 2010 年間分離的大規模 H3N2 病毒 HA 序列數據進行了基于流感毒株抗原關系的預測模型。
通過病毒 HA 抗原序列來預測其是否會誘導 HIA 實驗的血凝現象,進而預測其是否在特定人群中會發生免疫逃逸。
要知道,目前預防與控制流感最有效的方法是接種流感疫苗,但是由于流感病毒極快的變異速度,導致不能及時與準確地推薦與流行病毒相匹配的流感疫苗株。根據 WHO 和 CDC 的監測,流感疫苗的有效性在 40%-60% 之間。因此準確預測流行毒株,判斷免疫逃逸風險是一個重要且困難的命題。
研究人員使用基于 LucaOne+ 一層感知機的模型達到了 100% 的準確率。
這也說明 LucaOne 學習的大量核酸序列信息,包括大量其他病毒序列,為計算特定任務提供了很好的信息補充。
更多細節,感興趣的家人們可查看原論文。
"Science for AI"
如前文所述,LucaOne 背后開發團隊來自阿里云飛天實驗室 LucaTeam,LucaTeam 也與多個團隊展開了深度合作。
中山大學醫學院施莽教授及其團隊參與了 LucaOne 模型的數據設計與驗證。施莽教授認為:
LucaOne 是一項極為重要的嘗試。最讓我驚訝的是,在沒有任何先驗知識的前提下,LucaOne 確實能夠更有效地學習中心法則中核酸與蛋白質之間的對應關系。
中國醫學科學院北京協和醫學院病原生物學研究所所長、美國微生物科學院會士舒躍龍教授及其團隊參與了 LucaOne 在流感病毒方面的分析與驗證工作。舒躍龍教授表示:
將前沿的 AI 技術與病原生物學相結合具有重大的科學意義和社會價值。通過這種緊密的跨學科協作,我們能探索更多病原生物起源進化、跨種傳播以及感染致病等方面的規律,為傳染病防控和生物安全做出更大的貢獻。
此外,論文一作賀勇是阿里云飛天實驗室生物計算高級算法專家,我們也就 LucaOne 與其展開聊了聊 AI for Science 在生物科學領域的發展。
在他看來,AI for Science 在生物科學領域正處于剛起步的階段,考慮到 AI 可解釋性的問題,基本上現在他們還只是把 AI 當做一個工具,但同時現在是發展 AI for Science 的一個很好的時間節點。
因為現在測序技術發展非常迅速,測序成本下降很多,分子序列數據很容易就能獲得。有了數據大量的積累,就可以數據驅動的 AI for Science 相關工作。
不過,目前的局限在于測序得到還是分子的序列數據,而真實世界每個分子的存在是一個空間結構,這可能就需要更復雜的模型來處理。
而不同學科間的研究方法不同、探索微觀世界也受限于目前的設備技術,賀勇認為人類對生物科學這個領域的認識目前也只是冰山一角,還無法從全局角度構建一個全面通用的系統。
最后他還補充道:
目前大家對 AI for Science 越來越重視,相當于用 AI 去解決具體的問題。我想接下來還應該回過頭來看 Science 能為 AI 帶來什么?解決具體問題是第一步,最后通過問題反哺技術本身其實可能也是應該考慮的。