天天看點

唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

作者:未來論壇
唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

《了解未來》科學講座AI for Science系列03期,我們特别邀請到加拿大魁北克省人工智能研究中心(Mila)副教授、加拿大高等研究院(CIFAR)人工智能講席教授唐建以《生命科學中的生成式人工智能:如何搭建生命科學的“ChatGPT”》 為題介紹了生成式人工智能在生命科學的應用。人工智能和生物技術的研究正處于黃金時期。語言生成模型如 ChatGPT 在對話系統領域取得了很大的突破,是以,研究者們正在探索是否能在生物制藥領域搭建類似的人工智能模型。在人工智能與生物醫藥的交叉領域已有了許多的探索,例如:GeoDiff 應用在小分子的三維構象預測;E3Bind 應用在蛋白質-配體複合物結構預測;ProtSeed 同時生成新的蛋白質結構和序列。

唐建:非常感謝曉亮老師的邀請和介紹,今天非常榮幸能夠有這個機會在未來論壇分享我對人工智能未來在生命科學發展的一些看法,和我們團隊做的一些工作。

我今天重點介紹的是生成式人工智能,因為大家知道,生成式人工智能最近有比較快速的發展,特别是去年年底釋出的ChatGPT引起了廣泛的關注。

我們今天探讨的問題是:我們有沒有可能在生命科學領域搭建一個類似ChatGPT的模型呢?

我先介紹大的背景。我們現在正處在做研究最好的時代,因為我們其實正在經曆着人工智能與生物技術這兩種技術的雙重技術革命。一方面在人工智能領域,人工智能最近十年快速發展,從2012年的ImageNet的技術突破到現在為止差不多有十年多的時間,在這期間有很多重要的技術革命,比如說以AlphaGo為代表的強化學習技術,我們知道在2016年的時候,DeepMind開發的AlphaGo系統已經能夠打敗人類最好的圍棋選手。最近兩年,生成式模型,比如說GPT3、ChatGPT這種語言生成模型能夠生成比較逼真的文字。除此之外,圖機器學習、幾何深度學習這幾年也快速發展,其中最為經典的就是AlphaFold2這個蛋白質結構預測結構模型。AlphaFold2本質上是一個幾何深度學習模型,它最核心的思想是對氨基酸跟氨基酸在空間上的幾何關系進行模組化,有了這個氨基酸跟氨基酸空間上的幾何關系之後,我們就能夠比較準确地預測它們在空間上的三維結構,這個是在人工智能方面的技術革命。

唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

另一方面生物技術近十年的發展也特别迅速,特别是以基因測序、基因合成、基因編輯這些技術為代表,現在我們可以高通量低成本地進行基因合成、基因測序以及基因編輯,進而獲得大量的實驗資料。

另外一方面随着以冷凍電鏡為代表的結構解析技術的快速發展,我們可以很快地去解析蛋白質的結構跟功能。

在人工智能技術這塊,我重點想介紹一下生成式人工智能。生成式人工智能(AIGC)最近兩三年的AIGC快速發展。生成式人工智能它最核心的思想是什麼?它本質上是基于大量網際網路上的資料,比如大量的文本資料、大量的圖像資料、大量的代碼資料進行訓練之後,我們可以讓模型生成全新的非常逼真的文本、圖像以及代碼。

舉個例子,文本生成模型GPT-3,它在基于大量的文本資料進行訓練之後就可以生成全新的文本,比如說在這個例子裡面,我們可以輸入一句話,GPT-3就可以補充接下來的段落,這是文本生成膜型。類似的還有圖像生成模型,比如我們可以基于一個文本的描述去生成符合這個文本語意的圖像,比如在這個例子裡面一個沖浪的熊貓,我們輸入一句話,AI模型可以生成符合這個語意的圖像。另外一個生成模型是現在讨論比較多的ChatGPT,ChatGPT是一個大規模的語言模型,對它進行優化之後,它能夠用于對話系統,使用者可以輸入一句話,我們的AI模型會傳回相應的答案,當然這個答案是AI全新生成的文本,不是說從别的地方搬過來的,使用者可以再進一步跟它對話,然後機器人可以進一步提供回報,是以它本質是一個聊天機器人。

當然,ChatGPT它的過程是什麼樣的呢?首先,它是大規模的預訓練語言模型,針對網際網路上大量的文本以及代碼資料進行預訓練,對模型進行預訓練相當于讓模型了解了這些網際網路上的資料(文本以及代碼)。當然隻是進行這個預訓練之後,這個模型還是不能用來應用在對話系統的,是以我們之後會進一步對它進行優化,讓它去能夠用于做對話的任務。

我們怎麼優化呢?我們首先會去收集一些帶标簽的資料,比如我們會提供一些使用者的場景,然後人去回答,給出相應的答案,我們可以收集很多這樣的資料,有了這樣的聊天問答資料之後,我們能夠進一步去優化語言模型,這樣的話我們就能夠進行問答了,是以這個是第二步,就是通過标簽資料進一步去優化這個模型。有了這個優化好的模型之後,第三步是讓這個模型進一步跟人去進行互動,比如這個人就可以提供一些答案,這個人可以提供一些回報,這實質上是一個強化學習的過程,通過強化學習我們可以進一步去優化這個模型,最後就得到了一個專門用于聊天對話的機器學習模型,這是生成式AI最近幾年非常具突破性的一個進展。

剛才說了生物領域也經曆了技術革命,特别是基因測序、基因合成為代表的技術。這些技術的進展使我們擁有大量的蛋白質序列資料和抗體序列資料(如UniProt),我們還可以去測CDR得到很多的抗體序列資料。同時,我們也有高通量的濕實驗平台,通過高通量地測試AI設計的抗體或者蛋白質序列獲得很多帶标簽的實驗資料。

剛才也說了以冷凍電鏡為代表的結構解析技術,現在可以很快地解析蛋白質的結構。這是PDB中結構資料數量不斷增加的原因之一,也是AlphaFold2成功非常重要的原因,因為PDP裡面現在有幾十萬的結構資料。

基于這兩點,我們現在看到生成式人工智能在藥物發現領域一個非常大的機會,特别是在蛋白質設計方面。為什麼呢?因為對于藥物發現而言,或者對于蛋白質設計而言,它的核心目标是什麼?它的目标是去設計全新的蛋白質分子。是以我們希望開發一個機器學習模型,它能夠生成全新的蛋白質分子。其實生成模型就是用來做這個事情,我們可以利用生成式模型去生成全新的蛋白質,生成全新的分子,這樣的話,可以幫助我們找到更好的藥物分子。

當然,生成式人工智能依賴于大量的資料,比如對于ChatGPT,它是基于大量網際網路上的文本、代碼上的預計進行預訓練。在生物醫藥領域,由于現在基因測序、基因編輯、基因合成以及冷凍電鏡等技術的發展,我們有大量的資料,比如大量的蛋白質序列資料,大量的抗體序列資料,以及結構資料,基于這些資料的話,我們也可以去預訓練一個生成模型,然後基于這個生成模型,我們可以去生成全新的蛋白質。

當然我們可以看到,ChatGPT這樣的語言模型在經過預訓練後,它需要進一步通過與人的互動來優化這個模型。類似的,我們在藥物發現裡面有了這樣一個預訓練模型能夠生成新的蛋白質分子之後,我們也希望進一步對它進行優化。當然,現在在這個情形下,我們就不是說與人互動獲得回報,在生物醫藥領域裡,其實我們可以把AI模型跟濕實驗平台互動得到回報,比如說通過生成模型可以設計新的蛋白質序列,設計新的抗體序列。這些序列可以在濕實驗平台進行合成,進行表達、提純、測試,得到活性資料,得到功能資料,這些資料作為回報,進一步回饋到生成模型,是以我們可以基于這些回報資料進一步優化模型。

唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

是以說我們可以看到,在生物醫藥這個領域裡面,其實我們看到了一個同樣的機會,我們也可以開發類似于ChatGPT這樣的模型。因為在這個領域裡面,我們現在有很多資料,我們也可以通過跟高通量濕實驗的平台得到很多的回報,進一步優化這個模型。

舉個例子,比如我們做抗體序列的設計,在ChatGPT裡面,可能使用者有一個問題,在這裡的話,我們的問題可能就是一個抗原的序列,或者說抗原的結構,我們的AI模型也會提供一個答案,它的答案就是由AI生成的抗體序列,這不再是與人互動得到回報,而是進一步跟濕實驗平台對這些序列做測試得到回報,最後回報資料進一步回到AI模型。最後通過幾輪AI的模型跟濕實驗的平台進行互動之後,我們就有可能找到我們想要的分子,這是一個大的思路。

唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

接下來我就介紹我們團隊生成式人工智能在生物醫藥做的工作,我們在小分子和大分子上都做了一些工作。早期的時候做的工作更多是關于小分子的一些模組化,第一個工作是關于小分子的三維結構預測,我們知道三維結構預測是一個非常基礎的問題,AlphaFold2針對的就是蛋白質大分子的三維結構預測。我們當時做的這個問題實際上是跟蛋白質結構預測非常相似,我們這裡沒有做大分子蛋白質的結構預測,我們做的是小分子的結構預測。對小分子的結構預測,它的輸入就不是氨基酸序列,而是小分子的化學式,或者小分子的圖結構,基于這個圖結構,我們想去預測它的三維構象。

我們團隊對這個問題研究已經有一段時間,在AlphaFold2出現之前就一直在研究,我們最新的工作是利用現在比較熱門的擴散生成模型去做分子的三維構象的預測,這也是學術界第一個将擴散生成模型用于對分子的三維結構進行模組化的工作。擴散生成模型本質上是做什麼事情呢?它實際上是要建立兩個分布之間的對應,在右邊是資料分布,比如說是分子的三維構象,左邊就是一個噪聲分布,在擴散模型裡面首先有一個前向的過程,從資料分布到噪聲分布,我們通過加一些噪音,做一些随機擾動,在每一步把原子的坐标進行随機擾動,進行多次擾動之後,分子的構象就退化成一個完全随機的噪聲了,這是擴散模型的前向擴散過程。

唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

在實際情形中,我們關心的是另外一個過程,就是反向的生成過程,也就是我如何從一個随機的結構出發生成一個穩定的結構,在這個生成過程在每一步需要做的就是去噪,我們從一個完全随機的分子三維構象,通過不斷地去噪,不斷得到更好的分子三維構象。是以說這個模型裡面最重要的組成部分就是去噪網絡。那麼如果跟實體原理聯系起來,怎麼了解我們神經網絡的每一步呢?在每一步可以了解為我們模型在學習作用在每個原子上的力。我們是利用神經網絡、用資料驅動的方法去學習力場。當學習到作用在每個原子上的力之後,我們可以根據力場調整原子的位置,然後慢慢地收斂到一個穩定的結構。另外因為原子上的力,它實際上是符合旋轉、平移等變性,也就是說如果我旋轉我輸入的結構,我作用在原子上的力也是要做對應的旋轉,是以我們的神經網絡實際上也需要符合這樣一個性質。

這裡我展示一下例子,這是我們輸入不同的分子圖,最後模型其實能夠做到多個不同的穩定的結構,右邊的示意圖是擴散模型如何去找到分子比較穩定的結構。剛開始的時候每個原子的位置都是随機初始化的,在每一步的去噪過程,每一步我們會去模拟作用在每個原子上的力,通過這個力來調整每個原子坐标,通過多步這樣的去噪之後,最後整個分子就收斂到一個比較穩定的結構。是以它其實有點像是在用資料驅動的方法學習力場,這就是單個分子的結構預測。

後來我們對這個工作進一步進行了拓展,我們想能不能去預測複合物的結構呢?比如我們預測蛋白質和配體的複合物結構,對于這個問題輸入還是有一個小分子的圖結構或者它的化學式,除了小分子的圖結構,在這個情況下我們的輸入還有蛋白質的三維結構。基于這兩個輸入的話,我們想去預測最後蛋白質和小分子兩者結合的情況,也就是它們的複合物結構。對于這個問題,我們提出了一個編碼跟解碼器這樣一個架構,是以其實它本質上也是基于擴散生成模型的。我們這個模型首先有一個編碼器,它最主要的目的是對分子圖、蛋白質的結構以及它們之間的互相作用進行模組化。在利用編碼器對它們之間互相作用的模組化過程中會考慮到它們的幾何限制。在編碼器後,我們進一步會有一個解碼器,會進一步推斷這個複合物的結構,這個解碼器本質上就是一個生成模型,或者是一個去噪網絡。是以剛開始的時候,蛋白質跟配體的結構也是随機初始化的,每一步也會做去噪,或者優化複合物結構,經過多輪優化之後,最後能夠收斂到一個比較穩定的結構。

這個圖展示了模型如何去推斷複合物結構的過程,綠色是蛋白質的結構,右邊灰色是真實的配體結構,粉紅色是模型預測的配體結構。我們可以看到,剛開始的時候粉色的結構是随機初始化的,模型在每一步會去優化、調整配體的結構,經過多輪優化之後,我們可以看到這個模型的預測就能夠收斂到真實的配體位置,是以上我們在每一步也可以看作是在去噪,通過學習一個力場去調整原子的位置。這邊是一些量化的名額,與傳統的方法做了對比,我們已經有比較大的提高,當然未來還有比較大的提升空間。

前面是關于小分子這塊做的工作,我們最近基于擴散生成模型開始做很多大分子蛋白質設計方面的工作,蛋白質設計裡一個非常重要的問題是從頭設計(De novo design)——有沒有可能通過AI的方法去生成或者設計全新的蛋白質結構和序列。在從頭設計這一領域,最近兩三年已經有了比較大的突破,比如美國華盛頓大學David Baker在前兩年開發了RoseTTAFold,後面他們又進一步将模型拓展到蛋白質設計領域,他們去年釋出了RFdiffusion這個算法,它本質上也是一個擴散模型,是用于蛋白質設計的,它的核心思想是基于整個PDB的結構資料做訓練,然後生成全新的蛋白質結構和序列。

我舉個例子,比如說現在有一個靶點,我們想去設計一個配體,RFdiffusion可以通過兩階段去設計它。首先基于這個靶點,模型會生成一個結構,這個結構可能會跟這個靶點結合。當然第一步隻是得到了結構,并沒有得到序列,是以在第二步的時候會利用一個序列設計模型(如ProteinMPNN),基于這個結構進一步設計蛋白質序列。這是他們現在一個比較好的算法,他們基于這個算法對很多靶點都進行了序列設計,在實驗當中現在的成功率還是非常不錯,特别是與兩三年前他們開發的實體算法已經有了比較大的提高。這個RFdiffusion算法和RoseTTAFold,他們之前開發的蛋白質結構預測算法實際上是非常相似的,它們本質上都是在每一步不斷優化結構。當然與RoseTTAFold不一樣的是,RoseTTAFold的序列是給定的,而在RFdiffusion擴散生成模型裡面,這個序列沒有給定。

我們在這個方向也做了一些工作。這是我們去年做的一個工作,我們的工作與他們的算法有些不同。他們的算法是兩階段的,首先去設計結構,再去對結構進行設計。我們提出了一個新的算法,同時設計蛋白質結構和序列。這個算法基于擴散生成模型,剛才說了擴散生成模型最核心的思想就是每一步進行去噪,去優化結構,以及同時優化序列。是以在這個方法裡面,我們其實也是有這樣一個去噪網絡,我們的輸入是一個蛋白質序列,蛋白質結構,以及靶點的相關資訊,而我們的模型會重新去針對這個靶點去優化蛋白質序列和結構,這是一步,我可以通過多步這樣的過程不斷優化,直到最後找到一個比較理想的蛋白質結構和序列,這是我們模型的核心思想,它本質上也是基于擴散生成模型。

基于這個模型,我們做了一些蛋白質設計,一個是做抗體的CDR loop的設計。我們現在有一個抗原跟抗體的複合物,我們設計的時候把抗體的六個CDR loop遮蓋掉,利用我們的模型重新生成新的CDR loop,我們發現我們模型找到的結構和序列與自然界當中真實存在的抗體的差距比較小,也就是說我們現在模型能夠很好地還原出那些自然界已經存在的抗體序列,這是一個例子。

唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

另外,我們也做了一些其他的例子,比如說在這個例子裡面,對一個自然界當中的蛋白質,比如說這塊有一個loop,我們希望它能生成更長的loop,這個例子裡我們實際上是設計了不同大小的β-桶狀蛋白,而對于這個例子,我們實際上是去設計了具有指定個數的α-螺旋跨膜蛋白。

最後這個例子,我想簡單介紹一下我們最近基于生成模型或者ChatGPT這類模型在抗體設計、優化上的最新的工作。對于抗體優化,首先我們有一個抗體跟抗原的複合物結構。在這種情況下,很多時候我們在實驗當中得到了抗體,它的親和力是不夠好的,我們可能會對這個抗體進行一些突變,去優化它的親和力。我們其實最近的工作也是搭建了一個類似于ChatGPT的模型,這個模型其實也是包含三部分,第一部分是有預訓練生成模型;第二部分是基于監督學習對生成模型進行優化,然後我們再把這個模型跟濕實驗進行閉環,進行互相回報優化。我們首先是基于大量的蛋白序列以及蛋白質複合物結構進行了預訓練,經過預訓練後,得到的AI模型能夠比較好的了解蛋白質跟蛋白質是怎麼去結合的。此外我們還有一個帶标簽的實驗資料集,SKEMPI資料——給定一個蛋白質的複合物,然後大家對一些它的interface上的氨基酸進行突變,突變完了之後能量的變化,我們就得到了實驗資料。基于這個資料集,我們對AI模型進行了優化,最後我們就可以得到一個蛋白質優化或者抗體優化模型。然後我們再去基于這個AI模型設計一些新的抗體序列,在濕實驗裡面做測試,去測親和力,得到這些活性或者親和力資料之後,我們再回報給AI模型,做重新一輪的AI的序列設計,經過多輪之後,我們就可以找到比較理想的抗體序列或者分子。

展示一下我們做的實際的濕實驗的結果,這是跟複旦大學做的合作,對CR3022這樣一個新冠抗體進行了優化,CR3022是從病人身上得到的一個抗體,我們是基于AI模型去做了序列設計,進行了濕實驗測試,現在疊代了兩輪之後,我們發現了比較理想的抗體分子,它實際上是原來的抗體分子經過三個突變産生的新抗體分子,與原先的抗體分子對它的親和力強了很多,比如說對于德爾塔這個變種,親和力提高了3倍,對于奧密克戎這個最新的變種,我們發現我們找到的最新抗體的序列跟原來的序列,親和力提高了接近9倍。

唐建:生命科學中的生成式人工智能:如何搭建生命科學的ChatGPT

最後稍微提一下,特别同意剛才鄂維南院士說的,我們需要建立一個社群,一個平台,來推動AI for Science,是以我們團隊也是在積極建立開源社群,TorchProtein是我們跟幾個公司建立的一個專門針對蛋白質表征學習和設計的開源機器學習平台。

總結:現在我們處在最好的時代,因為我們正在經曆着人工智能和生物技術的雙重技術革命。在人工智能領域,生成式模型快速發展,我們現在可以基于大量的資料,文本資料、圖像資料、代碼資料訓練生成模型,進而生成全新的文本、圖像或者是代碼。另外一方面,在生命科學領域,由于基因測序、基因編輯、基因合成、冷凍電鏡這些技術的快速發展,生命科學領域的資料快速增長,而且增長速度已經高于摩爾定律。有了這些資料之後,我們可以對我們的生成模型進行訓練,之後我們可以生成全新的藥物分子。AI設計得到的藥物分子可以進一步跟濕實驗平台進行互動,進行閉環優化。生成式模型未來不僅僅是在生物醫藥,在其他的領域,包括農業、食品、材料、能源、環境等多個領域都會産生重要的影響。

我今天的分享就到這裡,謝謝大家。

版權說明:

未經主辦方及/或嘉賓授權,任何機構和個人不得以任何方式傳播視訊中及文中的PPT内容;

未經授權嚴禁任何形式的媒體轉載和摘編,并且嚴禁轉載至微信以外的平台!