阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

谷歌大脑小姐姐亲授:如何拿下 AI 工程师岗位

  • 2018-12-16
  • 本文字数:3591 字

    阅读完需:约 12 分钟

谷歌大脑小姐姐亲授:如何拿下AI工程师岗位

AI 前线导读: 技术人工智能安全是一个有多方面内容的研究领域,在诸如[奖励学习、鲁棒性和可解释性等方面有许多子问题。为了确保随着系统变得越来越强大,人工智能的发展能够继续造福人类,这些子问题都需要得到解决。但并非所有这些问题都可以通过抽象的数学研究来解决。有些问题可以通过具体的编码实验和机器学习原型来处理。因此,一些 AI 安全研究小组正在招聘越来越多的软件工程师和机器学习研究工程师。此外,一些研究小组可能并不是直接负责“人工智能安全”问题,但他们致力于研究相关问题,例如验证神经网络或从用户反馈中学习,他们也需要招聘工程师。


更多干货内容请关注微信公众号“AI 前线”(ID:ai-front)

这些职位的必备要求是什么?

软件工程:AI 安全团队中的一些工程师岗位并不要求机器学习经验。如果你具备以下条件,可能就申请这些职位了:


  • 计算机科学或其他技术领域的理科学士或工科学士学位(或类似的经验)

  • 丰富的软件工程知识(可以通过谷歌软件工程的面试)

  • 对人工智能安全领域的工作感兴趣

  • (通常要求)愿意搬到伦敦或旧金山湾区


如果你是一个对这些岗位感兴趣的软件工程师,那么可能不需要任何额外的准备,可以直接申请这些职位。


机器学习工程和研究工程:一些岗位要求候选人具备实现和调试机器学习算法的经验。如果你还没有机器学习经验,只要你愿意花几个月时间学习,就可以快速掌握必要的技能。在决定这样做之前,你应该确认自己符合以下条件:


  • 计算机科学或其他技术领域的理科学士或工科学士学位(或类似的经验)

  • 丰富的软件工程知识(可以通过谷歌软件工程的面试)

  • 对人工智能安全领域的工作感兴趣

  • (通常要求)愿意搬到伦敦或旧金山湾区

没有经验,如何学习 ML 工程技术?

初步调研

机器学习算法的实现和调试不同于传统的软件工程。以下文章可以帮助你了解自己是否喜欢这种重复性的工作:


机器学习基础

如果你完全没有机器学习方面的经验,那就从熟悉基础知识开始吧。如果你已经有了一些经验,但最近又没有完成实际的机器学习项目,那么熟悉最新的工具(TensorFlow、配备 GPU 的虚拟机,等等)可能会是个好主意。


如果你已经有全职工作或者其他事情在做,那么确实很难找到时间自学,但这并非不可能。这里有几个建议:


可以考虑每周花上几个小时上网课。我们推荐这两门网络课程:



如果你从事全职软件工程工作,那么完全可以在工作的同时学习机器学习基础知识:


  • 如果你在一家大型科技公司工作,可以利用内部培训,包括全职的机器学习轮岗计划。

  • 问问你的经理是否可以把机器学习融入你目前的工作:例如,花 20%的时间学习机器学习,看看它是否可以改进你所在的项目。


对于简单的机器学习问题,笔记本电脑上的 CPU 就足够用了。但对于较复杂的问题,就有必要购买 GPU 或租用一些云 GPU。你可以通过免费试用教育用途 或者通过初创公司的朋友获得一些云计算设备的使用机会。

了解机器学习的实现和调试,并与你想加入的团队的人聊天

在了解了机器学习的基础知识后,接下来要学习的是如何实现和调试机器学习算法。(从其他人的经验来看,我们估计至少需要 200 个小时的全身心投入。如果你基础更差,可能需要更多的时间。)


经验的广度在这里并不重要:你不需要阅读所有的最新论文,或者读完阅读清单提到的所有东西。你也不需要做新研究或者想出新算法。在这个阶段,你也不需要关注安全问题。实际上,只关注那些比较重要的成熟机器学习算法对你的学习来说会更有好处。


你需要做的是实践,亲自实现和调试机器学习算法,为工作面试提供有力的证据,证明你在这方面有丰富的经验。


我强烈建议你在这个阶段与你感兴趣的团队人多互动。给他们发电子邮件,详细说明你打算花多少时间去学习些什么,让他们给你反馈。团队的管理者或许会建议你应该使用哪些资源,帮你避免在与应聘岗位不相干的技能上浪费时间。


获得这种经验最直接的方法是选择一个你感兴趣的机器学习子领域。然后阅读该领域的关键论文,并重新实现这些论文提及的或引用最多的一些基本算法。潜在的子领域以下:


  • 深度强化学习

  • 防御对抗样本

  • 神经网络的验证和鲁棒性证明

  • 可解释性和可视化


如果不清楚该如何开始——例如,如果你没有获取 GPU 的渠道,或者不知道该如何编写 TensorFlow——上面的基础部分中提到的许多资源都可以给你提供有用的提示。


如果你在这个阶段需要辞掉工作才能腾出时间学习,但又没有足够的经济基础来自给自足,那么当EA奖学金再次开放申请的时候去申请吧——他们愿意为这种职业过渡提供资助。

案例研究:Daniel Ziegler 的机器学习自学经验

2018 年 1 月,Daniel 已经具备了牢固的软件工程基础,但只掌握了基本的机器学习知识。他想以研究工程师的身份加入 AI 安全团队,因此他与 Dario Amodei(OpenAI 安全团队负责人)进行了交谈。根据 Dario 的建议,Daniel 和室友一起花了大约六个星期的时间投入深度强化学习。他还花了一点时间复习基础的机器学习知识,并尝试图像和文本的监督学习。在随后的面试中,Daniel 成功加入了安全团队,成为一名机器学习工程师。


Daniel 和他的室友以 Josh Achiam 的深度强化学习关键论文列表作为指导。他们读完了清单中提到的约 20 至 30 篇论文,花 1 个半小时独立阅读,然后用半个小时讨论论文内容。


更重要的是,他们使用 TensorFlow 实现了大量关键算法:


  • Q-learning:DQN 及其扩展,包括 Prioritized Replay 网络和 DDQN

  • 策略梯度:A2C、PPO、DDPG


他们借助OpenAI Gym尝试应用这些算法,从简单的“Cartpole-v0”到 Atari 游戏(如“Breakout-v4”)。


他们在每个算法上花费 2 到 10 天时间(同时运行实验),具体取决于他们想要的深度。对于一些算法,他们只想得到一个可运行的实现。而对于 PPO 算法,他们尝试修复 bug,并且通过调整一些东西,能够接近 OpenAI 给出的基准实现。


对于每个算法,他们先在非常简单的环境下测试,然后移到更难的环境中。注意,有些环境对于一种算法来说可能是简单的,但对于另一种算法来说并不简单:例如,尽管 Cartpole 的环境非常简单,但它的时间线很长,这对于某些算法来说很具挑战性。


在算法某些部分能够运行之后,他们可以通过仔细检查代码并收集测量结果(如平均策略熵)来找出 bug,从而获得更高的性能,而不仅仅是调整超参数。最后,当他们希望算法能够达到 Baseline 的性能时,他们会仔细查看 Baseline 的实现,来了解更小的重要细节,例如如何准确地预处理和正规化观察。


六周后,Daniel 能够流利地谈论强化学习中的关键思想以及不同算法之间的利弊。最重要的是,他能够实现和调试机器学习算法,从读懂论文中的数学到亲手运行代码。回想起来,Daniel 希望他当初能在机器学习概念和数学基础上再多花点时间,但其实整个过程已经让 Daniel 为面试和应聘工作做好了准备。

现在开始申请工作

下面是 AI 安全研究团队的软件工程师岗位的招聘示例,这些岗位不需要机器学习经验:


  • OpenAI 的安全团队目前正在招聘一名软件工程师, 工作内容包括设计人机混合的 AI 训练界面以及为更大的语言模型收集数据。

  • MIRI 正在招聘软件工程师

  • Ought 正在招聘研究工程师, 重点关注对函数式编程、编译器、程序分析和相关主题感兴趣的候选人。


下面的招聘岗位需要具备机器学习经验:


  • DeepMind 正在为其技术 AGI 安全团队、安全和鲁棒人工智能团队(致力于神经网络验证和鲁棒性)以及潜在的其他岗位招聘研究工程师

  • 谷歌 AI 正在全球范围内招聘研究软件工程师。 虽然谷歌 AI 没有“AI 安全”团队,但主要研究方向为鲁棒性、安全性、可解释性,以及从用户反馈中学习。

  • OpenAI 的安全团队正在招聘机器学习工程师来研究价值对齐和可解释性。

  • 伯克利大学 Human Compatible AI 中心正在招聘机器学习研究工程师, 为期 1 到 2 年的访问学者职位,工作内容为在深度强化学习系统上测试价值对齐想法。


当你向一个有多个研究领域的大型企业提出申请时,在你的申请中需要指出你最感兴趣的是哪个领域。要提前调查公司的研究领域,以确保你列出的领域是公司所研究的领域。例如,如果一个公司没有研究人员在进行“价值对齐”研究,那么就不要在申请中写“价值对齐”。


如果你现在无法得到一个安全研究领域的工作,可以先找一份能让你获得相关经验的工作,然后过渡到安全研究的职位。


其他企业AI实验室也提供与安全无关的研究工程职位,尽管这些职位可能比 AGI 安全团队的角色更有竞争力。


最后,你可以考虑申请谷歌OpenAIFacebookUber微软的 1 年奖学金项目。


查看英文原文:


https://80000hours.org/articles/ml-engineering-career-transition-guide/

会议推荐:

AICon


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2018-12-16 07:002186
用户头像

发布了 52 篇内容, 共 28.1 次阅读, 收获喜欢 72 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

当我们谈前端性能的时候,我们谈的是什么

vivo互联网技术

性能优化 大前端 页面

为什么建议使用你 LocalDateTime ,而不是 Date?

Bruce Duan

LocalDateTime Date

架构师训练营第一期 - 第十一周课后作业

卖猪肉的大叔

极客大学架构师训练营

即构科技肖传发:即刻构建在线教育的音视频互动场景

ZEGO即构

AR智能眼镜会成未来趋势

anyRTC开发者

人工智能 音视频 WebRTC RTC

mybatis快速入门,so easy啦

田维常

mybatis

从容应对11.11大促 京东智联云云硬盘做对了哪些事?

京东科技开发者

云计算 高可用 云硬盘

Kubernetes 1.20发布,Release Logo变成一只猫

晓川

Swift性能优化分析

ios swift

一个依赖搞定 Spring Boot 反爬虫,防止接口盗刷!

Bruce Duan

反爬虫组件 kk-anti-reptile

(G20200388020528)第一周练习

走走,停停……

Redis 如何实现点赞、取消点赞

Bruce Duan

Redis实现点赞

DB-Engines 12月数据库排名: PostgreSQL拿下同期涨幅榜冠军,有望获得「2020年度数据库」荣誉?

华章IT

数据库 postgresql

《前端算法系列》数组去重

徐小夕

Java 面试 算法 大前端

药品安全追溯系统开发区块链技术

13828808769

安全 区块链+

TronChain波场链系统软件开发|TronChain波场链APP开发

系统开发

ZEGO即构科技荣获36氪【WISE2020中国新经济之王最具影响力企业】

ZEGO即构

大厂也在用的 6种 数据脱敏方案,严防泄露数据的 “内鬼”

程序员小富

Java 数据脱敏;

话题讨论 | 图解一致性哈希算法全小区局域网最通俗易懂

程序员柠檬

《算法问题整理》​.pdf

田维常

悟空活动中台-打造 Nodejs 版本的MyBatis

vivo互联网技术

Java 大前端 mybatis nodejs

《迅雷链精品课》第十一课:区块链常用共识算法介绍

迅雷链

区块链

大厂iOS面试题全面讲解(上)

ios 面试

3种缓存读写策略都不了解?面试很难让你通过啊兄弟!

Java架构师迁哥

数据结构与算法系列之散列表(一)(GO)

书旅

数据结构 算法 Go 语言

G20200388020528第二周作业

走走,停停……

2020 阿里云原生实战峰会即将开幕 云原生落地的正确姿势

阿里巴巴云原生

阿里巴巴 阿里云 开发者 云原生 实战

通过docker获取系统运行情况的实用命令

晓川

区块链应用落地,区块链电子票据应用平台搭建

t13823115967

区块链+ 区块链应用 区块链落地开发

公安舆情分析重点人员管控系统搭建解决方案

t13823115967

智慧公安 舆情分析

浅谈ToB市场精细化运营

Linkflow

营销数字化 客户数据平台 CDP 精细化运营

谷歌大脑小姐姐亲授:如何拿下AI工程师岗位
_AI&大模型_Catherine Olsson_InfoQ精选文章