互联网资讯 / 人工智能 · 2023年12月14日 0

AI工程师的成长路径与工作方法探讨

本文对AI工程师的工作方法进行了深入探讨。工程师群体中蕴藏着许多聪明才智,但在工作中常常遭遇重复且繁琐的任务。如何用工程思维来应对这些挑战,是近年来通过实践总结出来的一些关键点。

自动化重复环节

自动化是程序员最基本的直觉和理解。可以从“CV工程师”的视角来看待自动化:当你第一次使用Ctrl+C和Ctrl+V进行复制粘贴时,就应该思考是否可以将其抽象成一个组件或工具;第二次复制粘贴时,组件的结构和设计应该已经比较明确;而到第三次复制粘贴时,你便可以使用自己创建的组件或者工具。

自动化不仅限于代码层面,它可以被视作一种解决问题的方法。任何重复的环节都可以进行自动化处理。例如,在写博客时,通常的流程是截取并存储图片、上传至图床、获取图片链接。如果不进行自动化,这个过程会让人感到厌烦。但实际上,Mac上的AlfRed Workflow可以轻松实现这一过程的自动化。此外,我们在开会时,完全可以准备一个会议记录模板,每次开会时直接复制使用。关键在于要有意识去抽象出重复的动作。

自动化不仅仅是技术人员的专利,非技术人员同样需要这种意识,甚至可能更加迫切。例如,行政人员可能手动发送工资条,运营人员每天下载报表并进行统计等,这些工作都可以通过自动化来完成。

自动化并不是高深的技术,甚至不需要会Python。有时候,编写代码反而会增加复杂性。对于非技术人员来说,Excel往往更加实用,许多统计、去重、切片和过滤等操作在Excel中只需简单点击几下即可。

工具的复杂性并不重要,只要能够让任务“自动”完成,越简单的工具往往越有效。

批量处理

批量处理与自动化类似,但它更注重一次性完成一类工作,核心在于“批量”。批量处理通常针对具体的工作内容,例如统一查找替换、为所有句子添加特定字符或批量下载数据等。

AI工程师对此应该非常熟悉,在模型训练中,Batch就是一个批量处理的例子。批量处理不仅提高效率,还能减少逐条操作时可能出现的错误。例如,给定一个包含多列的文本文档,我们可以利用Sublime Text的正则功能提取出包含数字的行,并复制出来。

在批量处理时,关键是关注能否“一次性”完成任务。这种思维方式在日常生活中同样适用,比如可以将取快递和外卖合并,或将相关议题集中在一次会议中讨论。此外,时间的批量化也是一种有效的方法。我个人通常选择上午作为专注的时间段,专心完成需要集中注意力的任务,不看消息,也尽量不做其他事情。

简化过程

在这里,“简化”包含两层含义:第一层是一般意义上的“简单”,第二层是深入本质的大道至简。第一层的简单通常指初步或临时方案,而第二层的简单则是透过复杂的表象直达本质,通常是系统演化和改进的结果。以下从AI工程师的业务角度说明两个方面。

产品设计

在产品设计阶段,满足需求的前提下,应优先选择简单且可以持续优化的方案。具体而言,设计应具备不同模块,每个模块都有独特且不可或缺的功能,同时模块核心功能需符合基本假设。要避免模块仅适用于特定情境的特殊设计。

以AI工程师为例,Google的很多产品如Doc2vec和BERT都符合“简单”的标准,而许多经过改进的论文往往使其复杂化。作为工业界的工程师,重点关注GF的前沿研究成果即可,其他内容可以作为参考。

产品架构

架构设计本质上是一项复杂的工作,看似只是将现有功能组合在一起,但选择的复杂性在于如何简化模块与模块、组件与组件之间的交互。简洁的架构需从整体复杂度出发,选择最适合的架构,并留有一定的扩展性,随着系统的不断演化进行调整。

在架构设计中,需要特别关注三个方面:第一是避免过度设计。良好的架构通常是逐步演变而来的,而非一开始就完美。第二是追求新技术。虽然这是件好事,但作为设计者必须考虑多种因素,包括新技术的稳定性、团队的适应能力及未来规划等。第三是避免一步到位的想法。架构调整往往是渐进的,可能需要逐个模块进行修改,甚至在某些情况下需要完全推翻重新设计。

最大化边际收益

边际收益在经济学中指增加一单位投入所获得的收益,并具有递减性。例如,当你非常饿时,第一个包子的美味是最强烈的,随着数量增加,口感逐渐下降。在工作中,我们应优先处理那些能够最大化边际收益的任务,通俗来说就是2-8法则:用20%的资源产生80%的效果。

优先解决人工因素

从长远来看,几乎所有企业都会面临AI化的挑战,就像十几年前的电子商务一样,这并不是某些企业的专属。对此,我比较认同吴恩达的观点—将AI比作电力。AI技术在许多方面可以显著提升企业效率,如客服机器人、搜索和推荐等,关键在于实施的深度。即便是已部分AI化的企业,仍然存在优化的空间,技术的存在旨在提升整体效率,后续则需逐步优化。

重视新技术

无论出于何种原因,都没有理由忽视新技术的使用。尤其在AI领域,深度学习的有效性已被广泛认可,能够在许多场景中取代传统方法或进一步提升效果。作为行业一员,我们应关注并了解新的方法和技术,即使它们的效果尚未显现。

综合运用不同方法

不同的方法和模型在效果上可能有所差异,因为它们各自关注的重点不同。在实际操作中,我们往往无法单靠一种方法来解决所有问题,即使是最新和最优的方案也不行。因此,正是由于不同方法的侧重点不同,我们需要灵活运用多种方法的组合,以实现每种方法的最大收益。