手機(jī)在旁邊不停的震動(dòng),但寧為仿若未覺(jué)。
最近一段時(shí)間,湍流算法那邊他幾乎完全放下了,全身心的投入到了EDA軟件這塊。
到不是湍流算法那邊已經(jīng)沒(méi)問(wèn)題了,實(shí)際上之所以這個(gè)項(xiàng)目一直在實(shí)驗(yàn)室里進(jìn)行內(nèi)測(cè),還沒(méi)有對(duì)外聯(lián)系進(jìn)行大規(guī)模公測(cè),也是因?yàn)橛龅搅思夹g(shù)瓶頸。
目前湍流算法在實(shí)驗(yàn)室里的錯(cuò)誤判斷率穩(wěn)定在十萬(wàn)分之一點(diǎn)八左右,無(wú)法再進(jìn)一步下降了。
十萬(wàn)分之一點(diǎn)八的出錯(cuò)率聽(tīng)起來(lái)不算高,但如果應(yīng)用在12306這種售票網(wǎng)站跟APP的服務(wù)器上,卻很可怕。
用戶(hù)基數(shù)太大了。
每一億人次使用12306訂票,可能有1800多人被誤判為惡意爬蟲(chóng)程序而受到懲罰,這得是多敗人品的一件事。更別提每年使用12306訂票系統(tǒng)的何止一億人次?
一個(gè)長(zhǎng)假都不止了!
寧為跟三位輔助的研究員也不是沒(méi)想過(guò)辦法,幾個(gè)人一起頭腦風(fēng)暴過(guò),對(duì)算法經(jīng)過(guò)了兩次迭代,但始終無(wú)法降低實(shí)驗(yàn)室內(nèi)測(cè)的錯(cuò)誤率。
這讓寧為有種感覺(jué),湍流算法的進(jìn)一步突破,可能需要他對(duì)整個(gè)系統(tǒng)的理解進(jìn)一步加深,這是急不來(lái)的,索性先這么在實(shí)驗(yàn)室掛著,多做一段時(shí)間的內(nèi)測(cè),可用來(lái)分析的數(shù)據(jù)足夠多了,說(shuō)不定就能從這些數(shù)據(jù)中找出一些端倪。
所以寧為便不再關(guān)注湍流算法那邊,畢竟EDA軟件項(xiàng)目組這邊,沒(méi)人比他更清楚這款軟件的結(jié)構(gòu)跟難點(diǎn)。
最大的難點(diǎn)其實(shí)就是讓芯片設(shè)計(jì)簡(jiǎn)單化。
舉一個(gè)簡(jiǎn)單的例子。
在使用主流EDA軟件做后端設(shè)計(jì)的時(shí)候,第一步一般是需要對(duì)標(biāo)準(zhǔn)庫(kù)進(jìn)行設(shè)置。
需要的數(shù)據(jù)大概可以分為三類(lèi),分別為邏輯層、物理層跟設(shè)計(jì)。
這三類(lèi)又能細(xì)分為六種文件,包括工藝文件、單元庫(kù)、子庫(kù)、綜合后網(wǎng)表文件、約束Pad位置的TDF文件跟綜合后給出的時(shí)序約束文件。
然后是芯片的整體布局,這是直接影響到芯片面積、速度信號(hào)完整性跟設(shè)計(jì)周期的重要步驟。要為模塊、輸入輸出接口、電源焊盤(pán)等等分配對(duì)應(yīng)的位置。
接下來(lái)是時(shí)鐘樹(shù)綜合,這也是一大挑戰(zhàn)。想想看,在集合數(shù)千萬(wàn)甚至上億的晶體管后,要將時(shí)鐘信號(hào)零偏差的傳輸?shù)叫酒恳粋€(gè)局部區(qū)域本就是件不簡(jiǎn)單的事情。
接下來(lái)是整體布線(xiàn),這也是整個(gè)芯片設(shè)計(jì)最重要的物理實(shí)踐過(guò)程。
緊跟著還要進(jìn)行設(shè)計(jì)規(guī)則檢查。
這些都做完之后,沒(méi)有問(wèn)題了,再進(jìn)入仿真環(huán)節(jié)……
按照寧為的想法,是要以上步驟完全縮減到一步到位,在對(duì)象庫(kù)中集成完成某一特定類(lèi)任務(wù)的一級(jí)芯片架構(gòu),即為容器,然后是二級(jí)架構(gòu)即為群,然后依次往下劃分……
操作者只需要將進(jìn)行簡(jiǎn)單的組合,經(jīng)過(guò)對(duì)已有結(jié)構(gòu)的簡(jiǎn)單修補(bǔ)刪減之后,就能直接進(jìn)入仿真環(huán)節(jié)。
這也是這款EDA軟件單純只是為了設(shè)計(jì)各類(lèi)AI芯片的原因。
如果要用這種傻瓜方式設(shè)計(jì)通用芯片,寧為就算真把頭發(fā)耗光,也不可能解決得了傻瓜式操作這一難題。
但在A(yíng)I芯片領(lǐng)域卻是能做到的。
就目前AI領(lǐng)域的情況來(lái)說(shuō),所謂智能算法一是快速尋求最優(yōu)解的過(guò)程。這些算法通過(guò)模擬一些自然過(guò)程,來(lái)解決復(fù)雜工程問(wèn)題。
還有基于數(shù)據(jù)的機(jī)器學(xué)習(xí),主要是從已知數(shù)據(jù)出發(fā)用來(lái)對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測(cè)的規(guī)律等等。
所以寧為的設(shè)計(jì)理念很簡(jiǎn)單。
比如首先搭載一個(gè)標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的容器,然后在子分類(lèi)下方融入各種機(jī)器視覺(jué)類(lèi)別的組,比如圖片識(shí)別、人臉識(shí)別、進(jìn)階的表情識(shí)別、手勢(shì)識(shí)別等等。
群下再設(shè)組完成具體的加權(quán)、求和、激活、傳遞、回歸等單一功能。
操作者只需要輸入自己想設(shè)計(jì)的芯片類(lèi)型,首先就會(huì)跳出對(duì)象庫(kù)中的容器框架,然后操作者再自行選擇這一框架下要實(shí)現(xiàn)的功能。
要讓操作者覺(jué)得簡(jiǎn)單,對(duì)于軟件設(shè)計(jì)者來(lái)說(shuō)就很難了。
寧為的目標(biāo)是在這款EDA推出之前起碼要在對(duì)象庫(kù)中設(shè)計(jì)五個(gè)容器結(jié)構(gòu),以及相對(duì)應(yīng)可融合的群組結(jié)構(gòu)。
推向市場(chǎng)之后就簡(jiǎn)單了,如果有人用,高階的設(shè)計(jì)團(tuán)隊(duì)就能在學(xué)習(xí)軟件的各種標(biāo)準(zhǔn)跟說(shuō)明后,自行設(shè)計(jì)容器,跟配套的群、組以及元器件,或者利用已有定義的元器件重新設(shè)計(jì)出功能更強(qiáng)悍的容器結(jié)構(gòu)跟配套群、組,上傳后,經(jīng)過(guò)審核部門(mén)多次驗(yàn)證之后,納入到對(duì)象庫(kù)中。
但現(xiàn)階段這些工作必須他自己來(lái)做,畢竟實(shí)驗(yàn)室調(diào)撥的那些教授們或者編程技術(shù)都不錯(cuò),但數(shù)學(xué)方面,還是要差了一點(diǎn)。
終于,忙碌了三個(gè)小時(shí),又用早先定義好的元和組,構(gòu)建了好了一個(gè)容器下的群結(jié)構(gòu),寧為靠在椅子上長(zhǎng)出了口氣。搞科研項(xiàng)目是真心的累,尤其是碰到難解問(wèn)題的時(shí)候。
湍流算法那邊遇到瓶頸,EDA這邊又離不開(kāi)人,寧為開(kāi)始反省自己是不是真的太過(guò)貪心了,把科研問(wèn)題想的太簡(jiǎn)單了。
隨手拿起手機(jī),這才發(fā)現(xiàn)寢室群里今天格外熱鬧。
一大早已經(jīng)刷了幾十條消息。
腦子有些悶,正好看看這幫人在鬧什么,休息一下腦子。
然后看到了經(jīng)典大變臉的完整版步驟。
最初,幾個(gè)人輪番在群里@他,威脅的意思很重。
“寧娃娃,你還不回寢室,我們決定要開(kāi)除你的寢籍了!”
“寧娃娃,爸爸們想你了?!?p> “小寧啊,翅膀硬了是不是?”
大概是見(jiàn)他一直沒(méi)回應(yīng),口氣開(kāi)始軟了些。
“小老弟,別鬧了,有急事相商,快回消息?!?p> 再到后來(lái),完全放軟。
“寧哥,寧老總,你不能真的見(jiàn)死不救啊?!?p> 最后,徹底服帖,甚至有人完全沒(méi)了節(jié)操。
“爸爸,寧爸爸,求求你回個(gè)消息吧!”
挺好的,能看到室友們主動(dòng)叫爸爸,帶來(lái)的心理滿(mǎn)足感,很難用語(yǔ)言來(lái)形容。
于是他回了個(gè)“?”過(guò)去。
軒公子最先反應(yīng)過(guò)來(lái):“我艸,寧娃娃,你終于不裝死了?我們的論文到底怎么辦?你到是給出個(gè)主意?。 ?p> “我跟你講,不要搞事!”寧為回了個(gè)熊貓頭的表情。
“寧爸爸,孩子們的論文您指點(diǎn)指點(diǎn)嘛!”
“孺子可教!”寧為又回了個(gè)熊貓頭表情。
好在這回沒(méi)調(diào)大家的胃口,直接又回了句:“差不多到飯點(diǎn)了,你們先考慮考慮中午哪個(gè)孩子請(qǐng)吃飯吧?!?p>