¿Cómo son las secciones de aprendizaje automático en las entrevistas de Yandex?

Cada servicio de Yandex se basa en gran medida en análisis de datos y métodos de aprendizaje automático. Son necesarios para clasificar los resultados de búsqueda web, y para buscar imágenes, y para la formación de bloques de recomendación. El aprendizaje automático nos permite crear vehículos no tripulados y asistentes de voz, reducir el tiempo de inactividad inútil para los taxistas y reducir los tiempos de espera para sus clientes. Todas las aplicaciones y no lista!


Por lo tanto, siempre sentimos la necesidad de especialistas en análisis de datos y aprendizaje automático. Para ellos, una de las etapas más importantes de una entrevista en Yandex es la sección general sobre aprendizaje automático, que analizaré en este artículo. Un ejemplo de la tarea modelo para esta sección y el posible contenido de la respuesta que obtuve en un video que recientemente estuvo disponible en YouTube . En este artículo, hablaré más sobre lo que esperamos de un candidato fuerte en dicha sección y por qué formulamos precisamente tales criterios.


imagen


1. Entrevistas de Yandex Machine Learning


Los empleados senior y líderes de Yandex pueden transformar de forma independiente las tareas formuladas en términos comerciales en tareas de aprendizaje automático correctamente planteadas; elegir los métodos de solución apropiados, formar descripciones características, construir el proceso de actualización de los modelos y el control correcto de su calidad; finalmente, verifique que las soluciones resultantes cumplan con los requisitos comerciales originales.


En gran medida, estas personas influyen // en la formación de // requisitos comerciales: las personas que trabajan directamente con datos pueden saber mejor en el mundo qué características de los servicios afectan su popularidad y utilidad, qué problemas de los usuarios deben resolverse y en qué indicadores Afectará.


Como regla general, nuestros mejores empleados también tienen conocimiento experto en áreas específicas, por ejemplo, visión por computadora, construcción de modelos de lenguaje o modelos para servicios de asesoramiento o búsqueda.


Realmente apreciamos a nuestros empleados y su experiencia y queremos que los candidatos externos también cumplan con este nivel. Para probar esto, una o más secciones pueden estar dedicadas a temas especiales, como visión por computadora o métodos de entrenamiento de clasificación. Una de las secciones es obligatoria dedicada a temas "generales": enunciado del problema, la formación de la función objetivo y la muestra de capacitación, la aceptación de modelos. Se trata de ella ahora y se discutirá.


Por supuesto, la gama completa de requisitos se aplica solo a aquellos candidatos que solicitan los puestos de especialistas senior o líderes. Los candidatos que dependen de puestos intermedios o junior no necesitan poder hacer todo lo anterior, pero deben saber que las habilidades relevantes son extremadamente útiles para el crecimiento profesional, tanto en Yandex como en otras compañías.


Dependiendo de los requisitos de la unidad, también se puede requerir una sección de algoritmo con código de escritura o incluso una sección arquitectónica.


2. Declaración del problema.


Por lo tanto, la tarea principal de la sección es verificar cuánto puede el candidato manejar independientemente la tarea en su totalidad, comenzando por su formulación y terminando con preguntas de aceptación en los experimentos de los usuarios.


La sección comienza con la declaración del problema en términos comerciales. Supongamos que puede necesitar crear un servicio que solicite a los establecimientos cercanos, recomiende ciertos productos o clasifique películas o música que sean de interés para los usuarios.


Puede comenzar identificando posibles aplicaciones para la tarea en cuestión. ¿Cuántos usuarios tendrá la solución resultante, quiénes son, por qué necesitan esta funcionalidad, cómo se enteran? El candidato puede hacer todas estas preguntas, o puede ofrecer su propia visión de las respuestas (la última opción, por supuesto, es preferible).


En función de las causas de la tarea, se formulan métricas comerciales y, a continuación, las métricas son adecuadas para la optimización en el proceso de aprendizaje o la selección del modelo. Un indicador de una clase extremadamente alta de un candidato es si la elección de las métricas para la optimización está dictada por el significado físico del problema que se está resolviendo. El ejemplo más simple de este tipo es el uso de métricas similares a DCG para clasificar tareas o métricas similares a AUC para algunos problemas de clasificación específicos.


Aquí también es necesario abordar el tema de formar una muestra de capacitación. ¿Qué datos se necesitan para su formación, cómo obtenerlos? ¿Qué es un evento para nuestro entrenamiento? ¿Se requiere muestreo? Si es así, ¿cómo hacerlo?


3. Métodos de aprendizaje automático.


Una vez que la tarea está completamente formulada, puede comenzar a discutir métodos para resolverla.


Aquí debe elegir un modelo que construya la solución y justifique su elección. Vale la pena hablar sobre qué pérdida funcional se optimiza en el proceso de construcción del modelo y por qué es una buena opción para optimizar las métricas que se discutieron en el párrafo anterior. También es útil considerar el método de optimización utilizado.


El siguiente elemento a tratar es el espacio de características. Un especialista de clase puede encontrar de inmediato varias decenas o incluso cientos de signos en una nueva tarea, habiéndolos dividido previamente en varias clases según los tipos de datos utilizados (por ejemplo, los signos pueden depender solo del usuario, o pueden depender del par "usuario - objeto").


Una ventaja adicional es la consideración del problema de arranque en frío. Cuando el servicio Yandex.Taxi ya se ha creado, podemos usar información sobre viajes reales para optimizar los métodos de enrutamiento en la ciudad; cuando ya existe un motor de búsqueda Yandex, puede utilizar las acciones del usuario para recibir señales sobre qué documentos son relevantes para sus consultas. Pero, ¿qué sucede si el servicio aún no se ha creado y el problema que se resuelve es crítico para su funcionamiento? Necesitamos ofrecer alguna forma de construir una solución razonablemente buena en este caso.


4. Control de calidad.


Finalmente, cuando la solución esté lista, debe asegurarse de que sea lo suficientemente buena. Si la decisión anterior fue precedida por alguna anterior, es necesario entender si la nueva solución es mejor.


En este punto, el candidato necesita demostrar su habilidad para formular experimentos para probar hipótesis relevantes. Aquí debe elegir un modelo de experimento y una forma de probar la significación estadística de los cambios. Digamos que puede ser un experimento A / B regular con usuarios del servicio, o puede ser una evaluación experta de los resultados del trabajo. ¿Qué indicadores deben ser monitoreados? ¿Qué se debe monitorear y cómo garantizar la exactitud del experimento?


5. Cómo tener éxito en la sección


El nivel del candidato está completamente determinado por cuán independiente y profundamente logró establecer la solución de la tarea. Una sección de aprendizaje automático bien conducida es indistinguible de una sección conocida por nuestros colegas occidentales como ML System Design, y una sección débil puede parecer una discusión de un tema especial, por ejemplo, la optimización de LLH mediante reglas de división lineal.


Al mismo tiempo, entendemos bien que en los problemas de aprendizaje automático a menudo no está claro qué método funcionará y si al menos algunos funcionarán. Por lo tanto, siéntase libre de discutir el problema con el interlocutor como si fuera su colega con quien decidió discutir posibles soluciones al problema que surgió en el curso ordinario del trabajo. No exigimos que se garantice que la solución descrita en la sección sea buena; solo queremos que tenga una justificación razonable que nos permita creer que usted enfrentará dicha tarea en condiciones reales.


Por ejemplo, no requerimos un conocimiento profundo de varios criterios estadísticos, pero esperamos que reconozca la importancia de probar correctamente las hipótesis y esté calificado para usar estos métodos si es necesario. Del mismo modo, esta sección no requiere una descripción detallada del funcionamiento de los métodos de aprendizaje automático, pero esperamos que pueda elegir razonablemente ciertos modelos para sus tareas.


Al mismo tiempo, eres libre de profundizar en las áreas que conoces. Dedique más tiempo a su respuesta y menos hablar sobre dónde su conocimiento no es tan profundo. Entendemos que es imposible ser un especialista en todas las áreas y al mismo tiempo valoramos la honestidad intelectual. Si un candidato comprende bien sus fortalezas y debilidades y puede hablar abiertamente sobre esto, esta es una muy buena señal. Además, esto le permite pasar eficazmente el tiempo de la sección: se gastará más en identificar las fortalezas del candidato.




Finalmente, daré algunas fuentes, que serán útiles para estudiar tanto para trabajar con más éxito en proyectos relacionados con el aprendizaje automático, como para prepararme para la sección de aprendizaje automático.



Bueno, nuestro video de YouTube:


Source: https://habr.com/ru/post/475584/


All Articles