Core Concepts
Große Sprachmodelle haben Schwierigkeiten, komplexen parallelen Code zu generieren, insbesondere für verteilte Speichermodelle und unstrukturierte Probleme.
Abstract
Die Studie untersucht die Fähigkeiten von Großen Sprachmodellen (LLMs), parallelen Code zu generieren. Dafür wurde der ParEval-Benchmark entwickelt, der 420 verschiedene Programmieraufgaben abdeckt, die 12 unterschiedliche Problemtypen und 7 parallele Programmiermodelle testen. Die Leistung der LLMs wurde anhand von Korrektheit (pass@k) und Effizienz (speedup, efficiency) der generierten Lösungen bewertet.
Die Ergebnisse zeigen, dass alle getesteten LLMs, sowohl Open-Source als auch proprietäre Modelle, Schwierigkeiten haben, parallelen Code zu generieren. Das beste Modell, GPT-3.5, erreicht eine pass@1 von 76 für serielle Code-Generierung und 39,6 für parallele Code-Generierung.
LLMs haben die größten Probleme mit MPI-Code-Generierung und schneiden am besten bei OpenMP und Kokkos ab. Außerdem haben sie Schwierigkeiten, parallelen Code für sparse, unstrukturierte Probleme zu generieren.
Die von LLMs generierten parallelen Lösungen zeigen eine schlechte Skalierung und Effizienz. Die LLMs, die am häufigsten korrekten parallelen Code generieren, erzeugen nicht unbedingt die effizientesten parallelen Lösungen.
Stats
Die von den Großen Sprachmodellen generierten parallelen Lösungen zeigen eine durchschnittliche Beschleunigung von nur 1,5x auf 32 Kernen.
Die Effizienz der generierten parallelen Lösungen liegt im Durchschnitt bei nur 0,05 auf 32 Kernen.
Quotes
"Große Sprachmodelle haben Schwierigkeiten, komplexen parallelen Code zu generieren, insbesondere für verteilte Speichermodelle und unstrukturierte Probleme."
"Alle getesteten LLMs, sowohl Open-Source als auch proprietäre Modelle, haben Schwierigkeiten, parallelen Code zu generieren."
"Die von LLMs generierten parallelen Lösungen zeigen eine schlechte Skalierung und Effizienz."