
以文生图模型Stable Diffusion闻名的人工智能公司Stability AI,现在要进军代码开发市场,释出该公司第一个用于程序开发的大型语言模型StableCode,该模型除了可以协助开发者完成日常工作,同时也能帮助开发者学习程序开发。
StableCode模型的训练总共分为三个阶段,最初Stability AI使用来自BigCode项目的stack-dataset v1.2数据集,对基础模型进行多语言训练,接着针对热门程序语言,诸如Python、Go、Java、Javascript、C、markdown和C++进行特化训练,总共使用了5,600亿个Token训练模型。 基础模型建立完成后,官方进一步针对特定用途调校指令模型,以解决复杂的程序开发任务,在基础模型上训练了约12万个Alpaca格式的代码指令和响应数据对。
StableCode模型的特色在于,能够理解和处理长篇幅上下文,也就是模型在做决策时,能够更广泛地考虑前后相邻的数据,也就是具有一次处理更多代码Token的能力,进而提供更精确有用的建议,官方提到,StableCode一次可以处理的代码Token数量,约是32,000到64,000间,用户能够一次处理的文件量, 约是5份一般大小的Python文件。
Stability AI将StableCode与其他类似大小的模型相比,在HumanEval基准pass@1,模型回传的第一个答案正确性,StableCode胜过replit-coder,但是略输BigCode的Starcoder,而比较pass@10,也就是模型所生成的前10个答案中,是否包含正确答案的指标, StableCode则是胜过Starcoder和replit-coder。