Datawhale人工智能培养方案V2.0
输入“/”快速插入
🎓
Datawhale人工智能培养方案V2.0
4912
7146
3
0
📍 版本
版本号:V2.0 发布日期:2023年9月23日
版本号:V0.9.2 发布日期:2023年4月3日
版本号:V0.9.1 发布日期:2023年3月6日
版本号:V0.9.0 发布日期:2021年12月16日
🍭 前言
本培养方案是Datawhale的小伙伴们多年以来的积累,以期许能构建出一套完善的人工智能课程体系,帮助初涉人工智能的你(也是曾经的我们)提供一份切实可行的学习路线。
课程 | AI 学习路线
🔍 使用说明
💡
•
本培养方案按照专业方向进行编排,每个专业方向均包含以下几块内容:
◦
🍿 故事汇:通过讲故事的方式,展现该方向从业人员一天的生活,以此来让你直观感受理应具备的知识以及知识的具体运用场景;
◦
🗒 课程表:按照课程性质、课程类型列出课程,其中课程的排列顺序即为本培养方案推荐的学习顺序。
•
课表中的课程按照性质分为以下几类:
◦
基础:基础课是该方向从业人员理应具备的基本素养,建议熟练掌握;
◦
必修:必修课是该方向的专属课程,建议熟练掌握;
◦
选修:选修课是该方向在日常工作中可能会用到的额外知识,可选择性学习;
◦
实践:实践课是对必修课中所学知识的综合运用,可选择性学习。
•
无法访问GitHub时,将链接中的
github.com
换成
gitee.com
即可访问仓库的国内镜像版;
•
诚挚欢迎任何有意向为本培养方案贡献新课程或者完善现有课程的同学加入,具体请联系
Datawhale开源项目管理委员会
负责人谢文睿(微信:at-Sm1les);
•
本培养方案由
Datawhale开源项目管理委员会
制定并发布,获取最新版请关注微信公众号:Datawhale,回复“培养方案”。
📃 自然语言处理(Natural Language Processing,NLP)
🍿 故事汇
《自然语言处理算法工程师的一天》
小文,一名工作经验两年半的NLP算法工程师,平时最擅长使用Ctrl键和其他键的组合操作。
这天早上来到公司后,小文刚从书包掏出电脑准备开始摸鱼,结果PM(产品经理)突然就杀到工位来了,小文心想这是线上模型又出Case了?
好在是虚惊一场,原来PM是来拉他去参加一个新项目的启动会,在会上PM提出想给公司APP上的视频增加一个叫“节点摘要”的东西,也就是在视频的下方列出各个关键节点的内容摘要和起止时间,方便用户快速了解视频的大纲并快进到自己想看的地方。小文听后觉得这个项目有搞头,爽快地接下了这个需求。
小文回到工位后,打开电脑,打开终端,登录进Linux系统的开发机,连接上本地的VSCode,开始用
Python
编写批量捞取视频数据的
Hadoop
脚本。小文随机抽样了一批数据,通过摸底分析,再结合自己对需求的理解,与PM共同讨论制定了第一期算法所要达到的目标、排期以及算法上线的评估标准,在打破PM不切实际的幻想同时又给了他一些盼头。
做完这些前期准备工作后,小文便开始撰写技术方案并跟Leader进行汇报。凭借着扎实的
NLP基础
以及对最新技术的调研和分析,小文很快拟出了以下几套方案:
•
方案一:用信息抽取的方法直接从字幕中抽取起始时间和摘要,优点是技术难度和资源消耗均低,缺点是抽取出的摘要效果受字幕质量直接影响;
•
方案二:先用信息抽取抽取的方法抽取各个关键节点的起止时间,然后依此对字幕分段,接着用文本生成的方法对每段字幕生成摘要,优点是效果会优于方案一,缺点是技术难度和资源消耗均高于方案一;
•
方案三:仅用一个文本生成模型生成出各个关键节点的内容摘要和起止时间,优点是效果最好,且仅用了一个模型,易于维护,缺点是技术难度和资源消耗最高。
Leader收到小文的技术方案后,对其中的细节做了些许修订,最后综合当前的人力、资源、排期等各种因素,与小文商定的结论是以上方案的可行性都没问题,但是需要依次分阶段进行。
技术方案敲定后,小文便开始着手准备模型训练所需的数据,经过数据预处理、撰写数据标注文档、对接数据标注团队、培训标注人员、验收标注数据等一系列工作后,数据终于准备完毕。
按照计划,小文首先尝试的是方案一,不出所料,小文仅基于信息抽取领域最新的SOTA模型做了简单的任务适配后,便训出了一个效果达标的模型,于是开始走模型上线流程,其主要包括模型封装、性能测试、刷库上线、小流量实验,经过一段时间的小流量对比实验观测后发现实验指标符合预期,于是开始全量上线,至此小文的第一期收益已收入囊中。
由于方案一是纯抽取的方案,所以在全量上线后,PM也发现了很多因为字幕错字导致摘要也错字的情况,于是开始跟小文报Case。好在这一切尽在小文及其Leader的预期之中,小文安抚完PM以后便开始了算法的二期迭代,也就是开始尝试方案二。
方案二相对于方案一就没那么顺利了,由于文本生成的不稳定性,在解决了一些老问题之后又引入了一些新的问题,比如由分段独立生成摘要导致的连续两个摘要之间语义不连贯。不过作为一名练习时长两年半的NLP算法工程师,这对小文来说已经习以为常了,通过对Case的拆解和分析以及大量的实验,大部分问题均被小文分别用数据、模型、前处理、后处理等手段给逐个解决了,很快方案二的模型效果再次达到了上线标准,到此小文在这个项目的第二期收益也斩获到手。
经过前两期的迭代,目前线上视频摘要的用户体验已经趋于完善,但不满现状的PM又开始发挥了新的想象力,找到小文说:“咱们能不能每个视频生成多条不同时间线的摘要,然后结合用户画像选择性展示用户最感兴趣的那条时间线?”
小文听完后虽然认可PM的想法,且方案三正好能满足这个需求,但是经过生成模型的折磨后,小文并没有敢答应下来,因为根据他在做方案二期间的实验观察,现阶段的生成模型很难保证方案三的可行性,于是果断拒绝了PM的需求,继续迭代方案二,直到第二天:OpenAI发布
ChatGPT
......
🗒 课程表
课程 | AI 学习路线