再见2024,一个算法研发的个人年终总结

元旦将近,显然又是一年岁末。
同事开始讨论中午吃什么,以及晚上的跨年计划之类的大问题。
我开始努力回想自己的2024,秉承着毕业以来每年写个人总结的习惯,
也因为近年来自己的节奏和生活越来越快,只能在年终的节点停下来回顾下自己的历程。

前言

我打开了自己的相册,下面且慢慢说来。

一些流水账

因为时间线比较零散,记忆已经是碎片化的形状,流水账式的简单记录下一些历程。

  • 24年春节的时候,跟爸妈回老家走亲访友,去了一趟武夷山。

  • 回来之后开工大吉,然后就开始慢慢进入紧张的工作中。

  • 6月份的时候,以百度PPDE的身份受邀参加了WAVE SUMMIT深度学习峰会,去北京认识了蛮多小伙伴。

  • 7月份,在上海参加世界人工智能大会,也算是开阔了视野跟思路吧。

  • 8月份和11月份,组织了两次团建活动

工作小结

还记得23年底跨入24年的晚上,跟家人去看了电影《年会不能停》,这是一个关于打工人在职场的电影,在电影中,为了让工作显得更有价值,众和集团的员工用“对齐颗粒度”“形成闭环”“底层逻辑”等黑话将工作内容进行包装,公司用免费食堂、健身房、休息室鼓励员工“自愿”加班,领导说话含糊让下属揣摩背锅,中层内斗,底层和外包员工干活。这些赤裸裸的细节展示让我们看到很多工作和生活中的影子。

不管这个电影反应了多少真实,但毫无疑问的是,整个行业环境确实是在可见的变差。
“广进计划”的真实情况是:

  • 房地产行业,市值最高的5家公司在2023年的员工数量都减少。保利地产是中国市值最大的开发商,去年裁员16.3%,即11000人。总部位于上海的房地产公司绿地控股,员工人数也减少了14.5%,到2023年底将减少至近6万人。
  • 互联网行业作为传统就业大户,在削减成本的压力下,也出现了类似的趋势。
  • 阿里巴巴在2023财年裁员12.8%,即2万人,而上一财年裁员7%。根据阿里巴巴的年度报告,去年是10年来裁员最多的一年。
  • 腾讯的员工数量在过去一年减少了2.8%,即约3000人,而且裁员步伐并未停止,2024年第一季度进一步裁员630人。
  • 今年早些时候,字节跳动、小米、京东、快手科技、滴滴出行、哔哩哔哩和微博都宣布了裁员计划。
  • 在金融业,由于大多数龙头企业都是国有控股,经纪人和基金大多削减了薪酬和福利,而不是大规模裁员。
  • ... ...

越来越多的"广进计划"让我们意识到,其实更多时候,不是工作需要我们,而是我们需要工作。

回归工作,今年在工作上的表现显得有点中规中矩,其实没有太多亮眼和突出的地方,但为了深刻认识其间,还是总结回顾为以下:

  • 1.业务侧,算法迭代获取的训练数据较少,且与实际需求跟识别场景还不够匹配,为此写了一整套专门针对多摄像头点位和场景下的数据挖掘正负样本的pipeline,并用这项技术申请了专利。
  • 2.数据侧,数据类别呈现长尾分布,不平衡不充分问题明显,多数据集在多人协同标注下的质量有一定相互干扰。于是对于多数据集提标并开展了多轮的清洗和过滤,同时对多数据集作数据消融实验以及数据蒸馏。
  • 3.项目验收上,实际要求的指标精度与评估时的预期精度高出一些量级,fpr需要降低e-5,才符合验收标准。(整体对接项目,这种拆解目标的、交叉验证结论的sense还是要多注意培养。)
  • 4.另外一方面,为了评估更高精度的模型,原始的测试集已经不足以评估e-5级别的精度要求了;于是再次做拉流-数据挖掘-标注等一系列流程,重新按点位数跟时间范围构建了一个16w规模的测试集,从而通过评估fp数量以及整体recall跟precision指标来评估模型是否可用,能否上线更新。
  • 5.算法侧,组里引入了新的平台,在这个平台上通过sdk跟其他工具封装评估了一些较为前沿的sota模型,例如gounding-dino、yolo-world、owl-vit、Florence等,也调研测试了外部一些友商的垂类微调模型,例如damo-yolo、pp-human、pp-vehicle等,通过在业务固定测试集上的指标从而辅助选型和分析方案。
  • 6.由于之前有维护mllm benckmark榜单的原因,开始参与写一个llava相关的omni模型,重新看了一遍llava的论文以及逐行看了一遍相关仓库的代码,虽然后来因为资源不足没有接着开展,但也还算是学到了不少东西,也开始思考从纯CV算法,转换到MLLM或VLM的研究的可行路线。
  • ... ...
    如上所见,做的事情并不多,精力也开始慢慢分散到一些其他方面。

左耳听风的感悟

今年看完了耗子叔的《左耳听风》,有着不少共鸣与感悟,这是一本类似于《黑客与画家》那种作者的一些感悟的文集。
尽管是文集,但仍然体现了三个完整的主线,这对于程序员职业发展生涯都起到至关重要的重要。

  • 1.个人的三观和程序员的职业道德
  • 2.技术人员的自我成长(学习,思维,自我管理,技术知识)
  • 3.技术管理(领导力,团队管理,绩效,工程师文化)

关于三观,豆瓣上有一个书评总结的不错:“对外不迎合他人,对内不放纵自己。芝兰生于幽谷,不以无人而不芳,你个人的价值不要简单的以世俗的衡量标准去评价,而是你如何更好的看待你自己,并能够长期坚持和实践,这才是最重要的。”

以这本书的视角来审视自己的成长,今年开始学习和研究大语言模型LLM踩了不少坑,在实践过程中得到了不少的启发。假设我们的大脑是一个高度建模且计算高效的大语言模型,为了获取更多的知识和掌握技术,或者说想要升级自己的“智能”系统,应该学习什么东西,以及如何更好的学习呢?

根据模型训练的经验以及scaling law的规律,我们可以知道数据量、参数规模以及计算量是决定大模型智能涌现的基础。这个经验迁移套到人类身上,又有所不同,因为大脑已经是所有器官消耗能量最大的了,而且我们的阅读速度和记忆力也有限,个人的智商差异分布并不大,因此如何选择好的数据("书/论文"、“电影”、“音乐”等一切可以被大脑抽象为“知识”的东西)就更为关键了,这也启发我们,不要用大脑去反复思考一些“负能量”的东西,从而进一步内耗,以实现“LLM大脑”的高效运转。

同时,为了进一步获得更前沿和更有用的“知识”,我们应该将行业内的领域专家、编程高手以及垂类的LLM作为老师,来“蒸馏”出“知识”从而训练自己的“经验模型”;另一方面还可以将前者视为“预训练模型”,我们只需要将个人的经验以及其他外部知识,在这个巨人("预训练模型")的肩膀上进一步来“微调”出自己的“经验模型”就足以解决大部分工作和生活上所面对的问题了。此外,我们需要整理出一个知识体系的“超级外脑”来作为一个“知识库”(RAG),从而来增强或辅助自己的思考过程。
最后,我想也许未来个体跟个体之间的差异,也许就在于自己独特的思维链(“CoT”)过程,以及post pretraining的过程;价值观上的“奖励模型”偏好排序,人生观上的“Alignment”对齐,还有去观世界的“人生遍历”,种种以上,你训出来的一个“经验模型”不一定会让你成为一个“超级个人”,但我想一定也会是独特且独立的一个芦苇了。

既然对上面的过程进行类别推理的展开,这里还想单独来深刻一下“CoT”的过程,在以前,学校学习的学生阶段,老师教给我们的“知识”,都是以填鸭式的“Q-A”问答对的方式进行学习的,一切都是灌输为主,为了得高分而进行训练;你只需要按老师教的做,缺少了最本质的自我思考。自我思考的缺少自然导致难以形成独立人格,自然也就很难进行独立思考,从而去真正区分“事实”与“观点”,“别人的观点”和“自己的想法”,最后变成人云亦云随波逐流。

一个有竞争力的程序员的核心能力,就是工作多年后快速学习新领域新技术的能力,是强大的独立分析和解决问题的能力。正如耗子叔书里面提到的独立思考是前提,通过独立思考和长期的学习实践搭建自己的知识体系,构建自己的经验方法论。这个才是你最根本的护城河。

也正如书里面谈到的五步思考法。

  1. 考证信息数据的正确性
  2. 处理集合和其包含关系
  3. 处理逻辑因果关系
  4. 找到可信的基准线
  5. 开启更加深入和高维度的思考

考证数据的过程需要实事求是,因果关系需要经过逻辑推理,基准线是不盲目造车而是站在巨人的肩膀上,而周期性复盘是深入思考找寻本质和通用方法论的关键。

一些焦虑

技术焦虑——“让子弹再飞一会”

我们处在一个技术高速发展,知识技术爆炸的时代。
而AI作为所谓新质生产力的代表,其更新迭代的速度尤为明显。
常常体会与观察到的一点现象是,研究人员看论文的速度还跟不上其他研究团队;
某一项新工作,刚刚看完论文有一个初步的想法开始想做实验验证思路的时候,其他研究者就啪的一下把论文和GitHub甩在脸上,又得重新更换思路和方向。

历来我是一个对于未来不太乐观的人,于是总是在大雨将至前提早开始准备雨具,因为淋雨的滋味真的不好受,在雨中奔跑更是如此。但受这样因素的影响,决策和思考时难免会显得有些过于杞人忧天。
另一方面,因为业务从事的方向,与现在主流的方向及热点存在一定的距离,工作中自然是得以支撑业务为前提,再开展其他工作,这又加大了信息上的滞后性和技术焦虑。
举例来说就是,开集检测的sota是否会更进一步的替代或取缔传统的视觉相关算法。
以clip为代表的zero-shot算法是否会完全取代传统的图像分类,从而联想到可能会有的“广进计划”。
有时也会想,这种焦虑是否源于学生时代那种考试下的竞争心态,但客观地说,在新技术出现的时候,作为从业人员跟不上进度的状态,以及眼看别人写论文发成果的心态总还是不好受的。

其实再进一步想想,过多的焦虑也是不必要的,因为真理无穷,它永远就在那里等着你,像是一座山。晚一阵子攀爬并不会有太大的影响,只要摸清楚爬上的路线,找准方向,终有爬上山的一天。

出于这种心态影响下,这一年更多的是在追赶和查漏补缺,因为之前的背景是纯CV的,与LLM的范式和方法有着不小的差异,同时因为没有去读研,经历专业的学术训练和思考,因此出现了一个潜在的问题是,工程实践能力强于对于模型和算法本身的认识思考,这种短板也限制了职业跟工作上的一些突破,于是自然的,技术焦虑转变成了学业焦虑。

学业焦虑——“学海无涯苦作舟”

本质上我其实还是一个追求完美的精英主义者,或者说是一个慕强的人。 我总觉得,一个所谓精英应该按照设想的既定的路线和模版去成长,如果一步走错了或者哪里出现了缺陷,就会显得不那么完美。这些一点一点的“不完美”积累在一起,又促使我小心翼翼的藏着自己的自卑,然后目光看向更高更远的地方,从而见贤思齐。

我知道这样形容或许会显得有些矫情,但对于现在从事的算法应用和研究的工作来说,研究生是最基本的入场券,虽然侥幸入局,倘若一直裹足不前的话,在未来终归还是会陷入到35-40年龄段的困境,不如就从现在开始计划和破局。

怀着这种潜在的焦虑,一直到今年秋天的时候,终于开始下定决心去申请了人大在职硕士的课程班学习,于是就开始了紧凑的白天上班,晚上自习,周末上课的周期性重复,虽然忙碌且疲惫,眼睛里常带着血丝,也还算是有一些收获。

这个过程,形容起来大概就是怀着空杯心态,打破自己,突破固有认识和经验,最后重塑金身吧。
就像史蒂芬周,只有做出了那碗“黯然销魂饭”才能体会到怎样才是一个真正的“食神”。

工作之外的探索

  • 今年下半年还开始接触到MetaGPT跟Agently,开始接触到了agent智能体相关的研究。
    在跟chengling聊过了两次之后,开始深度参与mgx的关于rm+self-play方向的工作。
  • 开始学习和研究mllm多模态大模型,有一些idea还在筹备和整理收集数据中;
  • 开始在公司编写一些技术专利,争取明年或者未来可以发一些论文吧。

关于开源

在探索和实践的过程中,用开源的方式来记录了一些节点:
GitHub上commit的仓库主要如下:

个人精力确实有限,维护更新频率下半年开始慢慢降低,希望25年可以多分配一些吧。

时间轴上的参照物

人生一串,不能只看自己,一些老友是不错的参照物。
下半年的时候,坐动车回老家参加了高中同学兼舍友的婚礼,见到了不少高中的同学,毕业十年未见, 有些人已经变得不太像从前高中时候的样子,有些人也还在坚守着最后一些不变的东西, 包括我自己也是同样,褪去了年少时的青涩,外表可见的是多出来脸上和肚子上的肉, 但无论如何,大家都在经历成长和改变。虽然没有刻意去比较什么,但多看看别人的好的人生状态,来作为调整自我的一个借鉴总是有益处的。

展望与计划

还有一些,关于未来的展望,我的自驱力可能更多来自于想要做一些事情的决心吧。

上次跟朋友开玩笑说自己是一个i人,这个i是idea的i。 我总是希望,可以通过自己的所学和所长,来创造或者改变一些事情。 也不是为了单纯证明什么,只是享受做成一件很难的事情的成就感, 虽然没有疯狂到认为技术可以改变事情,但就像耗子叔说的,技术本身是有其社会影响力的,掌握技术的人也能够拥有其影响力。

为了实现自己的想法和目标,需要掌握和学习更多的东西。
从各种网络嗅探到的资源收集整理了一大堆,然后用通义千问的音视频解析来整理markdown笔记与ppt方便快速自学,未来可能会慢慢整理成自己的知识体系或笔记,也算是一个预告吧。

总之,2024已经过去。
2025新的一年,希望可以更加精进。
对于自己热爱的事业更加笃定前行,同时兼顾好工作与生活。
做一些更有趣和有意义的事情。
成为一个更有趣的人。
以上。
写于厦门2024.12.31。

posted @ 2025-01-01 10:52  Xu_Lin  阅读(1850)  评论(6编辑  收藏  举报