Jeder Yandex-Dienst basiert größtenteils auf Datenanalyse- und maschinellen Lernmethoden. Sie werden für das Ranking von Websuchergebnissen sowie für die Bildsuche und für die Bildung von Empfehlungsblöcken benötigt. Durch maschinelles Lernen können wir unbemannte Fahrzeuge und Sprachassistenten erstellen, unnötige Ausfallzeiten für Taxifahrer und Wartezeiten für ihre Kunden reduzieren. Alle Anwendungen und nicht Liste!
Daher haben wir immer das Bedürfnis nach Spezialisten für Datenanalyse und maschinelles Lernen. Eine der wichtigsten Phasen eines Interviews in Yandex ist für sie der allgemeine Abschnitt über maschinelles Lernen, auf den ich in diesem Artikel eingehen werde. Ein Beispiel für die Modellaufgabe für diesen Abschnitt und den möglichen Inhalt der Antwort dafür habe ich in einem Video gemacht, das kürzlich auf YouTube verfügbar geworden ist . In diesem Artikel werde ich mehr darüber sprechen, was wir von einem starken Kandidaten in einem solchen Bereich erwarten und warum wir genau solche Kriterien formuliert haben.

1. Yandex Machine Learning Interviews
Ältere und führende Mitarbeiter bei Yandex können Aufgaben, die in geschäftlichen Begriffen formuliert sind, unabhängig in richtig gestellte maschinelle Lernaufgaben umwandeln. die geeigneten Lösungsmethoden auswählen, charakteristische Beschreibungen bilden, den Prozess der Aktualisierung der Modelle und die korrekte Kontrolle ihrer Qualität aufbauen; Vergewissern Sie sich abschließend, dass die resultierenden Lösungen den ursprünglichen Geschäftsanforderungen entsprechen.
Diese Menschen beeinflussen in hohem Maße die // Bildung von // Geschäftsanforderungen: Menschen, die direkt mit Daten arbeiten, wissen weltweit am besten, welche Merkmale von Diensten ihre Popularität und Nützlichkeit beeinflussen, welche Probleme Benutzer zu lösen haben und an welchen Indikatoren es wird beeinflussen.
Unsere besten Mitarbeiter verfügen in der Regel auch über Expertenwissen in bestimmten Bereichen - zum Beispiel in der Bildverarbeitung, beim Erstellen von Sprachmodellen oder bei Modellen für Beratungs- oder Suchdienste.
Wir schätzen unsere Mitarbeiter und ihr Fachwissen sehr und möchten, dass auch externe Kandidaten dieses Niveau erreichen. Um dies zu testen, können ein oder mehrere Abschnitte speziellen Themen gewidmet sein, wie z. B. Computer Vision oder Ranking-Trainingsmethoden. Einer der Abschnitte ist obligatorisch „allgemeinen“ Themen gewidmet: Problemstellung, Bildung der Zielfunktion und des Trainingsmusters, Akzeptanz von Modellen. Es geht jetzt um sie und wird noch besprochen.
Selbstverständlich gilt das gesamte Anforderungsspektrum nur für diejenigen Kandidaten, die sich für Positionen als leitender oder führender Fachmann bewerben. Bewerber, die sich auf mittlere oder Juniorpositionen verlassen, müssen nicht in der Lage sein, all das zu tun. Sie sollten jedoch wissen, dass die relevanten Fähigkeiten für das Karrierewachstum äußerst nützlich sind - sowohl in Yandex als auch in anderen Unternehmen.
Abhängig von den Anforderungen der Einheit kann auch ein Algorithmusabschnitt mit Schreibcode oder sogar ein Architekturabschnitt erforderlich sein.
2. Erklärung des Problems
Daher besteht die Hauptaufgabe des Abschnitts darin, zu überprüfen, inwieweit der Kandidat in der Lage ist, die Aufgabe in ihrer Gesamtheit unabhängig zu bearbeiten, angefangen von der Formulierung bis hin zu Akzeptanzfragen in Benutzerexperimenten.
Der Abschnitt beginnt mit der betriebswirtschaftlichen Darstellung des Problems. Angenommen, Sie müssen möglicherweise einen Dienst erstellen, der in der Nähe befindliche Einrichtungen auffordert, bestimmte Produkte empfiehlt oder Filme oder Musik einordnet, die für Benutzer von Interesse sind.
Sie können zunächst mögliche Anwendungen für die betreffende Aufgabe identifizieren. Wie viele Benutzer wird die resultierende Lösung haben, wer sind sie, warum benötigen sie diese Funktionalität, wie erfahren sie davon? Der Kandidat kann alle diese Fragen stellen oder seine eigene Vorstellung von den Antworten abgeben (die letztere Option ist natürlich vorzuziehen).
Basierend auf den Ursachen der Aufgabe werden Geschäftsmetriken formuliert, und dann eignen sich Metriken zur Optimierung des Lernprozesses oder der Modellauswahl. Ein Indikator für eine extrem hohe Klasse eines Kandidaten ist, wenn die Wahl der Metriken für die Optimierung durch die physikalische Bedeutung des zu lösenden Problems bestimmt wird. Das einfachste Beispiel dieser Art ist die Verwendung von DCG-ähnlichen Metriken für Rangordnungsaufgaben oder AUC-ähnlichen Metriken für einige spezifische Klassifizierungsprobleme.
Hier ist es auch notwendig, auf die Frage der Bildung eines Trainingsmusters einzugehen. Welche Daten werden für die Erstellung benötigt, wie erhält man sie? Was ist eine Veranstaltung für unser Training? Ist eine Probenahme erforderlich? Wenn ja, wie geht das?
3. Methoden des maschinellen Lernens
Nachdem die Aufgabe vollständig formuliert wurde, können Sie mit den Methoden zur Lösung beginnen.
Hier müssen Sie ein Modell auswählen, das die Lösung erstellt, und Ihre Wahl begründen. Es ist erwähnenswert, welche Verlustfunktion beim Erstellen des Modells optimiert wird und warum dies eine gute Wahl für die Optimierung der im vorherigen Absatz erörterten Metriken ist. Es ist auch nützlich, die verwendete Optimierungsmethode zu berücksichtigen.
Der nächste Punkt, der diskutiert werden soll, ist der Merkmalsraum. Ein Klassenspezialist kann in einer neuen Aufgabe sofort mehrere zehn oder sogar Hunderte von Zeichen finden, die zuvor entsprechend den verwendeten Datentypen in mehrere Klassen unterteilt wurden (z. B. können Zeichen nur vom Benutzer abhängen oder sie können vom Paar „Benutzer-Objekt“ abhängen).
Ein zusätzliches Plus ist die Berücksichtigung des Kaltstartproblems. Wenn der Yandex.Taxi-Dienst bereits erstellt wurde, können wir Informationen zu realen Fahrten verwenden, um die Routenberechnung in der Stadt zu optimieren. Wenn bereits eine Yandex-Suchmaschine vorhanden ist, können Sie mithilfe von Benutzeraktionen Signale empfangen, welche Dokumente für Ihre Abfragen relevant sind. Aber was ist, wenn der Dienst noch nicht erstellt wurde und das zu lösende Problem für seine Funktionsfähigkeit von entscheidender Bedeutung ist? In diesem Fall müssen wir einen Weg anbieten, um eine einigermaßen gute Lösung zu finden.
4. Qualitätskontrolle
Wenn die Lösung fertig ist, müssen Sie sicherstellen, dass sie gut genug ist. Wenn der vorherigen Entscheidung eine frühere Entscheidung vorausging, muss man verstehen, ob die neue Lösung besser ist.
Zu diesem Zeitpunkt muss der Kandidat nachweisen, dass er in der Lage ist, Experimente zum Testen relevanter Hypothesen zu formulieren. Hier müssen Sie ein Versuchsmodell auswählen und die statistische Signifikanz der Änderungen testen. Angenommen, es kann sich um ein reguläres A / B-Experiment für Benutzer des Dienstes handeln oder um eine Expertenbewertung der Arbeitsergebnisse. Welche Indikatoren sollten überwacht werden? Was sollte überwacht werden und wie kann die Richtigkeit des Experiments sichergestellt werden?
5. So gelingen Sie in diesem Abschnitt
Das Niveau des Kandidaten wird vollständig dadurch bestimmt, wie selbständig und tief er es geschafft hat, die Lösung der Aufgabe zu formulieren. Ein gut durchgeführter Abschnitt für maschinelles Lernen ist nicht von einem Abschnitt zu unterscheiden, der unseren westlichen Kollegen als ML System Design bekannt ist, und ein schwacher Abschnitt kann wie eine Diskussion über ein spezielles Problem aussehen - beispielsweise die LLH-Optimierung durch lineare Teilungsregeln.
Gleichzeitig wissen wir, dass es bei Problemen mit maschinellem Lernen oft unklar ist, welche Methode funktionieren wird und ob zumindest einige funktionieren werden. Besprechen Sie das Problem daher gerne mit dem Gesprächspartner, als wäre es Ihr Kollege, mit dem Sie sich entschlossen haben, mögliche Lösungen für das Problem zu besprechen, das während der normalen Arbeit aufgetreten ist. Wir fordern nicht, dass die im Abschnitt beschriebene Lösung garantiert gut ist - wir möchten nur, dass sie eine angemessene Begründung hat, damit wir glauben können, dass Sie mit einer solchen Aufgabe unter realen Bedingungen fertig werden.
Zum Beispiel benötigen wir keine gründlichen Kenntnisse verschiedener statistischer Kriterien, aber wir gehen davon aus, dass Sie die Wichtigkeit der korrekten Prüfung von Hypothesen erkennen und qualifiziert sind, diese Methoden bei Bedarf anzuwenden. In ähnlicher Weise erfordert dieser Abschnitt keine detaillierte Beschreibung der Funktionsweise von Methoden des maschinellen Lernens. Wir gehen jedoch davon aus, dass Sie in der Lage sind, bestimmte Modelle für Ihre Aufgaben angemessen auszuwählen.
Gleichzeitig können Sie in die Ihnen bekannten Bereiche eintauchen. Verbringen Sie mehr Zeit in Ihrer Antwort und sprechen Sie weniger darüber, wo Ihr Wissen nicht so tief ist. Wir verstehen, dass es unmöglich ist, in allen Bereichen ein Spezialist zu sein, und legen gleichzeitig Wert auf intellektuelle Ehrlichkeit. Wenn ein Kandidat seine Stärken und Schwächen gut versteht und offen darüber sprechen kann, ist dies ein sehr gutes Zeichen. Darüber hinaus können Sie auf diese Weise die Abschnittszeit effektiv nutzen: Es wird mehr für die Ermittlung der Stärken des Bewerbers aufgewendet.
Abschließend werde ich einige Quellen nennen, die nützlich sein werden, um sowohl Projekte im Zusammenhang mit maschinellem Lernen erfolgreicher zu bearbeiten als auch um sich auf den Abschnitt Maschinelles Lernen vorzubereiten.
Nun, unser YouTube-Video: