【2023 · CANN训练营第一季】一个零基础入营“老”年玩家,在结营仪式上的经验分享
前言:
参加过多次训练营,每次都会有不同的感动。是初见时的那段脱口秀;是去年🐏了还在答疑的老师;是本届兼顾考试和比赛,嘴里说着苦说着累,却努力拼搏到深夜的小伙伴,你们的责任与担当,是鼓励我努力前行的动力。吸引我的是一群热爱生活和技术的开发者,一个默默付出、充满激情、辛勤工作在幕前幕后的小助手团队,一群真想教会你AI,告诉你“我CANN行”的授课老师。我想告诉零经验的小伙伴,训练营不仅仅是专业队的,不仅仅是大佬们的,也是你们的。参与就有机会,努力必有回报!
CANN训练营是昇腾社区的重要力量,不仅仅是有多少小伙伴完成了考核,提交了笔记。它提供了一个供开发者交流,共同学习与进步的平台。有的开发者由于时间的关系,没有参加考核和发表笔记,但在训练营的微信群里,通过交流获得了必要的信息,使用训练营的资源,通过短时间的学习,掌握了必要的知识,完成了与AI、与昇腾有关的比赛与工作,这样的开发者,我遇到了好几位。星星之火必成燎原之势,国产AI终将创享未来。
一、我与CANN训练营
训练营最开始吸引我的是:雪糕的一段脱口秀,一场Big F4的激情秀。谁能拒绝一个好“玩”,还能学到知识的训练营呢!
一)初识训练营
毕业后,我从事的是电路设计工作,很快就20年了。在参加CANN训练营之前,没有任何AI方面的经验,连Pytorch,Tensorflow这些名词,还是从训练营的课上听到后,下课再查的。妥妥是一个零经验的“老(年)玩家”,又多次参加训练营,所以又是一个“老学员”——How old are you(怎么老是你)。
初识训练营,是因为当时想开发一个调试摄像头感光芯片的软硬件平台,通过搜索引擎比对后,选择了Atlas 200DK开发者套件。下单后,果断在华为论坛发帖,询问开发事项,结果被“直接”拒绝了。不甘心,在论坛里搜索200DK,找到了好多笔记,顺着线索找到了CANN训练营。
二)“玩(/混)”在训练营
在前1~2次参加训练营时,我没怎么学习,“玩”的那个是不亦乐乎,自封为气氛组。但内心还是像一个渴望得到糖果的小孩子,心心恋恋的是训练营的衣服,觉得有了件衣服,咱也就正式算训练营的人了,可是雪糕不(抢)给(不)我(到),也许后来下意识去拼手速和网速,就是当时落下的病——得治。
大概是第三次参加训练营的时候,我获得了第一份奖品,FreeBuds 4耳机。记得那是颜亚文老师的模型课,当时获奖很意外,我还在搞着气氛,突然听到获奖名单里有我,那心情。这个奖更多的是训练营对0基础“新”玩家的鼓励。虽说0基础学员获大奖很难,但只要稍微使点劲,拿奖还是可以有的。
本次参营最大的遗憾,是没有帮助到参加副线任务的小伙伴提交更多学习笔记。不过令我欣喜的见到,有两位小伙伴提交了相关副线任务笔记,谢谢你们!!!如果以后还有副线或类似的任务,我一定要多想些办法,和更多的小伙伴一起玩起来。
三)小白白时期的困惑(我非常尊敬的小白哥出席了结营仪式,于是临时将小白改成了小白白,致敬小白哥😊)
困惑一、我是纯纯的小白白,pytorch、Tensorflow没学过,甚至C++、Python也不是很熟悉,在训练营能学什么?
来都来了,不学点东西就走,不合适。那咱好歹在昇腾芯片上跑个AI程序。学会申请ECS、搭建一个CANN开发环境,下载个sample仓,按Readme跑一个应用案例,为下一个阶段打个基础。同时,直观的感受下AI其实并不难,只需要一个小时,就能零门槛就能体验一个AI应用。给自己一个机会,了解AI,了解昇腾,了解CANN训练营。另外,以后咱也可以说,当年我和某大佬同过训练营😊
困惑二、课听懂了,实验也做了,但笔记写不出来
都这个段位了,写就完了。写笔记,不是写论文!(逼)自己写出一篇,然后就一生二,二生三、三生万物。多写写笔记,能帮助自己更好的理解知识点,还能提高写作能力,对写论文也是有帮助的哦。当然也有小伙伴把笔记写出了论文的高度。比如下面的这位大佬:
【CANN训练营】玩转CANN目标检测与识别一站式方案【介绍篇】 https://bbs.huaweicloud.com/blogs/364964
困惑三、我想写的内容,别的小伙伴已经写过了,我还怎么写?
曾经在训练营群里,听过一个小伙伴骄傲的说:“你遇到的这个问题,也折磨了我好一阵子,然后搞定了,我把它记录到笔记里了”。是的,笔记是对自己学习和实验的记录与总结,能帮我们更好的理清思路,掌握知识。我们的经验和体会,还可以给别的小伙伴带去帮助。我的笔记我做主。
困惑四、(前面省略美好的形容词数十个)万能的小助手们,是AI高手,还是和我们一样的萌新?
能回答这样问题的小助手,是什么段位选手???
这个问题也许可以换个问法:你希望小助手是AI高手,还是萌新呢?
我的回答是:小助手已经做的够多,够好的了,怎么还能提这么多要求呢🙂,大家要爱护小助手们,多多支持小助手们的工作!!!
二、想“写”会“写”
这部分内容,是我写笔记从0到1的体会。
一)有哪些笔记可以写
以本次CANN训练营为例,我觉得有五方面的笔记可以去写。
1、学习视频课的笔记:本季正式课程13节,特邀课4节。每节课可以写一篇笔记,13篇起,由于老师授课受限于时长,会将多个知识点放到一次课去讲。另一种写法,是按知识点展开写,数量再加倍吧。请看这位大佬的:
2、课程实例复现的笔记:每门课至少可以写1篇笔记——5篇起
本次训令营课程里,Pytorch、Tensorflow模型的迁移课程提供了可实际运行的工程代码,还提供了环境搭建手册;基于小藤的智能小车,Ascend C算子开发提供了沙箱实验环境;应用开发课,有丰富的sample代码仓。这些都可以写成课程实例复现类的笔记。
3、同类示例复现:按照课程教授的知识,选择不同的案例去实验。每门课至少1篇——再来几篇
4、知识点的进一步挖掘:探索背后的秘密——N篇
选择自己感兴趣的知识,进行进一步的学习和挖掘,精度分析、性能调优这些可以安排上了。
5、分享自己的学习、项目经验:只要写出来,就是高质量的,还管数量干嘛
此外,还可以讲述与昇腾的故事,一本正经的总结训练营各种神奇定律:名字带“一”、带“小”的都是高手,哎,等下你咋改呢称了??外卖小哥给CANN发来贺电。
训练营的环境都是老师提前搭建好的,代码也是验证过的,一般不会遇到问题。当自己去做实际项目时,会遇到各种各样的问题。您实际项目中的经验对其他开发者是巨大帮助。
二)学习视频课的笔记如何写
4个小时,一遍PPT+两遍视频,边看边写
1)在对应的课程里,先浏览一遍与视频对应的PPT,掌握大致的内容;
2)完整的看一遍视频,理解知识点;可以去官方文档查看相应的知识点;
3)结合PPT和老师的讲解,勾勒出本次课程的重点内容和组织结构,通常情况下,会和老师的PPT目录一致;——不用意外,英雄所见略同
4)打开“内容写作”平台,按要求写好笔记的题目;并根据自己的理解,结合PPT,写出笔记的写作提纲;
5)再看一遍视频,边看边往笔记里加入文字和截图,视频看完,笔记完成;
6)浏览一遍笔记,并写出前言部分,提交审核,等待通过。
学习笔记的另一种写法,是从问题问答的角度去学习、去写。以小藤驱动的智能“小车”课程为例:什么是智能小车,它与其它的小车有啥不同?它能干什么?它是怎么做的这些的?怎么才能拥有一辆自己的小车,并让它智能的跑起来。带着这些问题,搜集资料,阅读材料,学习视频,寻找答案。于是有了下面这篇笔记:【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记 https://www.bilibili.com/read/cv23707892。这样写好不好先不论,抛砖引玉,分享一种写作思路。
三)课程复现笔记如何写
4~6小时,实验+笔记全完成
这一类笔记尽量写的详细些,和在学校写实验报告类似。让看到笔记的小伙伴,只这一篇文档就可以完成示例复现,少走弯路。在此基础上,再加上自己实验中遇到的问题和解决方法;或者对知识点的理解,那妥妥就是一篇优秀的笔记了。
1)找一篇类似工作的笔记看看,可以去训练营推荐的优秀笔记里去翻一翻,或者直接去昇腾论坛搜关键字。熟悉大致的流程、掌握ECS、ModelArts的使用方法,能少走很多弯路(如果对运行环境很熟悉,可以忽略此步);
2)勾勒出大致的实验过程,提前准备好实验的代码,说明文档等;
3)实际操作一遍,把操作步骤简单记录一下,最终完成实验;
4)打开“内容写作”平台,按要求写好笔记的题目;并根据自己的理解,结合实际的操作过程,建立笔记提纲;
5)“有图有真相”,这类笔记通常要大量截图:各种软件设置、配置的截图,模型转换等关键步骤,运行结果等,提前规划好;
6)再做一遍实验:一边操作,一边截图;
7)补全文字,浏览检查一遍笔记,提交审核。
小助手,等会哈,把本次实验和笔记花的代金券41.5元报了哈,取个整,就报50吧!啥?给100啊,好好,我再去做实验写笔记哈。
四)几个写笔记的TIPs
善用“内容写作”平台:我们可以直接在各平台的“内容写作”模块里写笔记,边学、边实验、边写。一次写不完,还可以暂存到草稿箱,有时间再写。相比于早先用word写,再拷贝发布相比,图片的分辨率、多平台发布的方便程度,都有了明显的改善。而且当你下次打开时,发现草稿箱有一堆笔记,催更效应是不是更明显,用word写,有可能都忘记放哪儿了。如果说这种方法有啥缺点的话,那就是:清空草稿箱太难了!!!——问就是草稿箱里有N篇笔记,烂尾了。
我常用的是 B站(主要是觉得自己写的东西有些低端,不好意思在专业的昇腾平台发),感觉昇腾博客草稿箱进行跨平台发布时,兼容性会更好一些。平时学习实验时,也可以打开写作平台,随手记,我现在是越来越喜欢这种方式了。
常用的笔记平台:昇腾博客、昇腾论坛、B站、CSDN、知乎、掘金论坛、51CTO、简书、思否。这些平台都是本次写笔记时,看别的小伙伴的和自己找到的,希望大家的笔记能被更多的人看到,来CANN训练营一起“玩”,一起“学”。
三、想“赢”能“赢”
如何更好的学习课程,在单元测和考核中拿高分?
一)先对昇腾开发有个整体印象
建议新来的开发者,先去看看“昇腾开发Guidebook”,https://www.hiascend.com/developer/guidebook/start,对昇腾、昇腾社区有个整体的感受。从下面这张图,我们知道昇腾可以做应用开发、算子开发、模型开发,再具体看每种开发的主要内容有哪些,流程是怎样的,用到哪些技术和工具?以及昇腾社区提供的全流程开发保障与服务。
二)“听”好直播课 ——“时”半功倍
1、课前做个预习——上课不抓瞎
把课程相关专题的资料收集一下,我通常是去“CANN”社区版的用户手册查找资料。
昇腾社区首页,“产品”下选择“CANN”,然后选择“社区版”,往下拉,点击“用户手册”。
比如,本次Ascend C算子课,官方文档的这些内容,都是上课时老师讲述的重点,先看一遍,对课上理解非常有益。
2、课中认真听讲——跟上老师的思路,他真想您学会
这个图,第一次见是在劳模“小虎”老师的课上。为了给大家讲清楚Device、Context、Stream的关系。小虎老师每次都会用最温柔的话语说:抱歉小伙伴们,今晚又超时了,但我们还是把这个内容开个头,要不下次讲不完了。意思是:下次即使超时,也讲不完。于是,Sample仓里多了一个“开发者成长路径”的项目。现在已经完成“初级学习路径”,很适合刚入门做推理应用开发的小伙伴们,去提高自己的“应用开发”方面的能力。
开发者成长路径——初级学习路径
https://gitee.com/ascend/samples/tree/master/growthpath/junior-level
如何评估课上的学习效果呢,有个方法,排除网络、手速因素后,能正确回答老师课上提出的问题,就说明您学的不错。本届老师出题都开始“卷”了,就这道单选,说是某选拔性入学考试中有区分度的难题,不为过吧。
2、课后及时复习——梳理清楚知识脉络
课后再过一遍PPT,把知识内容梳理清楚。列个提纲,画个知识图谱都可以。下面这位小伙伴是这么做的:
三)多动手实践——花掉所有代金券,不够找万能的小助手
1、复现课上的实例
2、sample仓实例—— https://gitee.com/ascend/samples
去看Readme,Readme,Readme,再有不理解的地方,去群里问。
四)及时完成单元测和微认证——多刷几遍
单元测、微认证的目的还是让大家学到更多的知识,不凡多刷几遍。
五)多关注社区资源
打开昇腾社区首页,你会发现“开发者”下面的内容越来越丰富。开发者成长路径、在线课程、在线实验,想学随时可以学,而且可以学好!
当然,少不了咱训练营的直播平台和往期视频库,B站“昇腾AI开发者” https://space.bilibili.com/1190614918
这是2021年和2022年CANN训练营的课程合集:按推理、模型迁移、算子进行了分类。https://www.bilibili.com/read/cv22395020
四、萌新时的梦想
还是萌新的时候,最想获得的是一件训练营的衣服,像极了一个渴望得到糖果的小孩子。本次训练营的门槛已经很低了,只要完成单元测和微认证就能毕业,写点笔记就能获奖。但不凡再降低点获奖的门槛,奖可以小一点,但量大一些,让更多小伙伴能拿到奖,获得激励。
试想一下这样的画面:小助手开着直播,带领着一群刚加入训练营的小伙伴,做零基础的实操课——申请ECS,搭环境,下代码仓,跑一个猫狗识别应用,入门的那个Resnet50稍微改一下把识别结果直接打在图片上。隔一段时间,如果新入营的伙伴多了,就再来一期。我先表个态,如果梦想照进现实,我报名志愿者,直播课上给小助手保驾护航。参加完入门实操课的小伙伴们,把自己的推理结果截屏发论坛,把第一次的AI体验写成笔记,顺便带走一份属于自己的训练营礼物。
我们不需要生成式的AI助手,我们需要的是昇腾小助手,陪我们一起学习,催我们做作业,交笔记的有温度的小助手,永远都是!!!
后记:
作为一个0基础入门的“老”年玩家,看着训练营好多年轻的小伙伴,有工作的,读研的,还有好多是大一大二的朋友,希望你们在训练营学好,玩好。带动更多的小伙伴来训练营。
卷的动,陪你们“卷”;卷不动,看你们“卷”
- 点赞
- 收藏
- 关注作者
评论(0)