about
Priority Sampling of Large Language Models for Compilers (arxiv.org)
1 point by PaulHoule on Mar 5, 2024 | hide | past | pdf | discuss on HN

In plain words: Instead of randomly picking code tokens with a tuned temperature, this always expands the most likely next token it hasn't tried yet, giving a ranked list of unique candidates. It beat the autotuner that labeled the model's training data after just 30 samples.

Abstract

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.

Dejan Grubisic, Chris Cummins, Volker Seeker, Hugh Leather
arXiv:2402.18734 · cs.LG, cs.CL, cs.PF · submitted Feb 28, 2024
abstract · pdf · html

add comment on HN