第四章:超算中心#
當晚回去,祁旻就把她寫來用於申請經費的項目計劃書發到了鄭文鈺先生的郵箱裏。
第二天當祁旻正在用現在她學校計算中心的超算繼續用她現有的微縮版“類腦體”跑更大的測試集時,突然收到了中科院“雨雲”超級計算機項目周曉姍研究員的郵件。
郵件上告訴祁旻,她明天就能到房山區“雨雲”計算中心去商量使用事宜了。
此時祁旻真想狠狠地親嚴兆蘭一口——果然還是老朋友比較靠譜!
現在這個測試集也不用跑了。祁旻停止了Jupyter上測試類腦體學習能力的代碼,又連忙開始把生成類腦體的代碼再捋了一遍。她把那些在匆忙之中命名得亂七八糟的變量都重新按照用途的簡寫命名了,而後給每一塊兒代碼寫上了註釋。
祁旻用她“美化”過的代碼重新跑了一個只有16×16×16個虛擬神經元的超微縮版類腦體,檢查確認無誤之後才保存了代碼。
倘若周曉姍研究員同意她使用“雨雲”的計算資源,那麼她就能嘗試生成全尺寸1:512、1:64甚至是1:8、1:1的類腦體。一旦她拿到了1:1的類腦體,那隨便湊湊實驗數據就能把她的文章寫完了。
——
第二天祁旻起了個大早,都沒去學校就直接坐地鐵去了“雨雲”計算中心。
“雨雲”是由一大片計算核心群組成,出於散熱考慮是佔用單獨的一座機房,上層配有複雜交錯的液冷管道系統。計算中心的工作人員顯然不可能讓祁旻這個外來者進入機房,甚至在計算中心工作的研究者們都很少會與真實的“雨雲”親密接觸。
祁旻要去的地方是周曉姍研究員的實驗室,她們約好了在那裏見面。
然而當祁旻到了周曉姍實驗室,詢問裏面正在工作的研究生時,卻被告知他們老師正在開會。實驗室的研究生也沒問祁旻是來幹什麼的,只是祁旻進去先等一會兒。
祁旻進到他們的實驗室里,發現這兒雖然也是生物信息學實驗室,但和她想像中的實在非常不同。
最大的區別就是實驗室里沒有實驗區和生活區的劃分。因為生物信息學研究需要在生物體或者生化體系上進行操作的“濕實驗”很少,沒有什麼有害試劑和微生物的污染,因此用不着把實驗台跟辦公桌分離開。而同樣與生物信息學特徵相對應的是,實驗室里每個人的辦公桌上都立着至少兩台屏幕和大得異常的主機,房間裏空調開得很大,祁旻從其中一台沒有人但仍然常亮的屏幕上看到他們正在做大量電鏡照片的二維傅立葉運算處理。
祁旻找了個沒人的位置坐下,看到旁邊一個戴着森海塞爾耳機的小夥子正在調試代碼。
她不禁好奇地瞥了一眼,發現他正在寫的是一個RNA結構預測工具。其實RNA結構預測已經是研究比較充分的領域了,現有的算法各有千秋,然而對於某類特定的RNA,或許需要根據其已知的信息而設計合適的特殊算法。
而這段代碼看起來就像是這個小夥子自己寫的,因為祁旻已經看他修修改改快十分鐘了,輸出的預測數組仍然是一堆負數。
碰巧祁旻原先寫過RNA結構預測的代碼,此時順着他修改看了一遍,很快就找到了問題。
“嗯……這個遍歷方式好像不太對吧。”祁旻不好意思直接對他說,只是坐在旁邊嘀咕道。
一開始這小夥子戴着耳機裝沒聽見,壓根兒沒搭理她。
祁旻看他這麼調真是費勁,於是忍不住說道:“對於最近鄰居算法(i,n-i)應該從i大於等於2開始,i是0和1的情況要用氫鍵最多原理……”
“是‘能量最低’原理。”調代碼的小夥子摘下耳機,轉身對她說道,“但是初測值的實驗方式不同,這兩種算法壓根兒不能通用。”
“誰說的?第一對氫鍵賦值根本不影響。你先試試吧。”祁旻對他說道。
小夥子將信將疑地加上了一段兒IF,從另外一個單純使用能量最低原理的算法里複製出了相關代碼。
他再運行之後,輸出的矩陣里果然不全是負數了。
但很明顯結果也不對。
負數還是太多了,導致最大值才只有不到4,而很明顯用於測試的那段30個鹼基的線性RNA不可能只形成一個鹼基配對。
“這又是怎麼回事兒?”小夥子這回直接對她問道。
祁旻湊到屏幕前仔細看了看,而後一邊敲着鍵盤一邊說道:“你這個對比最大值的嵌套FOR語句里沒有加FLAG,只要加上就好了……”
代碼再運行了一遍,這回輸出的矩陣終於看起來正常了。
小夥子鬆了口氣兒,剛要從椅子上站起來,祁旻卻說道:“哎,這還是不對。你看這段RNA的已知結構,這裏面有三個LOOP,但你的算法算出來有四個……哦,我知道了,還得加一個防止無效配對的IF,連續兩個鹼基以下的配對不應該存在。”
她把這個IF語句加進去之後,最終畫出的RNA二級結構終於和已知結構一樣了。
“呃……你還真……”小夥子看着屏幕上的圖像,不自覺地露出了一絲傻笑。
而後他看了一眼祁旻,有些奇怪地問道:“你是新來的?我記得今年我們這兒不招博士生了——你是技術員?”
“沒,我就是來找周曉姍老師有點兒事兒。”祁旻笑着說道。
“什麼事兒?”小夥子問道,而後像是意識到這個問題有點兒侵犯別人私隱,於是補充道,“或許我也能幫你一下兒。”
“還真沒準兒。”祁旻從他的屏幕面前移開,“我來找周曉姍老師是為了能用一下兒‘雨雲’。”
“哦,那好說啊。”小夥子立刻答應道,“如果我老闆不同意,你還能用我的號。”
“這樣還是不太好吧……”祁旻有些尷尬地笑了笑。跑類腦體佔用的計算資源可是非常多的,如果是偷偷用某個博士生的號,肯定會引起管理員的懷疑。
“那有什麼的?”小夥子無所謂地說,“‘雨雲’的計算能力這麼強,一般的項目根本不是事兒。老闆就是想弄點兒大項目,測試一下兒它的實際計算能力,才召了我們這些個做生物的人來到處接活兒。說實話,我在來這兒之前都沒怎麼學過Python。”
看得出來。祁旻在心裏默默地評價了一句,而後又開玩笑地問:“那要是周曉姍老師把我拒了,我可就真來借你的號了?”
“行,當然行。”小夥子立刻說道,“來加個微信,到時候這個RNA算法出BUG了,我還得再找你呢。”