Distilled GPT for Source Code Summarization
This addresses privacy concerns for organizations in software development by providing a local alternative to large language models for code summarization.
The paper tackles the problem of generating source code summaries without sending code to third-party APIs by training a small, open-source model using GPT-3.5 outputs via knowledge distillation, achieving performance that mimics GPT-3.5 on this task.
A code summary is a brief natural language description of source code. Summaries are usually only a single sentence long, and yet form the backbone of developer documentation. A short descriptions such as "changes all visible polygons to the color blue" can give a programmer a high-level idea of what code does without the effort of reading the code itself. Recently, products based on Large Language Models such as ChatGPT have demonstrated a strong ability to write these descriptions automatically. However, to use these tools, programmers must send their code to untrusted third parties for processing (e.g., via an API call). This loss of custody is not acceptable to many organizations. In this paper, we present an alternative: we train an open source model using sample output generated by GPT-3.5 in a process related to knowledge distillation. Our model is small enough (350m parameters) to be run on a single 16gb GPU, yet we show in our evaluation that it is large enough to mimic GPT-3.5 on this task.