KI-Hardware und Software-Stack

Warum steigt die Effizienz der Gesamtverarbeitung bei der Inferenz tendenziell, wenn die Batchgröße (Zahl der gemeinsam verarbeiteten Eingaben) erhöht wird?

  1. AWeil sich bei mehr Eingaben die Zahl der Berechnungen je Eingabe verringert
  2. BWeil sich die Zahl der Gewichte bei größerem Batch verringert
  3. CWeil einmal gelesene Gewichte für die Berechnung mehrerer Eingaben genutzt werden, die arithmetische Intensität steigt und die Recheneinheiten besser ausgelastet werden
Antwort und Erläuterung anzeigen

Antwort: C. Weil einmal gelesene Gewichte für die Berechnung mehrerer Eingaben genutzt werden, die arithmetische Intensität steigt und die Recheneinheiten besser ausgelastet werden

Bei Batchgröße B wird aus dem Produkt der Gewichtsmatrix mit B Vektoren ein Produkt der Gewichtsmatrix mit einer Matrix der Breite B. Das Lesen der Gewichte bleibt gleich, die Rechenarbeit wächst aber um den Faktor B; die arithmetische Intensität steigt daher ebenfalls etwa um B, und die Verarbeitung nähert sich vom speicherbegrenzten dem rechenbegrenzten Bereich. Bei der Inferenz auf Servern wird die GPU effizient genutzt, indem die Anfragen vieler Nutzer gebündelt verarbeitet werden.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu KI-Hardware und Software-Stack

  1. Welcher Nachteil entsteht, wenn die Batchgröße bei der Inferenz zu groß gewählt wird?
  2. Die Inferenz großer Sprachmodelle gliedert sich in eine Phase, in der der Eingabetext gebündelt verarbeitet wird (Prefill), und eine Phase, in der die Ausgabe Token für Token erzeugt wird (Decode). Welche Kombination der jeweils leistungsbestimmenden Größen ist richtig (bei kleinem Batch)?
  3. Welche Aussage zur Rolle des bei der Inferenz großer Sprachmodelle verwendeten KV-Cache ist richtig?
  4. Was wird bei der Inferenz großer Sprachmodelle mit langen Texten oder großen Batches leicht zum Problem?
  5. Ein Modell mit ca. 14 GB Gewichten in FP16 wird auf einer GPU mit 2 TB/s Speicherbandbreite bei Batchgröße 1 dekodiert. Welcher Wert kommt der unteren Grenze der Zeit für die Erzeugung eines Tokens am nächsten?