近日,开源了文生图神器 Stable Diffusion 的 Stability Al 又发布了新的大模型 ——StableCode,其首个用于编码的生成式 AI 大模型。Stability Al 对它的描述是「革命性的」。
据介绍,StableCode 旨在帮助程序员处理日常工作,同时为新手开发者提供了一个很好的学习工具,让他们的技能更上一层楼。
官博地址:https://stability.ai/blog/stablecode-llm-generative-ai-coding
对于 StableCode,网友的期许很高,表示真的需要将整个代码库作为上下文的代码大模型。
三大版本:基础、指令、长上下文窗口模型
StableCode 通过三个不同版本的模型来帮助开发者变得更加高效。其中基础模型为「StableCode-Completion-Alpha-3B-4K」,它是一个 30 亿参数的仅使用解码器的代码补全模型。
该基础模型在来自 BigCode stack 数据集的各种编程语言上进行了预训练,并对 Python、Go、Java、Javascript、C、markdown 和 C++ 等流行编程语言进行了针对性训练。总的来说,StableCode 在 HPC 集群上进行 5600 亿 token 代码的训练。
这里的 BigCode 是 2022 年 9 月 HuggingFace 与 ServiceNow Research 联合发起的一个代码大模型项目,旨在围绕 AI 代码生成工具建立一个开放社区并开发大语言模型代码。
Huggingface:https://huggingface.co/stabilityai/stablecode-completion-alpha-3b-4k
在基础模型的基础上,针对特定用例进行调整的指令模型「StableCode-Instruct-Alpha-3B」帮助解决复杂的编程任务。该模型同样是 30 亿参数的仅使用解码器的指令调整代码模型,在 stackoverflow 开发者调查报告中排名靠前的编程语言上进行了预训练。
同时在基础模型上对 Alpaca 格式的约 12 万个代码指令 - 响应对进行了训练。下图为使用 StableCode 指令模型为给定指令生成响应的代码示例。
Huggingface 地址:https://huggingface.co/stabilityai/stablecode-instruct-alpha-3b
对于想要学习更多编码技能的人来说,StableCode 是理想的构建块。长上下文窗口模型「StableCode-Completion-Alpha-3B」可称得上完美的助手,确保用户使用单行和多行自动代码补全建议。
该模型也是 30 亿参数的仅使用解码器的代码补全模型,在 2023 年 stackoverflow 开发者调查报告中最多使用的编程语言上进行了预训练。
与以往发布的开源模型相比,该模型的上下文窗口达到了 16000 token(比任何其他模型都大),一次性可以处理的代码更多,是以往的 2-4 倍。这使得用户可以查看或编辑五个中等大小的 Python 文件,成为新手的理想学习工具。
如下图所示,StableCode 利用 Pytorch 深度学习库补全了一个比较复杂的 Python 文件,其中灰色代码为 StableCode 的预测结果。
Huggingface 地址:https://huggingface.co/stabilityai/stablecode-completion-alpha-3b
同级别模型比较结果
下表为 StableCode 三个版本模型的基准分数。
StableCode 还与类似参数量和 token 数量的同级别模型(30 亿参数)进行比较,其中在流行的 HumanEval 基准上使用了 pass@1 和 pass@10 指标。
从下图可以看到,在与 replit-coder(AI 编程独角兽 Replit 推出)、starcoderbase 的比较中,StableCode 的 pass@1 强于 replit-coder 弱于 starcoderbase、pass@10 强于两者。
原文链接:https://stability.ai/blog/stablecode-llm-generative-ai-coding