第622章 九章之上,再攀一天
任少卿沒有立刻回答。
他皺著眉頭想了幾秒,像是在確認這個問題有沒有什麼陷阱。
「提取局部特徵,逐層抽象。」
這是教科書級別的標準答案。
顧嶼點了點頭。
「局部特徵。」
他重複了一遍這四個字,語氣很輕。
「你注意到了嗎,你自己說的局部。」
任少卿的眉頭皺得更緊了。
顧嶼沒有繼續追問。
他站起來,走到會議室角落那塊白板前面,拿起一支黑色馬克筆,拔開蓋子。
「我打個比方。」
他在白板上畫了一個長方形,裡面寫了一行字:今天天氣真好,我們去公園玩吧。
「這是一句話。十二個字。」
顧嶼用筆尖點了點第一個字,
「假設你是一個卷積核,你的窗口大小是三。你一次只能看到三個字。」
他用筆在「今天天」三個字下面畫了一個框。
「你站在這個位置,你能看到'今天天'。然後你往右滑一格,看到'天天氣'。再滑一格,'天氣真'。」
任少卿沒說話,目光牢牢鎖在白板上。
「每一次,你都只能看到三個字的範圍。」
顧嶼的聲音不急不慢,
「你把這些小碎片一層一層地拼,拼到最後,理論上你能拼出整句話的意思。這就是CNN幹的事。拿一個小放大鏡,一小塊一小塊地看,然後靠疊加很多層來慢慢擴大你的視野。」
他停了一拍。
「你的殘差連接解決了什麼問題?解決了疊加層數時信號衰減的問題。換句話說,你讓這個放大鏡可以疊很多很多層了,不會失靈了。這很了不起。」
任少卿聽出了這句話後面跟著一個「但是」。
果然。
「但放大鏡終究是放大鏡。」
顧嶼用筆尖在那行字的第一個字和最後一個字之間畫了一條紅色的連線。
「如果這句話的第一個字'今'和最後一個字'吧'之間存在某種關鍵的聯繫呢?你得疊多少層,才能讓第一層的卷積核'看到'最後一個字?」
任少卿的嘴唇動了一下。
「圖像上你感受不到這個問題。」
顧嶼把筆蓋蓋上,轉過身面對任少卿。
「因為一張照片裡,貓的耳朵和貓的眼睛挨得很近,它們天生就在一個局部窗口裡。卷積核天然適合幹這個活。」
「但如果有一天,你要處理的東西不是圖片呢?」
會議室里安靜了幾秒。只有中央空調出風口的微弱嗡鳴聲。
「比如一篇文章。」
顧嶼說。
「比如一整本小說。第一章的伏筆,要到最後一章才回收。中間隔了幾十萬字。你的卷積核要滑多少次才能把它們聯繫起來?」
任少卿沒有接話。
顧嶼沒有急著往下說。
他把馬克筆放回白板槽里,走回座位坐下,端起桌上已經涼透的茶杯喝了一口。
給任少卿留消化的時間。
大約過了半分鐘,任少卿開口了。聲音比之前低了半個調。
「你的意思是,卷積這個操作本身,在某些任務上存在結構性的缺陷。」
「不是缺陷。」
顧嶼糾正他,
「是邊界。每種工具都有它的邊界。錘子釘釘子很好使,但你不能拿錘子去擰螺絲。」
任少卿沉默了更久。
然後他抬起頭,眼睛裡的光變了。
不再是匯報實驗成果時那種興奮的亮,而是一種更深的、帶著困惑和渴望的光。
「那如果不用卷積呢?」
顧嶼等的就是這句話。
「你想像一下這樣一種結構。」
顧嶼的語速放慢了,像是在幫對方一起畫一幅還不存在的藍圖。
「一個序列里有十二個字。每一個字,都能同時'看到'其他所有十一個字。不需要一層一層地滑窗口,不需要一步一步地擴大感受野。每個位置直接和所有位置產生聯繫,然後自己決定,我該重點關注誰,忽略誰。」
任少卿的第一反應是脫口而出的。
「計算量會爆炸。」
緊接著他的眉頭皺成了川字,
「而且這不符合邏輯。如果不靠卷積的滑動窗口,也不靠循環網絡的先後順序,模型怎麼知道這句話的語序?'我愛你'和'你愛我',在這種每個位置同時交互的結構里,權重會變得完全一樣,位置信息徹底丟失了!」
顧嶼眼底透出讚賞。
不愧是任少卿,立刻就捏住了Self-Attention最致命的七寸——位置編碼。
但他沒有立刻解答,只是微微一笑:
「對。」
顧嶼點頭,毫不意外。
「十二個字,每個字和其他十一個字交互,就是十二乘以十二,一百四十四次運算。如果是一千個字呢?一百萬次。一萬個字呢?一億次。複雜度是字數的平方。」
他看著任少卿。
「所以關鍵從來不是這個思路對不對。理論上它是對的,你心裡清楚。關鍵是怎麼讓它跑得起來,算得動,能工程化。怎麼讓一億次運算壓縮到GPU能並行處理的範圍內,怎麼把丟失的位置信息用數學手段重新注入進去。怎麼讓它不只是一個漂亮的數學公式,而是能真正訓練出結果的工程方案。」
任少卿的手指無意識地敲著桌面。
顧嶼看著他的表情。這張被雅安紫外線曬黑了一圈的臉上,正有什麼東西在鬆動。
「這是值得你花一年甚至更長時間去攻克的課題。」
顧嶼說完這句話,往椅背上靠了回去。
他知道今天說到這裡就夠了。種子已經種下去了。
任少卿是這個領域最頂尖的工程大腦之一,給他一個正確的方向,剩下的推導和驗證,他自己會跑起來。
但方向只是第一步。
「少卿。」
「嗯?」
「殘差網絡的論文,一個月之內整理成稿,投CVPR或者ICCV。署名用'迴響科技AI實驗室'。」
任少卿愣了一下。
「迴響科技AI實驗室?我們有這個部門嗎?」
「現在有了。」
「你牽頭。」
顧嶼看著他,
「實驗室歸你管,技術方向你定,我不干涉具體研發。至於五十層、一百層的後續消融實驗,全部交給你那兩個師弟去跑。你現在的核心精力,必須從代碼里抽出來,放到這篇論文的撰寫和新架構的統籌上。學會當一個實驗室的主導者,而不是一個苦哈哈的程式設計師。」
任少卿神色微凜,認真地點了點頭。
顧嶼接著說道:
「作為老闆,我只負責三件事。」
他豎起三根手指。
「第一,錢。研發預算我來批,你花多少我給多少,不設上限。九章基地那邊的算力你繼續用,不夠我追加採購。同時我會讓徐靜在雅安預留出一整塊獨立區域,專門給AI實驗室的訓練任務。」
任少卿的喉結動了一下。
「第二,人。光靠你和兩個師弟不夠。我給你調一個人過來。」
顧嶼拿起手機,翻到通訊錄里一個名字。
「樓天城。聽說過嗎?」
任少卿當然聽說過。
搞計算機的人沒有不知道樓天城的。
TopCoder連續多年世界排名第一,Google、Facebook都搶著要的競賽大神。
在國內計算機圈子裡,「樓教主」三個字本身就是一座山。
「他在我們公司。」
顧嶼說得雲淡風輕。
任少卿張了張嘴,沒發出聲音。
「之前在另一個部門做底層框架的工作。我會把他調到你的實驗室來。」
顧嶼的手指在手機屏幕上輕輕敲了兩下,
「你負責想清楚要做什麼,他負責把你的想法變成跑得飛快的代碼。你是發動機,他是變速箱。」
任少卿的呼吸明顯急促了。
樓天城。
如果真的能跟樓天城搭檔,那他剛才那個「計算量爆炸」的問題,就不再是一道無解的死題了。
樓天城在底層系統優化和高性能計算上,可能是全中國最強的那幾個人之一。
顧嶼豎起第三根手指。
「第三,論文發出去之後,全世界搞深度學習的人都會看到。到時候想來的人,我們敞開大門。薪資上不設天花板,只要是你看上的人,我不還價。」
他把三根手指收回來,雙手交疊放在桌面上。
「論文就是我們的招聘GG。讓全世界知道,中國有一個民間實驗室,能做出這個級別的東西。」
會議室安靜了很久。
任少卿低著頭,盯著筆記本電腦屏幕上那條穩步攀升的精度曲線。
他的手指停在鍵盤邊緣,沒有動。
過了大概十幾秒,他抬起頭來。
「我有一個條件。」
顧嶼挑了一下眉。
「說。」
「你剛才在白板上畫的那個思路,每個位置直接看所有位置,自己決定關注誰,這套東西如果真的要做,光靠我和樓天城還差一塊。」
任少卿的語速快了起來,像是腦子裡的齒輪已經開始高速轉動。
「我能把網絡搭起來,樓天城能把它跑起來。但中間的數學推導。怎麼定義'關注'這個操作,怎麼用矩陣運算把它形式化,怎麼設計損失函數讓它可訓練,我需要一個數學功底極強的人。」
顧嶼嘴角動了一下。
「九章那邊有個叫安德烈的,俄羅斯人。」
顧嶼說,
「你接觸過嗎?」
「見過兩次。」
任少卿的眼睛亮了,
「矩陣優化方面的直覺非常強,有一次他閒著沒事幫我改了一版卷積運算的內存調度方案,效率直接提了百分之十五。」
「那就把他也拉進來。你去跟他談。談不攏的話告訴我,我來談。」
任少卿站起身,緩了緩神。
他看著顧嶼。
一個比他還小好幾歲的年輕人。
但剛才這個人用二十分鐘,把他未來一到兩年的研究方向,掰開了、揉碎了、重新組裝了一遍。
而且每一步都踩在了刀刃上。
「我今晚的航班飛回雅安。」
任少卿把筆記本電腦合上,塞進雙肩包里。
「論文初稿,三周之內給你。」
顧嶼沒有點頭,而是直接拿起手機撥通了陸知遠的電話:
「知遠,聯繫公務機公司,包一架今晚飛錦城的飛機。另外抽調兩個高管級別的安保跟著。」
放下手機,顧嶼看著愣住的任少卿,語氣堅決:
「我說了,這個實驗室的最高機密就是你腦子裡的東西,或者那個物理層面上一杯咖啡就能報銷的U盤。從今天起,別再讓我看到你擠經濟艙。」
任少卿握著包帶的手指緊了緊,喉嚨里堵得慌,重重地點了點頭。
他拎著包走到門口,拉開門,突然又停住了。
「對了。」
他回過頭,
「這個實驗室,叫什麼名字?」
顧嶼愣了一秒。
然後他轉過身,走到白板前面。
白板上還留著剛才那句「今天天氣真好,我們去公園玩吧」,留著那條橫跨首尾的紅色連線,留著一堆歪歪扭扭的框和箭頭。
顧嶼拿起馬克筆,在最上面的空白處,落筆寫下了兩個字。
九天。
任少卿看著那兩個字,嘴裡默念了一遍。
「九天。」
「嗯。」
顧嶼把筆蓋蓋上,沒有回頭。
「九章之上,再攀一天。」
他皺著眉頭想了幾秒,像是在確認這個問題有沒有什麼陷阱。
「提取局部特徵,逐層抽象。」
這是教科書級別的標準答案。
顧嶼點了點頭。
「局部特徵。」
他重複了一遍這四個字,語氣很輕。
「你注意到了嗎,你自己說的局部。」
任少卿的眉頭皺得更緊了。
顧嶼沒有繼續追問。
他站起來,走到會議室角落那塊白板前面,拿起一支黑色馬克筆,拔開蓋子。
「我打個比方。」
他在白板上畫了一個長方形,裡面寫了一行字:今天天氣真好,我們去公園玩吧。
「這是一句話。十二個字。」
顧嶼用筆尖點了點第一個字,
「假設你是一個卷積核,你的窗口大小是三。你一次只能看到三個字。」
他用筆在「今天天」三個字下面畫了一個框。
「你站在這個位置,你能看到'今天天'。然後你往右滑一格,看到'天天氣'。再滑一格,'天氣真'。」
任少卿沒說話,目光牢牢鎖在白板上。
「每一次,你都只能看到三個字的範圍。」
顧嶼的聲音不急不慢,
「你把這些小碎片一層一層地拼,拼到最後,理論上你能拼出整句話的意思。這就是CNN幹的事。拿一個小放大鏡,一小塊一小塊地看,然後靠疊加很多層來慢慢擴大你的視野。」
他停了一拍。
「你的殘差連接解決了什麼問題?解決了疊加層數時信號衰減的問題。換句話說,你讓這個放大鏡可以疊很多很多層了,不會失靈了。這很了不起。」
任少卿聽出了這句話後面跟著一個「但是」。
果然。
「但放大鏡終究是放大鏡。」
顧嶼用筆尖在那行字的第一個字和最後一個字之間畫了一條紅色的連線。
「如果這句話的第一個字'今'和最後一個字'吧'之間存在某種關鍵的聯繫呢?你得疊多少層,才能讓第一層的卷積核'看到'最後一個字?」
任少卿的嘴唇動了一下。
「圖像上你感受不到這個問題。」
顧嶼把筆蓋蓋上,轉過身面對任少卿。
「因為一張照片裡,貓的耳朵和貓的眼睛挨得很近,它們天生就在一個局部窗口裡。卷積核天然適合幹這個活。」
「但如果有一天,你要處理的東西不是圖片呢?」
會議室里安靜了幾秒。只有中央空調出風口的微弱嗡鳴聲。
「比如一篇文章。」
顧嶼說。
「比如一整本小說。第一章的伏筆,要到最後一章才回收。中間隔了幾十萬字。你的卷積核要滑多少次才能把它們聯繫起來?」
任少卿沒有接話。
顧嶼沒有急著往下說。
他把馬克筆放回白板槽里,走回座位坐下,端起桌上已經涼透的茶杯喝了一口。
給任少卿留消化的時間。
大約過了半分鐘,任少卿開口了。聲音比之前低了半個調。
「你的意思是,卷積這個操作本身,在某些任務上存在結構性的缺陷。」
「不是缺陷。」
顧嶼糾正他,
「是邊界。每種工具都有它的邊界。錘子釘釘子很好使,但你不能拿錘子去擰螺絲。」
任少卿沉默了更久。
然後他抬起頭,眼睛裡的光變了。
不再是匯報實驗成果時那種興奮的亮,而是一種更深的、帶著困惑和渴望的光。
「那如果不用卷積呢?」
顧嶼等的就是這句話。
「你想像一下這樣一種結構。」
顧嶼的語速放慢了,像是在幫對方一起畫一幅還不存在的藍圖。
「一個序列里有十二個字。每一個字,都能同時'看到'其他所有十一個字。不需要一層一層地滑窗口,不需要一步一步地擴大感受野。每個位置直接和所有位置產生聯繫,然後自己決定,我該重點關注誰,忽略誰。」
任少卿的第一反應是脫口而出的。
「計算量會爆炸。」
緊接著他的眉頭皺成了川字,
「而且這不符合邏輯。如果不靠卷積的滑動窗口,也不靠循環網絡的先後順序,模型怎麼知道這句話的語序?'我愛你'和'你愛我',在這種每個位置同時交互的結構里,權重會變得完全一樣,位置信息徹底丟失了!」
顧嶼眼底透出讚賞。
不愧是任少卿,立刻就捏住了Self-Attention最致命的七寸——位置編碼。
但他沒有立刻解答,只是微微一笑:
「對。」
顧嶼點頭,毫不意外。
「十二個字,每個字和其他十一個字交互,就是十二乘以十二,一百四十四次運算。如果是一千個字呢?一百萬次。一萬個字呢?一億次。複雜度是字數的平方。」
他看著任少卿。
「所以關鍵從來不是這個思路對不對。理論上它是對的,你心裡清楚。關鍵是怎麼讓它跑得起來,算得動,能工程化。怎麼讓一億次運算壓縮到GPU能並行處理的範圍內,怎麼把丟失的位置信息用數學手段重新注入進去。怎麼讓它不只是一個漂亮的數學公式,而是能真正訓練出結果的工程方案。」
任少卿的手指無意識地敲著桌面。
顧嶼看著他的表情。這張被雅安紫外線曬黑了一圈的臉上,正有什麼東西在鬆動。
「這是值得你花一年甚至更長時間去攻克的課題。」
顧嶼說完這句話,往椅背上靠了回去。
他知道今天說到這裡就夠了。種子已經種下去了。
任少卿是這個領域最頂尖的工程大腦之一,給他一個正確的方向,剩下的推導和驗證,他自己會跑起來。
但方向只是第一步。
「少卿。」
「嗯?」
「殘差網絡的論文,一個月之內整理成稿,投CVPR或者ICCV。署名用'迴響科技AI實驗室'。」
任少卿愣了一下。
「迴響科技AI實驗室?我們有這個部門嗎?」
「現在有了。」
「你牽頭。」
顧嶼看著他,
「實驗室歸你管,技術方向你定,我不干涉具體研發。至於五十層、一百層的後續消融實驗,全部交給你那兩個師弟去跑。你現在的核心精力,必須從代碼里抽出來,放到這篇論文的撰寫和新架構的統籌上。學會當一個實驗室的主導者,而不是一個苦哈哈的程式設計師。」
任少卿神色微凜,認真地點了點頭。
顧嶼接著說道:
「作為老闆,我只負責三件事。」
他豎起三根手指。
「第一,錢。研發預算我來批,你花多少我給多少,不設上限。九章基地那邊的算力你繼續用,不夠我追加採購。同時我會讓徐靜在雅安預留出一整塊獨立區域,專門給AI實驗室的訓練任務。」
任少卿的喉結動了一下。
「第二,人。光靠你和兩個師弟不夠。我給你調一個人過來。」
顧嶼拿起手機,翻到通訊錄里一個名字。
「樓天城。聽說過嗎?」
任少卿當然聽說過。
搞計算機的人沒有不知道樓天城的。
TopCoder連續多年世界排名第一,Google、Facebook都搶著要的競賽大神。
在國內計算機圈子裡,「樓教主」三個字本身就是一座山。
「他在我們公司。」
顧嶼說得雲淡風輕。
任少卿張了張嘴,沒發出聲音。
「之前在另一個部門做底層框架的工作。我會把他調到你的實驗室來。」
顧嶼的手指在手機屏幕上輕輕敲了兩下,
「你負責想清楚要做什麼,他負責把你的想法變成跑得飛快的代碼。你是發動機,他是變速箱。」
任少卿的呼吸明顯急促了。
樓天城。
如果真的能跟樓天城搭檔,那他剛才那個「計算量爆炸」的問題,就不再是一道無解的死題了。
樓天城在底層系統優化和高性能計算上,可能是全中國最強的那幾個人之一。
顧嶼豎起第三根手指。
「第三,論文發出去之後,全世界搞深度學習的人都會看到。到時候想來的人,我們敞開大門。薪資上不設天花板,只要是你看上的人,我不還價。」
他把三根手指收回來,雙手交疊放在桌面上。
「論文就是我們的招聘GG。讓全世界知道,中國有一個民間實驗室,能做出這個級別的東西。」
會議室安靜了很久。
任少卿低著頭,盯著筆記本電腦屏幕上那條穩步攀升的精度曲線。
他的手指停在鍵盤邊緣,沒有動。
過了大概十幾秒,他抬起頭來。
「我有一個條件。」
顧嶼挑了一下眉。
「說。」
「你剛才在白板上畫的那個思路,每個位置直接看所有位置,自己決定關注誰,這套東西如果真的要做,光靠我和樓天城還差一塊。」
任少卿的語速快了起來,像是腦子裡的齒輪已經開始高速轉動。
「我能把網絡搭起來,樓天城能把它跑起來。但中間的數學推導。怎麼定義'關注'這個操作,怎麼用矩陣運算把它形式化,怎麼設計損失函數讓它可訓練,我需要一個數學功底極強的人。」
顧嶼嘴角動了一下。
「九章那邊有個叫安德烈的,俄羅斯人。」
顧嶼說,
「你接觸過嗎?」
「見過兩次。」
任少卿的眼睛亮了,
「矩陣優化方面的直覺非常強,有一次他閒著沒事幫我改了一版卷積運算的內存調度方案,效率直接提了百分之十五。」
「那就把他也拉進來。你去跟他談。談不攏的話告訴我,我來談。」
任少卿站起身,緩了緩神。
他看著顧嶼。
一個比他還小好幾歲的年輕人。
但剛才這個人用二十分鐘,把他未來一到兩年的研究方向,掰開了、揉碎了、重新組裝了一遍。
而且每一步都踩在了刀刃上。
「我今晚的航班飛回雅安。」
任少卿把筆記本電腦合上,塞進雙肩包里。
「論文初稿,三周之內給你。」
顧嶼沒有點頭,而是直接拿起手機撥通了陸知遠的電話:
「知遠,聯繫公務機公司,包一架今晚飛錦城的飛機。另外抽調兩個高管級別的安保跟著。」
放下手機,顧嶼看著愣住的任少卿,語氣堅決:
「我說了,這個實驗室的最高機密就是你腦子裡的東西,或者那個物理層面上一杯咖啡就能報銷的U盤。從今天起,別再讓我看到你擠經濟艙。」
任少卿握著包帶的手指緊了緊,喉嚨里堵得慌,重重地點了點頭。
他拎著包走到門口,拉開門,突然又停住了。
「對了。」
他回過頭,
「這個實驗室,叫什麼名字?」
顧嶼愣了一秒。
然後他轉過身,走到白板前面。
白板上還留著剛才那句「今天天氣真好,我們去公園玩吧」,留著那條橫跨首尾的紅色連線,留著一堆歪歪扭扭的框和箭頭。
顧嶼拿起馬克筆,在最上面的空白處,落筆寫下了兩個字。
九天。
任少卿看著那兩個字,嘴裡默念了一遍。
「九天。」
「嗯。」
顧嶼把筆蓋蓋上,沒有回頭。
「九章之上,再攀一天。」