Interviewfrage für Machine Learning Engineer

Was ist Mixed Precision Training, und was kann dabei schiefgehen?

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

Kurzantwort

Mixed Precision führt die meisten Operationen in 16 Bit aus (fp16 oder bf16), während eine Master-Kopie der Gewichte und bestimmte Reduktionen in fp32 bleiben. Das halbiert den Speicher ungefähr und nutzt Tensor Cores, ist also deutlich schneller. Das Risiko bei fp16 ist Underflow: kleine Gradienten runden auf null, deshalb gibt es Loss Scaling. bf16 behält den Exponentenbereich von fp32 und vermeidet das weitgehend.

Warum Interviewer das fragen

Fast jeder ernsthafte Trainingslauf nutzt es, Interviewer erwarten also mehr als den Namen. Wertvoll ist zu wissen, warum fp16 Loss Scaling braucht und bf16 nicht, wofür du den Unterschied zwischen Range und Präzision in Fließkomma verstehen musst. Zu erwähnen, dass du Master-Weights und Softmax- oder Norm-Reduktionen in fp32 hältst, zeigt, dass du weißt, wo die Numerik tatsächlich kippt.

So baust du deine Antwort auf

  • Sag, was in niedriger Präzision läuft und was in fp32 bleibt.
  • Nenn den Speicher- und Geschwindigkeitsgewinn konkret.
  • Erklär fp16-Underflow und dynamisches Loss Scaling.
  • Stell bf16-Range gegen fp16-Präzision und nenn deinen Default.

Beispielantwort

Gesprochenes Beispiel, erste Person

Du hältst eine Master-Kopie der Gewichte in fp32, lässt Forward und Backward aber in 16 Bit laufen, Aktivierungen und Gradienten sind also halb so groß und die Matmuls landen auf den Tensor Cores. Praktisch ist das grob der halbe Speicher und oft fast der doppelte Durchsatz, was der Unterschied sein kann, ob ein Lauf auf deine Hardware passt oder nicht. Der klassische Fehlerfall ist fp16-Underflow. fp16 hat nur fünf Exponentenbits, sehr kleine Gradienten fallen also auf null, und kleine Gradienten sind genau die, die spät im Training zählen. Genau das behebt dynamisches Loss Scaling: den Loss vor dem Backward mit einem großen Faktor multiplizieren, damit die Gradienten im darstellbaren Bereich landen, vor dem Optimizer-Step wieder herunterskalieren, und den Faktor reduzieren, sobald du Unendlichkeiten siehst. bf16 behält acht Exponentenbits, denselben Bereich wie fp32, und bezahlt dafür mit weniger Mantissenbits, es läuft also viel seltener in Underflow und braucht in der Regel gar kein Loss Scaling. Mein Default ist inzwischen bf16 auf allem ab Ampere. Und ich halte Reduktionen wie Softmax, Layer Norm und den Loss selbst in fp32, weil das Summieren tausender Terme in 16 Bit schnell an Genauigkeit verliert.

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

  • Warum tauscht bf16 Mantissenbits gegen Exponentenbits, und wann tut das weh?
  • Welche Symptome würden dir sagen, dass Loss Scaling falsch konfiguriert ist?
  • Ändert Mixed Precision deine Wahl der Learning Rate?

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