第84章 這不科學!(爆更1.5w 3/3 求首訂)

投票推薦 加入書籤 小說報錯

  第84章 這不科學!(爆更1.5w 3/3 求首訂)

  一晃到了第二天早上。

  當陳工和曾工頂著黑眼圈走進實驗室時,下意識地先朝漆昊的工位瞅了一眼。

  然而,那裡空空如也,連昨天那塊被無數公式畫得滿滿當當的草稿紙,也被清理了。

  曾工有些誇張地拍了拍胸口,長舒了一口氣,對陳工說道:「老陳,他人沒來,看樣子,這位學霸昨天晚上終究還是在CUDA的物理規則面前低頭了啊。」

  陳工拉開椅子坐下,有些感慨地附和道:「這太正常了,昨天他那寫代碼的手速和邏輯,已經足夠讓我們這幫幹了多年的老工程狗驚訝了,要是他真能在一天之內,做出點什麼來,那我真的要懷疑人生了。」

  曾工深有同感地點頭:「誰說不是呢?看到漆昊也會在C和CUDA的段錯誤里吃癟,我頓時覺得這個世界還是公平的,咱們這戰五渣的凡人好歹還有點生存空間,不過老陳,你昨天看他寫的那些算子,他該不會真的是在想不開,要用那兩塊遊戲卡去訓練神經網絡吧?」

  陳工搖頭道:「怎麼可能!神經網絡這玩意兒在咱們國內現在就是個冷門方向,用CPU跑,一個稍微複雜點的數據集就能讓人等得壓力山大,至於用GPU跑,吳恩達那篇論文雖然說得神乎其神,但實際工程落地里那些顯存限制的坑,誰踩誰知道。」

  「漆昊那麼聰明的人估計也要踩坑。」

  曾工:「你真的覺得他會踩坑嗎?」

  「肯定啊,CUDA不是一般人能碰的,漆昊很聰明,但這個領域不適合他。」

  漆昊從昨晚躺上床開始,一覺睡到了中午。

  昨天使用了靈感火花,這玩意對腦細胞的壓榨實在過分,昨天晚上到了最後他都不想動腦,只想睡覺了。

  幸好的是,今天睡醒起來,一切都恢復正常。

  他吃完午飯,慢悠悠地溜達回實驗室時,時間已經指向了下午一點半。

  此時,辦公區裡的氣氛有些異樣。

  原來,今天正好是課題組會的時間,總負責人齊教授已經坐在了會議桌的上首,手裡拿著幾份剛列印出來的系統運行日誌,臉上滿是欣慰的笑容。

  「來,大家都坐。」齊教授招了招手,示意剛進門的漆昊也找個位置坐下。

  陳工清了清嗓子,開始例行匯報項目第一階段的進展:「齊教授,多虧了之前漆昊同學幫我們揪出的漏洞,在重新修正之後,在近百次的跑數據測試中,系統再也沒有出現過一次發散或報錯,整個視覺定位和懸停漂移誤差,都比之前降低了6%。」

  聽完陳工的陳述,實驗室里的研究生們都露出了如釋重負的笑容。

  這段時間為了這個項目,大家可真是被折騰得夠嗆,現在總算要結束苦逼的日子。

  齊教授合上文件夾,滿臉讚許地看著漆昊,笑道:「非常漂亮!難怪鴻記和大飛那邊很推崇你,既然核心問題已經解決了,我提議,咱們這一階段的課題可以正式準備結題了!」

  坐著的幾個研究生頓時興奮得差點跳起來,不過最終還是忍住了,只鼓了掌。

  齊教授笑著壓了壓手,溫和地看著漆昊問道:「小漆啊,這次你立了頭功,咱們課題組的傳統是,項目階段性結題,也得安排活動好好放鬆慶祝一下,陳工昨天跟我說,你怕水,所以溫泉咱們就不泡了。」

  「要不這周末,我帶大家去郊外的青城山爬爬山,呼吸一下新鮮空氣,然後整一頓最好的海鮮自助,你看怎麼樣?」

  陳工在旁邊附和:「爬山好,爬山安全!」

  漆昊坐在位置上,看著眾人臉上那迫不及待想要開啟度假模式的興奮神情,一時間有些無奈,怎麼大家一聽到結題,腦子裡第一反應全都是想著去哪兒玩啊?

  革命尚未成功,同志們怎麼就開始提前慶功了?

  難道不應該再卷一卷嗎?

  「齊教授,陳工。」

  「我認為,我們這個聯合項目的第一階段,還有事情要做。」

  原本正興奮地討論著到底是先吃烤生蚝還是吃帝王蟹的幾個研究生,臉上的笑容瞬間僵了,一個個瞪大了眼睛,看著漆昊。

  在苦逼的科研狗世界裡,大家平時見過最離譜的事,無非是導師卡著不讓走,逼著大家繼續當牛做馬。

  可今天,他們居然親眼見證了一樁學術界的曠世奇觀!

  導師大發慈悲主動宣布結題放假,有人居然按住導師的手,說還有事情要做!

  坐在斜對面的李傑此時在心裡瘋狂吶喊:漆神!求求你做個人吧!

  你是神仙不用放假,我們凡人的肉體凡胎傷不起啊!我還指望著周末回去打遊戲呢!

  要是換作其他人,漆昊早就被眼神殺了幾回,然而,在大佬強大的氣場壓迫下,沒有任何一個研究生敢在這個時候發出半點反駁的聲音,只能一個個在心裡默默流淚。

  齊教授也是微微一愣,有些詫異地看著這個在學術上有主見的小傢伙,饒有興致地問道:「哦?小漆,你為什麼會這麼覺得?我們的問題不是已經解決了嗎?」

  「但我們這個智能項目的終極目的,是什麼?」漆昊問道。

  陳工雖然被漆昊的敬業給震驚到了,但還是老老實實地回答道:「當然最終是想實現無人機在複雜無GPS信號的室內環境下的自主視覺定位懸停,障礙物自動辨識,以及對移動目標的自適應鎖定與跟蹤咯。」

  「沒錯,但我們現在解決的問題,距離這個目標還很遠,當飛機面對複雜的障礙物拓撲結構,多變的室內光影變化,以及運動目標的輪廓識別時,還是無法控制無人機。」

  「正如陳工之前所說,要想真正解決這種難題,唯一的出路,是引入神經網絡。」

  聽到神經網絡這四個字,會議室里的人臉色變了變。

  現在,這個詞在絕大多數高校科研人眼裡,簡直就等同於天坑的代名詞。

  陳工嘆了口氣,苦笑道:「漆昊,神經網絡的設想確實很美好,這也是兩家企業最看重的核心技術,但我們之前私底下嘗試過,在沒有專門加速硬體的前提下,光是訓練一個最簡單的三層多層感知機,都要耗費不少時間。」

  「如果引入更深層的網絡來做圖像特徵提取,算力開銷將呈幾何級數爆炸,計算強度的數學公式我們可以寫得很漂亮,但實際情況並非如此。」

  「在如此驚人的複雜度面前,用CPU訓練神經網絡,光是調參和等待收斂的時間成本,就能把我們整個課題組的人力全部耗死在裡面,在工程落地層面上,這根本不具備可行性。」

  齊教授此時也說道:「小漆,陳工說的是實情,我早年的研究方向也涉及過部分控制網絡,神經網絡這個東西,目前在學術界和工業界都處於一個尷尬的瓶頸期。」

  「沒有足夠的算力支撐,強行把重心放在這上面,無異於去撞一堵牆,所以,我們目前的規劃是先用經典的濾波和幾何算法結題,神經網絡的部分,只作為一個理論展望寫進報告裡就可以了。」

  「那如果,我們不走CPU訓練這條路呢?」

  漆昊微微抬起頭。

  齊教授皺了皺眉:「不走CPU?難道你還指望去申請國家超級計算中心的機時?先不說審批有多難,超算中心的那些CPU集群,本質上依然是通用架構,算力性價比極低。」

  「不用申請超算。」

  「我昨天用那兩塊GTX580顯卡,基於im2coI的數學變換和cuBLAS底層數學庫,寫了一套完整GPU並行神經網絡訓練架構。」

  陳工和曾工吃驚地看著他。

  他昨天和陳工走的時候,漆昊明明還在為LRN的顯存衝突和反向傳播的寫衝突折騰得眉頭緊鎖。

  他們都以為漆昊肯定放棄了,可聽這傢伙的意思,他昨晚不僅沒放棄,反而把所有算子都寫完了?!

  齊教授作為嚴謹的資深學者,本能地對漆昊的話產生了懷疑,他開口:「小漆,用GPU訓練神經網絡,這在目前的視覺和控制領域並不是主流,哪怕是斯坦福吳恩達團隊的那篇論文,也只是在特定的實驗室環境下做出的探索,在實際工程中根本無法大範圍推廣。」

  「GPU的顯存帶寬瓶頸和複雜的CUDA編程調試成本,註定了它難度非常高,你就算寫出了一些測試代碼,由於頻繁的數據拷貝,最後跑出來的實際效率,恐怕也不會比多核CPU好到哪裡去。」

  「齊教授,我昨晚用GPU訓練,其實已經跑出了一批完整的數據,就目前的結果來看,它的效率比CPU要好。」

  看著漆昊那自信的樣子,齊教授只好說:「既然你連數據都跑出來了,那我們今天也別在這干坐著了,去你工位上看看。」

  一群研究生和兩位工程師,立刻屁顛屁顛地跟在齊教授和漆昊身後,湧向了漆昊的工位。

  當齊教授走到那台嶄新的工作站前,看到旁邊那個碩大的1200W電源時,他腳步一頓,看向了陳工。

  陳工假裝在看天花板上的燈,一句話都不敢多說。

  漆昊沒有在意這些,他坐下來,滑了滑滑鼠,喚醒了暗下去的屏幕。

  此時,屏幕上正顯示著一個用C寫的簡易控制台界面,上面還殘留著最終訓練日誌。

  「齊教授,這是我實驗室里現成的數據集進行的測試,一共10000張。」

  「我看了下相關日誌,在之前使用的伺服器CPU上,運行一個Epoch的訓練耗時,平均在一個小時左右。」

  齊教授微微頷首:「沒錯,一個小時,這已經是優化後的極限了,想要訓練到一個勉強可用的精度,至少需要疊代10個Epoch,那就是將近十三個小時。」

  「是的。」漆昊微微一笑,「所以我昨晚嘗試了新的方法,這是昨晚我運行10個Epoch的實時訓練輸出日誌,您可以看一下。」

  漆昊輕敲回車,拉動滾動條,將昨晚的訓練控制台日誌呈現在所有人面前。

  【Training Epoch10/10】

  【TotalTrainingTime:1小時28分27秒】

  「這時間壞了吧?」陳工脫口而出。

  齊教授顧不上教授的體面,半蹲著身子,開始快速翻看編譯日誌和CUDA運行態監控。

  屏幕上的實時數據顯示得清清楚楚:GPU利用率在訓練期間長期維持在93.2%的數值。

  雙卡顯存占用穩定,沒有發生任何一次顯存溢出。

  PCle總線帶寬利用率極低,說明絕大部分計算都在顯存內部的高速cache中完成的。

  而最終模型在測試集上跑出來的89.4%的識別率,更是鐵一般的事實,做不了任何假「你用的什麼顯卡?」

  」GTX580。

  「6

  遊戲顯卡?

  在傳統的CPU伺服器上,需要不吃不喝,辛辛苦苦跑上整整13個小時才能完成的訓練閉環。

  在這個少年的編程下,兩塊被所有人視為不務正業的遊戲卡,居然把訓練時長壓縮到了一小時二十八分鐘!

  「我們現在可以重新測試一個數據集嗎?」

  「當然可以,反正也花不了多長時間。」漆昊自信地說。

  齊教授重新選了一個數據集。

  「我們就跑這個!這是大飛上個月剛發來的航拍數據集,整整18000張包含複雜室內光影和高噪點遮擋的圖像。」

  「由於多通道特徵極度交錯,以前在至強伺服器上跑,光是前向傳播的特徵對齊就能生生磨蹭掉一個半小時,整套疊代下來更是需要耗費將近大半天的時間,我們平時根本不敢輕易用它來做模型驗證。」

  「小漆,這個數據集的規模和複雜度,可比你剛才跑的那套普通數據要高得多,你敢用它現跑嗎?」

  「當然可以,無非就是多花個幾分鐘罷了。」

  漆昊坦然說道,然後他修改了配置文件里的數據集加載路徑,隨後熟練地在終端輸入了編譯和運行指令。

  「第一輪疊代,開始加載數據————」

  控制台的第一行日誌跳了出來,整個實驗室的人的目光都被吸引過去了。

  當第一輪疊代結束,用時6分3秒!

  陳工第一個打破了沉默,他難以置信地低頭看了看自己手機上的秒表,又抬頭看了看屏幕上的日誌,茫然了起來:「老曾,我剛才沒眨眼吧?那個最難啃的C3航拍數據集,第一輪前向計算和反向梯度的無鎖更新,真的只花了不到六分半鐘?」

  「沒看錯,數據是實時的,顯卡核心溫度目前穩定在78度,也沒有出現任何溢出報錯「」

  。

  曾工此時正神色複雜地調出了系統的硬體監控界面。

  他指著屏幕上一條幾乎呈直線波動的帶寬監控,眉頭緊鎖地說道:「最奇怪的是這裡,18000張高噪點圖像,數據量非常龐大,在我們的傳統認知里,在CPU內存和顯卡顯存之間頻繁傳輸這麼多數據,總線的帶寬早就應該被擠爆了,從而拖慢整個GPU的計算。」


  「但在漆昊這套系統里,帶寬占用率很正常,數據像是順著一條沒有堵塞的高速公路,無縫地流進了顯卡的流處理器里,漆昊,你是怎麼把這個總線延遲給繞過去的?」

  面對曾工的詢問,漆昊解釋道:「曾工,其實我並沒有繞過物理帶寬限制,我只是利用了CUDA提供的異步流和雙緩衝機制,把數據傳輸的延遲給隱藏起來了。」

  曾工點頭,聽得很認真。

  其他研究生不敢走神,生怕錯過什麼細節,一直到最後一輪疊代結束。

  【Total Training Time:1小時29分39秒】

  陳工低呼了一聲:「不是吧,這不科學!」

  漆昊不好意思地說:「其實這個訓練時間還可以再縮短一點,目前還有不少優化空間。」

  陳工已經無言以對了。

  漆昊無形之間的裝逼,真的傷到他了!

  他之前還說漆昊不適合這個領域,結果漆昊拿出的成果比他悶頭苦幹一年的還強!

  齊教授突然隱隱有種感覺,深度學習這個領域,要變天了。

  他撐著桌子緩緩站起身,看著漆昊那張平靜的臉,一時間竟有些惆悵。

  江山代有才人出啊。

  唉,要是其他人也有三分像漆昊就好了。

  想到這裡,齊教授出聲了:「老陳,這周末的青城山和海鮮自助全部取消。」

  教授,你怎麼還取消了?

  研究生們都不敢反駁,只能一臉複雜地站在原地。

  他們雖然也想放假,但看著奇蹟就在他們面前誕生後,放假的念頭很奇怪地沒有那麼強烈了。

  一個個看向漆昊身上的眼神,反倒是熾熱了起來!

  他們腦中不約而同地冒出了一個念頭。

  該如何抱上大佬的大腿,帶飛自己,順利混到畢業?

  或者說,漆神以後去什麼組,他們也想跟著去。

  「通知大飛和鴻記的項目負責人,就說漆昊在無人機自主視覺控制的底層加速算法上,取得了一項非常有價值的突破!」

  作為一個深諳學界與產業界規則的人,齊教授太清楚漆昊屏幕上這組數據背後意味著什麼了。

  可以說,漆昊的成果,重新定義了他們和出資方之間的合作上限!

  如果眼界再放遠一點,半導體行業也會被漆昊所影響!

章節目錄