“算法票友”搭檔“技術博主”,他們說算子開發就像玩游戲打怪
身為電子工程師的大姚,自稱是一位“算法票友”,不是計算機科班出身,因為個人興趣才偶然加入到了開發者的陣營。
剛本科畢業的陳可為,是一位名符其實的技術博主,在CSDN和博客園發表了500多篇AI原創文章,擁有超過33萬粉絲。
在常規的敘事里,年齡相差20歲的大姚和陳可為,就像是生活在兩個平行世界的人,幾乎沒有機會認識。
但在AI力場的作用下,大姚和陳可為成了有相同技術理念的“忘年交”,并一起組隊參加了昇騰AI原生創新算子挑戰賽。
01 多年網友,相識于CANN訓練營
故事還要從2022年的一次“誤打誤撞”開始說起。
當時大姚正在做一個智能硬件項目,在選擇技術方案時被昇騰硬件的圖像處理功能吸引,但網上并沒有特別詳細的資料。在查找資料的過程中,大姚加入了CANN訓練營的微信群,想要在里面問一些技術問題。
按照大姚的說法:“那時候群里的討論很熱鬧,自己知道有AI這個概念,但完全沒什么經驗,興趣也不是很大,就是抱著順便看一看的心態去學習。時間長了,發現每個講師都在很認真地準備課程內容,內心里的觸動很大,然后開始稍微上點心去完成作業,開始在社區里發一些學習筆記。”
在大姚為項目的圖像處理功能忙碌時,還在讀大二的陳可為和同學做了一個醫療影像相關的項目,本著懸壺濟世的理想,嘗試讓AI可以讀懂醫療影像,進而幫助到更多的人。隨著項目的深入,陳可為對人工智能有了更深刻的理解,并和同學一起加入了CANN訓練營,希望能進一步提升開發能力。
根據陳可為的回憶:一開始就注意到群里有了叫大姚的“大牛”,很熱心的回答群友們的問題,有時候群里聊天不太方便,就主動加了大姚的微信,想著自己遇到技術問題時可以向他請教。
轉折發生在2023年第一季CANN訓練營期間,大姚和陳可為都發生了身份上的轉變——開始擔任CANN訓練營的講師。
陳可為的課程內容是幫助新手快速入門CANN,大姚則分享了Ascend C算子開發經驗。正如兩人在昇騰AI原生創新算子挑戰賽(S1賽季)晉級宣言中提到的:“我給你講過題,你給我上過課”。
后來的一次線下活動上,陳可為在討論時提到了大姚的名字,覺得雙方特別聊得來,才發現已經做了很長一段時間的“網友”。時值2024昇騰AI原生創新算子挑戰賽(S1賽季)的預熱期,陳可為提出了一起參加比賽的想法。
早在2023年昇騰AI開發者創享日上,大姚就聽了閆長江老師關于Ascend C的演講,被閆老師眼中的“光”和深入淺出的演講風格打動,花了比較多的時間去學習,后來作為CANN訓練營的講師,課程內容也和Ascend C算子開發相關。聽到陳可為的提議后,大姚也萌生了上手試一試的想法。
有趣的是,明明是兩個人的團隊,大姚和陳可為卻取了“三人行”的隊名,源自“三人行,必有我師焉”的學習理念,同時也寓意著在團隊合作中每個人都能發揮自己的長處和優點,互相學習,共同進步。
02 且學且練,半個月連續“急行軍”
風輕云淡的背后,往往有著別人看不見的汗水。
對于S1賽季的結果,大姚和陳可為都比較坦然,畢竟一開始的目的就是為了學習。可談及比賽的過程,大姚和陳可為都分享了不少比賽經驗,那場耗時半個月的比賽,仿佛就是昨天的事。
之所以用“急行軍”來形容,是因為大姚的日常工作比較忙,只有下班后才有時間討論和答題;陳可為剛好在本科畢業的答辯期,同樣抽不出太多時間。相較于那些All in的參賽團隊,他們并沒有時間上的優勢。
參考2024昇騰AI原生創新算子挑戰賽(S1賽季)的規則,參賽隊伍需要在規定時間內,基于Orange Pi AIpro、Atlas 200I DK A2開發板和指定CANN版本,使用Ascend C完成12個賽題的開發任務。每題包含4個功能精度用例和1個性能用例,每個用例2分,參賽者按照提交的成果總得分排序,其中前10名有機會晉級決賽。
為了在有限的時間里實現結果最優,大姚和陳可為進行了明確的分工:陳可為負責對算子進行分析,大姚負責將分析后的算子用Ascend C實現。
這樣的分工并非沒有道理。根據賽題的限制,要求參賽者既需要熟練使用Ascend C,涉及到代碼、API和相關資料,同時賽題中的算子可能來自Pytouch或TensorFlow,想要在昇思MindSpore上使用Ascend C開發,就需要熟悉框架和實現思路。剛好是大姚和陳可為各自擅長的部分。
在預選賽作品提交截止前,大姚和陳可為已經做了8個賽題,最終以總分第5的成績晉級到決賽。
從晉級名單公布到線下決賽,中間有8天的準備時間,擺在大姚和陳可為面前的選擇有兩個:一種策略是盡可能做更多的賽題,然后通過一個個用例得分;另一種策略是把每道題的得分打滿,即使不能把12道題做完。
大姚和陳可為選擇了后者,正式進入到線下決賽時,“三人行”團隊提交了10道賽題,最終的得分是100分。經過緊鑼密鼓的線下決賽,“三人行”團隊以第三名的成績斬獲銀獎,拿到了屬于他們的2萬元獎金。
比結果更有意義的,可能是大姚和陳可為跨越20年的友誼。
大姚不止一次夸贊“陳可為是個優秀的年輕人”,“和他們在一起,自己的心態也越來越年輕了”。陳可為印象深刻的是線下比賽結束后的情景,大姚帶著他在北京狠狠兜了一圈風,看到了和武漢不一樣的夜景。
03 重整旗鼓,再次開啟“游戲進程”
隨著新賽季的開啟,“三人行”團隊再次踏上了征程。
和上個賽季有所不同的是,昇騰AI原生創新算子挑戰賽(S2賽季)在規則上進行了適當調整:
1、進一步細分為基礎算子開發命題和算子性能挑戰命題,前者使用Ascend C編程語言開發大模型常用算子,后者則希望參賽團隊深入昇騰AI處理器架構,基于昇騰AI云服務挑戰算子極致性能。
2、新增賽事實時榜單,參賽團隊可以在賽事官網上實時查看團隊得分和排名。
3、進一步增加了獎金的金額和數量,其中基礎算子開發命題的獎金為53萬元,算子性能挑戰命題的獎金達到了64萬元,除了根據決賽排名分配獎金,還在預選賽階段新增了最佳性能獎、最快通過獎、潛力無限獎等等。
作為上一季的銀獎得主,“三人行”團隊已經報名了S2賽季的基礎算子開發命題,并且不吝言辭分享了他們的經驗和“戰法”。
首先要巧妙利用比賽規則。
S2賽季的報名時間截止到8月16日,預選賽作品提交截止到8月31日。在大姚看來:“S2賽季預留了更充足的時間,不僅要用心參加比賽,還要學會利用規則,比如基礎算子開發命題的前20名隊伍可以晉級決賽,可以根據實時榜單查看團隊的排名,先確保自己有機會進入到決賽嘛。”
其次是合理的組隊與協作。
經過上個賽季的磨練后,大姚和陳可為的能力有著明顯提升,他們決定在新賽季中先各自解決幾個賽題,再合力挑戰剩下幾個難度稍大的賽題。這也是大姚參加過S1決賽后的經驗和體會:“決賽的時間比較緊張,在組隊時最好找能力差不多的隊友互相補位,避免出現只有一個主力的情況。”
S2賽季尚未過半,已經有近300個團隊參賽,競爭的激烈程度遠超S1賽季。對于新賽季的預期,大姚和陳可為都十分樂觀:“對于我們來說,其實就像是游戲打怪一樣,比結果更重要的是過程,希望可以通過比賽更好地提升個人能力。當然,我們也在積極準備預選賽,努力先進入決賽。”
對于比賽時的“游戲心態”,不是因為大姚和陳可為過于“佛系”,而是有著不一樣的視角。
2023年5月6日,華為正式發布了昇騰Ascend C編程語言。彼時已經是CANN訓練營講師的大姚和陳可為,第一時間知曉了這個消息,見證了種子的發芽,但從未想過可以結出什么樣的果子。
讓大姚感觸頗深的是:“參加S1賽季的很多隊伍,都沒有Ascend C相關的開發經驗,但大家利用社區里現有的一些資源,很快就能上手參加比賽。S2賽季看起來很卷,這是因為越來越多的開發者已經參與進來,生態正在從小到大,算子開發的效率越來越高,本身就是一件特別了不起的事。”
04 寫在最后
在大姚和陳可為身上,我們看到了開發者可愛的一面。
因為興趣和愛好,他們打破溝通的隔閡,收獲了跨越年齡的友誼;因為不服輸的性格,他們不斷挑戰自己,想方設法去解決一個個難題;因為責任和擔當,新技術的種子,被他們賦予了生長土壤。
或許在他們眼中,所做的只是平凡且普通的小事。正是因為有千千萬萬像他們這樣的開發者,涓涓細流匯聚成浩瀚江河,讓新技術以一種潤物細無聲的方式應用到千行萬業。
轉載請在文章開頭和結尾顯眼處標注:作者、出處和鏈接。不按規范轉載侵權必究。
未經授權嚴禁轉載,授權事宜請聯系作者本人,侵權必究。
本文禁止轉載,侵權必究。
授權事宜請至數英微信公眾號(ID: digitaling) 后臺授權,侵權必究。
評論
評論
推薦評論
暫無評論哦,快來評論一下吧!
全部評論(0條)