Hallo Habr! Data Science ist seit langem ein attraktives Feld, und immer mehr Menschen möchten ihren beruflichen Weg ändern und mit Big Data arbeiten. Kirill Danilyuk, Data Scientist von RnD Lab, berichtete über seine Geschichte des Übergangs zur Data Science, über Tipps für Anfänger und fortgeschrittene Data Scientists. Darüber hinaus sprachen wir über die notwendigen Eigenschaften eines Datenwissenschaftlers, über Markup-Daten, über den Unterschied zwischen ML Engineer und Datenwissenschaftler, aktuelle Projekte, coole Teams und Menschen, deren Arbeit inspirierend ist.
- Wie sind Sie zur Datenwissenschaft gekommen? Was hat Sie anfangs an der Arbeit mit Daten gereizt?- Ich habe einen eher untypischen Hintergrund: Als ich aus der Welt von Yandex PM (Projektmanagement -
Anmerkung des Autors ) kam, wurde ich zu ZeptoLab eingeladen, dem vielleicht besten russischen Spieleunternehmen. Ich machte sie zu einem Prototyp des Analysesystems, Dashboards, und begann zum ersten Mal, Code zu schreiben, den jemand anderes verwendete. Der Code war schrecklich, aber es war echte Übung. Formal habe ich natürlich die Arbeit von zwei Outsourcern koordiniert, aber sie haben den Code genau auf diesen Prototyp geschrieben. Ich wusste damals nicht, dass dies ungefähr Datenwissenschaft ist, dass ich es mache, wenn auch in Teilzeit. Die Bekanntschaft geschah also ganz organisch.
Schon damals war klar, dass sich das Entwicklungsparadigma grundlegend geändert hat - anstelle der klassischen imperativen Programmierung kam eine Ära, in der die Maschine selbst in der Lage sein würde, sich anhand von Daten weiterzubilden. Diese Veränderung zu sehen war unglaublich cool und wollte unbedingt zu den Entwicklern der neuen Ära gehören.
- Vor welchen Schwierigkeiten standen Sie beruflich, vor welchen Herausforderungen standen Sie am Anfang und in der Zukunft?- Ich erinnere Sie noch einmal daran, dass ich ursprünglich ein Projekt war, das heißt, ein Karrierewechsel war ziemlich ernst. Es gab viele Schwierigkeiten. Zuallererst ist dies Unglaube an sich. Sie sehen um sich herum all diese klugen Kerle, die dort etwas schreiben und eine Sprache sprechen, die Sie nicht verstehen. Sie sehen eine große Lücke zwischen sich und ihnen. Gleichzeitig fördert Ihre Umgebung den Übergang nicht - es scheint den Menschen, dass Sie "Müll machen und im Allgemeinen zögern". Es ist sehr deprimierend. Jetzt gibt es natürlich eine Community von Datasainisten, die Ihnen helfen und Sie aufmuntern werden, aber früher war es schwieriger. Diesen ersten Schritt zu tun - zu sagen, dass ich ein Datasaentist sein und trotz meiner bisherigen Karriere wirklich systematisch in diese Richtung gehen werde - war sehr schwierig.
Der Wendepunkt war, als ich das Buch
"So gut, dass sie dich nicht ignorieren können" las, das übrigens von Andrew Eun, dem Erfinder von Google Brain, Coursera, dem berühmten ML-Kurs, empfohlen wird. Das Buch handelt von meinem Fall: Ihr Hintergrund und Ihre Geschichte sind nicht wichtig. Wenn Sie in der Praxis zeigen können, dass Sie wirklich so gut sind, dass Sie einfach nicht ignoriert werden können, werden Sie bemerkt. Ich war sehr beeindruckt von diesem Buch und habe beschlossen, die Datenwissenschaft nicht zu beenden. Ich rate jedem zu lesen.
- Welche Life-Hacks können Sie mit Anfängern teilen, wenn Sie mit Daten arbeiten, um das Feld zu erkunden und eine Karriere aufzubauen?- Jeder kommt aus verschiedenen Bereichen, in verschiedenen Teilen und mit unterschiedlichen Zielen zur Datenwissenschaft - es gibt keinen optimalen Weg. Aber es gibt einige Tipps.
Data Science mag auf den ersten Blick kompliziert erscheinen - und so ist es auch! Das Erstaunliche ist jedoch, dass Data Science mit der Zwiebel verglichen werden kann: Sie müssen Schicht für Schicht studieren. Dies wird als Top-Down-Ansatz bezeichnet. Wenn Sie sich zunächst die primitive Ebene ansehen, wie die Algorithmen funktionieren, wie
Sie ein neuronales Netzwerk in mehreren Zeilen trainieren können - ohne die Prozesse tatsächlich zu kennen -, legen Sie einfach die Eingabedaten und einige Codezeilen fest, und fertig. Die erste Schicht der Glühbirne wird entfernt. Weiter mehr. Es wird interessant für dich, du willst schon wissen - wie. Wie funktioniert es Sie gehen tiefer, schauen sich den Code an, die Implementierung. Dann fragen Sie sich, warum dieser Code so geschrieben ist. Es stellt sich heraus, dass es theoretische Gründe gibt. Usw. Behalten Sie Ihr Interesse bei. Fangen Sie oben an, es ist inspirierend.
Lesen Sie Richard Feynman , er hat viel über diesen Ansatz geschrieben.
Ein weiterer Ratschlag: Schließen Sie sich so schnell wie möglich einer Gruppe von Datenwissenschaftlern an. Auch wenn Sie noch nichts verstehen, sind Sie entschlossen, sich in diesem Bereich weiterzuentwickeln. Als ich studierte, war ODS noch nicht da, niemand hat dich so aufgeheitert, es gab keine organisierte Datentreffen-Party. Und ich ging zum Newprolab-Programm, um einen solchen Treffpunkt zu bekommen. Der Schlüssel zur Entwicklung liegt genau in der Sozialisation. Kochen Sie auf keinen Fall in Ihrem eigenen Saft, sonst bewegen Sie sich sehr langsam.
Dritter Tipp (Fortsetzung des zweiten): Nehmen Sie so früh wie möglich an Wettbewerben teil. Kaggle kann anders behandelt werden, aber es gibt zumindest einen weiteren Grund für die Sozialisierung - treten Sie dem Team bei. Ältere Kollegen beraten und helfen Ihnen gerne weiter. Außerdem bietet kaggle einen guten Kick in Bezug auf Ihr Portfolio, Ihre Reden und Ihre Blog-Beiträge. Coole Datenwissenschaftler sind übrigens gerade cool geworden.
- Wo haben Sie neben zwei Programmen bei Newprolab noch studiert und studiert? Welche Programme können Sie für Anfänger und Fortgeschrittene empfehlen?- Ich versuche ständig zu lernen, weil sich die Aufgaben, besonders bei uns, ständig ändern. Ich habe mehr oder weniger grundlegende Online-Kurse besucht, wie die
Yandex-Spezialisierung auf DS auf Coursera ,
ML-Nanodegree auf Udacity und deren
Drohnenkurs . Für Anfänger empfehle ich die DS-Spezialisierung in Coursera - dies ist wahrscheinlich der strukturierteste Kurs zum Verständnis von Ansätzen und Aufgaben im Allgemeinen. Ich war auch zufrieden mit dem
„Big Data Specialist“. Ich habe im Grunde genommen angefangen, von ihm in die Datenwissenschaft einzusteigen. Er hat mir wirklich geholfen. Noch einmal - am Anfang tun Sie, was interessant erscheint.
Für Fortgeschrittene gibt es den fantastischen Caltecan
Learning From Data-Kurs - relativ kurz, aber sehr praktisch. Es bringt das Gehirn sehr gut. Es gibt auch einen wunderbaren
ShAD-Kurs von Woronzow - Open-Access-Vorträge und ein Lehrbuch. Ich empfehle auch den Harvard-Kurs zur
Stat 110- Theorie. Es gibt grundlegende Prinzipien der Wahrscheinlichkeitstheorie und der Matstat, die Sie kennen müssen. Außerdem gibt es eine offene Bibliothek mit MIT-Kursen. Schauen Sie sich den
Kurs über Algorithmen an , er ist sehr gut.
- Aus Ihren Beobachtungen: Welche Soft- und Hard-Skills reichen oft nicht aus, um sowohl Anfänger als auch erfahrene Datenwissenschaftler zu wirklich hochqualifizierten Spezialisten zu machen?- Beginnen wir mit Soft Skills - weil sie nicht ausreichen. Trotz der Tatsache, dass ein Datenwissenschaftler ein technischer Beruf ist, ist es äußerst wichtig, das Ergebnis Ihrer Arbeit korrekt / schön präsentieren zu können. Grob gesagt, wie ein iPhone - er hat nicht nur die Füllung, sondern auch das Aussehen, die Verpackung und die Geschichte gut. Die Leute müssen lernen, wie sie ihre Ergebnisse präsentieren können: Blog-Beiträge schreiben, sprechen, Code teilen. Die besten Datenwissenschaftler verstehen dies sehr gut und tun dies auch. Andernfalls können Sie in Ihrem Loch stecken bleiben und selbst bei einem coolen Ergebnis unbemerkt bleiben.
Sie können lange über harte Fähigkeiten sprechen, aber es gibt eine Sache, die sehr vielen Datenwissenschaftlern fehlt, die Fähigkeit, kompetenten, strukturierten und schönen Code zu schreiben. Dies ist direkt die Geißel des Berufs. Sie müssen lernen, wie man schönen lesbaren Code schreibt. Wenn Sie sich kaggle ansehen, ist der größte Teil des Codes dort schrecklich. Ich verstehe, womit dies verbunden ist: Leute schreiben Code einmal und verwenden ihn nicht weiter. Dies ist eine Standardpraxis unter Datenwissenschaftlern, insbesondere Anfängern. Ich selbst habe das schon einmal gemacht, aber das ist schlecht, weil man es erstens mit niemandem teilen kann (Leute wollen schönen, lesbaren Code lesen) und zweitens kann man in anderen Projekten keinen schlechten Code verwenden.
Eine weitere grundlegende Fähigkeit ist die Kenntnis des Materials: lineare Algebra, statistischer Apparat, Diskretisierung, Optimierung. Und ehrlich gesagt braucht man nur eine Liebe zur Mathematik. Ich finde es schwierig, die Motivation eines Datenwissenschaftlers zu verstehen, der Schönheit in der Mathematik nicht sieht. Gleichzeitig ist anzumerken, dass Mathematik in der Datenanalyse auf der Ebene des ersten oder zweiten Studienjahres recht erschwinglich ist.
- Nach Abschluss des Programms „Big Data Specialist“ haben Sie die Unternehmenswelt verlassen und zusammen mit Ihren Klassenkameraden eine Beratungsfirma eröffnet. Warum wollen Sie nicht Angestellter eines großen Unternehmens mit ein paar Leckereien sein? In der Tat ist die Nachfrage auf dem Arbeitsmarkt viel größer als die verfügbaren Angebote, und Sie sind ein großartiger Spezialist.- Hier ist ein ziemlich interessanter Grund: Zunächst war das Ziel, Beratungsprojekte zu gewinnen, mit denen Sie bereits ein seriöses Unternehmen zeigen und einen Job darin bekommen können. Zeigen Sie schließlich, dass Sie es können, da Sie sagen, dass Sie ein Datenwissenschaftler sind.
Zuerst haben wir absolut alle datenwissenschaftlichen Projekte für jedes Geld genommen, nur um zu zeigen, dass wir dies tun können. Sie haben eine Menge Fehler gemacht, sie sind auf alle Rechen getreten, auf die man treten kann. Das erste Jahr war nur ein Albtraum, sehr schwer. Rückblickend ist es keine Tatsache, dass Beratung ein guter Anfang war. Vielleicht musste ich zum Junior gehen und dieses Jahr an einem Projekt arbeiten.
Wir haben alles überwunden. Projekte tauchten auf, das Selbstvertrauen wurde stärker, irgendwann bestand das Verständnis, dass man mit seinen langwierigen Projekten, Genehmigungen und Bürokratie nicht in einem großen Unternehmen arbeiten konnte. Es stellt sich heraus, dass unsere Projekte jetzt viel interessanter und vielfältiger sind, als mir die meisten großen Unternehmen bieten könnten: Es gibt viele davon, sie ändern sich oft und Sie studieren ständig. Natürlich möchte ich jetzt nicht wirklich zu einem großen Unternehmen wechseln.
- Lassen Sie uns ein wenig über Datenmarkup sprechen. Sie haben ein kleines Team in RnD Lab, Sie können kaum Zeit damit verbringen, Daten zu markieren und alles manuell selbst zu erledigen. Wie markieren Sie Daten?- Sie können sehr lange über Datenmarkup sprechen! Algorithmen für maschinelles Lernen benötigen Daten, um zu funktionieren. Und nicht nur einige Daten, sondern qualitativ gekennzeichnet. Und viel. Zum Beispiel hatten wir ein
Projekt, um die Qualität von Spiegeleiern anhand eines Fotos zu bestimmen . Damit die Algorithmen funktionieren, müssen Sie jedes Foto markieren und alle Zutaten - Protein, Eigelb, Speck - manuell umkreisen. Können Sie sich vorstellen, wie es ist, tausend, zehntausend solcher Fotografien zu markieren? Und dies dient nur dazu, die Daten fertig zu machen. Danach fängt die Arbeit gerade erst an.
Jetzt gibt es viele Unternehmen, die Markups verkaufen - sie stellen eine Armee billiger Marker ein, um manuell die Grenzen von Objekten zu zeichnen. Was Ironie ist, dass im Zeitalter der KI schlecht bezahlte, gering qualifizierte und unmotivierte Menschen dahinter stehen.
Ich möchte diesen Prozess technologischer gestalten. In unserem Projekt haben wir beispielsweise ein neuronales Netzwerk geschrieben, das in einem halbautomatischen Modus Daten markiert. Sie geben ihr zuerst 20 manuell markierte Bilder von Rühreiern und 20 unbeschriftete - sie lernt in den ersten zwanzig und markiert die zweiten zwanzig, wenn auch nicht sehr gut. Sie korrigieren die Fehler manuell und geben diese korrigierten 20 selbstmarkierten Fotos zur Umschulung. Jetzt lernt das Modell bereits in 40 Fotos mit Markup. Sie senden weitere 20 weitere Fotos an das Markup, korrigieren die Fehler und trainieren das Modell mit dem korrigierten Markup. Nach mehreren Iterationen bleiben fast keine Fehler mehr. Übrigens schreibe ich gerade mit dieser Technik einen
Blog-Beitrag auf Medium .
Es gibt noch andere Möglichkeiten: Sie können den Simulator, grob gesagt, einen 3D-Editor verwenden, um viele bereits markierte Bilder zu generieren. Sie platzieren die erforderlichen Objekte, rendern sie zusammen mit dem Markup in verschiedenen Winkeln - das ist alles. Aber nicht wirklich: Solche Bilder werden für das Modell immer noch nicht real, real sein. Um diese Bilder auf eine Vielzahl von realen Bildern zu bringen, müssen Sie eine Technik verwenden, die als Domänenanpassung bezeichnet wird - auf GANs. Dies ist jetzt ein wahrer Spitzenwert in der Forschung, solche Dinge sind aufregend. Stellen Sie sich vor: Sie simulieren die ganze Welt und alle Datensätze werden buchstäblich aus dem Nichts generiert. Stellen Sie sich nun vor, das Modell lernt nur im Simulator und arbeitet dann in der realen Welt. Das ist nur die Zukunft!
- Können Sie die Teams / Einzelpersonen nennen, deren Arbeit im Bereich Big Data Sie begeistert und inspiriert?- Ja natürlich! Ich mag nicht die Forschung selbst, sondern ihre Verwendung in Produkten. Ich spreche von denen, die ich selbst kenne - Sie können einfach Top-Experten googeln, und sie sind bereits bekannt.
Wenn wir über das Team sprechen, dann ist dies ohne Frage das Yandex-Drohnen-Team. Die Jungs machen ihre Technologie von Grund auf neu, unter russischen Bedingungen haben sie im Winter begonnen, sie zu testen - Google hat nicht davon geträumt. Sie sind großartige Leute, und ich folge ihnen sorgfältig. Einschließlich ihrer Veröffentlichungen und Kurse. Die Anzahl der Technologien, die sie in der Praxis einsetzen, ist enorm. Nur wenige haben das Glück, so viele verschiedene Dinge gleichzeitig zu verwenden.
Connectome.ai- Team - Jungs stellen ein Computer-Vision-System für die Produktion her. Dies ist eine herausfordernde Aufgabe, und was und wie sie es tun, ist cool.
Die Jungs von
Supervise.ly . Sie waren anfangs Berater, genau wie wir bei RnD Lab, aber dann haben sie ein halbautomatisches Markup-System entwickelt und entwickeln es jetzt.
In Bezug auf die Menschen ist dies zum einen Eric Bernhardsson, der frühere Leiter des Spotify-Empfehlungssystems. Er hat einen erstaunlichen
Blog über Datenwissenschaft , ich kann ihn jedem empfehlen.
Zweitens ist dies
Volodya Iglovikov , die auch bei ODS Ternaus ist. Er kam von Physikern, sein Entwicklungspfad ist sehr neugierig und äußerst motiviert, seinen Arsch zu heben und zu arbeiten. Er zeigte anhand seines Beispiels, wie ernsthafte Arbeit und kompetentes Marketing dazu beitragen, sich beruflich weiterzuentwickeln.
- Sie waren der Gruppenkoordinator des Big Data Specialist-Programms und des Gebäudes. Programm in Luxemburg, und im Herbst werden Sie Minigruppen in unserem neuen Online-Programm betreuen. Sag mir, warum brauchst du das alles? Weil Sie hier kein großes Geld verdienen)))"Du wirst nicht verdienen, das ist sicher." Der Punkt ist anders - in der Sozialisation. Wie ich bereits sagte, ist die Sozialisation der Schlüssel, um sich selbst zu pumpen, ganz zu schweigen davon, dass Kontakte nur für Unternehmen nützlich sind. Durch meine Koordination haben wir ein paar blöde profitable Aufträge gefunden. Zweitens teile ich einfach gerne mein Wissen und meine Erfahrung mit Menschen und trainiere mich im Umgang mit Daten. Außerdem werde ich während der Vorbereitung selbst viel lernen. Ich habe selbst viel gelernt und verstehe sehr gut, wie viele Stunden einige Dinge bekommen. Außerdem ist Koordination und Mentoring natürlich eine Herausforderung, ein Ausweg aus der Komfortzone und die Fähigkeit, sich selbst zu pumpen.
- Data Scientist und ML Engineer: Was ist der Unterschied?- Es gibt einen
Bericht zu diesem Thema
im Rahmen von Yandex Data & Science . Die Idee ist, dass die Datenindustrie eine ganze Reihe sich überschneidender Berufe hervorgebracht hat. Gleichzeitig interpretieren verschiedene Unternehmen sie unterschiedlich. Data Scientist und MLE sind nur ein Beispiel dafür.
Es wird angenommen, dass ein Datenwissenschaftler möglicherweise keinen Produktionscode schreiben kann, sondern Theorien (z. B. wissenschaftliche Artikel) erstellen oder anpassen und Modelle erstellen muss. Tatsächlich beschäftigen sich ML-Ingenieure - professionelle Programmierer, die weniger mit dem theoretischen Teil als vielmehr mit dem Engineering beschäftigt sind - mit dem Code selbst.
Diese Trennung funktioniert beispielsweise in Google hervorragend. Natürlich gibt es starke Doktoranden, die streng genommen vielleicht gar nicht programmieren, aber theoretisch stark sind. Und es gibt hochkarätige Programmierer, die Prototypen dieser Doktorarbeiten in wunderschönen Code verpacken. Wenn wir jedoch über kleine Teams wie unser oder sogar Yandex-Teams sprechen, bleibt keine Zeit für reine Forschung von Grund auf neu, aber es besteht die Möglichkeit, die Ergebnisse der Forschung anderer (in Form von Artikeln oder Code) zu nutzen und Kampfcode basierend auf diesen Artikeln zu schreiben.
Persönlich glaube ich nicht an den praktischen Wert eines Datenwissenschaftlers, der keinen Code schreibt - es ist der Code, der das Ergebnis der Arbeit eines Rechenzentrums ist. Wenn Sie den Code nicht schreiben, sind Sie höchstwahrscheinlich ein Datenanalyst. Das ist auch nicht schlecht, aber es ist eine andere Spezialisierung. Übrigens verkaufen viele Unternehmen Data Analytics Sauce nur Analytics. Weil der Analytiker exzellent und gelangweilt ist und der Datenwissenschaftler „der sexieste Beruf des 21. Jahrhunderts“ ist.
Also bin ich für den ML Engineer.
- Was sind deine Gedanken und Pläne für die Zukunft? Wo möchten Sie in einem professionellen und geografischen (und plötzlich!) Plan umziehen?- Wir, RnD Lab, haben allgemein als datenwissenschaftliche Beratung begonnen. Aber sie erkannten schnell, dass es unmöglich war, alles auf einmal effektiv zu machen, es war notwendig, sich zu konzentrieren. Jetzt konzentrieren wir uns auf Computer-Vision-Projekte wie unser Projekt zur Anerkennung der Lebensmittelqualität. Stellen Sie sich vor, Sie sehen ein Fußballspiel in 3D auf Ihrem Schreibtisch. Stellen Sie sich vor, Sie als Besitzer eines großen Geschäfts sehen alle Diebstähle aus Schaufenstern. Stellen Sie sich vor, Ihre alten Schwarzweiß-Papierfotos können in Farbe umgewandelt und mit Details versehen werden. Wir sind an solchen Projekten beteiligt. Derzeit befinden sich zwei neue, unglaublich interessante Projekte in der Entwicklung. Ihre Komplexität ist den Projekten in Yandex nicht unterlegen. Wir werden sie nach einer Weile bekannt geben. Jetzt haben wir einen Prototyp erstellt, mit einer sehr hohen Wahrscheinlichkeit werden wir dieses Projekt weiter fortsetzen, der Maßstab dort wird anders sein und wir werden das Team erweitern. Ich werde in erster Linie sowohl Dateningenieure als auch Computer-Vision-Ingenieure brauchen, die den Prototyp aufgreifen und daraus ein System machen. Der Kunde ist großartig cool, das System ist sehr interessant und dies ist eine großartige Gelegenheit, sich als Spezialist zu verbessern. Für jedes Portfolio ist ein solches Projekt einfach großartig!
Daher konzentrieren wir uns auf Computer Vision und seine Anwendung - in AR / VR, GANs, Bild- und Videoerzeugung, Bild- und Videoverbesserung, Videoanalyse - darauf. Und hier verfügen wir bereits über hervorragende Fachkenntnisse und Werkzeuge.
Was die Geographie betrifft: Eines meiner wichtigsten Prinzipien ist die Möglichkeit, von überall aus zu 100% fern zu arbeiten. Keines der großen Unternehmen wird Ihnen dies anbieten. , , ? Basecamp,
. , .
— -:
?-.
— , , ?— , .
— ?— .
— , “, ”.— “, ” , . , , . ZeptoLab: , , , . .
, - . : “ , , 5% : , , , , ...” , , . , , 3 , . , , .
Newprolab 20 9-
« » , data science.