今天聊点有的没的,和大家说说算法工程师的日常,以及我是怎么在工作、学习、写文章之间手忙脚乱的。
先说工作的日常,枯燥预警。
我大概10点左右到公司,12点之前会把时间切的比较碎,写写文档、看看论文、和同事沟通、列一下当天计划。
午休一般到2点(当然总有那么一两天赶进度不休息),下午主要是开会或者集中时间开发。
晚上也比较碎一些,大部分时间是处理下午没做完的工作,或者做上午这些事情。大概9、10点钟下班。
到家会继续花一小时加班或者准备第二天的推文,半小时收拾自己,享受会儿B站就睡觉觉。
但有的重要节点(和大老板汇报完、周会完)后可能会放飞自我,每个月都有两三点睡的时候。
如果要具体统计每类工作的占比,大概这样划分:
算法开发
算法开发工作占比70%。这里面又可以细分,首先人工智能这个领域一直在进步,我必须经常看论文,时刻了解最新的模型,并把好的模型用到我们的项目中,这个时间大概占10%。另外也会花10%的时间用在模型本身的优化和技术思考上。
其次是数据处理方面的工作,处理模型的训练数据,并且分析badcase,重新调整训练数据得到更好的效果,这个是最耗时的,大概占30%。真正做业务强相关的算法,看数据是必须要做的事情,比如数据过脏时,模型会对某些pattern过拟合,之前做过一个识别句子是否为闲聊的任务,因为数据来源的关系,加上句号和不加句号会得到相反的结果。最近我做任务之前都会先清洗一遍整体数据,用模型在所有数据上训练并预测,看哪些label模型学不到,是标注错了还是数据太难。
最后有20%的时间用来写代码,因为模型虽然做好了,但还要写很多后端的逻辑和规则,让人工可以对模型强干预,确保及时纠正线上的badcase。其实不确定性大的事情做多了,再做写代码这种确定性的工作就很有幸福感,毕竟一天写不完两天也能写完,而一天调不好模型可能一周也调不好(此处有流泪)。
比起纯开发来说,算法多了一个自由时间,就是训练模型的间隙。在集中迭代算法的周期里,能否利用好这个时间才是决定效率的关键。我个人的选择是把看论文、写文档这种事情不太重要的事情切碎揉进来。比如跑上实验后,我就看一页或者几段论文,虽然有时候会忘掉之前的,但习惯了之后就能进入一个高效的状态。当然如果那天很困的话,也可以选择休息。
会议沟通
会议沟通占比15%。一般一个项目会有多个人协作,这时就需要一些时间用在沟通上。同时项目或者小组每周都有固定的会议,也会消耗不少时间。我这个占比其实算是很少的,听阿里一些同学说基本天天都在开会,只有晚上能写代码。
文档汇报
文档占比15%。记录工作是一方面,有时要进行向上汇报,主要是写一些文档和PPT,是考验画图能力的时刻。进了大公司之后,尤其觉得自己的画图能力有所提升,尤其是模型图,要多fancy有多fancy,以至于每次自己看到都不由得发出赞美。
从上面的总结来看,一天的工作真的很满了,写文章和玩耍的时间基本全靠挤,比如早晨早点起,可以刷刷知乎码几行字,还有中午的休息时间和晚上的睡前时间也能各挤出来一小时。之前为了总结《BERT蒸馏指南》、《对比学习综述》,连续几天早晚都中午会各拿出一小时读论文写笔记,这个效率和坚韧把我自己都吓到了。
除了工作日之外,周末也基本会留出一天的时间写写字,把下周要推的文章都准备好。当然有时也得加加班,一切以工作重要度优先。
平衡工作和生活是一件很难的事情,对于我们是,对行业大佬更是。我看到、听到的大佬关于生活的分享,他们基本都是全年无休的状态,有些还兼顾健身,卷到爆。
Anyway,重要的是这种日子能不能给自己提供成就感、能力上的成长和想要的东西。
我相信努力的人总会遇到些幸运。
最后,感谢大家的支持和点赞!送上价值66元的10瓶双倍快乐水!点我抽奖!我是超链接!
---
大家好我是rumor
一个热爱技术,有一点点幽默的妹子
欢迎关注我
带你学习带你肝
一起在人工智能时代旋转跳跃眨巴眼
「别忘了白嫖我送你的双倍快乐」