【2023 · CANN訓(xùn)練營第一季】一個零基礎(chǔ)入營,“老”年玩家,在結(jié)營儀式上的經(jīng)驗分享
前言:
? ? ? ? 參加過多次訓(xùn)練營,每次都會有不同的感動。是初見時的那段脫口秀;是去年??了還在答疑的老師;是本屆兼顧考試和比賽,嘴里說著苦說著累,卻努力拼搏到深夜的小伙伴,你們的責(zé)任與擔(dān)當(dāng),是鼓勵我努力前行的動力。吸引我的是一群熱愛生活和技術(shù)的開發(fā)者,一個默默付出、充滿激情、辛勤工作在幕前幕后的小助手團隊,一群真想教會你AI,告訴你“我CANN行”的授課老師。我想告訴零門檻的小伙伴,訓(xùn)練營不僅僅是專業(yè)隊的,不僅僅是大佬們的,也是你們的。參與就有機會,努力必有回報!
? ? ? ? CANN訓(xùn)練營是昇騰社區(qū)的重要力量,不僅僅是有多少小伙伴完成了考核,提交了筆記。它提供了一個供開發(fā)者交流,共同學(xué)習(xí)與進步的平臺。有的開發(fā)者由于時間的關(guān)系,沒有參加考核和發(fā)表筆記,但在訓(xùn)練營的微信群里,通過交流獲得了必要的信息,使用訓(xùn)練營的資源,通過短時間的學(xué)習(xí),掌握了必要的知識,完成了與AI、與昇騰有關(guān)的比賽與工作,這樣的開發(fā)者,我遇到了好幾位。星星之火必成燎原之勢,國產(chǎn)AI終將創(chuàng)享未來。
一、我與CANN訓(xùn)練營
? ? ? ?訓(xùn)練營最開始吸引我的是:雪糕的一段脫口秀,一場Big F4的激情秀。誰能拒絕一個好“玩”,還能學(xué)到知識的訓(xùn)練營呢!
一)初識訓(xùn)練營
? ? ? ?畢業(yè)后,我從事的是電路設(shè)計工作,很快就20年了。在參加CANN訓(xùn)練營之前,沒有任何AI方面的經(jīng)驗,連Pytorch,Tensorflow這些名詞,還是從訓(xùn)練營的課上聽到后,下課再查的。妥妥是一個零經(jīng)驗的“老(年)玩家”,又多次參加訓(xùn)練營,所以又是一個“老學(xué)員”——How old are you(怎么老是你)。
? ? ? 初識訓(xùn)練營,是因為當(dāng)時想開發(fā)一個調(diào)試攝像頭感光芯片的軟硬件平臺,通過搜索引擎比對后,選擇了Atlas 200DK開發(fā)者套件。下單后,果斷在華為論壇發(fā)帖,詢問開發(fā)事項,結(jié)果被“直接”拒絕了。不甘心,在論壇里搜索200DK,找到了好多筆記,順著線索找到了CANN訓(xùn)練營。

二)“玩(/混)”在訓(xùn)練營
? ? ? 在前1~2次參加訓(xùn)練營時,我沒怎么學(xué)習(xí),“玩”的那個是不亦樂乎,自封為氣氛組。但內(nèi)心還是像一個渴望得到糖果的小孩子,心心戀戀的是訓(xùn)練營的衣服,覺得有了件衣服,咱也就正式算訓(xùn)練營的人了,可是雪糕不(搶)給(不)我(到),也許后來下意識去拼手速和網(wǎng)速,就是當(dāng)時落下的病——得治。
? ? ? 大概是第三次參加訓(xùn)練營的時候,我獲得了第一份獎品,F(xiàn)reeBuds 4耳機。記得那是顏亞文老師的模型課,當(dāng)時獲獎很意外,我還在搞著氣氛,突然聽到獲獎名單里有我,那心情。這個獎更多的是訓(xùn)練營對0基礎(chǔ)“新”玩家的鼓勵。雖說0基礎(chǔ)學(xué)員獲大獎很難,但只要稍微使點勁,拿獎還是可以有的。
? ? ? ?本次參營最大的遺憾,是沒有幫助到參加副線任務(wù)的小伙伴提交更多學(xué)習(xí)筆記。不過令我欣喜的見到,有兩位小伙伴提交了相關(guān)副線任務(wù)筆記,謝謝你們?。?!如果以后還有副線或類似的任務(wù),我一定要多想些辦法,和更多的小伙伴一起玩起來。

三)小白白時期的困惑(我非常尊敬的小白哥出席了結(jié)營儀式,于是臨時將小白改成了小白白,致敬小白哥??)
困惑一、我是純純的小白白,pytorch、Tensorflow沒學(xué)過,甚至C++、Python也不是很熟悉,在訓(xùn)練營能學(xué)什么?
? ? ? ?來都來了,不學(xué)點東西就走,不合適。那咱好歹在昇騰芯片上跑個AI程序。學(xué)會申請ECS、搭建一個CANN開發(fā)環(huán)境,下載個sample倉,按Readme跑一個應(yīng)用案例,為下一個階段打個基礎(chǔ)。同時,直觀的感受下AI其實并不難,只需要一個小時,就能零門檻就能體驗一個AI應(yīng)用。給自己一個機會,了解AI,了解昇騰,了解CANN訓(xùn)練營。另外,以后咱也可以說,當(dāng)年我和某大佬同過訓(xùn)練營??
困惑二、課聽懂了,實驗也做了,但筆記寫不出來
? ? ? ?都這個段位了,寫就完了。寫筆記,不是寫論文?。ū疲┳约簩懗鲆黄缓缶鸵簧?、三生萬物。多寫寫筆記,能幫助自己更好的理解知識點,還能提高寫作能力,對寫論文也是有幫助的哦。當(dāng)然也有小伙伴把筆記寫出了論文的高度。比如下面的這位大佬:
? ? ? 【CANN訓(xùn)練營】玩轉(zhuǎn)CANN目標(biāo)檢測與識別一站式方案【介紹篇】? https://bbs.huaweicloud.com/blogs/364964
困惑三、我想寫的內(nèi)容,別的小伙伴已經(jīng)寫過了,我還怎么寫?
? ? ? ?曾經(jīng)在訓(xùn)練營群里,聽過一個小伙伴驕傲的說:“你遇到的這個問題,也折磨了我好一陣子,然后搞定了,我把它記錄到筆記里了”。是的,筆記是對自己學(xué)習(xí)和實驗的記錄與總結(jié),能幫我們更好的理清思路,掌握知識。我們的經(jīng)驗和體會,還可以給別的小伙伴帶去幫助。我的筆記我做主。
困惑四、(前面省略美好的形容詞數(shù)十個)萬能的小助手們,是AI高手,還是和我們一樣的萌新?
? ? ? ?

? ? ? ?能回答這樣問題的小助手,是什么段位選手???
? ? ? ?這個問題也許可以換個問法:你希望小助手是AI高手,還是萌新呢?
? ? ? ?我的回答是:小助手已經(jīng)做的夠多,夠好的了,怎么還能提這么多要求呢??,大家要愛護小助手們,多多支持小助手們的工作?。?!
二、想“寫”會“寫”
? ? ?這部分內(nèi)容,是我寫筆記從0到1的體會。
一)有哪些筆記可以寫
? ? 以本次CANN訓(xùn)練營為例,我覺得有五方面的筆記可以去寫。
1、學(xué)習(xí)視頻課的筆記:本季正式課程13節(jié),特邀課4節(jié)。每節(jié)課可以寫一篇筆記,13篇起,由于老師授課受限于時長,會將多個知識點放到一次課去講。另一種寫法,是按知識點展開寫,數(shù)量再加倍吧。請看這位大佬的:

2、課程實例復(fù)現(xiàn)的筆記:每門課至少可以寫1篇筆記——5篇起
? ? ? ?本次訓(xùn)令營課程里,Pytorch、Tensorflow模型的遷移課程提供了可實際運行的工程代碼,還提供了環(huán)境搭建手冊;基于小藤的智能小車,Ascend C算子開發(fā)提供了沙箱實驗環(huán)境;應(yīng)用開發(fā)課,有豐富的sample代碼倉。這些都可以寫成課程實例復(fù)現(xiàn)類的筆記。
3、同類示例復(fù)現(xiàn):按照課程教授的知識,選擇不同的案例去實驗。每門課至少1篇——再來幾篇
4、知識點的進一步挖掘:探索背后的秘密——N篇
? ? ? 選擇自己感興趣的知識,進行進一步的學(xué)習(xí)和挖掘,精度分析、性能調(diào)優(yōu)這些可以安排上了。
5、分享自己的學(xué)習(xí)、項目經(jīng)驗:只要寫出來,就是高質(zhì)量的,還管數(shù)量干嘛
? ? ? ?此外,還可以講述與昇騰的故事,一本正經(jīng)的總結(jié)訓(xùn)練營各種神奇定律:名字帶“一”、帶“小”的都是高手,哎,等下你咋改呢稱了??外賣小哥給CANN發(fā)來賀電。
? ? ? ?訓(xùn)練營的環(huán)境都是老師提前搭建好的,代碼也是驗證過的,一般不會遇到問題。當(dāng)自己去做實際項目時,會遇到各種各樣的問題。您實際項目中的經(jīng)驗對其他開發(fā)者是巨大幫助。
二)學(xué)習(xí)視頻課的筆記如何寫
? ? ? ? ?4個小時,一遍PPT+兩遍視頻,邊看邊寫
1)在對應(yīng)的課程里,先瀏覽一遍與視頻對應(yīng)的PPT,掌握大致的內(nèi)容;
2)完整的看一遍視頻,理解知識點;可以去官方文檔查看相應(yīng)的知識點;
3)結(jié)合PPT和老師的講解,勾勒出本次課程的重點內(nèi)容和組織結(jié)構(gòu),通常情況下,會和老師的PPT目錄一致;——不用意外,英雄所見略同
4)打開“內(nèi)容寫作”平臺,按要求寫好筆記的題目;并根據(jù)自己的理解,結(jié)合PPT,寫出筆記的寫作提綱;
5)再看一遍視頻,邊看邊往筆記里加入文字和截圖,視頻看完,筆記完成;
6)瀏覽一遍筆記,并寫出前言部分,提交審核,等待通過。
? ?? ? 學(xué)習(xí)筆記的另一種寫法,是從問題問答的角度去學(xué)習(xí)、去寫。以小藤驅(qū)動的智能“小車”課程為例:什么是智能小車,它與其它的小車有啥不同?它能干什么?它是怎么做的這些的?怎么才能擁有一輛自己的小車,并讓它智能的跑起來。帶著這些問題,搜集資料,閱讀材料,學(xué)習(xí)視頻,尋找答案。于是有了下面這篇筆記:【2023 · CANN訓(xùn)練營第一季】——開發(fā)者套件進階,玩轉(zhuǎn)智能小車課程筆記 ?https://www.bilibili.com/read/cv23707892。這樣寫好不好先不論,拋磚引玉,分享一種寫作思路。
三)課程復(fù)現(xiàn)筆記如何寫
? ? ? ? 4~6小時,實驗+筆記全完成
? ? ? ? 這一類筆記盡量寫的詳細(xì)些,和在學(xué)校寫實驗報告類似。讓看到筆記的小伙伴,只這一篇文檔就可以完成示例復(fù)現(xiàn),少走彎路。在此基礎(chǔ)上,再加上自己實驗中遇到的問題和解決方法;或者對知識點的理解,那妥妥就是一篇優(yōu)秀的筆記了。?
1)找一篇類似工作的筆記看看,可以去訓(xùn)練營推薦的優(yōu)秀筆記里去翻一翻,或者直接去昇騰論壇搜關(guān)鍵字。熟悉大致的流程、掌握ECS、ModelArts的使用方法,能少走很多彎路(如果對運行環(huán)境很熟悉,可以忽略此步);
2)勾勒出大致的實驗過程,提前準(zhǔn)備好實驗的代碼,說明文檔等;
3)實際操作一遍,把操作步驟簡單記錄一下,最終完成實驗;
4)打開“內(nèi)容寫作”平臺,按要求寫好筆記的題目;并根據(jù)自己的理解,結(jié)合實際的操作過程,建立筆記提綱;
5)“有圖有真相”,這類筆記通常要大量截圖:各種軟件設(shè)置、配置的截圖,模型轉(zhuǎn)換等關(guān)鍵步驟,運行結(jié)果等,提前規(guī)劃好;
6)再做一遍實驗:一邊操作,一邊截圖;
7)補全文字,瀏覽檢查一遍筆記,提交審核。
小助手,等會哈,把本次實驗和筆記花的代金券41.5元報了哈,取個整,就報50吧!啥?給100啊,好好,我再去做實驗寫筆記哈。
四)幾個寫筆記的TIPs
? ? ? ?善用“內(nèi)容寫作”平臺:我們可以直接在各平臺的“內(nèi)容寫作”模塊里寫筆記,邊學(xué)、邊實驗、邊寫。一次寫不完,還可以暫存到草稿箱,有時間再寫。相比于早先用word寫,再拷貝發(fā)布相比,圖片的分辨率、多平臺發(fā)布的方便程度,都有了明顯的改善。而且當(dāng)你下次打開時,發(fā)現(xiàn)草稿箱有一堆筆記,催更效應(yīng)是不是更明顯,用word寫,有可能都忘記放哪兒了。如果說這種方法有啥缺點的話,那就是:清空草稿箱太難了?。。 獑柧褪遣莞逑淅镉蠳篇筆記,爛尾了。
? ? ? 我常用的是 B站(主要是覺得自己寫的東西有些低端,不好意思在專業(yè)的昇騰平臺發(fā)),感覺昇騰博客草稿箱進行跨平臺發(fā)布時,兼容性會更好一些。平時學(xué)習(xí)實驗時,也可以打開寫作平臺,隨手記,我現(xiàn)在是越來越喜歡這種方式了。

? ? ? ?常用的筆記平臺:昇騰博客、昇騰論壇、B站、CSDN、知乎、掘金論壇、51CTO、簡書、思否。這些平臺都是本次寫筆記時,看別的小伙伴的和自己找到的,希望大家的筆記能被更多的人看到,來CANN訓(xùn)練營一起“玩”,一起“學(xué)”。
三、想“贏”能“贏”
? ? ? ? 如何更好的學(xué)習(xí)課程,在單元測和考核中拿高分?
一)先對昇騰開發(fā)有個整體印象
? ? ? ? 建議新來的開發(fā)者,先去看看“昇騰開發(fā)Guidebook”,https://www.hiascend.com/developer/guidebook/start,對昇騰、昇騰社區(qū)有個整體的感受。從下面這張圖,我們知道昇騰可以做應(yīng)用開發(fā)、算子開發(fā)、模型開發(fā),再具體看每種開發(fā)的主要內(nèi)容有哪些,流程是怎樣的,用到哪些技術(shù)和工具?以及昇騰社區(qū)提供的全流程開發(fā)保障與服務(wù)。

二)“聽”好直播課 ——“時”半功倍
1、課前做個預(yù)習(xí)——上課不抓瞎
? ? ? ? ?把課程相關(guān)專題的資料收集一下,我通常是去“CANN”社區(qū)版的用戶手冊查找資料。
? ? ? ? ?昇騰社區(qū)首頁,“產(chǎn)品”下選擇“CANN”,然后選擇“社區(qū)版”,往下拉,點擊“用戶手冊”。

? ? ? ? ? 比如,本次Ascend C算子課,官方文檔的這些內(nèi)容,都是上課時老師講述的重點,先看一遍,對課上理解非常有益。

2、課中認(rèn)真聽講——跟上老師的思路,他真想您學(xué)會

? ? ? ? ?這個圖,第一次見是在勞?!靶』ⅰ崩蠋煹恼n上。為了給大家講清楚Device、Context、Stream的關(guān)系。小虎老師每次都會用最溫柔的話語說:抱歉小伙伴們,今晚又超時了,但我們還是把這個內(nèi)容開個頭,要不下次講不完了。意思是:下次即使超時,也講不完。于是,Sample倉里多了一個“開發(fā)者成長路徑”的項目?,F(xiàn)在已經(jīng)完成“初級學(xué)習(xí)路徑”,很適合剛?cè)腴T做推理應(yīng)用開發(fā)的小伙伴們,去提高自己的“應(yīng)用開發(fā)”方面的能力。
開發(fā)者成長路徑——初級學(xué)習(xí)路徑
https://gitee.com/ascend/samples/tree/master/growthpath/junior-level
? ? ? ? 如何評估課上的學(xué)習(xí)效果呢,有個方法,排除網(wǎng)絡(luò)、手速因素后,能正確回答老師課上提出的問題,就說明您學(xué)的不錯。本屆老師出題都開始“卷”了,就這道單選,說是某選拔性入學(xué)考試中有區(qū)分度的難題,不為過吧。

2、課后及時復(fù)習(xí)——梳理清楚知識脈絡(luò)
? ? ? ?課后再過一遍PPT,把知識內(nèi)容梳理清楚。列個提綱,畫個知識圖譜都可以。下面這位小伙伴是這么做的:


三)多動手實踐——花掉所有代金券,不夠找萬能的小助手
1、復(fù)現(xiàn)課上的實例
2、sample倉實例——?https://gitee.com/ascend/samples
? ? ? ?去看Readme,Readme,Readme,再有不理解的地方,去群里問。
四)及時完成單元測和微認(rèn)證——多刷幾遍
? ? ? ? ?單元測、微認(rèn)證的目的還是讓大家學(xué)到更多的知識,不凡多刷幾遍。

五)多關(guān)注社區(qū)資源
? ? ? ? 打開昇騰社區(qū)首頁,你會發(fā)現(xiàn)“開發(fā)者”下面的內(nèi)容越來越豐富。開發(fā)者成長路徑、在線課程、在線實驗,想學(xué)隨時可以學(xué),而且可以學(xué)好!

? ? ? ?當(dāng)然,少不了咱訓(xùn)練營的直播平臺和往期視頻庫,B站“昇騰AI開發(fā)者”? ? ?https://space.bilibili.com/1190614918
? ? ? ?這是2021年和2022年CANN訓(xùn)練營的課程合集:按推理、模型遷移、算子進行了分類。https://www.bilibili.com/read/cv22395020
四、萌新時的夢想
? ? ? ? 還是萌新的時候,最想獲得的是一件訓(xùn)練營的衣服,像極了一個渴望得到糖果的小孩子。本次訓(xùn)練營的門檻已經(jīng)很低了,只要完成單元測和微認(rèn)證就能畢業(yè),寫點筆記就能獲獎。但不凡再降低點獲獎的門檻,獎可以小一點,但量大一些,讓更多小伙伴能拿到獎,獲得激勵。
? ? ? ? 試想一下這樣的畫面:小助手開著直播,帶領(lǐng)著一群剛加入訓(xùn)練營的小伙伴,做零基礎(chǔ)的實操課——申請ECS,搭環(huán)境,下代碼倉,跑一個貓狗識別應(yīng)用,入門的那個Resnet50稍微改一下把識別結(jié)果直接打在圖片上。隔一段時間,如果新入營的伙伴多了,就再來一期。我先表個態(tài),如果夢想照進現(xiàn)實,我報名志愿者,直播課上給小助手保駕護航。參加完入門實操課的小伙伴們,把自己的推理結(jié)果截屏發(fā)論壇,把第一次的AI體驗寫成筆記,順便帶走一份屬于自己的訓(xùn)練營禮物。
? ? ? ? 我們不需要生成式的AI助手,我們需要的是昇騰小助手,陪我們一起學(xué)習(xí),催我們做作業(yè),交筆記的有溫度的小助手,永遠都是?。?!
后記:
? ? ? ? 作為一個0基礎(chǔ)入門的“老”年玩家,看著訓(xùn)練營好多年輕的小伙伴,有工作的,讀研的,還有好多是大一大二的朋友,希望你們在訓(xùn)練營學(xué)好,玩好。帶動更多的小伙伴來訓(xùn)練營。
? ? ? ? 卷的動,陪你們“卷”;卷不動,看你們“卷”