前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自学计算机转行成功,Committer顾凌锐做对了什么?

自学计算机转行成功,Committer顾凌锐做对了什么?

作者头像
OpenMMLab 官方账号
发布2023-10-08 15:14:04
2061
发布2023-10-08 15:14:04
举报
文章被收录于专栏:OpenMMLabOpenMMLab
【开源星风采】栏目介绍

欢迎来到全新栏目【开源星风采】!来这里,聆听社区小伙伴成长背后的故事,见证他们每一次进步的瞬间!

在 OpenMMLab 社区,每一位参与社区建设的小伙伴都是最耀眼的星星,引领着社区朝着更加光明的未来迈进!我们将定期专访做出贡献的社区小伙伴,希望 TA 与 OpenMMLab 的故事可以被更多人看到,也希望有更多的小伙伴参与到社区建设中来。

本期我们很荣幸为大家介绍社区 Committer——顾凌锐(Github ID:Nioolek,社区昵称:Ni),一起和他聊聊社区那点事!

顾凌锐是中山大学人工智能专业非全日制研究生,他的研究方向是医疗图像和目标检测,同时目前在某医疗 AI 企业担任图像算法工程师,但他本科所学的专业实际上与此并不相关,是动物医学。

面朝AI的风口,近年来转行做程序员的职业规划路径在学生群体中并不罕见,顾凌锐正是成功转型的代表之一。非科班出身的他,对这一领域的探索似乎有一种一腔孤勇的执着。大四时从最基础的 python 编程学起,进入公司从最简单的标数据、调模型之类的基础工作做起,顾凌锐称自己更习惯在应用与实践中积累知识。

在 OpenMMLab ,顾凌锐保持着进取心和自律的习惯,在社区中积极参与各项 PR 任务,在与各位“大佬”的互动中不断提升自己的能力,在学业与职业道路上都迈出了一大步。

向着光:野蛮生长的转行路径

顾凌锐自主学习的能力很强,做自己感兴趣的事情总是充满冲劲。对写代码感兴趣,他就放弃了手中的手术刀和显微镜,成为编织数字魔法的程序员。从大四开始自学 python ,毕业时正赶上了 AI 的风口,于是转行成为了一名程序员。

进入职场后,这种实干意识依然鞭策着他。由于起步比计算机专业的同学晚一些,他毕业时进入了一家规模很小的初创公司,给到他的工作任务也并不符合他的预期。“一开始做的基础性工作肯定也不是我期望的,既然我起步晚,那我就应该多多学习。”

工作日的晚上和周末,他都会利用空余时间自学代码。计算机专业本科生在大学就学过的知识技能,他需要花时间自己学习和消化,在此基础上再补充学习 AI 行业的前沿知识。自学的过程中,他会将自己的实践整理上传到知乎平台,如尝试在 PyTorch 中复现 PPYOLOE ,但复现中遇到了非常多的问题,他便把解决问题的心得记录下来,收获了一些点赞。

“如果只是看论文的话,其实就看的一般会比较浅,但是如果说能把这自己的理解写下来,尝试着让别人能够看懂我写的东西,我自己也会对知识点有更深刻的理解。

由于与业界接轨,顾凌锐的研究一直是偏应用型的。公司的需求是即时和多元的,这也导致他的研究方向无法集中在一个领域,经常需要快速调研适应于需求的论文和做法,然后提出适应于实际业务、实际情况的解决方案。

因此他平时会广泛涉猎各个领域的文章,与 OpenMMLab 的结缘正得益于此。2021 年 8 月,OpenMMLab 在知乎上发表的《 YOLOX 在 MMDetection 中复现全流程解析》吸引了他,他觉得参与复现能学习到很多知识,于是主动了解和加入。

追着光:和大佬合作是什么体验?

说起加入社区的初心,顾凌锐坦言是被“眸哥”(深度眸)的个人魅力吸引。

深度眸在知乎平台拥有 1.1 万粉丝,是上海人工智能实验室的 AI 算法工程师,也是 MMDetection 和 MMYOLO 的核心成员,常常在社群里耐心解答大家的疑惑。

他在群里给出的建议都是直接而有效的,跟着大佬其实能有很多收获,能学到很多东西!”提到深度眸时,顾凌锐总是敬意满满。

贡献者社群里的知识分享

他也抓住了与“大佬”合作的机会。他从社区成员 Cydiachen 处了解到 OpenMMLab 计划研发 YOLO 系列算法库,进入了这一团队,要求参与 “ YOLOv5 loss 模块设计与对齐”的 PR 任务。当时还处于 MMYOLO 搭建初期 ,深度眸给他提出的要求对他来说颇具挑战性,既要继承 MMDetection ,又要拥有 MMYOLO 自身的特色,还要降低用户的使用门槛。

了解到需求后,顾凌锐感到无从下手。他和深度眸等团队成员进行了讨论和请教,决定先按照 MMDetection 的那一套去复现,根据速度精度决定后续做法。在处理中,顾凌锐发现,如果完全按照 MMDetection 的框架结构来实现 YOLOv5 的 loss 部分的话的话,loss 计算部分时间是官方版本的 1.5 倍,速度非常慢,所以后续他采用了代码易读、快速高效的方式进行实现。

万事开头难,这一尝试大概耗时 25 小时,精度对不上和改 comments 也让他屡屡受挫,“精度差很大倒比较好解决,那肯定是有比较大的问题,有时精度只差 0.1 或 0.2,这种情况下肯定是一个很细节的地方,这种 bug 是很难找的,有时候甚至找个两三个小时都找不到。”

但完成任务后,他觉得自己对 YOLOv5 的理解完全上了一层台阶。YOLOv5 非常高效,是由于很多的原因,包含:assigner 为静态,assigner 可以按 batch 计算,激活函数简单,非常多 trick 加速。

“我做了之前想做但没有平台能做到的事情!其实我平时很难有机会去参与到比较大的框架的设计,很有幸参与 MMYOLO 从零到一的过程。”有时甚至需要花费十几个小时来写代码,但当他看到最终自己跑出的精度和官方精度是对齐的,那一刻他感受到了最大的喜悦。

正是因为第一个 PR 给自己带来了很多的收获和成就感,后续顾凌锐也参与了一些贡献,从中他结识了更多志同道合的小伙伴。他们的合作不只局限于 MMYOLO,大家会在群里讨论如何优化提升算法精度等问题,甚至还组团去参加比赛,队名叫“god yang with me”

他们最终拿到了第七名的成绩,虽然这一成绩在他看来“并不是很拿得出手”,但顾凌锐认为,他们这些愿意发光发热的技术爱好者能通过 MMSIG 聚在一起,去完成新的挑战,共同奋斗本身才是最大的收获。

成为光:助推后浪,共建繁荣社区

顾凌锐参加 OpenMMLab 贡献者线下沙龙

作为 Committer 代表发言

随着贡献值的增加,顾凌锐于 2023 年 1 月被认证为 Committer。

“比如最近被一个难题困扰,在 MMYOLO 社区群里请教了社区其他大佬,他们会给出建议或共同讨论,这种方式带来了思想碰撞,有很多收获。”

经过很多 PR 的锤炼,他的代码逐渐被肯定,对这一合作模式的认同让他选择留在这里,依然定期贡献,在社区中回复 issue 。顾凌锐对框架很熟悉,能快速实现代码修改 ,把 Efficient Teacher 迁移到 MMYOLO 里也仅仅花费3 天。作为社群里的“老人”,他也开始帮新人 review PR 任务。

顾凌锐鼓励新手要自己动手去写代码和修改,从中发现问题,自己去找解决方案,再通过请教别人来获得新知。他一如既往地重视自我探索的过程,强调在自己认真思考的基础上要多问有价值的问题,和“大佬”一起探讨,共同成长。

他结合自己的经历表示,“开源社区不容易,是需要投入很大精力来做维护的。”比起自己写代码,指导别人,review再动手改都要花更多碎片化的时间。社区所做的事情,不仅是要把各种问题完善地解决,提升性能,更是与社区小伙伴共同成长,也鼓励大家用自己所学回馈更多新人。

“随着能力的提升,我也开始独立负责项目。”如今顾凌锐在一家医疗 AI 公司做配套性的算法工作,他希望未来可以深耕医疗算法领域,多多沉淀技术。像很多踏实努力的社区成员一样,顾凌锐在追光的路途里也成了照亮别人的光。

顾凌锐的转行经历让我们看到,技术学习需要在实操中得到锻炼,在和“大佬”讨论中发现自己的不足。

本文参与?腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-07,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 OpenMMLab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com