ChatPaper.aiChatPaper

Законы масштабирования для кода: значение каждого языка программирования

Scaling Laws for Code: Every Programming Language Matters

December 15, 2025
Авторы: Jian Yang, Shawn Guo, Lin Jing, Wei Zhang, Aishan Liu, Chuan Hao, Zhoujun Li, Wayne Xin Zhao, Xianglong Liu, Weifeng Lv, Bryan Dai
cs.AI

Аннотация

Крупные языковые модели для программирования (Code LLMs) обладают высокой мощностью, но их обучение требует значительных затрат, при этом законы масштабирования предсказывают производительность на основе размера модели, объема данных и вычислительных ресурсов. Однако различные языки программирования (ЯП) оказывают неодинаковое влияние на этапе предварительного обучения, что существенно сказывается на производительности базовой модели и приводит к неточному прогнозированию результатов. Кроме того, существующие исследования сосредоточены на языково-независимых подходах, игнорируя изначально мультиязыковую природу современной разработки программного обеспечения. Следовательно, необходимо сначала изучить законы масштабирования для разных ЯП, а затем учесть их взаимное влияние для выведения итогового мультиязыкового закона масштабирования. В данной статье представлено первое систематическое исследование законов масштабирования для мультиязыкового предварительного обучения моделей программирования, включающее проведение более 1000 экспериментов (эквивалентно 336 000+ часов работы на H800) с использованием множества ЯП, размеров моделей (от 0,2 до 14 млрд параметров) и объемов данных (1 трлн токенов). Мы устанавливаем всеобъемлющие законы масштабирования для кодогенерирующих LLM при работе с несколькими ЯП, выявляя, что интерпретируемые языки (например, Python) получают больше преимуществ от увеличения размера модели и объема данных, чем компилируемые языки (например, Rust). Исследование демонстрирует, что мультиязыковое предварительное обучение обеспечивает синергетический эффект, особенно между синтаксически схожими ЯП. Более того, стратегия предварительного обучения с использованием параллельных пар (конкатенация фрагментов кода с их переводами) значительно улучшает кросс-лингвистические способности с благоприятными свойствами масштабирования. Наконец, предлагается пропорционально-зависимый мультиязыковой закон масштабирования, который оптимально распределяет учебные токены за счет приоритизации высокоэффективных ЯП (например, Python), балансировки высокосинергетических пар (например, JavaScript-TypeScript) и сокращения выделения ресурсов быстронасыщаемым языкам (Rust), что позволяет достичь превосходной средней производительности по всем ЯП по сравнению с равномерным распределением при том же вычислительном бюджете.
English
Code large language models (Code LLMs) are powerful but costly to train, with scaling laws predicting performance from model size, data, and compute. However, different programming languages (PLs) have varying impacts during pre-training that significantly affect base model performance, leading to inaccurate performance prediction. Besides, existing works focus on language-agnostic settings, neglecting the inherently multilingual nature of modern software development. Therefore, it is first necessary to investigate the scaling laws of different PLs, and then consider their mutual influences to arrive at the final multilingual scaling law. In this paper, we present the first systematic exploration of scaling laws for multilingual code pre-training, conducting over 1000+ experiments (Equivalent to 336,000+ H800 hours) across multiple PLs, model sizes (0.2B to 14B parameters), and dataset sizes (1T tokens). We establish comprehensive scaling laws for code LLMs across multiple PLs, revealing that interpreted languages (e.g., Python) benefit more from increased model size and data than compiled languages (e.g., Rust). The study demonstrates that multilingual pre-training provides synergistic benefits, particularly between syntactically similar PLs. Further, the pre-training strategy of the parallel pairing (concatenating code snippets with their translations) significantly enhances cross-lingual abilities with favorable scaling properties. Finally, a proportion-dependent multilingual scaling law is proposed to optimally allocate training tokens by prioritizing high-utility PLs (e.g., Python), balancing high-synergy pairs (e.g., JavaScript-TypeScript), and reducing allocation to fast-saturating languages (Rust), achieving superior average performance across all PLs compared to uniform distribution under the same compute budget.
PDF51December 25, 2025