
Yandex为经验丰富的后端开发人员打开了一个常驻机器学习计划。 如果您已经用C ++ / Python编写了很多文章,并且想在ML中应用这些知识,那么我们将教您如何进行实践研究并选择经验丰富的策展人。 您将从事关键的Yandex服务,并获得线性模型和渐变增强,推荐系统,用于分析图像,文本和声音的神经网络等领域的技能。 您还将学习如何使用离线和在线指标正确评估模型。
该计划的期限为一年,在此期间,参与者将在机器智能和Yandex研究部工作,并参加讲座和研讨会。 参加是有偿的,并假定其完全就业:从今年7月1日开始,每周工作40个小时。
申请已经开放 ,并将持续到5月1日。
现在更详细-关于我们正在等待什么样的受众,工作流程将是什么,以及总体而言,后端专家如何转换为ML的职业。
方向性
许多公司都有居住计划,例如Google和Facebook。 他们主要针对试图迈向机器学习研究的初级和中级专家。 我们的节目面向不同的受众。 我们邀请已经获得足够经验的后端开发人员,并确定在他们的能力中,他们需要朝着ML迈进,他们需要解决机械学习的工业问题时需要实践技能而不是科学家的技能。 这并不意味着我们不支持年轻的研究人员。 我们为他们组织了一个单独的计划-Ilya Segalovich
奖 ,它也使您可以在Yandex中工作。
居民必须工作的地方
在机器智能和研究管理中,我们自己制定项目构想。 灵感的主要来源是科研领域的科学文献,文章和趋势。 我和我的同事分析了我们读到的内容,了解了如何改进或扩展科学家提出的方法。 同时,我们每个人都考虑到我们的知识和兴趣领域,并根据我们认为重要的领域提出问题。 在外部研究的结果和自身能力之间的交汇处,通常会产生一个项目的想法。
这样的系统是好的,因为它甚至可以在Yandex服务出现之前就很大程度上解决它们的技术问题。 在服务之前出现问题时,其代表会来找我们,以尽可能采用我们已经准备好的技术,这些技术只能正确地应用于产品中。 如果还没有准备好,我们将至少迅速回顾您可以在哪里“开始挖掘”,在其中寻找解决方案的文章。 如您所知,科学方法是站在巨人的肩膀上。
怎么办
在Yandex中-甚至在我们的管理层中-所有当前的ML方向都在发展中。 我们的任务是提高各种产品的质量,这是对所有新产品进行测试的动力。 此外,新服务会定期出现。 因此,在讲座计划中,涵盖了工业发展中机器学习的所有关键(成熟)领域。 在编写本课程的过程中,我利用了数据分析学院的教学经验以及其他SHAD教师的资料和发展。 我知道我的同事也这样做。
在最初的几个月中,课程计划的培训将占您工作时间的大约30%,然后是大约10%。 但是,重要的是要了解,使用ML模型本身将继续比所有相关过程花费大约四倍的时间。 其中包括准备后端,接收数据,编写用于预处理的管道,优化代码,适应特定的硬件等。如果您愿意,则ML工程师可以是一个全栈开发人员(仅在机器学习方面有很大的偏见),能够从头到尾解决问题。 即使使用现成的模型,您当然也需要执行许多操作:在多台计算机上并行执行它,以笔,库或服务本身的组件的形式准备实现。
学生选择
如果您觉得最好先作为后端开发人员来找ML工程师,那么事实并非如此。 在没有真正的服务开发经验的情况下进入同一个SHAD,学习和在市场上变得非常受欢迎是一个很好的选择。 Yandex的许多专家都以这种方式担任当前职务。 如果有任何公司准备在毕业后立即为您提供ML领域的工作,那么可能值得接受这个提议。 尝试与经验丰富的导师组成一支好的团队,并准备学习很多东西。
通常会干扰ML
如果支持者想成为ML工程师,他-无需考虑常驻程序-可以从两个发展方向中进行选择。
首先,将学习作为教育课程的一部分。 Coursera
的课程将使您更深入地了解基本技术,但是要使自己充分融入该行业,您需要花费更多时间。 例如,完成SHAD。 在不同的年份中,ShAD中直接针对机器学习的课程数量有所不同,平均大约为八门。 每个人都非常重要和有用,包括毕业生。
其次,您可以参加要求实现一个或另一个ML算法的战斗项目。 但是,在IT开发市场上,此类项目很少:大多数任务中都没有使用机器学习。 即使在积极探索与机器学习相关的机会的银行中,也很少进行数据分析。 如果您无法加入其中一个团队,则要么必须启动自己的项目(很可能在这里确定您的截止日期,而这与战斗生产任务无关),或者开始在Kaggle上竞争。
确实,与社区中的其他成员合作并在比赛中尝试自己
相对容易 -尤其是如果您通过Coursera提及的培训和课程来增强技能时,尤其如此。 每个竞赛都有最后期限-这将激励您并为IT公司中的类似系统做准备。 这是一个好方法-但是,它与实际流程也有些脱节。 在Kaggle,您可以进行预处理,尽管不一定总是完美的数据。 不要主动考虑对产品的贡献; 最重要的是,它们不需要适合生产的解决方案。 您的算法可能会被证明是可行的并且具有很高的准确性,但是您的模型和代码看起来就像是从科学怪人的不同部分缝制而成的-在战斗项目中,整个结构将运行得太慢,难以更新和扩展(例如,语言和语音算法总是部分与语言的发展相对应)。 公司对以下事实感兴趣:不仅您可以完成上述工作(很显然,您作为解决方案的作者可以做到),而且您的任何同事也可以做到。 关于体育运动与工业编程之间的区别,
已经有很多说法,而Kaggle精确地教育了“运动员”-即使他做得很好,也使他获得了一些经验。
我描述了两种可能的发展路线-通过教育计划进行培训和“在战斗中”进行培训,例如在Kaggle上。 常驻程序是这两种方法的组合。 SHAD级别的讲座和研讨会以及真正的战斗项目正在等着您。