Stability AI发布新代码模型Stable Code 3B,堪比70亿Code Llama,无需GPU即可运行

2024-01-18

声明:文章来自微信公众号“新智元”(ID:AI_era),作者:新智元,站长之家授权转载发布。

今天,Stability AI 发布了 2024 年的第一个模型 - Stable Code3B。

顾名思义,Stable Code3B 专注于编码能力,实际表现也非常可观。

仅用3B参数,就达到了媲美Code Llama7B的效果。

与 Code Llama7B 相比,Stable Code3B 的大小缩小了 60%,但在多种编程语言中保持了相当的水平。 ,在Python和C++的代码补全方面甚至超越了Code Llama7B。

另外,由于模型只有3B大小,Stable Code3B即使没有独立GPU,也可以在MacBook Air等普通笔记本电脑上实时运行!

有网友调用 Stable Code3B An offline 替代 Copilot 并希望将其与 VS Code 一起使用。

四个小时后,有网友发推称,他已经更新了 VS Code 上的 LLama Coder 插件,支持 最新稳定的 Code3B 模型。

“太棒了!它很小,这意味着它可以在任何硬件上运行并且运行速度非常快。”

插件地址:https://t.co/Mn7onaDpge

虽然名义上叫模型稳定的Code3B,但实际上是一个纯解码器语言模型,参数为2.7B。

除了轻量级模型外,Stable Code3B还支持高达100K的上下文大小,这可以帮助更方便、更准确地编码。

此外,该模型参考了 2023 年 StackOverflow 开发者调查,18 种最流行的编程语言针对这 18 种语言进行了训练,提供了最好相同尺寸模型之间的性能。

  • C

  • CPP

  • Java

  • JavaScript

  • CSS

  • Go

  • HTML

  • Ruby

  • Rust< /p>

  • Markdown

  • Shell

  • Php

  • Sql

  • R

  • 打字稿

  • Python

  • Jupyter-Clean

  • RestructedText

同级别竞品 在模型对比中,Stable Code3B 几乎获得了最佳结果。

目前,Stable Code3B已纳入Stability AI会员大礼包中,只要不涉及商业用途,用户都可以免费使用。

Stable Code3B

Stability AI 将从 2023 年底开始推出尺寸更小但功能更强大的模型,包括文本生成模型例如StableLM Zephyr3B。

Stable Code3B的前身是Stability AI于8月份发布的Stable Code Alpha3B。

Stable Code Alpha3B使用来自的堆栈数据集(v1.2) BigCode 训练基础模型并使用 Python、Go、Java、Javascript、C、Markdown 和 C++ 等流行语言进一步训练(总共 560B 代码标记)。

建立基础模型后开发人员针对特定用例调整了指令模型,并使用了大约 120,000 条 Alpaca 格式的代码指令/响应来训练模型,以提高解决复杂编程任务的能力。

上图为Stable Code Alpha使用Pytorch库完成一个相对复杂的python文件。灰色部分是稳定代码的预测。

参数详细信息:100K 上下文,支持 FIM

256 个 NVIDIA A10040GB GPU(AWS P4d 实例)上的稳定 Code3B 训练为执行于 t他集群,使用ZeRO-1的数据并行性和张量并行性,并依赖FlashAttention和FlashAttention-2的SwiGLU和Rotary Embedding内核。

模型训练过程由类似于 Code Llama 的多阶段过程组成。

第一步是基于使用自然语言数据预训练的StableLM-3B-4e1t(使用4万亿个代币训练),对于许多无监督的精细-代码和代码相关数据集的调优,包括 CommitPack、GitHub Issues、StarCoder 和其他数学数据集。

该模型在上述数据集上使用 bfloat16 进行精确预训练,并使用 AdamW 进行优化。

第二步,使用更长的 16384 个标记序列进一步微调模型。同时,与Code Llama类似,使用了一种称为旋转位置嵌入(RoPE)的技术进行优化,使得上下文大小扩展到100k token。

此外,新的稳定版Code3B模型还支持Flash Attention2。

作为改进版本,Stable Code3B 不仅可以建议新的代码行,还可以填补现有代码中较大的缺失部分 - ——称为中间填充函数(FIM)。

Stable Code3B的模型架构如下表所示:

将旋转位置嵌入应用于前 25% 的头部嵌入,以提高模型的吞吐量;

使用 GPTNeoX Tokenizer 的修改版本 - NeoX,并添加特殊训练中间填充函数的token,例如等特殊token。

在使用BigCode的评估工具测试的多种编程语言的MultiPL-E指标上,Stable Code3B演示了最先进的性能。

在上表中,稳定的 Code3B 比较红色在同等大小的编码模型下,在所有六种编程语言中处于领先地位。

并且与卷Code Llama7B相比,大了2倍多,Stable Code3B也获得了3胜。

Stability表示将发布完整的技术报告,包括更多细节和消融实验。

代码生成之战

当前,AI代码生成工具的市场竞争非常激烈。来自 Meta 的代码 Llama7B 拥有 70 亿个参数,已得到广泛开发。被用户使用。

在30亿参数级别,StarCoder LLM(IBM、HuggingFace和ServiceNow联合开发的开源项目)非常受欢迎。

从测试结果来看你看,这个 Stability AI 模型比 StarCoder 还要好。不知道Stable Code3B会给Stability和市场带来什么变化。

参考资料:

https://stability。 ai/新闻/stable-code-2024-llm-code-completion-release

https://huggingface.co/stabilityai/stable-code-3b

标签:

版权声明

AI导航网内容全部来自网络,版权争议与本站无关,如果您认为侵犯了您的合法权益,请联系我们删除,并向所有持版权者致最深歉意!本站所发布的一切学习教程、软件等资料仅限用于学习体验和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。请自觉下载后24小时内删除,如果您喜欢该资料,请支持正版!