首页 > 其他分享 >AI工程师成长记 - 工作方法!

AI工程师成长记 - 工作方法!

时间:2022-10-20 17:06:49浏览次数:78  
标签:批量 工程师 AI 方法 成长 自动化 比如


作者:太子长琴,算法工程师,Datawhale成员

上一篇讲的是​​AI工程师成长记 - 工作流程​​,这篇专门讲工作方法。工程师这个群体中有许多非常聪明的人,他们在工作中会面临许多重复繁琐事宜,如何用工程思维去面对,这几年通过工作学习进行了总结,概括来说主要有以下几个方面。

01 重复环节自动化

这恐怕是程序员最基础的直觉和认知了。可以从“CV工程师”的角度理解自动化:当你Ctrl C+Ctrl V复制粘贴第一次时,你应该考虑是不是可以将其抽象成一个组件或工具;当你复制粘贴第二次时,组件的结构和设计应该已经比较清晰。第三次再复制粘贴时,已经可以使用自己的组件或工具了。

自动化不应该只体现在代码层面,可以将它看作一种解决问题的方法,环节重复的都可以用自动化。比如我们写博客时用到图床,一般的流程是:截取并存储图片,上传到图床,获取图片链接。这个过程如果不自动真的会让人只生出死心——恶心死了,但实际上 Mac 下面的 Alfred ·Workflow 就可以简便实现自动化。再比如我们经常开会,完全可以做一个会议记录的模板,每次开会时复制一下。关键是要想方设法将重复的动作抽象,重要的是要有这个意识。

既然自动化更多的是一种意识,自然地非技术人员也会需要,而且可能更加需要。比如行政人员可能会手动发工资条,运营人员可能会每天下载一次报表,然后针对报表做一些统计或其他处理,这些工作其实都可以自动完成。

自动化并不是高大上,或者必须要会 Python,有时候写代码反而更复杂,比如之前提到过 Workflow 图床的例子。对于非技术人员,Excel 很多时候会更加实用,比如统计、去重、切片、过滤等等,在 Excel 里面就点几下鼠标的事。

工具并不重要,只要能让事情 “自动” 完成,那越简单的工具就是越好的工具。

02 批量化

批量化和自动化可能比较类似,但批量化更加侧重一次完成一类工作,核心是 “批量”,而自动化核心是 “自动”。批量化一般是针对某项具体的工作内容,比如统一查找替换,统一为所有句子添加某个字符、批量下载数据等等。

AI 工程师对此应该非常熟悉,模型训练中的 Batch 其实就是批量化的例子。批量往往具有统一的特点,不仅效率高,而且还能避免一条一条操作可能的错误。比如给定一个若干列的文本文档,要提取出包含数字的行,这时我们可以借助 SublimeText,利用正则找出所有的数字,然后选中所在行复制出来即可。

批量化时刻关注能否 “一次性” 将事情搞定,很多时候会体现在运筹层面,比如要下楼取快递,可以和外卖一起取;或者将要讨论的议题放在一起开会等等。总之,就是尽量将类似的行为一起完成,提高效率。

还有时间的批量化。即利用一整块时间做一件事。对我个人而言,一般会选择上午作为静默时间,专注需要集中注意力完成的任务,不看消息,也基本上不动。

03 简单化

这里的简单包含两层含义:第一层就是一般意义的 “简单”,第二层是大道至简的 “简单”。第一层类似简陋,一般作为初始方案或临时方案;第二层的简单则是透过复杂冗繁的表象直达本质,整个系统层面的清晰和优美,往往是不断演化改进的产物。这里以AI工程师的业务角度说两个方面。

产品设计

一个产品在设计阶段,能够满足需要的前提下,应该选择简单的不断优化。具体说明一下怎样的设计我认为是 “简单” 的:一方面,有不同的模块,每个模块有单一、不同且不可或缺的功能;另一方面,每个模型的核心功能符合对其基本假设。其中要注意,模块不应该有一些仅适用于部分情况的特殊设计。

拿AI工程师举个例子,Google 的东西往往符合 “简单” 标准,比如 Doc2vec,BERT,但大部分魔改后的论文都是将其复杂化。作为工业界的工程师,其实重点关注 GF(Google、Facebook)的前沿研究成果就差不多了,其他的(尤其是高校的)只是作为一个思路参考,贪多嚼不烂。

产品架构

架构设计本身是很复杂的一件事,看起来好像是将已有的功能各种组合在一起,但难就难在这个选择上面。简洁架构更多是从整体复杂度的角度考虑的,模块与模块、组件与组件之间交互简单。要做到这点,一定要从实际出发,选择当下最适合的架构,略微做一定的扩展性考虑,接下来就是随着系统不断演化。

需要特别注意三个点:第一,过度设计。好的架构往往是演化出来的,而不是一开始就设计的那么好。第二,追求新技术。这本身是个好事,但作为架构设计者必须要综合考虑多种因素,抛开技术层面,新的技术是否稳定、团队能否 hold 住、所有者对未来的规划等等都是很重要的因素。第三,想一步到位。事实上,架构的调整往往是逐步进行的,有可能先调整某个模块,再下一个,有时候更是需要全部推翻重新设计。架构设计不是一锤子买卖。

04 边际收益最大化

在经济学中,边际收益是指增加一单位的投入所能获取的收益。边际收益具有递减性,比如很饿的时候,第一个包子最香,吃着吃着越觉得不好吃。在工作中,我们应该优先做边际收益最大化的工作,通俗点的说法就是 2-8 法则:用 20% 的资源做能够起 80% 效果的事

优先解决人工部分

长期来看,几乎所有企业都会面临 AI 化,就像十几年前的电子商务,这并不是 “有些” 企业的专属。关于这点,我比较认同吴恩达的观点——将 AI 比作电力。即便从客观角度看,AI 技术确实能在许多方面提升企业效率,比如客服机器人、搜索、推荐等等,区别只是做的深浅程度。即便是已经部分 AI 化的企业,也未必没有优化的空间,我们只需知道技术的存在就是为了提升整体效率,剩下的便是一点点去优化。

重视新技术

无论原因是什么,都不是不使用新技术的理由。尤其AI领域,深度学习的有效性已经不容置疑,在很多场景下都可以替换传统方法,或者进一步提升已有的效果。作为行业的一员,出现新的方法和技术,即便没效果我们也该去了解,更不用提效果这么好了。

综合使用不同方法的核心部分

不同的方法、不同的模型效果可能不一样,因为它们各自侧重的点不一样。在实际中,我们往往没办法一套方法走天下,即便是最新最好的也不行。这里想表达的是,正是因为不同方法侧重点不一样,我们反而需要利用这点,选择多种方法组合,这类似于利用了每种方法的最大收益。


AI工程师成长记 - 工作方法!_新技术


标签:批量,工程师,AI,方法,成长,自动化,比如
From: https://blog.51cto.com/u_15699042/5780317

相关文章

  • KingbaseES V8R3集群运维案例之---failover故障处理
    案例说明:此案例,为KingbaseESV8R3集群failover切换时,通用的故障处理方式。通过对failover.log和recovery.log日志的解读,让大家了解KingbaseESV8R3集群failover的恢复过程......
  • 一个「菜鸟」转行AI的成长心得!
    作者:太子长琴,算法工程师本文是一个转行四年的「菜鸟」的成长心得,围绕真实工作场景中,AI算法工程师是如何从头到尾完成一个产品需求的。这几年基本能碰的都折腾过了,另一方面也......
  • 知乎热问:成为算法工程师的路上,掌握什么技术会感觉自我提升突飞猛进?
    作者:桔了个仔,南洋理工大学,Datawhale成员这个问题我犹豫了很久,三个月前就放草稿箱里了,一直没答的原因是,感觉这些年好像没有什么瞬间让我感觉自己水平突飞猛进,感觉这些年的进......
  • 聊聊工程师的职业素养
    责任心:无论是项目经理、开发、测试抑或其他岗位,要对自己的工作负责;开发对自己的代码质量、可读性、接口设计文档等产出物负责;项目经理对项目进度和人员......
  • 【听如子说】-python模块系列-AIS编解码Pyais
    PyaisModuleIntroducepyais一个简单实用的ais编解码模块工作中需要和ais打交道,在摸鱼的过程中发现了一个牛逼的模块,对ais编解码感兴趣的可以拿项目学习一下,或者运用到......
  • AIGW50N65H5英飞凌车规MOS管\原装现货ASEMI代理
    编辑:llAIGW50N65H5英飞凌车规MOS管\原装现货ASEMI代理型号:AIGW50N65H5品牌:ASEMI封装:TO-247最大漏源电流:50A漏源击穿电压:650VRDS(ON)Max:0.08Ω引脚数量:3特性:车规级MO......
  • java spring boot 项目启动配置由.properties改为.yml。failed to configure a dataso
    因为yml的文件结构可以少打字,就想着把.properties的配置文件改为.yml的,结果发现坑还不少,在此记录一下。1、安装相应的plugins    2、添加相应的文件名 3、设......
  • MySQL-explain
    转自:https://www.cnblogs.com/ciel717/p/16180093.html通常查询慢查询SQL语句时会使用EXPLAIN命令来查看SQL语句的执行计划,通过返回的信息,可以了解到Mysql优化器是如何执......
  • 视觉系统精度的极限 艾里斑(airy spot)
    光穿过任何尺寸的孔径时(每个镜头都具有限定的孔径),都会产生衍射由此产生的衍射图案(中心是一块明亮区域,周围是一系列亮度不断降低的同心圆环)被称为艾里斑。×××××......
  • 我的4年学习心得:AI 应该是一个整体!
     Datawhale干货 作者:太子长琴,算法工程师,Datawhale成员本文涉及到的思考从我2017年接触人工智能就开始萌芽了,由于个人经历关系,我一开始是从认知科学的角度开始自己的工程......