写点什么

谷歌大脑小姐姐亲授:如何拿下 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


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

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

关注

评论 1 条评论

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

八连冠!浪潮云连续8年蝉联中国政务云市场第一位

云计算

数据安全刻不容缓,国产智能化厂商首获SOC 2鉴证报告有何意义?

王吉伟频道

RPA 数据安全 机器人流程自动化 智能自动化 SOC 2

InfoQ 极客传媒 15 周年庆征文|在Flutter中自定义应用程序内键盘

坚果

InfoQ极客传媒15周年庆

flutter系列之:Material主题的基础-MaterialApp

程序那些事

flutter 程序那些事 6月月更 widget

从 0 到 1,探究百亿流量验证下的 MVVM 框架设计

图灵教育

百度 MVVM 全栈设计

基于模板配置的数据可视化平台

百度Geek说

数据产品学习-实时计算平台

第519区

实时计算 数据产品 数据开发 大数据平台

后端适用,Apifox接口文档设计和调试教程【工具篇】

Liam

Java 后端 Postman 后端开发 API文档

defi存币生息理财dapp系统开发逻辑

开发微hkkf5566

网络安全等级测评和商用密码应用安全性评估是一回事吗?

行云管家

网络安全 等级保护 商用密码

各厂商的数据湖解决方案

五分钟学大数据

数据湖 6月月更

技术干货 | Linkis1.0.2安装及使用指南

康月牙

开源社区 微众银行 WeDataSphere Linkis 使用实践

细说腾讯如何做到直播延时降低90%以上方案

C++后台开发

WebRTC CDN 音视频开发 视频直播 直播低延迟

ARM64 上的性能怪兽:API 网关 Apache APISIX 在 AWS Graviton3 上的安装和性能测试

API7.ai 技术团队

AWS 网关 arm APISIX

小程序启动性能优化实践

百度Geek说

跨平台多媒体渲染引擎OPR简介

阿里巴巴文娱技术

音视频 弹幕 渲染

Springcloud Oauth2 HA篇

Damon

微服务架构 安全架构 6月月更

大数据培训Flink高频面试题

@零度

flink 大数据开发

企业数字化转型该如何做?三个融合、三个转换

小炮

资深OpenStacker - 彭博、Vexxhost升级为OpenInfra基金会黄金成员

极客天地

5年“研究”3年“实战” 之后的满分答卷

青藤云安全

网络安全 容器安全 安全服务 云原生安全

SphereEx 正式开源面向 Database Mesh 的解决方案 Pisanix

SphereEx

开源 SphereEx 云上数据库 Database Mesh Pisanix

陕西西安等保测评单位有哪些?在哪里可以查到?

行云管家

西安 等保测评 等保测评机构

工资管理系统该如何使用?

低代码小观

企业管理 工资 管理系统

低代码分析盘点:银行业低代码应用需要规避两大误区

易观分析

代码 银行

618 大促来袭,浅谈如何做好大促备战

阿里巴巴云原生

阿里云 微服务 高可用 云原生

中原银行统一日志平台

中原银行

海量数据 中原银行 日志平台

Ubuntu20.04设置静态IP

echeverra

Linux 静态IP

分布式数据对象:超级终端的"全局变量"

OpenHarmony开发者

OpenHarmony

技术干货 | Linkis实践:新引擎实现流程解析

康月牙

Apache 开源社区 WeDataSphere Linkis 使用实践

直播预告 | 社交新纪元,共探元宇宙社交新体验

ZEGO即构

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