Large Language Models (LLMs) trained on code are revolutionizing the software development process. Increasingly, code LLMs are being integrated into software development environments to improve the productivity of human programmers, and LLM-based agents are beginning to show promise for handling complex tasks autonomously. Realizing the full potential of code LLMs requires a wide range of capabilities, including code generation, fixing bugs, explaining and documenting code, maintaining repositories, and more. In this work, we introduce the Granite series of decoder-only code models for code generative tasks, trained with code written in 116 programming languages. The Granite Code models family consists of models ranging in size from 3 to 34 billion parameters, suitable for applications ranging from complex application modernization tasks to on-device memory-constrained use cases. Evaluation on a comprehensive set of tasks demonstrates that Granite Code models consistently reaches state-of-the-art performance among available open-source code LLMs. The Granite Code model family was optimized for enterprise software development workflows and performs well across a range of coding tasks (e.g. code generation, fixing and explanation), making it a versatile all around code model. We release all our Granite Code models under an Apache 2.0 license for both research and commercial use.
翻译:基于代码训练的大型语言模型正在彻底改变软件开发流程。代码大语言模型正逐渐集成到开发环境中以提升程序员生产力,而基于大语言模型的智能体已展现出处理复杂自主任务的潜力。要充分发挥代码大语言模型的潜力,需要涵盖代码生成、缺陷修复、代码解释与文档化、代码库维护等多维能力。本文提出面向代码生成任务的Granite系列纯解码器模型,该模型使用116种编程语言编写的代码进行训练。Granite代码模型家族包含参数规模从30亿到340亿不等的多个模型,适用于从复杂应用现代化改造到内存受限设备端部署等多样化场景。在综合任务评估中,Granite代码模型持续展现出当前开源代码大语言模型中的最优性能。该模型家族针对企业级软件开发工作流进行了优化,在代码生成、修复与解释等多项编码任务上表现优异,成为全能型通用代码模型。我们以Apache 2.0开源协议发布所有Granite代码模型,支持研究及商业用途。