Programa para residentes de Yandex o cómo un backender experimentado puede convertirse en ingeniero de aprendizaje automático

Programa para residentes de Yandex o cómo un backender experimentado puede convertirse en ingeniero de aprendizaje automático

Yandex está abriendo un programa de residencia en aprendizaje automático para desarrolladores backend experimentados. Si ha escrito mucho en C++/Python y desea aplicar este conocimiento al ML, le enseñaremos cómo realizar investigaciones prácticas y le proporcionaremos mentores experimentados. Trabajará en servicios clave de Yandex y adquirirá habilidades en áreas como modelos lineales y aumento de gradiente, sistemas de recomendación y redes neuronales para analizar imágenes, texto y sonido. También aprenderá cómo evaluar adecuadamente sus modelos utilizando métricas en línea y fuera de línea.

La duración del programa es de un año, durante el cual los participantes trabajarán en el departamento de investigación y inteligencia artificial de Yandex, además de asistir a conferencias y seminarios. La participación es remunerada e implica trabajo a tiempo completo: 40 horas semanales, a partir del 1 de julio de este año. Las solicitudes ya están abiertas y durará hasta el 1 de mayo. 

Y ahora con más detalle: qué tipo de audiencia estamos esperando, cuál será el proceso de trabajo y, en general, cómo un especialista de back-end puede pasar a una carrera en ML.

Directividad

Muchas empresas cuentan con Programas de Residencia, incluidos, por ejemplo, Google y Facebook. Están dirigidos principalmente a especialistas de nivel junior y medio que intentan dar un paso hacia la investigación del ML. Nuestro programa es para un público diferente. Invitamos a los desarrolladores de backend que ya hayan adquirido suficiente experiencia y sepan con certeza que en sus competencias necesitan cambiar hacia el ML, para adquirir habilidades prácticas, y no las habilidades de un científico, para resolver problemas de aprendizaje automático industrial. Esto no significa que no apoyemos a los jóvenes investigadores. Hemos organizado un programa separado para ellos: el premio que lleva el nombre de Ilya Segalovich, que también te permite trabajar en Yandex.

¿Dónde trabajará el residente?

En el Departamento de Inteligencia e Investigación de Máquinas, nosotros mismos desarrollamos ideas de proyectos. La principal fuente de inspiración es la literatura científica, los artículos y las tendencias de la comunidad investigadora. Mis colegas y yo analizamos lo que leemos y observamos cómo podemos mejorar o ampliar los métodos propuestos por los científicos. Al mismo tiempo, cada uno de nosotros tiene en cuenta su área de conocimiento e intereses, formula la tarea en base a las áreas que considera importantes. La idea de un proyecto suele nacer de la intersección de los resultados de investigaciones externas y las propias competencias.

Este sistema es bueno porque resuelve en gran medida los problemas tecnológicos de los servicios de Yandex incluso antes de que surjan. Cuando un servicio se enfrenta a un problema, sus representantes acuden a nosotros, probablemente tomando las tecnologías que ya hemos preparado, y lo único que queda es aplicarlas correctamente en el producto. Si algo no está listo, al menos recordaremos rápidamente dónde podemos “empezar a investigar” y en qué artículos buscar una solución. Como sabemos, el enfoque científico es subirse a hombros de gigantes.

Qué hacer

En Yandex, e incluso específicamente en nuestra dirección, se están desarrollando todas las áreas relevantes del ML. Nuestro objetivo es mejorar la calidad de una amplia variedad de productos, y esto sirve como incentivo para probar todo lo nuevo. Además, periódicamente aparecen nuevos servicios. Por tanto, el programa de conferencias contiene todas las áreas clave (bien probadas) del aprendizaje automático en el desarrollo industrial. Al compilar mi parte del curso, utilicé mi experiencia docente en la Escuela de Análisis de Datos, así como los materiales y el trabajo de otros profesores de SHAD. Sé que mis colegas hicieron lo mismo.

En los primeros meses, la formación según el programa del curso representará aproximadamente el 30% de su tiempo de trabajo y luego aproximadamente el 10%. Sin embargo, es importante comprender que trabajar con los propios modelos de ML seguirá requiriendo aproximadamente cuatro veces menos que todos los procesos asociados. Estos incluyen preparar el backend, recibir datos, escribir una canalización para preprocesarlos, optimizar el código, adaptarlo a hardware específico, etc. Un ingeniero de ML es, si se quiere, un desarrollador full-stack (solo que con un mayor énfasis en el aprendizaje automático). , capaz de resolver un problema de principio a fin. Incluso con un modelo listo para usar, probablemente necesitará realizar una serie de acciones más: paralelizar su ejecución en varias máquinas, preparar una implementación en forma de un identificador, una biblioteca o componentes del servicio en sí.

elección del estudiante
Si tenía la impresión de que es mejor convertirse en ingeniero de ML trabajando primero como desarrollador backend, esto no es cierto. Inscribirse en el mismo ShAD sin experiencia real en el desarrollo de servicios, aprender y tener una gran demanda en el mercado es una excelente opción. Muchos especialistas de Yandex terminaron de esta manera en sus puestos actuales. Si alguna empresa está dispuesta a ofrecerle un trabajo en el campo del aprendizaje automático inmediatamente después de graduarse, probablemente usted también debería aceptar la oferta. Intenta formar parte de un buen equipo con un mentor experimentado y prepárate para aprender mucho.

¿Qué suele impedirle realizar ML?

Si un backender aspira a convertirse en ingeniero de ML, puede elegir entre dos áreas de desarrollo, sin tener en cuenta el programa de residencia.

En primer lugar, estudiar como parte de algún curso educativo. Lecciones Coursera te acercará a la comprensión de las técnicas básicas, pero para sumergirte lo suficiente en la profesión, debes dedicarle mucho más tiempo. Por ejemplo, graduarse de ShAD. A lo largo de los años, ShAD ha impartido un número diferente de cursos directamente sobre aprendizaje automático: una media de unos ocho. Cada uno de ellos es realmente importante y útil, incluso en opinión de los graduados. 

En segundo lugar, puedes participar en proyectos de combate en los que necesites implementar uno u otro algoritmo de ML. Sin embargo, hay muy pocos proyectos de este tipo en el mercado de desarrollo de TI: el aprendizaje automático no se utiliza en la mayoría de las tareas. Incluso en los bancos que exploran activamente oportunidades relacionadas con el LD, sólo unos pocos se dedican al análisis de datos. Si no pudiste unirte a uno de estos equipos, tu única opción es comenzar tu propio proyecto (donde, muy probablemente, establecerás tus propios plazos, y esto tiene poco que ver con las tareas de producción de combate), o comenzar a competir en Kaggle.

De hecho, forma equipo con otros miembros de la comunidad y ponte a prueba en competiciones. relativamente fácil - especialmente si respaldas tus habilidades con capacitación y los cursos mencionados en Coursera. Cada concurso tiene una fecha límite: le servirá como incentivo y lo preparará para un sistema similar en las empresas de TI. Se trata de un buen método, que, sin embargo, también está un poco alejado de los procesos reales. En Kaggle se le proporcionan datos preprocesados, aunque no siempre perfectos; no se ofrezca a pensar en la contribución al producto; y lo más importante, no requieren soluciones aptas para la producción. Sus algoritmos probablemente funcionarán y serán muy precisos, pero sus modelos y código serán como Frankenstein cosidos a partir de diferentes partes: en un proyecto de producción, toda la estructura funcionará demasiado lentamente, será difícil actualizarla y expandirla (por ejemplo, Los algoritmos de lenguaje y voz siempre se reescribirán parcialmente a medida que se desarrolle el lenguaje). A las empresas les interesa que el trabajo enumerado lo pueda realizar no solo usted mismo (está claro que usted, como autor de la solución, puede hacerlo), sino también cualquiera de sus colegas. Se analiza la diferencia entre programación deportiva e industrial. много, y Kaggle educa precisamente a "atletas", aunque lo hace muy bien, permitiéndoles adquirir algo de experiencia.

Describí dos posibles líneas de desarrollo: entrenamiento a través de programas educativos y entrenamiento "en combate", por ejemplo en Kaggle. El programa de residencia es una combinación de estos dos métodos. Le esperan conferencias y seminarios a nivel ShAD, así como proyectos verdaderamente combativos.

Fuente: habr.com

Añadir un comentario