一句话:发布面向 Java 方法的类 GPT2 语言模型及训练/测试去重工具包,支持低成本可复现研究。
现有代码语言模型常缺少面向研究者的可搜索训练集、去重测试集与低成本复现基础设施,使 Java 子程序、语句或变量粒度的研究难以评估比较。本文以工具演示形式提出一个 Java 源代码语言模型研究工具包,采用类 GPT2 架构,参数量 350m。训练集包括 5200 万个 Java 方法和 1300 万个 StackOverflow 线程,分别为 90 亿和 105 亿 token。工具包还提供留出的 Java 方法测试集,包含描述性注释及完整 Java 项目,并提供基于预计算哈希表、支持多种相似度阈值的去重工具,便于研究者确保测试样例未出现在训练集中。该工具将本地资源需求限制为 16GB 显存 GPU,并在 Huggingface 与 Github 开源。
This tool demonstration presents a research toolkit for a language model of Java source code. The target audience includes researchers studying problems at the granularity level of subroutines, statements, or variables in Java. In contrast to many existing language models, we prioritize features for researchers including an open and easily-searchable training set, a held out test set with different levels of deduplication from the training set, infrastructure for deduplicating new examples, and an implementation platform suitable for execution on equipment accessible to a relatively modest budget. Our model is a GPT2-like architecture with 350m parameters. Our training set includes 52m Java methods (9b tokens) and 13m StackOverflow threads (10.5b tokens). To improve accessibility of research to more members of the community, we limit local resource requirements to GPUs with 16GB video memory. We provide a test set of held out Java methods that include descriptive comments, including the entire Java projects for those methods. We also provide deduplication tools using precomputed hash tables at various similarity thresholds to help researchers ensure that their own test examples are not in the training set. We make all our tools and data open source and available via Huggingface and Github.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2305-08286,
title = {A Language Model of Java Methods with Train/Test Deduplication},
author = {Chia-Yi Su and Aakash Bansal and Vijayanta Jain and Sepideh Ghanavati and Collin McMillan},
booktitle = {FSE},
year = {2023},
doi = {10.1145/3611643.3613090}
}