第338章 哎
肖宿坐在第一排正中間,心情卻不像萬匯楊那麼激動。
這些對目前行業來說幾乎是頂尖的技術,在他看來,需要優化的地方還有很多。
萬匯楊在上面講的時候,他已經把資料從頭到尾看完了。
數據倒沒什麼問題,GeoSculpt的架構設計也基本沿用了他在論文裡鋪好的路線。
但有幾個地方,他在看的時候習慣性地在腦子裡跑了一遍優化方案,覺得還能再調一調。
比如分子對稱群自適應分解模塊,目前的實現是根據分子類型查表匹配點群。
這個方法對常見分子是夠用的,但如果遇到一個全新的、不在表里的分子結構,就需要人工判斷對稱群。
如果能把這個過程自動化,讓小智來做分子對稱性識別,速度至少能再提百分之二十。
小智的解耦率目前已經在恆科的機器人、手機和車載系統上跑了快一個月了,處理這種結構化信息的模式識別應該更快一些。
再比如鞍點搜索那部分,萬匯楊他們用的是他在NS方程論文裡寫的鞍點圓法基礎版本。
但是基礎版本有一個小問題,那就是它在處理多鞍點耦合體系的時候,搜索路徑之間偶爾會發生串擾,導致個別鞍點的收斂速度慢下來。
這個問題他後來在整理NS方程十篇系列論文的時候已經找到了解決方案,只是還沒單獨寫到計算化學的應用里。
如果把這部分補上,多鞍點體系的收斂效率應該還能再上一個台階。
報告廳里的掌聲還在持續,提問環節已經開始了。
萬匯楊正在回答一個來自輝澤製藥研發總監關於蛋白質大分子計算精度的問題,台下不斷有人舉手。
高長安往旁邊看了一眼,發現羅氏的總監正朝這邊走過來,手裡還拿著名片。
在這種場合,如果讓肖宿被人群圍住,那今天下午就不用做任何事了。
他幾乎是在瞬間就做出了撤退的判斷。
他在肖宿耳邊低聲說了一句。
肖宿沒有回頭看那些正在涌過來的人群,只點了點頭,站起身來。
顧清塵也同時起身,三人在人群合圍之前穿過側面那扇不起眼的安全通道,從報告廳的側門安靜地撤了出去。
蘇菲走到第一排的時候,標著肖宿名牌的座位上已經空了,只剩下那份翻完的發布會資料擱在桌上上。
她看了看那個空位,又看了看側門的方向,有些無奈地笑了一下,把名片收回了口袋裡。
化學所三樓實驗室里,幾台工作站正安靜地跑著新的測試數據,機箱風扇發出均勻的白噪音。
透過玻璃能看到樓下報告廳門口還沒散去的人群,三三兩兩的代表還在討論剛才的數據,記者們正扛著攝像機在採訪出場的教授們。
許銘推開實驗室的門,引著肖宿走到中間那台工作站前面。
屏幕上正顯示著GeoSculpt的運行界面,一個苯分子的基態電子結構計算結果靜靜地停在上面,旁邊的日誌窗口滾動著鞍點搜索的疊代記錄。
「目前整個框架的核心算法已經穩定了,學術免費版上線之後,下載量幾分鐘就破千了,伺服器的壓力測試我們在發布前也已經做過一輪了,暫時還沒崩。
但有幾個地方,我們一直覺得還能再優化,就是還沒找到具體的切入點。」
許銘用手指著屏幕上的架構圖,從辛幾何映射引擎一路劃到鞍點搜索優化器,在架構圖上標出了兩個紅色標記點。
第一個是分子對稱性識別模塊,第二個是多鞍點耦合體系的收斂穩定性。
肖宿看了一眼那兩個標記點,跟他剛才在台下看資料時腦子裡跑過的方向一致。
他往前走了兩步,手指在第一個標記點上點了點。
「對稱性識別這部分,你們目前用的是查表法吧。」
許銘點頭:「對,常見分子的點群我們是預先建了表,苯匹配D6h,水匹配C2v,氨匹配C3v,但遇到不在表里的新分子,就只能靠人工判斷。」
「查表法對常見的分子夠用了,」肖宿說,「但是那些表里沒有的結構,每遇到一個新分子就要停下來等人眼判斷,自動化流程在這裡就斷了。」
他走到白板前,拿起馬克筆,在上面畫了一個簡單的分子結構草圖,旁邊標註了它的對稱元素。
「分子點群的自動識別本質上是一個有限幾何判定問題。
對稱操作在笛卡爾坐標系下可以表示成一組三乘三的矩陣,矩陣的跡和行列式決定了操作的類型。
只需要掃描這個分子的所有對稱操作,先找主軸,主軸方向取最高重旋轉軸,再找垂直於主軸的C2軸,然後判斷鏡面和反演中心的有無,最後根據這些對稱元素的組合關係就能直接判定點群。」
他在白板上寫了幾行簡潔的偽代碼。
「這是標準做法,輸入是原子坐標,輸出是點群標籤,覆蓋所有常見的分子點群只需要兩三百行代碼。」
「至於多鞍點耦合收斂速度波動。」
他在白板上畫了幾個鞍點在辛流形上的空間分布,以及從不同初值出發的最速下降路徑。
筆尖在路徑交叉的地方點了點。
「基礎版鞍點圓法在單鞍點場景下是全局最優的,收斂速度有嚴格的理論保證,但是,在多鞍點場景下,多個鞍點各自的吸引域共享邊界,搜索路徑在邊界附近會偶爾產生串擾,表現出來就是收斂曲線局部抖動,個別初值需要額外的疊代步數。」
許銘聽到「吸引域共享邊界」的時候,眉頭微微皺了一下。
這個詞肖宿說得輕描淡寫,但許銘知道在多鞍點耦合體系里,吸引域邊界的幾何結構本身就是高度非線性的。
他們之前排查收斂速度波動的時候,方清懷疑過是不是步長自適應參數設錯了,又或者收斂判據閾值太嚴了、初值分布不均勻,可都不對,現在,全被肖宿一句話兜住了。
「解法也不複雜。」
肖宿在路徑交叉的區域畫了一條新的軌跡,沿著吸引域邊界的切線方向切了過去。
「只要在每一步鞍點搜索之後加一個正交化步驟,把當前疊代步產生的搜索方向向量與相鄰鞍點的搜索方向做一次Gram-Schmidt正交化,去掉重疊的分量,這樣每個搜索方向都能嚴格位於自己吸引域的內部,不再受相鄰吸引域的梯度干擾了。」
他在白板上又寫了幾行推導。
正交化步驟的算法邏輯很簡潔,核心是一個基於Gram-Schmidt的路徑去冗餘操作,大約只需要四十行代碼。
「那邊的定理四點二處理的是一個結構類似的多鞍點收斂問題,證明框架可以直接搬過來用,只需要把條件從緊流形放寬到非緊流形,證明的骨架不需要動。」
許銘站在白板前,把那張被畫滿了鞍點、路徑和偽代碼的白板從頭看到尾。
方清試了好幾版補丁都沒壓住的多鞍點收斂波動,肖宿用四十行代碼和一個正交化步驟就解決了,而且連收斂性的嚴格證明都已經在另一篇論文裡寫好了,只需要把條件從緊流形放寬到非緊流形,改一下前提條件就行。
而那個讓他糾結了好幾天的對稱性識別問題,甚至只需要一套標準的幾何判據流程就能解決。
剛才在報告廳里被掌聲包圍的時候,許銘難免還有些飄飄然,畢竟,全球最快的第一性原理計算軟體,顛覆一個行業的工具,那可是他們做出來的,這換誰都不可能不激動的。
結果,他們驕傲的那些成績,在肖宿面前竟然全都是問題!
許銘原本春風得意的心瞬間就平靜了下來。
那種面對肖宿熟悉的無力感又回來了,讓他不禁在心裡嘆了口氣。
「哎。」
這些對目前行業來說幾乎是頂尖的技術,在他看來,需要優化的地方還有很多。
萬匯楊在上面講的時候,他已經把資料從頭到尾看完了。
數據倒沒什麼問題,GeoSculpt的架構設計也基本沿用了他在論文裡鋪好的路線。
但有幾個地方,他在看的時候習慣性地在腦子裡跑了一遍優化方案,覺得還能再調一調。
比如分子對稱群自適應分解模塊,目前的實現是根據分子類型查表匹配點群。
這個方法對常見分子是夠用的,但如果遇到一個全新的、不在表里的分子結構,就需要人工判斷對稱群。
如果能把這個過程自動化,讓小智來做分子對稱性識別,速度至少能再提百分之二十。
小智的解耦率目前已經在恆科的機器人、手機和車載系統上跑了快一個月了,處理這種結構化信息的模式識別應該更快一些。
再比如鞍點搜索那部分,萬匯楊他們用的是他在NS方程論文裡寫的鞍點圓法基礎版本。
但是基礎版本有一個小問題,那就是它在處理多鞍點耦合體系的時候,搜索路徑之間偶爾會發生串擾,導致個別鞍點的收斂速度慢下來。
這個問題他後來在整理NS方程十篇系列論文的時候已經找到了解決方案,只是還沒單獨寫到計算化學的應用里。
如果把這部分補上,多鞍點體系的收斂效率應該還能再上一個台階。
報告廳里的掌聲還在持續,提問環節已經開始了。
萬匯楊正在回答一個來自輝澤製藥研發總監關於蛋白質大分子計算精度的問題,台下不斷有人舉手。
高長安往旁邊看了一眼,發現羅氏的總監正朝這邊走過來,手裡還拿著名片。
在這種場合,如果讓肖宿被人群圍住,那今天下午就不用做任何事了。
他幾乎是在瞬間就做出了撤退的判斷。
他在肖宿耳邊低聲說了一句。
肖宿沒有回頭看那些正在涌過來的人群,只點了點頭,站起身來。
顧清塵也同時起身,三人在人群合圍之前穿過側面那扇不起眼的安全通道,從報告廳的側門安靜地撤了出去。
蘇菲走到第一排的時候,標著肖宿名牌的座位上已經空了,只剩下那份翻完的發布會資料擱在桌上上。
她看了看那個空位,又看了看側門的方向,有些無奈地笑了一下,把名片收回了口袋裡。
化學所三樓實驗室里,幾台工作站正安靜地跑著新的測試數據,機箱風扇發出均勻的白噪音。
透過玻璃能看到樓下報告廳門口還沒散去的人群,三三兩兩的代表還在討論剛才的數據,記者們正扛著攝像機在採訪出場的教授們。
許銘推開實驗室的門,引著肖宿走到中間那台工作站前面。
屏幕上正顯示著GeoSculpt的運行界面,一個苯分子的基態電子結構計算結果靜靜地停在上面,旁邊的日誌窗口滾動著鞍點搜索的疊代記錄。
「目前整個框架的核心算法已經穩定了,學術免費版上線之後,下載量幾分鐘就破千了,伺服器的壓力測試我們在發布前也已經做過一輪了,暫時還沒崩。
但有幾個地方,我們一直覺得還能再優化,就是還沒找到具體的切入點。」
許銘用手指著屏幕上的架構圖,從辛幾何映射引擎一路劃到鞍點搜索優化器,在架構圖上標出了兩個紅色標記點。
第一個是分子對稱性識別模塊,第二個是多鞍點耦合體系的收斂穩定性。
肖宿看了一眼那兩個標記點,跟他剛才在台下看資料時腦子裡跑過的方向一致。
他往前走了兩步,手指在第一個標記點上點了點。
「對稱性識別這部分,你們目前用的是查表法吧。」
許銘點頭:「對,常見分子的點群我們是預先建了表,苯匹配D6h,水匹配C2v,氨匹配C3v,但遇到不在表里的新分子,就只能靠人工判斷。」
「查表法對常見的分子夠用了,」肖宿說,「但是那些表里沒有的結構,每遇到一個新分子就要停下來等人眼判斷,自動化流程在這裡就斷了。」
他走到白板前,拿起馬克筆,在上面畫了一個簡單的分子結構草圖,旁邊標註了它的對稱元素。
「分子點群的自動識別本質上是一個有限幾何判定問題。
對稱操作在笛卡爾坐標系下可以表示成一組三乘三的矩陣,矩陣的跡和行列式決定了操作的類型。
只需要掃描這個分子的所有對稱操作,先找主軸,主軸方向取最高重旋轉軸,再找垂直於主軸的C2軸,然後判斷鏡面和反演中心的有無,最後根據這些對稱元素的組合關係就能直接判定點群。」
他在白板上寫了幾行簡潔的偽代碼。
「這是標準做法,輸入是原子坐標,輸出是點群標籤,覆蓋所有常見的分子點群只需要兩三百行代碼。」
「至於多鞍點耦合收斂速度波動。」
他在白板上畫了幾個鞍點在辛流形上的空間分布,以及從不同初值出發的最速下降路徑。
筆尖在路徑交叉的地方點了點。
「基礎版鞍點圓法在單鞍點場景下是全局最優的,收斂速度有嚴格的理論保證,但是,在多鞍點場景下,多個鞍點各自的吸引域共享邊界,搜索路徑在邊界附近會偶爾產生串擾,表現出來就是收斂曲線局部抖動,個別初值需要額外的疊代步數。」
許銘聽到「吸引域共享邊界」的時候,眉頭微微皺了一下。
這個詞肖宿說得輕描淡寫,但許銘知道在多鞍點耦合體系里,吸引域邊界的幾何結構本身就是高度非線性的。
他們之前排查收斂速度波動的時候,方清懷疑過是不是步長自適應參數設錯了,又或者收斂判據閾值太嚴了、初值分布不均勻,可都不對,現在,全被肖宿一句話兜住了。
「解法也不複雜。」
肖宿在路徑交叉的區域畫了一條新的軌跡,沿著吸引域邊界的切線方向切了過去。
「只要在每一步鞍點搜索之後加一個正交化步驟,把當前疊代步產生的搜索方向向量與相鄰鞍點的搜索方向做一次Gram-Schmidt正交化,去掉重疊的分量,這樣每個搜索方向都能嚴格位於自己吸引域的內部,不再受相鄰吸引域的梯度干擾了。」
他在白板上又寫了幾行推導。
正交化步驟的算法邏輯很簡潔,核心是一個基於Gram-Schmidt的路徑去冗餘操作,大約只需要四十行代碼。
「那邊的定理四點二處理的是一個結構類似的多鞍點收斂問題,證明框架可以直接搬過來用,只需要把條件從緊流形放寬到非緊流形,證明的骨架不需要動。」
許銘站在白板前,把那張被畫滿了鞍點、路徑和偽代碼的白板從頭看到尾。
方清試了好幾版補丁都沒壓住的多鞍點收斂波動,肖宿用四十行代碼和一個正交化步驟就解決了,而且連收斂性的嚴格證明都已經在另一篇論文裡寫好了,只需要把條件從緊流形放寬到非緊流形,改一下前提條件就行。
而那個讓他糾結了好幾天的對稱性識別問題,甚至只需要一套標準的幾何判據流程就能解決。
剛才在報告廳里被掌聲包圍的時候,許銘難免還有些飄飄然,畢竟,全球最快的第一性原理計算軟體,顛覆一個行業的工具,那可是他們做出來的,這換誰都不可能不激動的。
結果,他們驕傲的那些成績,在肖宿面前竟然全都是問題!
許銘原本春風得意的心瞬間就平靜了下來。
那種面對肖宿熟悉的無力感又回來了,讓他不禁在心裡嘆了口氣。
「哎。」