Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

上下文窗口1.6万token、30亿参数,Stability Al代码大模型来了

现在,代码补全大模型领域又迎来一位「生力军」。
近日,开源了文生图神器 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
理论代码大模型
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

推荐文章
暂无评论
暂无评论~