StarCoder 2 и The Stack v2: Следующее поколение
StarCoder 2 and The Stack v2: The Next Generation
February 29, 2024
Авторы: Anton Lozhkov, Raymond Li, Loubna Ben Allal, Federico Cassano, Joel Lamy-Poirier, Nouamane Tazi, Ao Tang, Dmytro Pykhtar, Jiawei Liu, Yuxiang Wei, Tianyang Liu, Max Tian, Denis Kocetkov, Arthur Zucker, Younes Belkada, Zijian Wang, Qian Liu, Dmitry Abulkhanov, Indraneil Paul, Zhuang Li, Wen-Ding Li, Megan Risdal, Jia Li, Jian Zhu, Terry Yue Zhuo, Evgenii Zheltonozhskii, Nii Osae Osae Dade, Wenhao Yu, Lucas Krauß, Naman Jain, Yixuan Su, Xuanli He, Manan Dey, Edoardo Abati, Yekun Chai, Niklas Muennighoff, Xiangru Tang, Muhtasham Oblokulov, Christopher Akiki, Marc Marone, Chenghao Mou, Mayank Mishra, Alex Gu, Binyuan Hui, Tri Dao, Armel Zebaze, Olivier Dehaene, Nicolas Patry, Canwen Xu, Julian McAuley, Han Hu, Torsten Scholak, Sebastien Paquet, Jennifer Robinson, Carolyn Jane Anderson, Nicolas Chapados, Mostofa Patwary, Nima Tajbakhsh, Yacine Jernite, Carlos Muñoz Ferrandis, Lingming Zhang, Sean Hughes, Thomas Wolf, Arjun Guha, Leandro von Werra, Harm de Vries
cs.AI
Аннотация
Проект BigCode, открыто-научное сотрудничество, сосредоточенное на ответственной разработке больших языковых моделей для кода (Code LLMs), представляет StarCoder2. В партнерстве с Software Heritage (SWH) мы строим The Stack v2 на основе цифрового общего доступа к архиву исходного кода. Параллельно с репозиториями SWH, охватывающими 619 языков программирования, мы тщательно выбираем другие источники данных высокого качества, такие как запросы на объединение в GitHub, ноутбуки Kaggle и документацию по коду. Это приводит к обучающему набору данных, в четыре раза превосходящем первый набор данных StarCoder. Мы обучаем модели StarCoder2 с 3 миллиардами, 7 миллиардами и 15 миллиардами параметров на 3,3 до 4,3 триллиона токенов и тщательно оцениваем их на обширном наборе тестов для Code LLM. Мы обнаружили, что наша небольшая модель, StarCoder2-3B, превосходит другие Code LLM схожего размера на большинстве тестов, а также превосходит StarCoderBase-15B. Наша крупная модель, StarCoder2-15B, значительно превосходит другие модели сопоставимого размера. Кроме того, она соответствует или превосходит CodeLlama-34B, модель более чем вдвое большего размера. Хотя DeepSeekCoder-33B является наилучшей моделью для завершения кода на языках с высокими ресурсами, мы обнаружили, что StarCoder2-15B превосходит ее на математических и кодовых тестах, а также на нескольких языках с низкими ресурсами. Мы предоставляем веса модели на условиях лицензии OpenRAIL и обеспечиваем полную прозрачность относительно данных обучения, публикуя постоянные идентификаторы Software Heritage (SWHIDs) исходных данных по коду.
English
The BigCode project, an open-scientific collaboration focused on the
responsible development of Large Language Models for Code (Code LLMs),
introduces StarCoder2. In partnership with Software Heritage (SWH), we build
The Stack v2 on top of the digital commons of their source code archive.
Alongside the SWH repositories spanning 619 programming languages, we carefully
select other high-quality data sources, such as GitHub pull requests, Kaggle
notebooks, and code documentation. This results in a training set that is 4x
larger than the first StarCoder dataset. We train StarCoder2 models with 3B,
7B, and 15B parameters on 3.3 to 4.3 trillion tokens and thoroughly evaluate
them on a comprehensive set of Code LLM benchmarks. We find that our small
model, StarCoder2-3B, outperforms other Code LLMs of similar size on most
benchmarks, and also outperforms StarCoderBase-15B. Our large model,
StarCoder2- 15B, significantly outperforms other models of comparable size. In
addition, it matches or outperforms CodeLlama-34B, a model more than twice its
size. Although DeepSeekCoder- 33B is the best-performing model at code
completion for high-resource languages, we find that StarCoder2-15B outperforms
it on math and code reasoning benchmarks, as well as several low-resource
languages. We make the model weights available under an OpenRAIL license and
ensure full transparency regarding the training data by releasing the SoftWare
Heritage persistent IDentifiers (SWHIDs) of the source code data.