算法工程師具體是做什么的?
前面的回答已經(jīng)有很多大神解釋了是否要學(xué)好數(shù)學(xué),那么小宅就來和大家分享菊廠一位無線算法工程師的故事吧,希望對大家了解算法工程師這個職業(yè)有所啟發(fā)。
有人說,“算法是無線通信的靈魂”,這話一點不假。回頭看無線算法20年來的征途,我們的“理想”并不是個虛無縹緲的東西,它滲透到了無線的每個角落,決定了芯片的每一步發(fā)展,影響了算法人的每一次抉擇……“三十歲之前,路總是很長,我們總是展望。三十而立,就再也不敢展望了,低頭趕路吧。” 這是王小波在《三十而立》中說的。但是,我在三十歲時聽到的話,跟它恰恰是相反的。2005年,三十歲的我,剛?cè)肼毴A為,進(jìn)入3G算法項目組。同事告訴我,別顧著埋頭趕路,我們做無線算法的,是有理想的,要引領(lǐng)無線通信的變革。算法是什么?生活中的算法無處不在,當(dāng)你按下電梯按鈕的時候,電梯運行的算法幫你最優(yōu)化調(diào)度資源,縮短等待時間;當(dāng)你駕車穿行于早晚高峰的時候,交通運行的算法根據(jù)變化的車流量實時調(diào)控紅綠燈,幫助車輛行人更有效地通行……無線算法也是如此,它通過一系列復(fù)雜的數(shù)學(xué)公式和指令解決無線通信中遇到的各種棘手問題,讓用戶可以隨時隨地享受高質(zhì)量的語音、視頻、上網(wǎng)等體驗。據(jù)說算法剛起步的那幾年,團(tuán)隊有一個預(yù)研部,很多人曾開玩笑說,他們做的不是預(yù)研,是預(yù)言,因為第一款商用芯片里的算法必將從這里誕生,將影響數(shù)以萬計的人。2002年的一天,能擔(dān)當(dāng)大任的算法似乎出現(xiàn)了。外場測試傳來消息:一款“干擾對消算法”(IC)的樣機通過了測試,提升了50%的系統(tǒng)容量!理論上,如果實現(xiàn)了IC,就能通過消除噪聲達(dá)到讓運營商在同一頻段上多服務(wù)一倍用戶的效果,對于用戶來說,通話體驗也將大大得到提升。但是,這款樣機帶來的激動心情根本沒持續(xù)多久——性能提升了一倍,但復(fù)雜度卻提升了三倍,這種劃不來的做法,直接否定了它商用的可能。IC特性的復(fù)雜,讓它成為通信領(lǐng)域的人人都想吃,但人人不敢碰的香餑餑。算法組只能忍痛放棄這款樣機,轉(zhuǎn)身研究其他的特性。那個冬天寒冷異常,到2003年底,團(tuán)隊成員已經(jīng)從近30人,減少至不到10人。還在堅持的有從1999年就開始進(jìn)行無線算法研發(fā)的元老級人物,李化加。2004年,團(tuán)隊終于向公司爭取了部門公開招聘的機會,收到了至少500封簡歷。“要做最好的算法,就得最好的人才。”李化加親自篩選和面試,憑著一股寧缺毋濫的勁兒,抵住了人力緊缺的壓力,最終只留下了最想要的5個人。從這時候開始,整個算法組開始形成了一種心照不宣的學(xué)究氣質(zhì)。李化加跟汪少波等人,像學(xué)校實驗室?guī)熜謳熃銈円粯樱度氪蟀褧r間對新員工們進(jìn)行點對點的技術(shù)細(xì)節(jié)討論,包括如何研究、如何開展算法設(shè)計、如何進(jìn)行文檔寫作,每篇分析文檔都是千錘百煉后才能同意歸檔,好多習(xí)慣都在那時候被奠定下來。2005年的我初來乍到,聽到前輩們的故事,雖未經(jīng)歷始末,但硝煙四起之感叢生。這年年底,在一款芯片的算法設(shè)計即將被凍結(jié)的緊要關(guān)頭,李化加匆匆找到汪少波,說他在業(yè)界技術(shù)調(diào)研的時候,想到了一個以低復(fù)雜度實現(xiàn)IC特性的靈感。那時候,算法的特性都是要做到硬件里去的,也就是說,算法一旦設(shè)計完成,就無法再改動——不僅這一版的芯片要依照這個算法去生產(chǎn),下一版的算法還要跟這一版的算法能配合運作。算法的路只能向前,不能回頭。可是IC特性能夠減少噪聲擴(kuò)大容量,實實在在提升每個用戶的體驗,所以,即使算法的每一步都承擔(dān)巨大風(fēng)險,即使這款芯片已經(jīng)到了算法交付的最后環(huán)節(jié),他們還是當(dāng)機立斷,決定把IC這個特性加進(jìn)去!“不做IC,這款芯片頂多是性能上的優(yōu)勢,而性能優(yōu)勢是很容易被超越的。做IC,我們就實現(xiàn)了友商還實現(xiàn)不了的特性,這是算法的競爭力。”汪少波的這句話,在三年后的沃達(dá)豐比拼上,得到了印證。在那場業(yè)界關(guān)注的技術(shù)比拼上,這款芯片的迭代版本,為華為拿到了第一名。CCPIC(控制信道并行干擾對消)這個名稱,由李化加和汪少波開創(chuàng),到后來成為了華為的專用術(shù)語。“殺敵一千,自損一千二”的理論漩渦每個人的一生,總會有自己的“關(guān)鍵時刻”。對我而言,那就是2007年。這一年,中國移動決定在珠峰海拔5200米、6500米處采用華為設(shè)備建設(shè)移動通信基站;這一年,我被任命為第一版商用IC算法的設(shè)計人。帶著初生牛犢不怕虎的沖勁,我們設(shè)計出了新的IC版本。然而,在推導(dǎo)的過程中卻出現(xiàn)了一個奇怪的現(xiàn)象,就是在消除干擾信號的過程中,也損傷了信息本身有用的信號。就像消滅敵人的時候,自己人也受了傷。如果消滅的敵人大大超過自己人,問題不大。可萬一出現(xiàn)“殺敵一千,自損一千二”的情況呢?這正是算法區(qū)別于其他專業(yè)的地方,即使是一個小小的理論假設(shè),我們也無法視而不見,或者暫時擱置,因為誰也說不準(zhǔn),現(xiàn)在的理論假設(shè),是否會成為最后壓垮整個算法設(shè)計的致命稻草。可是,業(yè)界友商沒有實現(xiàn)IC的先例,學(xué)界論文也沒有這個問題的相關(guān)描述——我很清楚,可能要做第一個吃螃蟹的人了。攻關(guān)組馬上成立,除了“苦思冥想,連續(xù)作戰(zhàn)”,沒有捷徑。探討、推導(dǎo)、測試、驗證,循環(huán)往復(fù)。在接下來兩個月時間里,我們從什么是信號、什么是噪聲這些最基本的概念出發(fā),一點點摳細(xì)節(jié),探尋問題的本質(zhì)。那些攻關(guān)的晚上,我經(jīng)常做一個夢,在夢里我自己變成了信號,和干擾信號大戰(zhàn)三百回合。每每醒來,渾身是汗。鉆得深了,我才得以留意到以前沒有注意過的運算細(xì)節(jié)——我們的算法里引入了一個特殊項,既包括信號,也包含噪聲,這就是為什么在消除噪聲的同時,信號也有損傷的原因。找到關(guān)鍵突破點后,我們經(jīng)過準(zhǔn)確的運算分析,得出了一個意外結(jié)論——“殺敵一千,自損一千二”只是理論推測,真實場景根本不會發(fā)生。揭開這個苦苦追尋的答案,壓在我們胸口幾個月的大石終于卸了下來。理論漩渦的平息,也讓我們吃了一顆定心丸。一顆“螺絲釘”扭轉(zhuǎn)乾坤理論問題得到了解決,算法設(shè)計也順利進(jìn)入收尾階段。然而,測試結(jié)果卻猶如晴天霹靂:性能提升的效果極其不穩(wěn)定,對用戶的影響就是一會兒信號好,一會兒信號差。這種情況真是稱得上“血案”級別,別說做業(yè)界最好算法的雄心,連商用的信心都快沒有了。而且,目前這個階段不可能對芯片本身進(jìn)行任何改動,唯一能接受的只能是修改可編程部分。就好比臨近交房,設(shè)計師對房子圖紙不滿意,想重新改造,打破一面墻,再造一個門,可是急于入住的房主能接受的,只是挪動一個螺絲釘。下班時,只有路燈在等著我。它們有的昏暗無光,有的明亮異常,有時把我的影子拉得很偉岸,有時甚至讓我找不到自己的影子。做算法,孤獨的時刻有很多,但從來沒有一次像那天一樣強烈。那段時間,定位組、開發(fā)組、測試組、攻關(guān)組的同事成天混在一起,每天早出晚歸。當(dāng)時每排除一個疑點,項目經(jīng)理都激動地請大家吃飯,后來有人都忍不住說,“還是搞定了一起請吧,不然要把你吃的傾家蕩產(chǎn)了……”四個月的時間,上千次的測試仿真,日日夜夜的歸納推演,我們終于找到揪住了“嫌犯”:定點過程中的不當(dāng)截位。通常的截位應(yīng)該采用四舍五入方式,而我們?yōu)榱藢崿F(xiàn)方便,采用了直接丟棄的方式,相當(dāng)于“九舍無入”。通常“九舍無入”都沒有大問題,但當(dāng)多個芯片合并時,舍入誤差被急速放大了,正是這個“小”誤差,釀成了這次的大錯誤。當(dāng)時,入職僅兩年的朱有團(tuán)靈機一動,提出了一個“負(fù)數(shù)加1”的方案——只對數(shù)值的最后一個比特進(jìn)行更改,就達(dá)到了“四舍五入”的效果,用非常小的代價解決了這個非常棘手的問題。本來要砸墻的房子,真的靠旋轉(zhuǎn)了一顆螺絲釘就扭轉(zhuǎn)了乾坤!朱博也由此一戰(zhàn)成名,還榮獲了當(dāng)年公司級的金牌個人。后來我們才知道,原來友商也一直在尋求IC的商用化模式,只是沒有做出有效的算法,于是走了另外一條降低干擾的路徑。在沃達(dá)豐的現(xiàn)場比拼中,技術(shù)分值華為第一,不得不說,IC算法確實是助力登上寶座的最大利器。IC商用化的傳奇就此開啟,華為基站的接收能力再未遇過來自友商的實質(zhì)挑戰(zhàn)。送上門的真經(jīng),我們沒有要
2009年,我們急切地把視線拓展出去,以期尋找新的突破。巧的是,友商Q基于產(chǎn)業(yè)發(fā)展的考慮,主動與華為無線達(dá)成戰(zhàn)略合作意向,向華為分享他們掌握的IC技術(shù)。擁有豐富的IC運營經(jīng)驗,保持CDMA系統(tǒng)最重要的基本專利,連世界公認(rèn)的算法巨匠都曾供職于此,友商Q理所應(yīng)當(dāng)是我們膜拜的“佛祖”。同事們都戲稱,這簡直是一次千載難逢的“西天送經(jīng)”。果然,它的算法設(shè)計能力帶給我們的震撼是巨大的。其中最令人稱奇的是,他們可以通過對消歷史信息來提升性能。這種設(shè)計,不僅是我們從來沒有過的算法思維,也更達(dá)到了我們從未達(dá)到過的卓越性能。不用苦苦搜尋,無需反復(fù)求證,我們只要在這個基礎(chǔ)上稍做優(yōu)化,就會得到日思夜想的算法“真經(jīng)”!我興奮異常,其他小伙伴們也難掩激動之情。然而,伴隨著交流的深入,我們卻發(fā)現(xiàn)了這種算法的“阿喀琉斯之踵”:為了擁有足夠多的歷史信息,這種算法要將每個用戶的重傳率設(shè)得比較大。容量固然可以提升,但時延也會變長,給用戶的感知就是增加了等待時間。一邊是卓越的性能增益,這是算法人夢寐以求的目標(biāo);一邊是提升用戶的體驗,這是算法最樸素也最深刻的奧義。每個人的心中好像出現(xiàn)了一座天平,到底要往哪邊傾? 大家都猶豫了。“不能為了一張好看的成績單,讓用戶的體驗受損。”討論會上,黃心曄的一句話擲地有聲。上上下下一致同意,我們要舍棄跟進(jìn)友商的算法設(shè)計。“佛祖”送上門的真經(jīng),被我們拒絕了。不過,他們的思維方法卻極大地激發(fā)了我們的靈感。在信息的傳送過程中,既有傳送成功的信息,也有傳送失敗的信息,友商沒有對后者進(jìn)行快速對消,我們是不是可以補上這個空缺?為確保方案的有效性,我們在仿真平臺上全方位對比了我們和友商Q的方案,結(jié)果表明,設(shè)定短時延下,我們的算法優(yōu)于友商,設(shè)定長時延下,與友商基本相當(dāng)。為了萬無一失,我們累計梳理了50多個可能的影響因素,并在樣機項目中逐一排除其影響。最終這個特性順利交付,實驗室測試的結(jié)果不負(fù)眾望,40%以上的增益實實在在地呈現(xiàn)在面前。自掘三尺地,新一輪自虐行動4G商用加速發(fā)展,3G新版芯片如何推出新的算法特性?不破不立,我們準(zhǔn)備先自掘三尺地,從版本的現(xiàn)有問題中,嘗試挖掘金礦。有人開著車沿著測試外場不停轉(zhuǎn)圈測業(yè)務(wù)數(shù)據(jù),有人縮在實驗室里一遍遍分析性能曲線,還有人抽絲剝繭梳理方案和應(yīng)用場景,終于找到了IC算法新的增長點。原版本的設(shè)計有一個“毫不利己,專門利人”的特點——控制信道給其他信道提供增益,自己卻不能享受增益,這其實阻礙了整體性能的提升。既然如此,我們能不能把它變成“利人又利己”呢?問題找到了,但給出解決方案更非易事。李**、楊**等團(tuán)隊的“最強大腦”們,立馬成立幾個小分隊,多方向地嘗試思考。有人提出改變現(xiàn)有的并行處理方式,而讓多個用戶串在一起,前一個用戶對消掉的干擾,可以提升下一個用戶的性能,間接實現(xiàn)“利己”。理論驗證這個辦法確實有效,但操作起來工作量太大,不適合全面施展。這個角度的思考倒打開了我們的思路,我們決定嘗試在現(xiàn)有方案上增加一次并行處理,迂回地解決“利人又利已”的難題。當(dāng)然,這絕非是描述的這么簡單,大量的配套方案和針對性改進(jìn)才是真正的“幕后英雄”。還能不能再往前走一步?當(dāng)目前方案已經(jīng)獲得驗證之后,我們展開了新一輪的“自虐行動”。受友商Q思路的啟發(fā),我們有了新的想法:如果能在信息還未出發(fā)之前,預(yù)測它將會帶上哪些“行李”,對消掉不必要的東西,就能給旅途減負(fù)。把這種思路和并行方案嫁接起來,新的方案呼之欲出了!整整兩年內(nèi),從毫無頭緒到漸露曙光,從單點試探到全面開花,我們發(fā)揮想象,給出了絢爛的算法方案。干擾對消算法最終浴火重生,在本以為到達(dá)巔峰的情況下,又提升了15%的系統(tǒng)容量。攀登不止,初心依舊從初創(chuàng)小團(tuán)隊的摸索,到與瑞研專家的合作,再到現(xiàn)在與法國、俄羅斯、德國、美國等至少7個國家的聯(lián)動……歷經(jīng)近20年的光陰,算法團(tuán)隊經(jīng)歷了從純粹國產(chǎn)、中外協(xié)作、到全球深度融合的成熟之路。全球智慧、理論大家和實踐能手的無敵組合,讓我們對5G算法的研發(fā)充滿了信心。我一直很喜歡孔子說的“知不可為而為之”這句話。對于算法人而言,這句話的意義便是,做事不問可不可能,但問應(yīng)不應(yīng)該。別人能做到,我們應(yīng)該也能做到。別人做不到的,我們應(yīng)該搶先做到。我們已經(jīng)做到的,還應(yīng)該要做到更好。一首小詩和所有的算法人共勉:我不是思想家,我引領(lǐng)無線通信變革。我不是指揮家,軟硬件系統(tǒng)因我而協(xié)奏。我不是發(fā)動機,我驅(qū)動無線核心競爭力。我是數(shù)學(xué)公式,更是理論與工程的完美統(tǒng)一。你們看不到我,但我在你身邊。我是算法,無線通信的靈魂。“我們做無線算法的,是有理想的”,三十歲那年聽到的話,似乎又在耳畔響起。《華為人》版權(quán)所有,請勿轉(zhuǎn)載