Interviewfrage für Machine Learning Engineer

Jemand anders im Team kann deine Trainingsergebnisse nicht reproduzieren. Was könnte anders sein?

Worauf der Interviewer abzielt, wie du deine Antwort aufbaust und ein gesprochenes Beispiel zum Anpassen.

Kurzantwort

Meist eins von fünf Dingen: der Daten-Snapshot, die Random Seeds, Bibliotheks- und CUDA-Versionen, nichtdeterministische GPU-Kernels oder Hardwareunterschiede im Fließkommaverhalten. Pinn die Daten über einen datierten Snapshot statt einer Live-Abfrage, seede jede Zufallsquelle inklusive der Data-Loader-Worker, containerisiere die Umgebung, und akzeptiere, dass exakte bitweise Determinismus auf der GPU Performance kostet und nicht immer den Kauf wert ist.

Warum Interviewer das fragen

Der Interviewer prüft, ob du Reproduzierbarkeit als Satz konkreter Kontrollen und nicht als Tugend verstehst. Das stärkste Signal ist zu wissen, dass GPU-Reduktionen standardmäßig nichtdeterministisch sind und dass erzwungener Determinismus echte Geschwindigkeit kostet, dazu zu wissen, dass die Daten der häufigste Übeltäter sind, weil sie sich ohne jede Codeänderung unter dir verändern.

So baust du deine Antwort auf

  • Listen die möglichen Ursachen nach Wahrscheinlichkeit auf.
  • Setz den Daten-Snapshot nach vorn, weil er sich still ändert.
  • Deck das Seeden jeder Quelle ab, inklusive Data-Loader-Worker.
  • Erklär GPU-Nichtdeterminismus und die Kosten, ihn zu erzwingen.
  • Sag, welches Maß an Reproduzierbarkeit sich tatsächlich zu bezahlen lohnt.

Beispielantwort

Gesprochenes Beispiel, erste Person

Ich gehe eine Liste durch, das Wahrscheinlichste zuerst. Daten, fast immer. Wenn die Trainingsabfrage eine Live-Tabelle liest, hat sie sich zwischen meinem Lauf und ihrem geändert, und da hilft kein Seeding, also liest das Training einen datierten Snapshot mit festgehaltener Zeilenzahl. Als Nächstes Seeds, und nicht nur der Framework-Seed: Pythons random, NumPy, das Framework und vor allem die Data-Loader-Worker, von denen jeder seinen eigenen Seed braucht, damit auch Shuffling und Augmentation reproduzierbar sind. Dann die Umgebung, weshalb Training in einem Container mit gepinnten Bibliotheks- und CUDA-Versionen läuft statt in dem, was jemand zufällig installiert hat. Danach bist du im GPU-Nichtdeterminismus. Manche Kernels nutzen atomare Akkumulation, die Reihenfolge der Reduktion variiert also von Lauf zu Lauf und du bekommst winzige Fließkommaunterschiede, die sich über tausende Steps aufschaukeln. Du kannst deterministische Algorithmen erzwingen, das schaltet aber die schnellen Kernels ab und ich habe erlebt, dass es zwanzig Prozent oder mehr kostet. Ich frage also, was wir wirklich brauchen. Für eine Debugging-Untersuchung oder ein reguliertes Modell zahle ich für bitweisen Determinismus. Normalerweise brauche ich nur Ergebnisse, die innerhalb des Rauschens übereinstimmen, und das zeige ich, indem ich dieselbe Konfiguration zweimal laufen lasse und die Streuung darstelle.

Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.

So funktioniert es

Nachfragen, mit denen du rechnen solltest

  • Wie würdest du zeigen, dass ein Unterschied innerhalb des Rauschens zwischen Läufen liegt?
  • Welche Framework-Flags erzwingen deterministische Kernels, und was kosten sie?
  • Wie machst du einen verteilten Lauf über eine andere Node-Anzahl reproduzierbar?

Weitere Fragen für Machine Learning Engineer

Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.

Meine Fragen vorhersagen

Üb die harten Fragen, bevor sie gestellt werden

Trainier mit einem Live-Copiloten und geh dann vorbereitet rein. Ein $29 Session Pass bringt dich durch das Vorstellungsgespräch, ohne Abo und ohne Bindung.

GhostPilot holen