Programa residente de Yandex ou como un backender experimentado pode converterse nun enxeñeiro de ML

Programa residente de Yandex ou como un backender experimentado pode converterse nun enxeñeiro de ML

Yandex está a abrir un programa de residencia en aprendizaxe automática para desenvolvedores de backend experimentados. Se escribiches moito en C++/Python e queres aplicar estes coñecementos ao ML, ensinarémosche como facer investigacións prácticas e proporcionar mentores experimentados. Traballarás en servizos clave de Yandex e adquirirás habilidades en áreas como modelos lineais e potenciación de gradientes, sistemas de recomendación, redes neuronais para analizar imaxes, texto e son. Tamén aprenderás a avaliar correctamente os teus modelos usando métricas fóra de liña e en liña.

A duración do programa é dun ano, durante o cal os participantes traballarán no departamento de intelixencia de máquinas e investigación de Yandex, así como asistirán a conferencias e seminarios. A participación é remunerada e implica un traballo a tempo completo: 40 horas semanais, a partir do 1 de xullo deste ano. As solicitudes xa están abertas e prolongarase ata o 1 de maio. 

E agora con máis detalle: sobre o tipo de público que estamos esperando, cal será o proceso de traballo e, en xeral, como un especialista en back-end pode cambiar a unha carreira en ML.

Foco

Moitas empresas teñen programas de residencia, incluíndo, por exemplo, Google e Facebook. Están dirixidos principalmente a especialistas de nivel junior e medio que intentan dar un paso cara á investigación de ML. O noso programa é para un público diferente. Convidamos aos desenvolvedores de backend que xa teñan experiencia suficiente e que saiban con certeza que nas súas competencias precisan cambiar cara ao ML, para adquirir habilidades prácticas, e non habilidades dun científico, para resolver problemas de aprendizaxe automática industrial. Isto non significa que non apoiemos aos investigadores novos. Organizamos un programa separado para eles - premio o nome de Ilya Segalovich, que tamén che permite traballar en Yandex.

Onde traballará o residente?

No Departamento de Intelixencia de Máquinas e Investigación, nós mesmos desenvolvemos ideas de proxectos. A principal fonte de inspiración é a literatura científica, os artigos e as tendencias da comunidade investigadora. Os meus compañeiros e eu analizamos o que lemos, mirando como podemos mellorar ou ampliar os métodos propostos polos científicos. Ao mesmo tempo, cada un de nós ten en conta a súa área de coñecemento e intereses, formula a tarefa en función das áreas que considera importantes. A idea dun proxecto adoita nacer na intersección dos resultados da investigación externa e das competencias propias.

Este sistema é bo porque resolve en gran medida os problemas tecnolóxicos dos servizos de Yandex incluso antes de que xurdan. Cando un servizo se enfronta a un problema, achéganse os seus representantes, moi probablemente para levar as tecnoloxías que xa temos preparadas, que só resta que se apliquen correctamente no produto. Se algo non está preparado, polo menos lembraremos rapidamente onde podemos "comezar a cavar" e en que artigos buscar unha solución. Como sabemos, o enfoque científico é estar sobre os ombreiros dos xigantes.

Que facer

En Yandex, e incluso especialmente na nosa xestión, están a desenvolverse todas as áreas relevantes de ML. O noso obxectivo é mellorar a calidade dunha gran variedade de produtos, e isto serve como incentivo para probar todo o novo. Ademais, aparecen novos servizos regularmente. Polo tanto, o programa de conferencias contén todas as áreas clave (ben comprobadas) da aprendizaxe automática no desenvolvemento industrial. Á hora de recompilar a miña parte do curso, usei a miña experiencia docente na Escola de Análise de Datos, así como os materiais e o traballo doutros profesores de SHAD. Sei que os meus compañeiros fixeron o mesmo.

Nos primeiros meses, a formación segundo o programa do curso representará aproximadamente o 30% do seu tempo de traballo, despois preto do 10%. Non obstante, é importante entender que traballar cos propios modelos de ML seguirá levando aproximadamente catro veces menos que todos os procesos asociados. Estes inclúen preparar o backend, recibir datos, escribir un pipeline para preprocesalos, optimizar o código, adaptarse a hardware específico, etc. Un enxeñeiro de ML é, se o desexa, un programador full-stack (só con maior énfase na aprendizaxe automática) , capaz de resolver un problema de principio a fin. Mesmo cun modelo prefabricado, probablemente teña que facer unha serie de accións máis: paralelizar a súa execución en varias máquinas, preparar unha implementación en forma de identificador, biblioteca ou compoñentes do propio servizo.

Elección do alumno
Se tiñas a impresión de que é mellor converterte nun enxeñeiro de ML traballando primeiro como desenvolvedor backend, isto non é certo. Inscribirse no mesmo ShAD sen experiencia real no desenvolvemento de servizos, aprender e ter unha gran demanda no mercado é unha excelente opción. Moitos especialistas de Yandex acabaron nos seus postos actuais deste xeito. Se algunha empresa está lista para ofrecerche un traballo no campo do ML inmediatamente despois da graduación, probablemente tamén deberías aceptar a oferta. Intenta entrar nun bo equipo cun mentor experimentado e prepárate para aprender moito.

Que é o que normalmente che impide facer ML?

Se un backender aspira a converterse en enxeñeiro de ML, pode escoller entre dúas áreas de desenvolvemento, sen ter en conta o programa de residencia.

En primeiro lugar, estudar como parte dun curso educativo. Leccións Coursera achegarache á comprensión das técnicas básicas, pero para mergullarte na profesión en medida suficiente, cómpre dedicarlle moito máis tempo. Por exemplo, graduarse na ShaAD. Ao longo dos anos, ShAD tivo un número diferente de cursos directamente sobre a aprendizaxe automática: de media, uns oito. Cada un deles é realmente importante e útil, incluso na opinión dos titulados. 

En segundo lugar, podes participar en proxectos de combate nos que necesites implementar un ou outro algoritmo de ML. Non obstante, hai moi poucos proxectos deste tipo no mercado de desenvolvemento de TI: a aprendizaxe automática non se utiliza na maioría das tarefas. Mesmo nos bancos que están explorando activamente oportunidades relacionadas co ML, só uns poucos se dedican á análise de datos. Se non puideches unirte a un destes equipos, a túa única opción é iniciar o teu propio proxecto (onde, moi probablemente, establecerás os teus propios prazos, e iso ten pouco que ver coas tarefas de produción de combate), ou comezar a competir Kaggle.

De feito, fai equipo con outros membros da comunidade e proba a ti mesmo en competicións relativamente fácil - especialmente se respaldas as túas habilidades con formación e os cursos mencionados en Coursera. Cada concurso ten unha data límite: servirache de incentivo e prepararáche para un sistema similar nas empresas de TI. Esta é unha boa forma, que, con todo, tamén está un pouco separada dos procesos reais. En Kaggle danche datos preprocesados, aínda que non sempre perfectos; non se ofreza a pensar na contribución ao produto; e o máis importante, non requiren solucións adecuadas para a produción. Os teus algoritmos probablemente funcionarán e serán moi precisos, pero os teus modelos e código serán como Frankenstein unidos a partir de diferentes partes: nun proxecto de produción, toda a estrutura funcionará demasiado lentamente, será difícil de actualizar e expandir (por exemplo, os algoritmos de linguaxe e voz serán sempre reescritos parcialmente a medida que se desenvolva a linguaxe). As empresas están interesadas en que os traballos enumerados poidan ser realizados non só por vostede mesmo (está claro que vostede, como autor da solución, pode facelo), senón tamén por calquera dos seus compañeiros. Coméntase a diferenza entre a programación deportiva e a industrial много, e Kaggle educa precisamente aos "atletas", aínda que o faga moi ben, o que lles permite adquirir algo de experiencia.

Describín dúas posibles liñas de desenvolvemento: adestramento a través de programas educativos e adestramento "en combate", por exemplo en Kaggle. O programa de residencia é unha combinación destes dous métodos. Agardan por ti charlas e seminarios a nivel ShAD, así como proxectos verdadeiramente combativos.

Fonte: www.habr.com

Engadir un comentario