心法利器
本栏目主要和大家一起讨论近期自己学习的心得和体会。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。
2023年新的文章合集已经发布,获取方式看这里:又添十万字-CS的陋室2023年文章合集来袭,更有历史文章合集,欢迎下载。
往期回顾
- 心法利器[112] | 考古RAG-20年RAG概念提出的论文
- 心法利器[113] | RAG结构思考:搜索系统范式和大模型作用压缩
- 心法利器[114] | 通用大模型文本分类实践(含代码)
- 心法利器[115] | bad case治疗术:实践篇
- 心法利器[37-40,115] | bad case治疗术:合集
- 前沿重器[48-54] 合集:四万字聊搜索系统
这个系列,照常年更:
- 我从研究生生活中得到的经验
- NLP.TM | 我的NLP学习之路
- ML&DEV[8] | 算法在岗一年的经验总结
- 心法利器[21] | 算法在岗3年小结:模型策略篇
- 心法利器[23] | 算法在岗3年小结:学习成长篇
- 心法利器[22] | 算法在岗3年小结:工作思路篇
- 心法利器[86] | 毕业4年的算法工程师:进步再进步
这个系列好像还挺受大家的欢迎,大家想看我的成长思考,而我自己也挺喜欢定时地回头看自己的成长情况,审视自己目前的短板和问题。
- 先说说我这整年的情况
- 技术进步
- 大模型
- 技术设计能力
- 工程开发能力
- 小结
- 形成通式和突破定式
- 答疑
先说说我这整年的情况
去年换工作后,我就开始如火如荼地干起来,这是应届以后换的第一次工作,能感受到环境和氛围还是会有很大的不同的:
- 不会再用应届生的眼光看你,挑战是不会有导师之类的角色给到帮助,需要支持都得自己来。
- 没有这些帮助,会让自己在刚来的时候的融入成为难题,需要快速获得队友们的信任还挺重要的。
- 对个人能力的要求会更加突出,日常沟通、开发部署、数据、技术方案等内容,自己都得有数,甚至要自己跟进或者动手做了。
- 面对相对陌生的环境和业务,需要快速理解并且参与到工作中,早期看代码、和各位前辈沟通,都非常重要。
这种环境下,尽管在老东家部分能力已经得到了训练,但在这种有一定压力的环境下,自己的个人综合能力得到很大的提升。
- 技术层面技术栈更加完整全面,技术方案更成熟。
- 沟通技巧有长足的进步,能更快找到合作重点一击即中。
- 项目管理能力也有提升,并行工作能力提升明显,各个项目的进度以及迭代状态也能很好地把控。
这里我重点讲讲技术方面的进步吧。
技术进步
技术进步这块,我分为几个小节来讲吧,都是比较大而且大家比较关心的东西,这几个方面我都有比较大的提升。
大模型
大模型大家肯定很关心,对我自己而言,经过一年多的尝试,我自己对大模型的理解会更深,能力边界的理解也更明白吧。
算法层面,我对大模型的训练其实并不是很多,我负责的部分训练是有的,但并不是主要工作,更多是围绕着大模型做很多别的算法工作,例如prompt工程,RAG等,这跟我的技术理念其实挺相近的,微调在现实应用中有太多的限制和风险,所以总不会是最优先考虑的方案。更重要的是,大模型的能力边界是有了更深刻的认识,什么事大模型擅长,或者说大模型做得更好需要做哪些支持,在方案选型下会更成熟和客观,此时大模型更像是现阶段常规算法下的一个新方案,具有相比原有方案的很鲜明的优点和缺点。
工程层面,与之配套的环境、训练和推理加速知识也有了一定的了解,包括类似GPU多机多卡、使用率等有关知识,虽说不上深入,但多少还是有一定的了解,这个经验能让我们在大模型的使用上更事半功倍,不让离线实验得到的好效果在在线被打过多折扣,同时也要充分考虑上线以后的性能问题。
沟通层面,这个对我而言其实挺痛苦的,我的视角下很多人会对大模型的预期过高,在效果不好的时候会开始被质疑技术能力的问题,而不是大模型方面或者是其他层面的问题,例如信息的完整性和可靠性(具体可以参考这篇,心法利器[45] | 模型需要的信息提供够了吗,这方面的理解真的对模型应用有很大作用),此时我需要用更加通俗的说法来介绍,把问题的难点和需要的资源说明白。
还有一个是有关学习力上,学习能力和方向的感知上。大模型对大多数人而言,应该是算同一起跑线上,一年过去,经过不断地实践和学习,我们对大模型的理解也越来越丰富,工作之余仍然需要花费很多时间和资源持续学习和思考,这不仅仅是知识本身,还需要充分研究好大模型的特性,以便在方案选择上更加得心应手。
技术设计能力
从3年左右开始,我就一直有在强化自己在方案设计的能力,在新工作下,前辈与队友们给了我很多机会,自己有更多机会参与到短期和长期的方案设计中,而在这一系列的设计中,我自己的进步也是比较大的,梳理下来主要是这几点吧。
- 因为面对的问题足够多,所以对当前和未来可能出现的问题都能看的比较清晰,能提前设计好应对方案快速解决。
- 理解业务的速度更快,能快速找到业务的痛点和具体问题,提前应对。注意,上面这条是针对问题和任务的,本条是针对业务的,包括一些潜在的业务背景。
- 在实践过程中,对各个方案细节上的特点理解得更加明显,选型更加可靠了。
- 视角从静态的方案设计,升级为规划,结合不同阶段的数据等情况,能安排好第一步第二步的迭代计划。
相比自己之前的静态,局部的设计思路,已经升级到更加灵活全面的方案设计,这方面的进步还是比较大的。
工程开发能力
正因为面对的项目多了,自己的参与度高,工程层面参加的也更多了,有好几个项目都是从0搭建,对很多中间件的使用,以及基础工程搭建,都有了很多经验。
小结
从这些里面可以看到,很多事情真的需要实践才能快速积累提升,多接触多体会,同时也要处处留意,打开视角,很多问题的解决不局限在模型本身,算法真不是找个模型把数据扔进去这么简单的。
形成通式和突破定式
在这一年,我好像逐步感受到自己的技术思维开始有些禁锢。老粉们多少都知道,我是做搜索和对话比较多的,在这几年的熏陶下,我对这俩领域都有比较深入的了解:
在这个领域有深入了解,肯定是有好处的,在很多场景下,我能很平稳也比较快地设计好方案并且实施,这个便是通式的好处,毕竟大家都知道,有公式做题就会更加顺畅。
但这也导致在很多问题的理解上,都倾向于把问题转化为这两方面的问题来思考,已经形成思维定式,思维禁锢了就容易局限,毕竟套公式这事得在合适的时候套才有用,成为定式后思维就无法发散了,这并不利于自己解决更多更复杂的问题。
因此,我需要在巩固先有方案的基础上,做进一步学习,开拓视野,进一步学习和交流,后面我的文章或多或少都会有这个信息流出来,敬请期待~
答疑
下面是回答一下上周收集到的大家的提问,下面是依次回答。
Q:想看一下query理解这部分具体代码是怎么样的,怎么把各个模块串到一起。。实践时候感觉还是没头绪
A:这个其实一直想写,也有过一些废案,但是感觉一直不太清楚怎么说会更明白点,后续我找个合适的方式来讲吧
Q:面对 LLM 这类新技术的冲击,过往的 NLP 技术经验和积淀该如何适应
A:我一直对LLM的看法,都是一个新工具,能帮助解决更多更复杂的问题,老的方法不应该从方案体系内直接删掉,他们也有各自适合的场景。对于已经有过往NLP经验的同学,不应该把这些宝贵的知识和经验给弄丢,LLM来临后需要将LLM纳入到自己的技术栈里,而且,我们也要清晰,大模型也是有能力边界的,不是什么问题都用大模型就药到病除了,我们需要通过学习、实践和更多的数据分析来充分探明大模型的能力边界,在实践中这方面的理解可能比大模型内部的结构啥的更有实际意义。而对于没有很多NLP经验和基础的同学,在时间允许的情况下非常有必要把这方面知识给补充起来,面试中发现这样能力组的同学还挺多的,真有必要补起来。这个是方法和选型层面。
另外,别忘了LLM只是一种方法,完成一件事除了方法之外还有别的很多因素,例如问题的拆解能力,例如最后的效果评估能力,这些都是考验一个人算法能力的重要部分,挺多小白在用大模型测了一两个case看着没错就觉得大模型封神,这显然还需要增强算法的基础能力,我们还是要配合学习实践多充实自己的能力,这也是NLP技术经验的一部分。
Q:想问下晋升/副业的平衡问题?比如副业怎么起,以及如何平衡副业和工作?
A:额,我自己是没咋想过副业的事,可能会有人问公众号,我这主要还是写文章,真要盈利就不是这个运营模式了。所以副业的事我就不妄议了。
至于晋升,我之前有过文章专门写过这个:心法利器[43] | 算法工程师的晋升思考。虽然时间相对久远,但总体思想变化倒是不大,早期扎实自己的技术能力,后续视野和思路上要尽可能开阔,相比超级深入的研究,这个版本的社会似乎更接受管理能力和通用能力较高的人晋升到更高级别。
Q:未来工作生活的想法哈哈哈。
A:我自己还是比较推崇work life balance的。工作是自己明确喜欢的事,不至于每天上班即上坟,就还挺不错的。生活上,我是希望工作能给自己的生活带来反馈,我会努力让工作上的心情愉悦和收入收益都反馈到我的生活中,强烈要求因为心情好、收入提升体现在我的生活质量里,例如会培养自己的兴趣并为之付费(例如游戏),另外类似公众号相关的研究和学习,都是个人兴趣的体现,说实话没有兴趣支撑,这个号是没法支撑到现在的,这些都能让自己更加充实丰满,不至于成为赚钱工具人,这点挺重要的。我希望这个状态能持续下去。
Q:工作五年还会有迷茫的时候吗?想问下职业规划是什么呢?谢谢
A:迷茫是会持续存在吧,我也经常会陷入类似这样的苦恼中,这并不是坏事,这事对未来有要求的才会出现,遇到问题结局问题就好了。
我的理解,迷茫的核心是不知道要干什么,此时要做的就是去明确自己迷茫的事,例如对工作迷茫,可以多找同事、上级、朋友沟通,多上网了解,去明确自己规划方向,同时也明确要完成这个规划具体的TODO有哪些,然后执行,有清晰的路径并且按部就班地执行,那生活起来就会比较有信心了。定时的迷茫是给自己修正的机会,重新修正后继续执行即可。
我自己的话还是希望能持续在这行进行下去,自己也有一些自己的技术追求,这行的路径就是通过多种方法晋升、带团队,无论是学校的科研路线还是公司的晋升路线,都离不开这点,野心我肯定是有的,有遇到合适的机会我会结合自己的情况把握好。
Q:想问一些大佬关于工作上的,现在在某大厂算法,自己的+1总是喜欢pua+情绪极其不稳定天天喷人,天天加班就不说了,心理和精神压力很大,每天都是想离职,作为刚刚毕业的应届生,有点害怕离职了就找不到工作了,想问问大佬怎么建议哇
A:首先,应届生离职,真的不好找工作,这个是事实,不至于一定找不到,这个具体看你的能力,还有一点运气了。谨慎吧。如果拿不准,找一些小机会到市场上试试手,多半也知道自己的水平了。
职场遇到问题是常见的,我们会遇到形形色色的人,包括领导,如果因为谁有什么问题,就想要离职,肯定是不合适,毕竟换了工作,谁能保证就遇不到这种人呢,亦或者,我们可能会遇到别的不符合我们情况的人。很可惜,我们并不都有这个底气(离职),此时就只能自己调整,通过主动沟通、逐步积累实力、调整作息适应等方式来调节。
这事跟做算法任务一样,总不能试了一个方法效果不好,就不干吧,我们得想办法破局,对问题深入研究,探索数据和问题的特性针对性解决,或者多看书看论文,积累更多的方法。