Yandex 常驻计划,或者经验丰富的后端人员如何成为机器学习工程师

Yandex 常驻计划,或者经验丰富的后端人员如何成为机器学习工程师

Yandex 正在为经验丰富的后端开发人员开设机器学习驻场计划。 如果您已经用 C++/Python 编写了大量内容并希望将这些知识应用到 ML 中,那么我们将教您如何进行实际研究并提供经验丰富的导师。 您将从事关键的 Yandex 服务工作,并获得线性模型和梯度提升、推荐系统、用于分析图像、文本和声音的神经网络等领域的技能。 您还将学习如何使用离线和在线指标正确评估您的模型。

该项目为期一年,期间参与者将在Yandex的机器智能和研究部门工作,并参加讲座和研讨会。 参与是有偿的,并且涉及全职工作:从今年 40 月 1 日开始,每周 XNUMX 小时。 申请现已开放 并将持续至1月XNUMX日。 

现在更详细地介绍一下 - 我们正在等待什么样的受众、工作流程是什么,以及后端专家如何转向 ML 职业。

方向性

许多公司都有驻留计划,包括谷歌和 Facebook。 它们主要针对试图迈向机器学习研究的初级和中级专家。 我们的节目是针对不同的观众的。 我们邀请已经获得足够经验并确信自己的能力需要转向机器学习的后端开发人员,以获得解决工业机器学习问题的实用技能(而不是科学家的技能)。 这并不意味着我们不支持年轻的研究人员。 我们为他们组织了一个单独的计划—— 奖项 以 Ilya Segalovich 命名,也允许您在 Yandex 中工作。

居民将在哪里工作?

在机器智能与研究系,我们自己开发项目想法。 灵感的主要来源是科学文献、文章和研究界的趋势。 我和我的同事分析了我们所读到的内容,研究如何改进或扩展科学家提出的方法。 同时,我们每个人都会考虑到他的知识和兴趣领域,根据他认为重要的领域制定任务。 项目的想法通常诞生于外部研究结果和自身能力的交叉点。

这个系统很好,因为它在很大程度上解决了 Yandex 服务出现之前的技术问题。 当一项服务遇到问题时,它的代表会来找我们,很可能会采用我们已经准备好的技术,剩下的就是将其正确应用到产品中。 如果有些事情还没有准备好,我们至少会很快记住我们可以在哪里“开始挖掘”以及在哪些文章中寻找解决方案。 众所周知,科学方法就是站在巨人的肩膀上。

该怎么办

在 Yandex,甚至在我们的管理层中,机器学习的所有相关领域都在开发中。 我们的目标是提高各种产品的质量,这可以激励我们测试一切新产品。 此外,新服务也会定期出现。 因此,讲座计划包含工业发展中机器学习的所有关键(经过充分验证的)领域。 在编写我的课程部分时,我利用了我在数据分析学院的教学经验,以及其他 SHAD 教师的材料和工作。 我知道我的同事也这么做了。

在最初的几个月里,根据课程计划进行的培训将占到你工作时间的大约 30%,然后是 10% 左右。 然而,重要的是要了解,使用 ML 模型本身所需的时间将比所有相关流程少大约四倍。 其中包括准备后端、接收数据、编写预处理管道、优化代码、适应特定硬件等。如果您愿意,ML 工程师可以是全栈开发人员(只是更注重机器学习) ,有能力从头到尾解决问题。 即使使用现成的模型,您也可能需要执行更多操作:在多台机器上并行执行,以句柄、库或服务本身组件的形式准备实现。

学生选择
如果您认为最好先担任后端开发人员才能成为机器学习工程师,但事实并非如此。 在没有开发服务、学习和成为市场极度需求的实际经验的情况下参加同一 ShaD 是一个很好的选择。 许多 Yandex 专家都是通过这种方式获得了目前的职位。 如果有任何公司准备在你毕业后立即为你提供机器学习领域的工作,你也应该接受这份工作。 尝试加入一个拥有经验丰富导师的优秀团队,并准备好学习很多东西。

通常是什么阻止您进行机器学习?

如果后端人员渴望成为一名机器学习工程师,他可以从两个发展领域中进行选择 - 无需考虑驻留计划。

首先,将学习作为某些教育课程的一部分。 经验教训 Coursera 将使您更接近了解基本技术,但要充分沉浸在该专业中,您需要投入更多时间。 例如,从ShAD毕业。 多年来,ShAD 开设了不同数量的直接有关机器学习的课程 - 平均约为八门。 它们中的每一个都非常重要且有用,包括在毕业生看来。 

其次,您可以参加需要实现一种或另一种机器学习算法的实战项目。 然而,IT开发市场上这样的项目很少:大多数任务中都没有使用机器学习。 即使在积极探索机器学习相关机会的银行中,也只有少数从事数据分析。 如果您无法加入这些团队之一,您唯一的选择就是开始自己的项目(最有可能的是,您将设定自己的截止日期,这与战斗生产任务无关),或者开始竞争卡格尔。

事实上,与其他社区成员合作并在比赛中尝试自己 相对容易 - 特别是如果您通过培训和 Coursera 上提到的课程来支持您的技能。 每个竞赛都有一个截止日期 - 它将作为对您的激励,并为您在 IT 公司中使用类似的系统做好准备。 这是一个很好的方法 - 然而,它也有点脱离实际的流程。 在 Kaggle 上,您会获得经过预处理的数据,尽管并不总是完美的; 不主动考虑对产品的贡献; 最重要的是,它们不需要适合生产的解决方案。 你的算法可能会工作并且非常准确,但是你的模型和代码将像弗兰肯斯坦一样由不同部分缝合在一起 - 在生产项目中,整个结构将运行太慢,很难更新和扩展(例如,随着语言的发展,语言和语音算法总是会部分重写)。 公司感兴趣的是,所列出的工作不仅可以由您自己完成(很明显,您作为解决方案的作者也可以完成这项工作),也可以由您的任何同事完成。 讨论体育规划和工业规划之间的区别 很多,而 Kaggle 则精确地教育“运动员”——即使它做得很好,让他们获得一些经验。

我描述了两种可能的发展方向——通过教育计划进行培训和“战斗”培训,例如在 Kaggle 上进行培训。 住院医师培训计划是这两种方法的结合。 ShaAD 级别的讲座和研讨会以及真正的战斗项目等待着您。

来源: habr.com

添加评论