Prioritätsbasierte Stichprobenziehung von Large Language Models für Compiler
Priority Sampling of Large Language Models for Compilers
February 28, 2024
Autoren: Dejan Grubisic, Chris Cummins, Volker Seeker, Hugh Leather
cs.AI
Zusammenfassung
Große Sprachmodelle zeigen großes Potenzial bei der Generierung und Optimierung von Code. Weit verbreitete Sampling-Methoden wie Nucleus Sampling erhöhen die Diversität der Generierung, produzieren jedoch häufig wiederholte Samples bei niedrigen Temperaturen und inkohärente Samples bei hohen Temperaturen. Darüber hinaus muss der Temperaturkoeffizient für jede Aufgabe angepasst werden, was seine Nutzbarkeit einschränkt. Wir stellen Priority Sampling vor, eine einfache und deterministische Sampling-Technik, die einzigartige Samples erzeugt, die nach dem Vertrauen des Modells geordnet sind. Jedes neue Sample erweitert den Token mit der höchsten Wahrscheinlichkeit im erweiterten Suchbaum. Zusätzlich unterstützt Priority Sampling die Generierung basierend auf regulären Ausdrücken, was einen kontrollierbaren und strukturierten Explorationsprozess ermöglicht. Priority Sampling übertrifft Nucleus Sampling bei jeder Anzahl von Samples und steigert die Leistung des ursprünglichen Modells von einer Verbesserung von 2,87 % auf 5 % gegenüber -Oz. Darüber hinaus übertrifft es den Autotuner, der für die Generierung von Labels für das Training des ursprünglichen Modells verwendet wird, bereits nach nur 30 Samples.
English
Large language models show great potential in generating and optimizing code.
Widely used sampling methods such as Nucleus Sampling increase the diversity of
generation but often produce repeated samples for low temperatures and
incoherent samples for high temperatures. Furthermore, the temperature
coefficient has to be tuned for each task, limiting its usability. We present
Priority Sampling, a simple and deterministic sampling technique that produces
unique samples ordered by the model's confidence. Each new sample expands the
unexpanded token with the highest probability in the augmented search tree.
Additionally, Priority Sampling supports generation based on regular expression
that provides a controllable and structured exploration process. Priority
Sampling outperforms Nucleus Sampling for any number of samples, boosting the
performance of the original model from 2.87% to 5% improvement over -Oz.
Moreover, it outperforms the autotuner used for the generation of labels for
the training of the original model in just 30 samples.