个人实习背景:本科一段华为,硕士两段,一段海外诺亚方舟lab,一段小红书。
(小红书)
(诺亚)
(华为)
都去实习!
早点去实习!不是怂恿大家都去卷,抛开实习中可能会碰到的方方面面的困难,但不可否认,实习确实可以缩小自己在校园阶段的认知和市场真正需求之间的gap,同时也是在实践中找到真正的兴趣点和方向的最快途径,因为在有应届生身份期间,我们的试错成本相对比较低,虽然上班了也可以试错,但代价可能就是被开除了。我也是在实习中不断试错和摸索,逐渐在系统,研究和业务三大板块中横向比较自己到底更适合哪种工作内容和作息。
同时,实习也是培养自己向上社交的地方,跟上一个好mentor,是很可能会起飞的,比如我就有朋友在微软和百度跟leader出了1作顶会,直接被强推去直博了;亦或是有一个氛围很好的团队,我开始健身就是因为团队主任经常喊实习生去楼下健身房锻炼,周三下班打篮球,一块食堂吃饭和傍晚园区跑步,这对后期逐渐养成锻炼习惯有很大帮助,作为团队老大,leader一直通过实际行动在带动大家,不管是在工作和强身健体上,都是有正向作用的。
系统,研究,业务岗实习体验
1:系统:三者中对基本功和底层理解要求最高的,一般来说写架构或者系统,得精通C++,golang,CUDA等相对门槛较高的编程语言,走system track是三者里最容易转CTO的,也就是all in 技术;缺点也是同样,门槛高,难度较大,适合编程能力和智商较高的同学;
2:研究:三者中相对比较work life balance ,一般来说就是读最新论文,找问题,提出idea,做实验验证idea,投论文或者相关国际评测比赛(俗称刷榜),个人觉得研究岗优势就是不会太忙,时间相对自由;缺点是一般门槛较高,校招研究工程师基本是phd了,然后目前也只有大公司会有lab,但也在做产研结合了,还是会为了技术落地的;
3:业务:三者中相对赚钱最快的岗位,比如推荐/广告算法这种,阿里广告一年收入将近3000亿,其实主要靠的就是算法和工程这块带来的变现,因此这也是大部分同学比较适合的方向;缺点就是加班多,比较累,校招核心业务组难度较大(内卷),对候选人的综合能力要求比较高;
实习的收获
01
数据决定天花板
技术岗或多或少都要和各种数据打交道,所以我们要深入理解数据,直观感受线上线下指标波动。
在学校,基本所有深度学习项目是离线进行的,也就是说一般会在1-多个bench-mark(公开权威数据集上做各种实验),但是这些数据集往往都是清洗好的,做个数据管道就可以喂到模型里,但实践生产中,数据要复杂的多,比如很多数据是杂乱缺失的,数据分布极为不均衡(有些类别有几w个样本,有的只有几十条),以及很多数据标签不完备,甚至没有标注,因此为了提高数据集质量,我们需要先单独通过一些半监督/自监督模型去预测原始数据对应的标签,再撰写标注文档,送标进行人工复核(对接标注团队,进行人工复核)。
02
学会多指标协同评估结果
紧接着,算法团队拿到这些标注好的数据,这时候,一般需要结合业务场景去进行模型选型,甚至还需要去调研一些最新开源的论文中的模型并尝试复现和根据输入做适应性改进。
当一些指标稳定后(比如召回,map,AUC,F1等),将模型送给数据分析/产品交付团队进行线上全量数据测试,理想的话,就可以算作验收和上线了,但是大概率会有一些问题反馈或者被打回来进行修改,比如线上线下数据/特征分布不一致导致需要重新构造数据集的正负样本/分析特征分布来改进模型构造策略,同时,除观测一些动态指标外,我们仍然需要考虑上线后性能开销等,有时甚至需要损失一定精度去保模型可以部署在端侧(移动端,云端等),熟悉NLP的同学知道,很多时候直接上预训练模型是很难直接上线的(Bert,T5等,模型参数量有的达到几十个G),因此评价一个算法或者技术方案好坏其实是多维度的,并不仅仅依赖于几个数学指标!
因此整个流程走下来,是一环扣一环的,除了要深刻理解数据外,有较好的论文检索和快速的代码复现能力也是很重要,因为在企业是要讲究效率的,没有太多时间放松下来,当然作为实习生一开始往往都有些不太适应,这时候需要及时和mentor反馈和寻求组里帮助,该说就要说!最后,如何和不同团队进行有效沟通和对接也是项目拉通/对齐与否的关键,作为实习生,主管也让我们全程参与到他们的OKR中,学习和锻炼项目拆解/业务理解能力。
03
锻炼实际场景问题分析与思考
为了解决实际业务问题,我们需要分析问题,但具体怎么分析比较宽泛,比如不妨我们一块来思考一个问题,老板让团队在一个月内从0-1搭建一个面向美妆场景的垂类搜索框架,怎么去构思?
数据:
- 目前有大规模数据么?有合作方提供还是需要去购买(taobao/shopee/shein)?
- 获取数据后,需要做EDA,数据质量如何(缺失,长尾现象)?
- 有没有小样本甚至零样本情况?标注情况(如果标注不准,需要更新送标文件)?
- 美妆类商品样本的语义空间是什么,是集中的还是零散的?
- 有多少数据可以进一步挖掘,有多大难度(是否需要先做聚类,是否需要构造正负样本集)?
- 品牌别名出现概率大么?需要做相关数据挖掘么?
- 是否公司已有相关词库,如果没有需要尽快构建,构建过程中的新词挖掘怎么做?是否有必要进行领域预训练增强模型感知特定领域词汇能力?
- 除了文本,是否需要跨膜态数据?(图像,短视频等)
应用场景:
- 性能要求和硬件要求?(移动端还是网页端?迟延要求多少毫秒?),由于性能原因,语言模型、大型词典可能不会被使用。
- 类别的名词性质是什么,是否需要足够的名词信息来支持?
- 建索引这块数据库选取?
- 美妆商品类目体系如何建立或者快速匹配已有商品库?
- Badcase多不多?是否需要直接上规则约束?上多少比例规则?
- 需要的泛化能力是什么?例如如是粤语/俚语,那么泛化能力需要更强,泛化能力则需要来自于迁移能力好的模型,无论是分类模型还是搜索的语义匹配模型,如何选取适配的模型?
- 是否需要多模态模型?多模态预训练这块团队有人擅长么?
- 维护的词汇表需要的更新频率呢?定期更新的频率会更高,而更新频率较高的部分,用文本分类会受到限制。
实质上,这是实际业务场景中需要考虑的方方面面的缩影,同时,我们更要从工程师角度去看待不同模块之间的耦合,努力做到满足业务/用户需求的同时,比如可以继续追求算法/硬件之间的协同优化,减少企业性能开销。
什么样的项目更吸引面试官?
只要是流程完整,有自己理解和思考的经历都属于项目经历。
很多人局限于必须要顶会,但是顶会不是一般同学可以发的,同时不对口的paper在面试官看来一样可能没啥吸引力,因此不论有无好paper,真正掌握实操经验才是最重要的。
要明白算法重要的不是你使用了什么技术,而是使用它的动机和理论依据,比方说,很多项目,用的都不是单一的技术,模型;有些场景,用规则反而比深度学习模型效果更好;有些场景,树模型效果特好,优于神经网络;有些场景,需要模型具备很好的泛化能力等。
要想顺利通过面试,就要站在面试官的角度去想问题。
这两年随着岗位饱和或者企业降本增效,公司作为招聘方,更关注项目落地的可行性,不喜欢假大空选手。因为招人进来是要把项目推进起来并最终落地产生收益,请放下一些学生思维,比如我拿了xxx奖学金,我GPA一直第一,诚然确实优秀,不过这在企业看来,并不能体现你能产生商业价值或者有灵敏的思维和潜力,所以公司可能会去要一个绩点不高但是动手能力很强的同学,这是现状,也很正常。
最后,实习不就是为了见识不同类型的企业和文化吗?也能让你了解到自己想要什么和将来的方向,过程中难免有不开心,委屈,不理解或者疲惫,不要内耗就好,当作成长,其实是件好事,当然如果很不幸,部门存在pua或者实习内容太水,比如纯打杂学不到新东西等,也不要勉强自己,直接提离职就好。
创业项目群,学习操作 18个小项目,添加 微信:790838556 备注:小项目!
如若转载,请注明出处:https://www.zoodoho.com/61853.html