Interviewfrage für Machine Learning Engineer

Dein Modell passt nicht mehr auf eine einzelne GPU. Welche Optionen hast du, um das Training zu verteilen?

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

Kurzantwort

Wenn das Modell passt und du nur Durchsatz willst, nimm Data Parallelism: Modell replizieren, Batch aufteilen, Gradienten per All-Reduce zusammenführen. Wenn es nicht passt, shardest du es. Tensor Parallelism teilt einzelne Layer über Geräte, Pipeline Parallelism weist verschiedene Layer verschiedenen Stages zu, und Fully Sharded Data Parallel verteilt Parameter, Gradienten und Optimizer State über die Ranks. Große Läufe kombinieren das meistens.

Warum Interviewer das fragen

Das trennt Kandidaten, die auf einem Cluster trainiert haben, von denen, die nur eine einzelne GPU kennen. Der Interviewer will die Unterscheidung zwischen passt nicht und ist zu langsam, weil das nach verschiedenen Werkzeugen verlangt. FSDP oder ZeRO-artiges Sharding zu nennen und zu verstehen, dass oft der Optimizer State und nicht die Gewichte den Speicher dominieren, ist das Detail, das echte Erfahrung zeigt.

So baust du deine Antwort auf

  • Trenn das Zu-langsam-Problem vom Passt-nicht-Problem.
  • Beschreib Data Parallelism und den All-Reduce-Schritt.
  • Beschreib Tensor- und Pipeline-Sharding in je einer Zeile.
  • Erwähn das Sharding des Optimizer State und wo Kommunikation zum Flaschenhals wird.

Beispielantwort

Gesprochenes Beispiel, erste Person

Erste Frage ist, ob es nicht passt oder ob es nur langsam ist, weil das verschiedene Probleme sind. Wenn es passt, ist Data Parallel der einfache Gewinn: jede GPU hält eine volle Replik, jede nimmt einen Teil des Batches, und du machst All-Reduce über die Gradienten vor dem Step. Das skaliert gut, bis der All-Reduce dein Interconnect sättigt. Wenn es wirklich nicht passt, schaue ich mir zuerst die Speicherzusammensetzung an, denn mit Adam ist der Optimizer State in fp32 grob doppelt so groß wie die Parameterzahl, die Gewichte sind also oft die Minderheit des Footprints. Das zeigt direkt auf Sharded Data Parallel, FSDP oder ZeRO Stage 3, das Parameter, Gradienten und Optimizer State über die Ranks verteilt und sie just in time einsammelt. Das reicht meistens und hält das Programmiermodell einfach. Darüber hinaus gehst du zu Tensor Parallel, splittest also die Matmuls innerhalb eines Layers über Geräte, was schnelles Interconnect braucht, weil pro Layer kommuniziert wird, ich halte es also innerhalb eines Nodes. Pipeline Parallel legt verschiedene Layer auf verschiedene Geräte und du bekämpfst den Bubble-Overhead mit Micro-Batching. Vor all dem probiere ich Gradient Checkpointing und Mixed Precision, weil dich das manchmal allein schon wieder unter das Limit bringt.

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

  • Was kostet dich Gradient Checkpointing an Rechenzeit?
  • Warum will Tensor Parallelism innerhalb eines einzelnen Nodes bleiben?
  • Wie skaliert die Pipeline Bubble mit der Anzahl der Stages?

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