"Es difícil para mí entender la motivación de un científico de datos que no ve la belleza en las matemáticas" - Kirill Danilyuk, Data Scientist

Hola Habr! Data Science se ha convertido durante mucho tiempo en un campo atractivo, y cada vez más personas quieren cambiar su camino profesional y comenzar a trabajar con Big Data. Kirill Danilyuk, Data Scientist de RnD Lab, compartió su historia de transición a la ciencia de datos, consejos para principiantes y científicos de datos avanzados. Además, hablamos sobre las cualidades necesarias de un científico de datos, sobre los datos de marcado, sobre la diferencia entre el ingeniero de ML y el científico de datos, los proyectos actuales, los equipos geniales y las personas cuyo trabajo es inspirador.



- ¿Cómo llegaste a la ciencia de datos? ¿Qué te atrajo inicialmente al área de trabajar con datos?

- Tengo un historial bastante atípico: en la fecha en que vine del mundo de Yandex PM (Project Management - nota del autor ), cuando me invitaron a ZeptoLab, quizás la mejor compañía de juegos rusa. Les hice un prototipo del sistema analítico, tableros, en realidad por primera vez comencé a escribir código que alguien más estaba usando. El código era terrible, pero era una práctica real. Formalmente, por supuesto, coordiné el trabajo de dos subcontratistas, pero escribieron el código exactamente en este prototipo. Entonces no sabía que aproximadamente esto es ciencia de datos, que lo hago, aunque sea a tiempo parcial. Entonces el conocido sucedió de manera bastante orgánica.

Incluso entonces, estaba claro que había un cambio completo en el paradigma de desarrollo: en lugar de la programación imperativa clásica, cuando establecía rígidamente las condiciones, llegaba una era en que la máquina misma podría educarse a sí misma utilizando datos. Ver este cambio fue increíblemente genial, y realmente quería estar entre los desarrolladores de la nueva era.

- ¿Qué dificultades enfrentó profesionalmente, qué desafíos enfrentó al principio y en el futuro?

- Nuevamente, les recuerdo que originalmente era un proyecto, es decir, un cambio de carrera fue bastante serio. Hubo muchas dificultades. En primer lugar, esto es incredulidad en uno mismo. Ves a tu alrededor a todos estos tipos inteligentes que escriben algo allí, hablan un idioma que no entiendes. Usted ve una gran brecha entre usted y ellos. Al mismo tiempo, su entorno tampoco fomenta la transición: comienza a parecerle a la gente que está "haciendo basura y, en general, postergando". Es muy deprimente. Ahora, por supuesto, hay una comunidad de analistas de datos, que lo ayudarán y animarán, pero antes era más difícil. Entonces, dar este primer paso, decir que seré un analista de datos y realmente iré sistemáticamente en esta dirección, a pesar de mi carrera anterior, fue muy difícil.

El punto de inflexión fue cuando leí el libro "Tan buenos que no pueden ignorarte", que, por cierto, es aconsejado por Andrew Eun, creador de Google Brain, Coursera, el famoso curso de ML. El libro trata sobre mi caso: sus antecedentes e historia no son importantes. Si puede demostrar en la práctica que es realmente tan bueno que simplemente no puede ser ignorado, se le notará. Estaba muy impresionado con este libro y decidí no abandonar la ciencia de datos. Aconsejo a todos que lean.

- ¿Qué trucos de vida puedes compartir con los principiantes al trabajar con datos tanto en términos de explorar el campo como en términos de construir una carrera?

- Todos llegan a la ciencia de datos desde diferentes campos, en diferentes partes y con diferentes objetivos: no hay una forma óptima. Pero hay algunos consejos.

La ciencia de datos puede parecer complicada a primera vista, ¡y así es! Sin embargo, el hecho sorprendente es que la ciencia de datos se puede comparar con la cebolla: es necesario estudiar capa por capa. Esto se llama el enfoque de arriba hacia abajo, cuando observa por primera vez el nivel primitivo de cómo funcionan los algoritmos, cómo puede entrenar una red neuronal en un par de líneas , sin conocer realmente los procesos, simplemente configura los datos de entrada, un par de líneas de código, y eso es todo. Se quita la primera capa de la bombilla. Más más. Te resulta interesante, ya quieres saber cómo. Como funciona Profundizas, miras el código, la implementación. Entonces te preguntas por qué este código se escribe así. Resulta que hay bases teóricas. Y así sucesivamente. Mantén tu interés. Comience en la parte superior, es inspirador. Lea a Richard Feynman , escribió mucho sobre este enfoque.

Otro consejo: participe en un grupo de científicos de datos lo más rápido posible. Incluso si aún no comprende nada, está decidido a desarrollarse en esta área. Cuando estaba estudiando, ODS aún no estaba allí, nadie te estaba animando así, no había una fiesta organizada de reunión de datos. Y fui al programa Newprolab, incluido, para obtener ese lugar de reunión. La clave del desarrollo está precisamente en la socialización. En ningún caso cocine en su propio jugo, de lo contrario, se moverá muy lentamente.

Tercer consejo (es una continuación del segundo): comience a participar en competencias lo antes posible. Kaggle puede ser tratado de manera diferente, pero al menos da una razón más para la socialización: únete al equipo. Los colegas senior estarán encantados de asesorarlo y ayudarlo. Además, kaggle ofrece una buena patada en términos de su cartera, discursos y publicaciones de blog. Los científicos de datos geniales se pusieron geniales, por cierto.

- Además de pasar por dos programas en Newprolab, ¿dónde estudiaste y estudiaste? ¿Qué programas puedes recomendar para principiantes y avanzados?

- Trato de aprender todo el tiempo, porque las tareas, especialmente con nosotros, cambian constantemente. Tomé cursos en línea más o menos básicos, como la especialización Yandex en DS en Coursera , ML-nanodegree en Udacity y su curso de drones . Para los principiantes, recomiendo encarecidamente la especialización DS en Coursera: este es probablemente el curso más estructurado para comprender los enfoques y las tareas en general. También estaba satisfecho con el "Especialista en Big Data" . Básicamente comencé a ingresar a él en ciencia de datos, realmente me ayudó. Una vez más, al principio, haz lo que parezca interesante.

Para los más avanzados, está el increíble curso Caltecan Learning From Data , relativamente corto, pero muy práctico. Se pone muy bien el cerebro. También hay un maravilloso curso de ShAD de Vorontsov : conferencias de acceso abierto y un libro de texto. También recomiendo encarecidamente el curso de Harvard sobre teoría de Stat 110 , hay principios fundamentales de teoría de probabilidad y matstat, que debes saber. Además, hay una biblioteca abierta de cursos MIT, mira el curso sobre algoritmos allí , es muy bueno.

- Según sus observaciones: ¿qué habilidades blandas y duras a menudo no son suficientes para que tanto los principiantes como los científicos de datos con experiencia se conviertan en especialistas realmente altamente calificados?

- Comencemos con habilidades blandas, porque no son suficientes. A pesar de que un científico de datos es una profesión técnica, es extremadamente importante poder presentar de manera correcta / hermosa el resultado de su trabajo. En términos generales, como un iPhone, tiene buena no solo el relleno, sino también la apariencia, el empaque y la historia. Las personas necesitan aprender a presentar sus resultados: escribir publicaciones de blog, hablar, compartir código. Los mejores científicos de datos entienden esto muy bien, y lo hacen. De lo contrario, puede quedar atrapado en su agujero, e incluso con un resultado genial, pasar desapercibido.

Puede hablar sobre habilidades difíciles durante mucho tiempo, pero hay una cosa que carecen de muchos científicos de datos, la capacidad de escribir código competente, estructurado y hermoso. Esto es directamente el flagelo de la profesión. Debes aprender a escribir un hermoso código legible. Si nos fijamos en kaggle, la mayor parte del código allí es terrible. Entiendo con qué está conectado: las personas escriben código una vez y no lo usan más, esta es una práctica estándar entre los científicos de datos, especialmente los principiantes. Yo mismo hice esto antes, pero esto es malo, porque, en primer lugar, no puedes compartirlo con nadie (la gente quiere leer código hermoso y legible), y en segundo lugar, no puedes usar código malo en otros proyectos.

Otra habilidad fundamental es el conocimiento del material: álgebra lineal, aparato estadístico, discretización, optimización. Y, francamente, solo necesitas un amor por las matemáticas. Me resulta difícil comprender la motivación de un científico de datos que no ve la belleza en las matemáticas. Al mismo tiempo, debe tenerse en cuenta que las matemáticas en el análisis de datos son bastante asequibles, al nivel del primer o segundo año de la universidad.

- Después de completar el programa "Especialista en Big Data" , abandonó el mundo corporativo y, junto con sus compañeros de clase, abrió una empresa de consultoría. ¿Por qué no quieres ser un empleado de una gran empresa con un montón de golosinas? De hecho, la demanda en el mercado laboral es mucho mayor que las ofertas disponibles, y usted es un gran especialista.

- Aquí hay una razón bastante interesante: inicialmente, el objetivo era obtener proyectos de consultoría que ya puede mostrar a una empresa seria y conseguir un trabajo en ella. Después de todo, dado que usted dice que es un científico de datos, demuestre que puede hacerlo.

Al principio, tomamos absolutamente cualquier proyecto de ciencia de datos por dinero, solo para demostrar que podemos hacer esto. Cometieron un montón de errores, pisaron todos los rastrillos que puedes pisar. El primer año fue solo una pesadilla, muy duro. Mirando hacia atrás ahora, no es un hecho que la consultoría haya sido un buen comienzo. Tal vez tuve que ir a junior, y este año para trabajar en algún tipo de proyecto.

Lo hemos superado todo. Los proyectos comenzaron a aparecer, la confianza en sí mismo se fortaleció, en algún momento se entendió que no se podía trabajar dentro de una gran corporación con sus proyectos prolongados, aprobaciones y burocracia. Resulta que nuestros proyectos ahora son mucho más interesantes y más diversos de lo que la mayoría de las grandes empresas podrían ofrecerme: hay muchos de ellos, a menudo cambian y usted estudia constantemente. Por supuesto, ahora no quiero mudarme a una gran empresa.

- Hablemos un poco sobre el marcado de datos. Tiene un pequeño equipo en RnD Lab, apenas puede pasar mucho tiempo marcando datos y haciendo todo manualmente usted mismo. ¿Cómo se etiquetan los datos?

- ¡Puedes hablar sobre el marcado de datos durante mucho tiempo! Los algoritmos de aprendizaje automático necesitan datos para funcionar. Y no solo algunos datos, sino cualitativamente etiquetados. Y mucho Por ejemplo, teníamos un proyecto para determinar la calidad de los huevos fritos a partir de una fotografía . Para que los algoritmos funcionen, debe marcar cada foto, rodear cada uno de los ingredientes (proteína, yema, tocino) manualmente. ¿Te imaginas cómo es marcar mil, diez mil de esas fotografías? Y esto es solo para preparar los datos. Después de eso, el trabajo apenas comienza.

Ahora hay muchas compañías que venden marcas: contratan un ejército de marcadores baratos para dibujar manualmente los límites de los objetos. Lo irónico es que en la era de la IA, son las personas mal pagadas, poco calificadas y desmotivadas quienes lo respaldan.

Quiero hacer este proceso más tecnológico. Por ejemplo, en nuestro proyecto, escribimos una red neuronal que, en un modo semiautomático, etiqueta datos. Primero le das 20 imágenes marcadas manualmente de huevos revueltos y 20 sin etiquetar: aprende en los primeros veinte y marca, aunque no muy bien, los segundos veinte. Corrige los errores manualmente y le da a estas 20 fotos automarcadas corregidas para su reentrenamiento. Ahora el modelo ya está aprendiendo en 40 fotografías con marcado. Envíe otras 20 fotos más al marcado, corrija los errores, entrene al modelo en el marcado corregido. Después de varias iteraciones, casi no quedan errores. Por cierto, es en esta técnica que estoy escribiendo una publicación de blog en Medium en este momento.

Hay otras opciones: puede usar el simulador, más o menos, un editor 3D para generar muchas imágenes ya marcadas. Coloca los objetos necesarios, los representa en diferentes ángulos junto con el marcado, eso es todo. Pero en realidad no: tales imágenes aún no serán similares para el modelo a las reales, reales. Para llevar estas imágenes a una variedad de imágenes reales, debe usar una técnica llamada adaptación de dominio, en GAN. Esta es ahora una verdadera vanguardia de investigación, tales cosas son emocionantes. Imagínese: está simulando el mundo entero y cualquier conjunto de datos se genera literalmente de la nada. Ahora imagine que el modelo aprende solo en el simulador y luego trabaja en el mundo real. ¡Esto es solo el futuro!

- ¿Puede nombrar los equipos / individuos cuyo trabajo en el campo de los grandes datos lo deleita y lo inspira?

- Sí, por supuesto! Realmente no me gusta la investigación en sí, sino su uso en productos. Me refiero a los que conozco: puedes buscar en Google a los mejores expertos, y ya son conocidos.

Si hablamos del equipo, este es, sin lugar a dudas, el equipo de drones Yandex. Los chicos están haciendo su tecnología desde cero, en condiciones rusas, comenzaron a probarla en invierno, Google no soñó con esto. Son grandes compañeros, y los sigo cuidadosamente. Incluidas sus publicaciones y cursos. La cantidad de tecnologías que usan en la práctica es enorme, pocos tienen la suerte de usar tantas cosas diferentes a la vez.

Equipo Connectome.ai : los chicos crean un sistema de visión por computadora para la producción. Esta es una tarea desafiante, y qué y cómo lo hacen es genial.

Los chicos de supervise.ly . Inicialmente fueron consultores, al igual que nosotros en RnD Lab, pero luego crearon un sistema de marcado semiautomático y ahora lo están desarrollando.

En términos de personas, en primer lugar, se trata de Eric Bernhardsson, el ex jefe del sistema de recomendación de Spotify. Tiene un blog increíble sobre ciencia de datos , se lo recomiendo a todos.

En segundo lugar, esta es Volodya Iglovikov , que también es ternaus en ODS. Él vino de físicos, su camino de desarrollo es muy curioso y extremadamente motivado para levantar el culo y comenzar a trabajar. Mostró con su ejemplo cómo el trabajo serio y el marketing competente ayudan a avanzar en una carrera.

- Usted fue el coordinador del grupo en el programa Big Data Specialist y en el edificio. programa en Luxemburgo, y en otoño serás mentor de minigrupos en nuestro nuevo programa en línea. Dime, ¿por qué necesitas todo esto? Porque no ganarás mucho dinero aquí)))

"No ganarás, eso es seguro". El punto es diferente: en la socialización. Como ya dije, es la socialización la clave para bombearse, sin mencionar solo hacer contactos útiles para los negocios. A través de mi coordinación, encontramos algunas órdenes rentables cursi. En segundo lugar, me gusta compartir mi conocimiento y experiencia con las personas y capacitarme para trabajar con datos. Además, en el proceso de preparación, yo mismo aprenderé mucho. Yo mismo estudié mucho y entiendo muy bien cuántas horas tengo algunas cosas. Además, por supuesto, la coordinación y la tutoría son un desafío, una forma de salir de la zona de confort y la capacidad de bombearse.



- Científico de datos e ingeniero de ML: ¿cuál es la diferencia?

- Existe un informe sobre este tema en el marco de Yandex Data & Science . La idea es que la industria de los datos ha generado un conjunto completo de profesiones superpuestas. Al mismo tiempo, diferentes compañías los interpretan de manera diferente. Data Scientist y MLE son solo un ejemplo de ello.

Se cree que un científico de datos puede no ser capaz de escribir código de producción, pero debe crear o adaptar teorías (por ejemplo, artículos científicos) y construir modelos. En realidad, los ingenieros de ML, programadores profesionales, que están menos inmersos en la parte teórica y más en ingeniería, están involucrados en el código mismo.

Esta separación funciona muy bien, por ejemplo, en Google. Por supuesto, hay doctorados fuertes que, estrictamente hablando, pueden no programar en absoluto, pero son fuertes en teoría. Y hay programadores de clase alta que envuelven prototipos de estos doctorados en un hermoso código. Pero si hablamos de equipos pequeños, como el nuestro o incluso los equipos de Yandex, entonces no hay tiempo para una investigación pura desde cero, pero existe la oportunidad de tomar los resultados de la investigación de otros (en forma de artículos o código) y escribir un código de batalla basado en estos artículos.

Personalmente, no creo en el valor práctico de un científico de datos que no escribe código: es el código que es el resultado del trabajo de un centro de datos. Si no escribe el código, es muy probable que sea un analista de datos. Esto tampoco está mal, pero es una especialización diferente. Por cierto, muchas compañías venden análisis de datos, solo análisis. Porque el analista es excelente y aburrido, y el científico de datos es "la profesión más sexy del siglo XXI".

Así que estoy para el ingeniero de ML.

- ¿Cuáles son tus pensamientos y planes para el futuro? ¿Dónde quieres mudarte en un plan profesional y geográfico (y de repente!)?

- Nosotros, RnD Lab, comenzamos como consultoría de ciencia de datos en un sentido general. Pero rápidamente se dieron cuenta de que era imposible hacer todo efectivamente de una vez, era necesario concentrarse. Ahora nos enfocamos en proyectos de visión por computadora, como nuestro proyecto de reconocimiento de calidad de alimentos. Imagina ver un partido de fútbol en tu escritorio en 3D. Imagine que usted, como propietario de una gran tienda, ve todos los robos de escaparates. Imagine que sus viejas fotografías en blanco y negro de papel se pueden convertir en color y agregarles detalles. Estamos comprometidos en tales proyectos. En este momento, tenemos dos nuevos proyectos increíblemente interesantes en desarrollo, no son inferiores en complejidad a los proyectos en Yandex, los anunciaremos después de un tiempo. Ahora hemos hecho un prototipo, con una probabilidad muy alta de que continuemos este proyecto aún más, la escala allí será diferente y ampliaremos el equipo. En primer lugar, necesitaré ingenieros de datos e ingenieros de visión por computadora, que recogerán el prototipo y crearán un sistema. El cliente es genial, el sistema es muy interesante y esta es una gran oportunidad para actualizarse como especialista. ¡Para cualquier cartera, tal proyecto será simplemente genial!

Por lo tanto, la visión por computadora y su aplicación - en AR / VR, GAN, generación de imagen y video, mejora de imagen y video, análisis de video - nos enfocamos en esto. Y aquí ya tenemos una excelente experiencia y herramientas.



En cuanto a la geografía: uno de mis principios importantes es la posibilidad de un trabajo 100% remoto desde cualquier lugar. Ninguna de las grandes empresas le ofrecerá esto. , , ? Basecamp, . , .

— -:
?

-.

— , , ?
— , .

— ?
— .

— , “, ”.
— “, ” , . , , . ZeptoLab: , , , . .
, - . : “ , , 5% : , , , , ...” , , . , , 3 , . , , .



Newprolab 20 9- « » , data science.

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


All Articles