Bonjour, Habr! La science des données est depuis longtemps devenue un domaine attractif, et de plus en plus de personnes souhaitent changer de parcours professionnel et commencer à travailler avec le big data. Kirill Danilyuk, Data Scientist de RnD Lab, a partagé son histoire de transition vers la science des données, des conseils pour les débutants et les scientifiques avancés. De plus, nous avons parlé des qualités nécessaires d'un data scientist, des données de balisage, de la différence entre ML Engineer et data scientist, des projets en cours, des équipes sympas et des personnes dont le travail est inspirant.
- Comment en êtes-vous arrivée à la science des données? Qu'est-ce qui vous a initialement attiré dans le domaine de l'utilisation des données?- J'ai un fond plutôt inhabituel est la suivante : la date, je suis venu dans le monde de yandeksovogo PM'stva - Quand je fus appelé dans ZeptoLab, peut - être, la meilleure compagnie de jeu russe (Project Management
Note de l'
auteur.). Je leur ai fait un prototype du système analytique, des tableaux de bord, en fait pour la première fois j'ai commencé à écrire du code que quelqu'un d'autre utilisait. Le code était terrible, mais c'était une vraie pratique. Formellement, bien sûr, j'ai coordonné le travail de deux sous-traitants, mais ils ont écrit le code exactement sur ce prototype. Je ne savais pas alors qu'en gros c'est de la science des données, que je le fais, quoique à temps partiel. Donc, la connaissance s'est produite de façon organique.
Même alors, il était clair qu'il y avait tout un changement dans le paradigme du développement - au lieu de la programmation impérative classique, lorsque vous définissez les conditions de manière rigide, une ère arrivait où la machine elle-même serait capable de s'éduquer à l'aide des données. Voir ce changement était incroyablement cool, et je voulais vraiment faire partie des développeurs de la nouvelle ère.
- Quelles difficultés avez-vous rencontrées professionnellement, quels défis avez-vous rencontrés au début et à l'avenir?- Encore une fois, je vous rappelle que j'étais à l'origine un projet, c'est-à-dire qu'un changement de carrière était assez sérieux. Il y a eu beaucoup de difficultés. Tout d'abord, c'est l'incrédulité en soi. Vous voyez autour de vous tous ces gars intelligents qui écrivent quelque chose là-bas, parlent une langue que vous ne comprenez pas. Vous voyez un énorme fossé entre vous et eux. En même temps, votre environnement n'encourage pas non plus la transition - il semble aux gens que vous «faites des ordures et procrastinez généralement». C'est très déprimant. Maintenant, bien sûr, il y a une communauté de dataainists, ils vont vous aider et vous remonter le moral, mais plus tôt c'était plus difficile. Donc, pour faire ce premier pas - pour dire que je serai un Datacenteriste et que j'irai vraiment systématiquement dans cette direction, malgré ma carrière passée - ce fut très difficile.
Le point tournant a été quand je lis un livre
« pour So Good pour Ils le tiennent pas compte du Can not You » , son chemin, conseille Andrew Ng, le fondateur de Google cerveau, Coursera, bien sûr célèbre ML. Le livre parle de mon cas: vos antécédents et votre histoire ne sont pas importants. Si vous pouvez montrer dans la pratique que vous êtes vraiment si bon que vous ne pouvez tout simplement pas être ignoré, vous serez remarqué. J'ai été très impressionné par ce livre et j'ai décidé de ne pas quitter la science des données. Je conseille à tout le monde de lire.
- Quels hacks de vie pouvez-vous partager avec les débutants en travaillant avec les données à la fois en termes d'exploration du domaine et en termes de construction de carrière?- Tout le monde vient à la science des données de différents domaines, dans différentes parties et avec des objectifs différents - il n'y a pas de méthode optimale. Mais il y a quelques conseils.
La science des données peut sembler compliquée à première vue - et il en est ainsi! Cependant, le fait étonnant est que la science des données peut être comparée à l'oignon: vous devez étudier couche par couche. C'est ce qu'on appelle l'approche descendante, lorsque vous regardez pour la première fois au niveau primitif comment fonctionnent les algorithmes, comment
vous pouvez former un réseau neuronal en quelques lignes - sans vraiment connaître les processus - vous définissez simplement les données d'entrée, quelques lignes de code, et c'est tout. La première couche de l'ampoule est supprimée. Encore plus. Cela devient intéressant pour vous, vous voulez déjà savoir comment. Comment ça marche? Vous allez plus loin, regardez le code, l'implémentation. Vous vous demandez alors pourquoi ce code est écrit ainsi. Il s'avère qu'il existe des motifs théoriques. Et ainsi de suite. Maintenez votre intérêt. Commencez par le haut, c'est inspirant.
Lisez Richard Feynman , il a beaucoup écrit sur cette approche.
Un autre conseil: entrez dans un groupe de scientifiques des données le plus rapidement possible. Même si vous ne comprenez toujours rien, vous êtes déterminé à vous développer dans ce domaine. Quand j'étudiais, ODS n'était pas encore là, personne ne vous encourageait comme ça, il n'y avait pas de fête organisée pour la réunion de données. Et je suis allé au programme Newprolab, y compris, pour obtenir un tel lieu de rencontre. La clé du développement réside précisément dans la socialisation. En aucun cas ne cuisinez pas dans votre propre jus, sinon vous vous déplacerez très lentement.
Troisième conseil (c'est la suite du deuxième): commencez à participer aux compétitions le plus tôt possible. Kaggle peut être traité différemment, mais au moins cela donne une raison de plus pour la socialisation - rejoindre l'équipe. Des collègues seniors se feront un plaisir de vous conseiller et de vous aider. De plus, kaggle donne un bon coup de pied en termes de votre portefeuille, discours et articles de blog. Soit dit en passant, les scientifiques de données cool sont devenus cool.
- En plus de suivre deux programmes au Newprolab, où avez-vous encore étudié et étudié? Quels programmes pouvez-vous recommander pour les débutants et les avancés?- J'essaie d'apprendre tout le temps, car les tâches, surtout avec nous, changent constamment. J'ai suivi des cours en ligne plus ou moins basiques, comme la
spécialisation Yandex en DS sur Coursera ,
ML-nanodegree sur Udacity et leur
cours sur les drones . Pour les débutants, je recommande fortement la spécialisation DS en Coursera - c'est probablement le cours le plus structuré pour comprendre les approches et les tâches en général. J'étais également satisfait du
«spécialiste du Big Data». J'ai essentiellement commencé à m'intéresser à la science des données, il m'a vraiment aidé. Encore une fois - au début, faites ce qui vous semble intéressant.
Pour les plus avancés, il y a le super cours Caltecan
Learning From Data - relativement court, mais très pratique. Cela met très bien le cerveau. Il y a aussi un merveilleux
cours ShAD de Vorontsov - des conférences en accès libre et un manuel. Je recommande également fortement le cours de Harvard sur la théorie de la
Stat 110 , il y a des principes fondamentaux de la théorie des probabilités et du matstat, que vous devez connaître. De plus, il y a une bibliothèque ouverte de cours MIT, regardez le
cours sur les algorithmes là -
bas , c'est très bien.
- D'après vos observations: quelles compétences générales et techniques ne sont souvent pas suffisantes pour que les débutants et les scientifiques expérimentés des données deviennent de véritables spécialistes hautement qualifiés?- Commençons par les compétences générales - car elles ne suffisent pas. Malgré le fait qu'un data scientist soit un métier technique, il est extrêmement important de pouvoir présenter correctement / magnifiquement le résultat de votre travail. En gros, comme un iPhone, il a non seulement une bonne garniture, mais aussi l'apparence, l'emballage, l'histoire. Les gens doivent apprendre à présenter leurs résultats: écrire des articles de blog, parler, partager du code. Les meilleurs scientifiques des données le comprennent très bien, et ils le font. Sinon, vous pouvez rester coincé dans votre trou, et même avec un résultat cool, passer inaperçu.
Vous pouvez parler des compétences techniques pendant longtemps, mais il y a une chose qui manque à de nombreux scientifiques des données, la capacité d'écrire du code compétent, structuré et beau. C'est directement le fléau de la profession. Vous devez apprendre à écrire un beau code lisible. Si vous regardez kaggle, la plupart du code est terrible. Je comprends à quoi cela est lié: les gens écrivent du code une fois et ne l'utilisent plus, c'est une pratique courante chez les data scientist, en particulier les débutants. J'ai moi-même fait cela auparavant, mais c'est mauvais, car, premièrement, vous ne pouvez pas le partager avec qui que ce soit (les gens veulent lire du code beau et lisible), et deuxièmement, vous ne pouvez pas utiliser de mauvais code dans d'autres projets.
Une autre compétence fondamentale est la connaissance du matériel: algèbre linéaire, appareil statistique, discrétisation, optimisation. Et, franchement, vous avez juste besoin d'un amour des mathématiques. J'ai du mal à comprendre la motivation d'un data scientist qui ne voit pas la beauté en mathématiques. Dans le même temps, il convient de noter que les mathématiques dans l'analyse des données sont assez abordables, au niveau de la première ou de la deuxième année de l'université.
- Une
fois le programme « pour le
grand spécialiste des données » , avez -
vous quitté le monde de l'
entreprise et, en
même temps que les
autres étudiants ont
ouvert un cabinet de
conseil. Pourquoi ne voulez-vous pas être un employé d'une grande entreprise avec un tas de cadeaux? En effet, la demande sur le marché du travail est beaucoup plus importante que les offres disponibles, et vous êtes un grand spécialiste.- Voici une raison plutôt intéressante: au départ, l'objectif était de gagner des projets de conseil que vous pouvez déjà montrer à une entreprise sérieuse et y trouver un emploi. Après tout, puisque vous dites que vous êtes un data scientist, montrez que vous le pouvez.
Au début, nous avons pris absolument tous les projets de science des données pour de l'argent, juste pour montrer que nous pouvons le faire. Ils ont fait un tas d'erreurs, ils ont marché sur tous les râteaux sur lesquels vous pouvez marcher. La première année n'a été qu'un cauchemar, très dur. Avec le recul, ce n'est pas un fait que la consultation était un bon début. Peut-être que je devais aller en junior et cette année pour travailler sur une sorte de projet.
Nous avons tout surmonté. Des projets ont commencé à apparaître, la confiance en soi s'est renforcée, à un moment donné, on a compris que l'on ne pouvait pas travailler au sein d'une grande entreprise avec ses projets prolongés, ses approbations et sa bureaucratie. Il s'avère que nos projets sont maintenant beaucoup plus intéressants et plus diversifiés que la plupart des grandes entreprises pourraient me donner: ils sont nombreux, ils changent souvent et vous étudiez constamment. Bien sûr, maintenant je ne veux plus vraiment déménager dans une grande entreprise.
- Parlons un peu du balisage de données. Vous avez une petite équipe dans RnD Lab, vous pouvez à peine passer beaucoup de temps à baliser les données et à tout faire manuellement vous-même. Comment étiquetez-vous les données?- Vous pouvez parler du balisage de données pendant très longtemps! Les algorithmes d'apprentissage automatique ont besoin de données pour fonctionner. Et pas seulement quelques données, mais qualitativement étiquetées. Et beaucoup. Par exemple, nous avons eu un
projet pour déterminer la qualité des œufs au plat à partir d'une photographie . Pour que les algorithmes fonctionnent, vous devez marquer chaque photo, encercler chacun des ingrédients - protéines, jaune d'oeuf, bacon - manuellement. Pouvez-vous imaginer ce que c'est que de marquer mille, dix mille de ces photographies? Et ce n'est que pour préparer les données. Après cela, le travail ne fait que commencer.
Maintenant, il existe de nombreuses entreprises qui vendent du balisage - elles embauchent une armée de marqueurs bon marché pour dessiner manuellement les limites des objets. Ce qui est ironique, c'est qu'à l'ère de l'IA, ce sont les personnes peu rémunérées, peu qualifiées et non motivées qui la soutiennent.
Je veux rendre ce processus plus technologique. Par exemple, dans notre projet, nous avons écrit un réseau de neurones qui, en mode semi-automatique, étiquette les données. Vous lui donnez d'abord 20 photos d'oeufs brouillés marquées manuellement et 20 d'œufs brouillés - elle apprend dans les vingt premières et marque, bien que pas très bien, les vingt secondes. Vous corrigez les erreurs manuellement et donnez à ces 20 photos corrigées auto-marquées la rééducation. Maintenant, le modèle apprend déjà dans 40 photographies avec balisage. Vous soumettez encore 20 autres photos au balisage, corrigez les erreurs, entraînez le modèle sur le balisage corrigé. Après plusieurs itérations, il ne reste presque aucune erreur. Soit dit en passant, selon cette technique, je vous écris un poste dans le
blog sur moyen .
Il existe d'autres options: vous pouvez utiliser le simulateur, en gros, un éditeur 3D pour générer beaucoup d'images déjà marquées. Vous placez les objets nécessaires, les rendez sous différents angles avec le balisage - c'est tout. Mais pas vraiment: de telles images ne seront toujours pas similaires pour le modèle à des images réelles et réelles. Pour apporter ces images à une variété d'images réelles, vous devez utiliser une technique appelée adaptation de domaine - sur les GAN. C'est maintenant un véritable tranchant de la recherche, de telles choses sont passionnantes. Imaginez: vous simulez le monde entier et tous les jeux de données sont littéralement générés à partir de rien. Imaginez maintenant que le modèle apprend juste dans le simulateur, puis fonctionne dans le monde réel. Ce n'est que l'avenir!
- Pouvez-vous nommer les équipes / individus dont le travail dans le domaine du big data vous ravit et vous inspire?- Oui, bien sûr! J'aime vraiment pas la recherche elle-même, mais son utilisation dans les produits. Je parle de ceux que je connais moi-même - vous pouvez simplement consulter les meilleurs experts de Google, et ils sont déjà bien connus.
Si nous parlons de l'équipe, c'est sans aucun doute l'équipe de drones Yandex. Les gars font leur technologie à partir de zéro, dans des conditions russes, ils ont commencé à la tester en hiver - Google n'en a pas rêvé. Ce sont de grands amis et je les suis attentivement. Y compris leurs publications et cours. Le nombre de technologies qu'ils utilisent dans la pratique est énorme, peu ont la chance d'utiliser autant de choses différentes à la fois.
Connectome.ai team - les gars font un système de vision par ordinateur pour la production. C'est une tâche difficile, et quoi et comment ils le font est cool.
Les gars de
supervise.ly . Ils étaient initialement consultants, tout comme nous au RnD Lab, mais ils ont ensuite créé un système de balisage semi-automatique et maintenant ils le développent.
En termes de personnes, tout d'abord, il s'agit d'Eric Bernhardsson, l'ancien responsable du système de recommandation Spotify. Il a un
blog incroyable
sur la science des données , je le recommande à tout le monde.
Deuxièmement, il s'agit de
Volodya Iglovikov , qui est également ternaus à ODS. Il est issu de physiciens, son parcours de développement est très curieux et extrêmement motivé pour élever son cul et commencer à travailler. Il a montré par son exemple à quel point un travail sérieux et un marketing compétent aident à progresser dans une carrière.
- Vous étiez le coordinateur de groupe sur le programme Big Data Specialist et sur le bâtiment. au Luxembourg, et à l'automne, vous encadrerez des mini-groupes sur notre nouveau programme en ligne. Dites-moi, pourquoi avez-vous besoin de tout cela? Parce que vous ne gagnerez pas beaucoup d'argent ici)))"Vous ne gagnerez pas, c'est sûr." Le point est différent - dans la socialisation. Comme je l'ai déjà dit, c'est la socialisation qui est la clé pour se gonfler, sans parler de la simple prise de contacts utiles aux entreprises. Grâce à ma coordination, nous avons trouvé quelques commandes louches et rentables. Deuxièmement, j'aime juste partager mes connaissances et mon expérience avec les gens et me former à l'utilisation des données. De plus, en cours de préparation, j'apprendrai moi-même beaucoup. J'ai beaucoup étudié moi-même et je comprends très bien combien d'heures obtiennent certaines choses. De plus, bien sûr, la coordination et le mentorat sont un défi, un moyen de sortir de la zone de confort et la capacité de se pomper.
- Data Scientist et ML Engineer: quelle est la différence?- Il existe un
rapport sur ce sujet
dans le cadre de Yandex Data & Science . L'idée est que l'industrie des données a engendré tout un ensemble de professions qui se chevauchent. Dans le même temps, différentes entreprises les interprètent différemment. Data Scientist et MLE n'en sont qu'un exemple.
On pense qu'un scientifique des données peut ne pas être en mesure d'écrire du code de production, mais doit créer ou adapter des théories (par exemple, des articles scientifiques) et construire des modèles. En fait, les ingénieurs ML - programmeurs professionnels, moins plongés dans la partie théorique et plus dans l'ingénierie - sont engagés dans le code lui-même.
Cette séparation fonctionne très bien, par exemple, dans Google. Bien sûr, il existe de solides docteurs qui, à proprement parler, peuvent ne pas programmer du tout, mais sont solides en théorie. Et il y a des programmeurs de haut niveau qui enveloppent les prototypes de ces docteurs dans un beau code. Mais si nous parlons de petites équipes, comme la nôtre ou même des équipes Yandex, alors il n'y a pas de temps pour une recherche pure à partir de zéro, mais il est possible de prendre les résultats de la recherche des autres (sous forme d'articles ou de code) et d'écrire un code de bataille basé sur ces articles.
Personnellement, je ne crois pas à la valeur pratique d'un data scientist qui n'écrit pas de code - c'est le code qui est le résultat du travail d'un datacenter. Si vous n'écrivez pas le code, vous êtes très probablement un analyste de données. Ce n'est pas mal non plus, mais c'est une spécialisation différente. Soit dit en passant, de nombreuses entreprises ne vendent que des analyses de données. Parce que l'analyste est excel et ennui, et le data scientist est «la profession la plus sexy du 21e siècle».
Je suis donc pour l'ingénieur ML.
- Quelles sont vos pensées et vos plans pour l'avenir? Où souhaitez-vous vous déplacer dans un plan professionnel et géographique (et du coup!)?- Nous, RnD Lab, avons commencé comme conseil en science des données dans un sens général. Mais ils ont vite compris qu'il était impossible de tout faire efficacement à la fois, il fallait se concentrer. Maintenant, nous nous concentrons sur des projets de vision par ordinateur, comme notre projet de reconnaissance de la qualité des aliments. Imaginez regarder un match de football sur votre bureau en 3D. Imaginez que vous, en tant que propriétaire d'un grand magasin, voyez tous les vols dans les vitrines des magasins. Imaginez que vos anciennes photographies papier en noir et blanc peuvent être converties en couleur et y ajouter des détails. Nous sommes engagés dans de tels projets. En ce moment, nous avons deux nouveaux projets incroyablement intéressants en développement, ils ne sont pas inférieurs en complexité aux projets de Yandex, nous les annoncerons après un certain temps. Maintenant, nous avons fait un prototype, avec une très forte probabilité que nous poursuivions ce projet plus loin, l'échelle y sera différente et nous élargirons l'équipe. J'aurai besoin à la fois d'ingénieurs en données et d'ingénieur en vision par ordinateur, qui prendront le prototype et en feront un système. Le client est super cool, le système est très intéressant, et c'est une excellente occasion de se mettre à niveau en tant que spécialiste. Pour tout portefeuille, un tel projet sera tout simplement génial!
Par conséquent, la vision par ordinateur et son application - en AR / VR, GAN, génération d'images et de vidéos, amélioration d'images et de vidéos, analyse vidéo - nous nous concentrons sur cela. Et ici, nous avons déjà une excellente expertise et des outils.
En ce qui concerne la géographie: l'un de mes principes importants est la possibilité de travailler à 100% à distance depuis n'importe où. Aucune des grandes entreprises ne vous offrira cela. , , ? Basecamp,
. , .
— -:
?-.
— , , ?— , .
— ?— .
— , “, ”.— “, ” , . , , . ZeptoLab: , , , . .
, - . : “ , , 5% : , , , , ...” , , . , , 3 , . , , .
Newprolab 20 9-
« » , data science.