HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论 1 条评论

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

这款神器大大提升了协作效率!

Liam

后端 Jmeter Postman swagger Mock

科创人·富士康CDO史喆:To B产品切忌臃肿,数字化不分对错只求更好

科创人

使用 Sanic 框架进行 Python Web 开发

宇宙之一粟

Python 4月月更 sanic

五大应用示范,为社区/企业防疫管理减负提效

明道云

JS/TS项目里的Module都是什么?

华为云开发者联盟

js Module loaders bundlers

教你用ab命令进行并发与压力测试

华为云开发者联盟

并发 压力测试 ab测试 ab命令 请求次数

Redis是怎样通讯的?

ooooooh灰灰

redis 后端 协议 4月月更

linux之iconv命令

入门小站

Linux

在线CSV转SQL工具

入门小站

工具

Docker 实战教程之从入门到提高 (五)

汪子熙

Docker 容器 虚拟化 容器镜像 4月月更

知识管理的目的及意义——提高社会资源的配置效率

小炮

知识管理

易观分析:三大协会发声NFT,未来监管走向几何?

易观分析

区块链 NFT

同事删库跑路后,我连表名都不能修改了?

码农参上

数据库 数据恢复 权限 删库 4月月更

一文带你使用 Apache IoTDB 系统监控模块

Apache IoTDB

揭露sealer背后实现整个集群一键交付的奥秘 | 龙蜥技术

OpenAnolis小助手

开源 sealer 龙蜥技术 镜像集群

在线字节转换工具

入门小站

工具

WeTest平台产品&技术合作伙伴招募

WeTest

免费下载|KubeMeet 城市站实录合辑,N 场容器开源分享打包看

阿里巴巴云原生

Prime Video 如何使用机器学习来确保视频质量

亚马逊云科技 (Amazon Web Services)

计算机视觉 Amazon Prime Video WACV

让我们开始使用 Amazon Lambda

亚马逊云科技 (Amazon Web Services)

Serverless 云原生 亚马逊云科技 云技能

程序员=沉闷无趣?都是刻板印象…

LigaAI

程序员人生 程序猿

MSE 微服务治理发布企业版,助力企业构建完整微服务治理体系

阿里巴巴云原生

【Zeekr_Tech】汽车软件RTOS-之AUTOSAR OS多核控制简介

Zeekr_Tech

Linux 软件架构

5. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 接口以及场景压测

MASA技术团队

C# .net 微软 测试 压测

好的测试数据管理,到底要怎么做?

禅道项目管理

测试 数据 数据管理

hyengine - 面向移动端的高性能通用编译/解释引擎

阿里巴巴终端技术

编译 移动端 引擎

从容器化到资源池化,数栈云原生技术实践探索之路

袋鼠云数栈

大数据 flink 云原生 k8s

TASKCTL ETL作业类型的插件与维护管理

敏捷调度TASKCTL

kettle 元数据 ETL 自动化运维 调度任务

QIP 25周年

亚马逊云科技 (Amazon Web Services)

量子计算 量子技术 量子纠错

一文读懂 TsFile

Apache IoTDB

IoTDB 服务绍兴安瑞思90%业务,助其提升百倍查询速度

Apache IoTDB

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