Cómo no unirse a las filas de aspirantes a especialistas si usted es un científico de datos


La comunidad de Habra realizó otra entrevista en nuestro proyecto educativo: transmisiones en vivo con chicos de TI que responden sus preguntas en un formato de comunicación en vivo.

Nuestro proyecto es un intento de crear un conjunto completo de guías y recomendaciones para la vida de un desarrollador exitoso: cómo construir una carrera, obtener una oferta soñada, atraer inversiones en nuevas empresas, no salir en proyectos aburridos, crecer en su negocio y comprar una casa junto al mar en su camino.

Al comienzo de la semana, Boris Yangel, ingeniero de Yandex ML que participó en la creación del cerebro de Alice y ahora fabrica vehículos no tripulados, respondió a nuestras preguntas. 

Borya habló sobre cómo convertirse en un genial científico de datos, cómo el paracaidismo lo ayuda en su trabajo, por qué las conferencias de ML son inútiles y respondió una publicación reciente . padre enojado por cómo Alice le recomendó un video de historias de asesinatos a un niño.



Mi nombre es Boris Yangel, trabajo en Yandex. Soy un ingeniero de ML de profesión, y recientemente he estado gestionando proyectos de ML. En este momento estoy trabajando en el proyecto de vehículo no tripulado Yandex, desarrollando una parte de la pila de ML. Anteriormente, estaba comprometido con Alice, era responsable del desarrollo del módulo, que condicionalmente se puede llamar sus "cerebros": este módulo, después de reconocer el discurso, determina lo que el usuario quería decir y decide la respuesta. Antes de eso, trabajé en el grupo de tecnología de redes neuronales Yandex, y antes de eso, en Microsoft Research, en el grupo Chris Bishop, en el proyecto Infer.net, esta es una biblioteca de salida bayesiana. Incluso antes, estaba en Yandex responsable de clasificar la búsqueda en imágenes.

, ? , machine learning ?


La pregunta es un poco extraña. Reformularé: ¿cuáles son las habilidades técnicas mínimas requeridas (dependiendo de lo que quieras hacer), puede una persona con una educación liberal recibirlas?

Si "iniciar sesión" es, digamos, entrenar una red neuronal no solo para distinguir a los perros de los gatos, sino para hacer lo que usted personalmente necesita, entonces hay una forma accesible para muchas personas. Hay una gran cantidad de código en Internet para resolver problemas comunes, y ahora puede tomar ese código fácil y rápidamente, introducir sus datos y obtener el resultado. Esto es lo más simple que se puede hacer, las habilidades para esto requieren un mínimo, incluida la programación.

Solo necesita la capacidad de comprender el código terminado y editarlo. Si el código está bien estructurado, es fácil.

Si "inicia sesión", significa hacer una red neuronal usted mismo para resolver una tarea un poco menos trivial, la tarea se vuelve más complicada, se necesitan más habilidades.

Para recopilar redes neuronales usted mismo, debe tener al menos un poco de comprensión de las matemáticas, conocer los conceptos básicos de álgebra lineal, comprender qué son las matrices, los vectores, los tensores, qué puede hacer con ellos, qué es derivado y descenso de gradiente. No puedo decir que solo un experto lo resolverá, pero debe tener conocimiento, incluso de qué partes están hechas las redes neuronales y cómo es habitual acoplarlas para obtener el resultado.

Ahora hay marcos bastante fáciles de usar para conectar elementos de redes neuronales, por ejemplo, TensorFlow con el complemento Keras (es muy simple, necesita un mínimo conocimiento de Python). Pero Keras puede no ser suficiente para operaciones no triviales, y luego tendrá que trabajar con TensorFlow "desnudo"; esto requiere más habilidades, especialmente para crear sus propias operaciones dentro de TensorFlow. Cuanto más lejos quieras ir, más habilidades necesitarás. Además, los problemas comienzan exactamente cuando algo sale mal: para descubrir por qué el sistema no funciona de la manera que necesita, necesita un nivel relativamente mayor de habilidades: debe ser plenamente consciente de lo que está sucediendo "bajo la capucha. "

¿Qué tipo de libros sobre ciencia de datos y aprendizaje automático en Python necesita un principiante? ¿Cómo practicar este conocimiento?


No estoy seguro de poder responder correctamente esta pregunta. Cuando era un principiante, había muchos menos libros buenos que ahora, y encontrar la información correcta en una forma conveniente era más difícil.

Ahora hay muchos libros sobre aprendizaje profundo, por ejemplo, el libro de Goodfellow : hay la mayoría de los conceptos básicos que necesita saber sobre las redes neuronales y las matemáticas necesarias. Hay libros con un enfoque práctico: no solo proporcionan familiaridad con los métodos matemáticos, sino que también le dicen de inmediato cómo hacer algo específico en Python.

Hay un libro del autor de Keras, Francois Scholl, sobre el aprendizaje profundo con Keras. Hay muchos libros, aunque no puedo decir cuáles son mejores. Me parece que puedes tomar libros con seguridad sobre autores famosos.

Si la tarea es formar la columna vertebral del conocimiento, entonces se requerirán libros más fundamentales, por ejemplo, el Reconocimiento de patrones y el aprendizaje automático de Chris Bishop , recomiendo leerlo y hacer ejercicios a partir de él. No es necesario leerlo en su totalidad, pero los capítulos principales, por ejemplo, sobre la teoría de la probabilidad, ayudarán a comprender cómo todo el aprendizaje automático forma un marco único.

Además, es importante aprender a pensar en modelos . No solo usamos ciertos métodos para obtener el resultado, sino que modelamos los datos. Necesitamos adoptar esta forma de pensar; por ejemplo, el libro en línea de Chris Bishop, Model-Based Machine Learning , ayudará en esto .parcialmente libre Cada capítulo de este libro es un ejemplo de una tarea para la cual necesita construir un modelo, y en el curso del capítulo, intenta consistentemente hacer esto, complicando gradualmente el modelo, hasta obtener el resultado. Esto ayuda a adoptar la forma de pensar necesaria para la ciencia de datos.

En cuanto a la práctica, ya he hablado sobre lo importante que es saber lo que está sucediendo "bajo el capó". Para hacer esto, es mejor tratar de recolectar algo usted mismo. Escriba un descenso de gradiente usted mismo en lugar de usar un marco ya preparado, o escriba una capa y agréguela al marco. Trate de llegar a una tarea relativamente no trivial con una estructura interesante; resuélvelo en el curso de determinar qué conocimiento e información te falta. Complicar constantemente la solución para mejorar la calidad. Que sea una tarea de este tipo, cuyo resultado será de su interés personal.

Ahora hay un rápido desarrollo de TensorFlow JS. Estoy aprendiendo machine learning y quiero usar esta biblioteca. ¿Cuáles son las perspectivas para la interfaz?


TensorFlow JS en la interfaz se puede utilizar como punto de entrada al aprendizaje automático, aunque no entiendo bien por qué. Si esto se debe a que solo conoce JavaScript, esta es la motivación incorrecta; Python es muy fácil de aprender.

TensorFlow JS tiene su propio campo de aplicación: este es el aprendizaje automático, en el que la inferencia funciona directamente en el navegador, lo que le permite crear herramientas interactivas de aprendizaje profundo. Le permite proporcionar a una persona una herramienta interactiva en la que puede trabajar con algoritmos y modelos, hacer visualizaciones y, por lo tanto, mejorar su comprensión del tema. Probablemente hay otras áreas prometedoras de aprendizaje profundo en las que necesita interactividad, por ejemplo, herramientas para la creatividad, donde puede trabajar con imágenes en tiempo real o sintetizar música.

¿Cómo convertirse en un especialista genial en cualquier campo de la inteligencia artificial (por ejemplo, PNL), lo más rápido posible?


En cuanto a la segunda parte, la velocidad siempre depende de la base de conocimiento existente.

En cuanto a la primera parte, me parece que la pregunta se plantea incorrectamente aquí. PNL solía tener muchas técnicas diferentes, necesitabas saber mucho para resolver problemas, pero luego llegaron especialistas en aprendizaje profundo. Se les ocurrió BERT con mejoras incrementales, y ahora para resolver tareas de PNL no necesita saber nada excepto BERT. Al mismo tiempo, para comprender BERT, no es necesario que comprenda PNL: necesita saber cómo se aplican los modelos a los símbolos de símbolos. Debe convertirse en un especialista en aprendizaje automático, y luego estará disponible, con poco esfuerzo, en sus diversas áreas de aplicación.

¿Cómo convertirse en un genial especialista en aprendizaje automático?


En primer lugar, debe construir en su cabeza un buen marco conceptual de lo que está sucediendo en el aprendizaje automático. Mientras lo perciba como un conjunto de hechos, algoritmos y heurísticas dispares, no irá muy lejos.

Hablando en términos generales, uno debe entender lo siguiente: todo lo que hacemos es buscar funciones de algún conjunto de los mejores en cierto sentido. Debe comprender cuáles son los significados en los que la función es la mejor, entre qué conjuntos puede buscar qué funciones, por qué preferimos uno u otro conjunto, por qué es más efectivo buscar en algunos que en otros, qué trucos existen para buscar en diferentes conjuntos. Debe comprender que estas funciones son modelos de datos (al menos los que nos interesan).

Los modelos de datos se crean utilizando técnicas estándar de un conjunto pequeño, que es aproximadamente lo mismo para el aprendizaje profundo y la programación probabilística; debe comprender cómo se combinan estas técnicas y en qué casos. Luego descubrirá que comprende cómo se resuelven las tareas en diferentes áreas temáticas.

Supongamos que hay filtros de Kalman, que modelan la dinámica de los sistemas en el tiempo y hay libros sobre ellos que se pueden leer. Si el filtro de Kalman no le conviene, no podrá modificarlo para hacer algo similar para su tarea, pero "no es un filtro de Kalman".

Pero si comprende que este es solo un modelo probabilístico basado en ciertos principios bastante simples (donde sea que algo sea desconocido, agregue una distribución normal y todo lo que se modela directamente es dinámica lineal), entonces puede construir algo lo que necesita sin siquiera saber acerca de los filtros Kalman.

Si logra esta forma de pensar, encontrará que la mayoría de los artículos, incluso de las principales conferencias, no son interesantes. Por lo general, las mejoras incrementales se describen allí utilizando técnicas estándar que usted mismo puede aplicar, y esto será obvio para usted, y sin la posibilidad de escalar más allá de los límites del conjunto de datos utilizado. En cualquier caso, no se perderá buenos artículos en los que se presentan técnicas verdaderamente nuevas: todos hablarán sobre ellas y usted aprenderá rápidamente sobre ellas. Resulta que hay pocos artículos realmente necesarios.

Cuéntanos sobre la pila con la que estás trabajando. ¿Qué bibliotecas y marcos debería estudiar un especialista novato en aprendizaje automático?


Trabajo principalmente con TensorFlow y Keras. PyTorch sigue ganando popularidad: sus colegas lo elogian.

Cuando aparece Keras, es decir, esas abstracciones de alto nivel que se encuentran en él se pueden usar, y no hay necesidad de profundizar: es mejor usar Keras, ahorra tiempo. Por supuesto, debe comprender cómo funciona Keras y cómo ir más allá si es necesario.

Si falta algo en el propio Keras, siempre puede agregar una pieza a TensorFlow; la arquitectura lo permite.

¿Cómo se crea el piloto automático Yandex por etapas? ¿Qué tipo de especialistas se contratan para esto? ¿Cómo se construye el flujo de trabajo de ciencia de datos / aprendizaje automático?


Primero, describiré brevemente cómo funciona la pila "no tripulada". Para obtener más detalles, consulte el informe en video de Anton Slesarev, es fácil de encontrar. La pila tiene muchos componentes. La percepción es una visión de lo que está sucediendo alrededor de la máquina en este momento. 

La localización es una comprensión de dónde se encuentra el automóvil, utilizando información de sensores y mapas preconstruidos.

La predicción es una predicción de lo que sucederá en los próximos segundos (es decir, cómo se comportarán otros participantes en el movimiento) con la ayuda del conocimiento sobre cómo se construye el mundo ahora y cómo se construyó en el pasado; Solo estoy trabajando en esta parte.

Planificación- lo que viene después de la percepción y la predicción: debe elegir una secuencia segura de acciones que conduzcan a la solución del problema. 

Control : convertir esta secuencia en instrucciones para el automóvil (volante, freno de gas).

En muchos elementos de esta pila, ahora se necesita ML o no se utiliza en soluciones de vanguardia. Hay mucho trabajo de ingeniería de ML: es necesario hacer que esto funcione, y que funcione rápidamente, porque la latencia en tales sistemas es muy crítica. Necesitamos aprender cómo entrenar modelos, comprender qué métricas nos permiten entender qué mejoró, cuáles no nos permiten, entender cómo recopilar datos de manera más eficiente. Además, hay un gran componente del trabajo de infraestructura, a menudo subestimado. Se necesita una infraestructura muy poderosa para desarrollar todos estos componentes juntos.

Los UAV recopilan una gran cantidad de datos sobre todo lo que les sucede; debe poder trabajar rápidamente con estos datos, responder preguntas como "qué pasaría en la situación X si hubiera un cambio en Y en el código". Esto requiere soluciones de ingeniería no triviales y buenos ingenieros.

El flujo de trabajo de ciencia de datos / aprendizaje automático es, como en otros lugares, en mi opinión. Cualquier equipo debe tener una métrica que deba optimizarse en este momento.

Para la mayoría de las personas, pasa un día típico en busca de qué hacer para mejorar esta métrica. Y esta métrica debe estar alineada con su objetivo; por supuesto, es difícil encontrarla de inmediato, la métrica evolucionará gradualmente.

Digamos que haces un clasificador peatonal. Encontramos peatones alrededor, usando precisión promedio, digamos. Optimiza la métrica y descubre que parece crecer a partir de sus cambios, pero en realidad empeora. Entiendes que la métrica es mala. Llegue a la conclusión de que no es necesario buscar a todos los peatones: aquellos que están muy adelante, o detrás de 50 metros, no nos afectan de ninguna manera. Necesitamos aclarar la métrica. Vas solo a los peatones que están cerca. Entonces entiendes que esto también es malo: solo te interesan los que están por delante.

Así es como tiene lugar la evolución de la métrica. En cada momento, se fija una determinada métrica y la mejora. Esto lo libera de la carga cognitiva: solo piensa en cómo mejorar un número, y parte del equipo trabaja constantemente en la elección óptima del número que debe mejorarse.

Estoy inmerso en el tema de la "IA fuerte". Tengo dos preguntas: ¿por qué no podemos aprender IA de la forma en que enseñamos a nuestros hijos, y qué área de uso creará una IA fuerte, si es que lo hace?


Entiendo la primera pregunta de la siguiente manera: es como si a los niños se les enseñara de lo simple a lo complejo. Inicialmente, viven en un modelo simplificado del mundo, donde está Santa Claus, pero gradualmente su mundo se vuelve más complicado y los niños aprenden a resolver problemas más complejos. Parece lógico que la IA se enseñe de acuerdo con un principio similar: incluso existe una propuesta de Thomas Miklov (ahora está en Facebook AI Research) para construir un esquema de entrenamiento para una IA fuerte.

Además, en el aprendizaje automático, hay un campo de aprendizaje curricular, es decir, capacitación modelo en un principio "de simple a complejo". El problema es que ahora todo funciona dentro de la misma tarea. La misma tarea de encontrar perros: al principio, se enseña a la red a distinguir a los perros de los gatos en imágenes en las que no se parecen en absoluto, y luego toman más y más similares. Este es un método iterativo-traduccional: se supone que la red construirá conceptos simples y luego, sobre la base de ellos, otros más complejos. No funciona cuando se trata de diferentes conceptos.

Si comienzas a enseñarle algo al sistema, habiéndolo enseñado previamente a otro, olvida esos conceptos que fueron recordados previamente. Este es un problema de olvido catastrófico; nadie lo ha resuelto todavía. El descenso de gradiente cambia todos los pesos a la vez, y esto destruye los viejos conceptos. Necesitamos descubrir cómo construir nuevos conceptos sin destruir los viejos.

Los campos de investigación del aprendizaje de una sola vez y el aprendizaje de una sola vez están asociados con esto: aprender conceptos para una tarea y usarlos para resolver otro problema con un pequeño número de ejemplos. No ha habido avances fundamentales en esta área, pero deben hacerse para tener una idea de una IA fuerte.

No veo ninguna razón para que una IA fuerte no aparezca en el futuro. En nuestra visión moderna, el cerebro humano es una máquina que realiza cálculos, aunque de acuerdo con otros principios.

No existen obstáculos fundamentales para crear una IA fuerte, pero no puedo dar una estimación de cuánto tiempo queda hasta este momento; no se sabe qué otros pasos se requerirán para esto. Si extrapola, utilizando la velocidad del progreso para superar los "puntos blancos" del pasado, puede llamar a una figura como "de 10 a 50 años", pero sigue siendo un "dedo al cielo". Puede apelar a la ley de Moore y calcular cuándo los procesadores tendrán suficiente densidad de transistores para lograr la capacidad computacional del cerebro, también varias décadas, y esto también será un "dedo al cielo".

No creo que una IA fuerte, si se inventa, provenga de los negocios. Más bien, será creado por alguien que, con recursos significativos, se dedica a la investigación básica en el aprendizaje por refuerzo: desde todas las áreas del aprendizaje automático, esto es lo más cercano a lo que queremos de una IA fuerte. Si DeepMind u OpenAI existirán por varias décadas más, tal vez lo harán. O alguien que vendrá en su lugar.

¿Qué arquitectura se usa mejor para clasificar (no predecir, sino clasificar) series de tiempo? LSTM o algo más?


En los últimos años, se ha observado esta tendencia: en casi todos los lugares donde LSTM fue útil, la atención funciona mejor. La revolución de la PNL acaba de suceder: reemplazamos las redes recurrentes con atención, y mejoró. Para series de tiempo, también recomendaría que intentara prestar atención. Todo depende de la tarea, pero, en general, esta es la forma más efectiva de analizar secuencias y agregar datos sobre ellas.

Participó en el aprendizaje automático, no solo por trabajo, sino también como un pasatiempo costoso. Estoy construyendo una red, se metió en tarjetas de 3 GB, un poco más complicado, se ha ido. ¿Hay alguna alternativa además de la CPU?


La falta de fondos para el hierro, en la que puede mostrar resultados en la investigación moderna de aprendizaje profundo, es un problema para los entusiastas, e incluso para las universidades.

Google tiene la iniciativa Google Collab: es un IPython en las instalaciones de Google, donde puede obtener el poder de una tarjeta de video de alta gama durante 12 o 24 horas, y también ejecutar algo en su TPU. Los consumidores no usan las tarjetas de video, tienen más memoria: hay 130 GB, según me parece. Las manos lo desatan. Pero, en general, cosas realmente a gran escala que un usuario individual no puede permitirse.

Algunas compañías están tratando de crear chips especialmente adaptados para el aprendizaje profundo que realizarán cálculos para redes neuronales mucho más rápido y más barato que las GPU; tal vez las soluciones de consumo con tales chips aparecerán en los próximos años.

¿Por qué predices el comportamiento de otros participantes en el movimiento al desarrollar un dron?


En el camino es necesario. Al tomar una decisión, es necesario tener en cuenta, entre otras cosas, la inercia de la máquina: es imposible cambiar la dirección al instante (incluso si fuera posible, el pasajero tendría que ser malo). Necesitamos planificar acciones para que en el lugar donde nos gustaría estar en unos segundos, no haya nadie más; para esto necesitamos predecir la posición y las intenciones de otros participantes. La trayectoria de la máquina debe correr lo más lejos posible de los otros participantes; esto es necesario para un viaje seguro.

¿Cómo gira el volante de un dron?


Yo no me controlo. Puedo decir que hay diferentes autos, algunos solo pueden dar órdenes para girar el volante. En mi opinión, el Prius puede.

¿Qué usas: Scrum, Kanban, caos?


Caos organizado.

No veo la necesidad de estructurar rígidamente el flujo de trabajo, especialmente el de investigación: es difícil decir cuánto tiempo llevará una tarea en particular. Tenemos demasiada incertidumbre, y no me resulta obvio por qué introducir una estructura adicional.

Intentamos comunicarnos mucho, intentamos registrar todos los resultados de los experimentos; Tenemos sistemas especiales que almacenan datos de experimentos independientemente de su escala, qué tipo de código se utilizó, desde qué rama se ensambló, con qué datos se lanzó, con el fin de una reproducibilidad total. Registramos todas las conclusiones y las discutimos entre nosotros, compartimos información, tratamos de hacer que todo sea lo más abierto y transparente posible.

¿Existe alguna experiencia en el uso de ML en la industria: metalurgia, minería, enriquecimiento?


Sé que en estas áreas se usa ML activamente, pero no hay experiencia personal.

Un artículo desgarrador recientemente salió sobre Alice recomendando un video sobre una historia de asesinato a un niño. ¿Por qué sucede esto? ¿Es difícil filtrar contenido?


La tarea de filtrar contenido es, en principio, solucionable y con alta precisión. Qué es exactamente lo que sucedió en esa situación, no estoy seguro, pero puedo reflexionar.

Suponga que el sistema tiene contenido afiliado, y hay una API en la que los socios deben etiquetar este contenido con etiquetas o de otras maneras. Inicialmente, el sistema funciona con la confianza en los socios: es posible que solo de vez en cuando se verifiquen los contenidos. Con el tiempo, esto no será suficiente, colgará un sistema de contenido simple con búsqueda de palabras vacías en encabezados y etiquetas, viendo al menos parte del contenido por moderadores.

En cada sistema inevitablemente habrá un punto de falla: a veces las personas cometen errores, a veces los socios no cumplen con sus obligaciones. Todo lo que se puede hacer es llevar a cabo más iteraciones y mejorar el sistema, y ​​las mejoras generalmente son reactivas: si algo funciona lo suficientemente bien, generalmente no habrá mejoras hasta que sean necesarias.

Tal vez cuando aparece una IA fuerte, puede pedirle que filtre todo el contenido con una precisión del 100%.

¿Asiste a conferencias internacionales sobre sistemas de procesamiento de información neuronal y aprendizaje automático? ¿Cuáles son sus impresiones de las conferencias rusas en esta área?


No puedo decir sobre los rusos. A veces voy al internacional, pero entiendo cada vez menos por qué.

El "turismo científico" es, por supuesto, importante e interesante, pero me parece que las conferencias mismas han dejado de cumplir su función. Se acepta una gran cantidad de artículos sobre ellos, pero debido a esto, es imposible organizar una presentación normal para cada autor. Por ejemplo, en ICML solo el mejor artículo tenía informes largos, y el resto tenía informes destacados, menos de cinco minutos.

Además, una gran cantidad de obras, incrementales, con dudosa reproducibilidad, el beneficio de ellas para los oyentes, no. Si la conferencia tiene un trabajo realmente bueno, probablemente ya esté familiarizado con ella: la preimpresión se presentará temprano.

Creo que el formato de la conferencia debería reinventarse, o al menos elevar el listón sobre qué tomar.

¿Cuál fue su motivación para regresar a Rusia?


Dejé Rusia porque era interesante para mí vivir en nuevos lugares y aprender de nuevas personas. Me pareció que para el desarrollo personal necesita llegar a donde la gente sepa más que yo. En realidad, esto es lo que sucedió: en Microsoft Research, entendí mucho acerca de cuán metódico debe ser, cuán profundo y bien necesita comprender lo que está haciendo, cuánto necesita estar al tanto de lo que está sucediendo. Bueno, en algún momento me aburrí, aunque había tareas interesantes.

Luego viví en Cambridge: esta es una ciudad pequeña en la que poco está sucediendo, el círculo social no se puede comparar con Moscú. Pensé: ahora puedes vivir en Moscú, aplicar los conocimientos adquiridos y luego, quizás, ir a otro lado. Fui a trabajar a Yandex, parece ser bastante bueno para aplicar lo que aprendí.

Me parece que ahora en DeepMind y OpenAI están haciendo cosas interesantes, podría aprender mucho allí.

Escuché que el equipo de drones prefiere usar TensorFlow en lugar de PyTorch para entrenar modelos de inferencia. ¿Cuál es la razón para esto?


Quizás por razones históricas. No puedo decir por qué TensorFlow es mejor o peor que PyTorch.

¿De qué tamaño debe ser el conjunto de datos? ¿Son suficientes 50-60 mil ejemplos de capacitación o se requieren millones?


Depende del modelo utilizado y la tarea. El conjunto de datos debe ser tal que configure los parámetros del modelo y evite el reciclaje. Si tiene un modelo lineal trivial, el conjunto de datos puede ser pequeño. Si esta es una red neuronal compleja, 60 mil no es suficiente.

Aprender redes neuronales complejas de cosas no triviales desde cero casi siempre requiere decenas o cientos de millones. El principio de "más datos, más calidad" no ha desaparecido.

Por cierto, sobre la cuestión de cómo convertirse en un experto en PNL. Ahora, el aprendizaje profundo de última generación siempre está trabajando con big data. Necesitan ser preprocesados, luego, efectivamente transmitidos a nodos computacionales que brinden capacitación.

Podemos decir que el aprendizaje profundo es un trabajo de mono: para tener éxito, debes probar muchas cosas, sin estar seguro del resultado de trabajar con cada una.

Tal vez pueda desarrollar una intuición para las opciones que funcionarán más probablemente, aunque no he conocido a una persona con una intuición precisa. En el caso general, el más exitoso de todos los equipos será el que pueda realizar la mayor cantidad de experimentos por unidad de tiempo.

La mayor parte de mi trabajo es eliminar "cuellos de botella" en el proceso de aprendizaje en un intento de "dispersarlo" a la velocidad teóricamente posible. Esto requiere habilidades de ingeniería, la capacidad de exprimir el rendimiento del código y el hardware.

Lo que distingue a un experto de un científico de datos ordinario es que el experto también suele ser un buen ingeniero, capaz de trabajar rápidamente, escribir código, manejar sistemas de almacenamiento y procesamiento de datos distribuidos, y comprender la arquitectura de las computadoras y las redes, para calcular los "gags". Es muy importante desarrollar estas habilidades en ti mismo.

Con el predominio de los grandes datos, aquellos que saben cómo capacitarse para trabajar rápidamente en estos volúmenes de datos son los más exitosos en la industria. Si el aprendizaje profundo funcionara en pequeños volúmenes, diría que solo se necesita conocimiento sobre él, pero ahora no lo es.

Aprenda a programar bien, aprenda algoritmos informáticos estándar, aumente sus horizontes. Por cierto, la criptografía es útil.

¿Utiliza análogos de AutoML para ajustar la arquitectura y los parámetros, o más experimentos manuales e intuición?


Ahora, más que el segundo. La sintonización automática está presente a nivel de barrido por cuadrícula u optimización bayesiana, algo más complicado en AutoML aún no se ha hecho. Requiere muchos recursos informáticos: si son limitados, es mejor confiar en la intuición. Pero, si comprende que ha llegado a una adivinación aleatoria, es mejor confiarlo al proceso.

¿Qué hace Alice, qué no hace el Asistente de Google? ¿Cuál es el tamaño del equipo en esta dirección para Google y Yandex?


No puedo hablar de Yandex. Google parece tener cientos o mil personas. En cuanto a las ventajas de Alice, no estoy seguro de que no haya seguido el desarrollo de productos de Alice o las funciones de Asistente recientemente.

La cuestión de la calidad es incorrecta, me parece. Incluso si Alice fuera peor, ¿significaría que no tiene derecho a existir? Los productos se crean y compiten entre sí, debido a esto todos ganan, evolucionan y se estiran.

No entiendo la mentalidad de "un nuevo producto es lo mismo que Google". En los negocios, los productos se crean de esta manera: usted toma la idea de otra persona como base, la implementa, a veces tal como está generalmente, pero este no es el punto final del camino, sino el comienzo. Luego, cambia progresivamente la idea para que sea mejor que la de un competidor. ¡Esta es toda la historia del progreso!

¿Cómo ayuda el deporte a lograr más en otras áreas?


En deportes, especialmente competitivos, me gusta la ambigüedad. Si pierdes, pierdes. No puedes culpar a esto por las circunstancias: no fuiste lo suficientemente bueno, hiciste algo mal.

En los deportes competitivos, se desarrollan la franqueza, la sinceridad y la capacidad de admitir los propios errores. Ayuda en otras áreas: siempre es mejor admitir que necesitas mejorar en X, Y y Z que buscar excusas. Además de los beneficios para la salud, por supuesto.

¿Cómo te ayuda el paracaidismo a salir de tu zona de confort?


Imagine que quiere saltar de un avión por un grupo de personas y armar algo. El avión ingresa al avión de combate, la puerta se abre, todos se alinean adentro y esperan que la señal salte todos juntos.

En este momento, no debería haber ninguna duda de lo que está sucediendo. Una demora de incluso una fracción de segundo demora a todos. Debes ponerte en un estado en el que saltes sin dudarlo. El mundo desaparece, solo queda un salto. Si algo sucede con un paracaídas, tendrá poco tiempo para actuar; entonces no debe haber dudas ni miedo, debe hacer exactamente lo que le enseñaron, lo más rápido posible.

El paracaidismo fomenta en una persona la capacidad de tomar la decisión de hacer algo, y no dudar más. Se puede establecer un paralelismo entre este y los proyectos complejos. A veces no está claro qué hacer en el proyecto; cuando comienzas la tarea, no sabes exactamente qué hacer, cómo hacerlo, si se puede hacer. En este momento, es fácil comenzar a dudar y pensar, "¿y si no puedo?" - Tanto el tiempo como el esfuerzo mental se gastan en esto. Si le pidieron que resolviera un problema, entonces creyeron en usted. Debes hacer todo lo posible para solucionar este problema. Necesitas ponerte en el mismo estado mental que en un salto, dejar todo lo innecesario y concentrarte. Me resultó mucho más fácil lograr esto después de que comencé a practicar paracaidismo.

¿Cuánto gastas en paracaidismo?


Un montón de. Este es un artículo importante en mi presupuesto. Percibo esto como un incentivo para un mayor crecimiento profesional.

¿En qué club estás?


Principalmente en Pushchino, ciertas disciplinas están bien desarrolladas allí, por ejemplo, la mosca libre.

¿Dónde ir a estudiar como ingeniero ML?


Mis datos ya están desactualizados, estudié durante mucho tiempo, en la Universidad Estatal de Moscú, en el VMK. No puedo decir que fue una educación súper ML, pero los maestros nos enseñaron bien y nos presentaron al mundo de ML. Creo que mucha gente conoce a Dmitry Petrovich Vetrov: le debo mucho, si no fuera por sus conferencias y el curso especial que me llevó, probablemente no habría estudiado ML. No sé dónde está enseñando ahora, pero definitivamente vale la pena ir allí. Además, no importa en qué facultad estudies, te recomiendo ir al SHAD si es posible. No porque sea Yandex, sino porque es un lugar realmente genial: allí brindarán todo el conocimiento necesario para un buen trabajo práctico en la industria, que puede no estar en una universidad. Desde ShAD, muchas personas capacitadas y talentosas vienen a nosotros que saben qué hacer.

Una vez más sobre la cuestión de si es posible entrar en ML "no es un técnico". Se necesitan habilidades técnicas, pero una especialización en artes liberales no es un bloqueador. Para comprender los conceptos básicos de la programación y las matemáticas, solo necesita una cabeza sobre sus hombros y la capacidad de pensamiento lógico y estructural. Hay muchas personas que, aunque han elegido por alguna razón una especialidad humanitaria, poseen tales habilidades. Nada es imposible, lo principal es intentarlo. Es necesario no pensar en el tema "¿puedo", sino comenzar a hacerlo? Esto aumenta enormemente las posibilidades de éxito.

¿Es posible estudiar en una escuela de aprendizaje al mismo tiempo que una universidad?


Lo hice, aunque fue bastante difícil. Hay una gran carga en el ShAD. Puede combinar el SHAD con los últimos cursos de la universidad, donde la carga es relativamente pequeña: será un trabajo duro, pero valdrá la pena.

¿Experiencia de automovilismo con drones?


Contamos con deportistas activos en el personal, porque necesitamos capacitar a los conductores e ingenieros de control de calidad que están directamente en el automóvil. Deben ser capaces de reconocer una situación de emergencia durante las pruebas y responder, todos se someten a entrenamiento contra-emergencia de deportistas de motor. Si estamos hablando de si usamos algún tipo de modelo de física de neumáticos que los atletas profesionales usan en simulaciones de deportes de motor para desarrollar tácticas, en mi opinión, no, todavía no reduciremos las centésimas de segundo en el círculo. La telemetría, útil para los atletas, es diferente de lo que necesitamos, y tenemos más datos medidos.

¿Que sigue?


La próxima transmisión en vivo tendrá lugar el próximo lunes.
Puede hacer una pregunta a Natalya Teplukhina, miembro del equipo central de Vue.js, GoogleDevExpret e ingeniero superior de frontend en GitLab.

Puede hacerle una pregunta en los comentarios de esta publicación.

Aquí puede leer la interpretación de una entrevista con Ilona, ​​ingeniero de software sénior en Facebook. Instrucciones de un empleado de Facebook: cómo obtener una pasantía, obtener una oferta y todo sobre trabajar en una empresa


All Articles