Redian新闻
>
大佬出走后首个发布!Stability官宣代码模型Stable Code Instruct 3B

大佬出走后首个发布!Stability官宣代码模型Stable Code Instruct 3B

公众号新闻



  新智元报道  

编辑:alan 好困
【新智元导读】Stability AI在大佬出走后似乎并未受到影响,最近又官宣了新的代码模型Stable Code Instruct 3B,在之前的基础上更进一步,干掉了所有同级竞品,甚至能和7B、15B的模型掰手腕。

大佬出走后,第一个模型来了!

就在今天,Stability AI官宣了新的代码模型Stable Code Instruct 3B。

要说Stability也是真的很神奇,首席执行官辞职了,Stable Diffusion其中几位作者也离开了,投资公司出了点故障,自己的工资也可能要发不起了,

——但是,楼外风雨飘摇,实验室里岿然不动,研究该做做,论文该发发,模型该调调,大模型各领域的战争是一个没落下。

而且不仅仅是铺开摊子搞全面战争,每项研究也都在不断前进,比如今天的Stable Code Instruct 3B就是在之前的Stable Code 3B的基础上做了指令调优:

论文地址:https://static1.squarespace.com/static/6213c340453c3f502425776e/t/6601c5713150412edcd56f8e/1711392114564/Stable_Code_TechReport_release.pdf

通过自然语言提示,Stable Code Instruct 3B可以处理各种任务,例如代码生成、数学和其他与软件开发相关的查询。

同阶无敌,越级强杀

Stable Code Instruct 3B在同等参数量的模型中,做到了当前的SOTA,甚至优于比自己大两倍多的CodeLlama 7B Instruct等模型,并且在软件工程相关任务中的表现与StarChat 15B相当。

从上图可以看出,与Codellama 7B Instruct和DeepSeek-Coder Instruct 1.3B等领先模型相比,Stable Code Instruct 3B在一系列编码任务中性能优异。

测试表明,Stable Code Instruct 3B在代码完成准确性、对自然语言指令的理解、以及跨不同编程语言的多功能性方面,都能够打平甚至超越竞争对手。

Stable Code Instruct 3B根据Stack Overflow 2023开发者调查的结果,将训练专注于 Python、Javascript、Java、C、C++和Go等编程语言。

上图使用Multi-PL基准测试,比较了三个模型以各种编程语言生成输出的强度。可以发现Stable Code Instruct 3B在所有语言中都明显优于CodeLlama,并且参数量还少了一半多。

除了上述的热门编程语言,Stable Code Instruct 3B还包括对其他语言(如SQL、PHP和Rust)的训练,并且即使在没有经过训练的的语言(如Lua)中,也能提供强大的测试性能。

Stable Code Instruct 3B不仅精通代码生成,还精通FIM(代码中间填充)任务、数据库查询、代码翻译、解释和创建。

通过指令调优,模型能够理解细微的指令并采取行动,促进了除了简单代码完成之外的广泛编码任务,比如数学理解、逻辑推理和处理软件开发的复杂技术。

模型下载:https://huggingface.co/stabilityai/stable-code-instruct-3b

Stable Code Instruct 3B现在可以通过Stability AI会员资格,用于商业目的。对于非商业用途,可以在Hugging Face上下载模型重量和代码。

技术细节

模型架构

Stable Code建立在Stable LM 3B之上,是一个decoder-only Transformer结构,设计类似于LLaMA。下表是一些关键的结构信息:

与LLaMA的主要区别包括:

位置嵌入:在头部嵌入的前25%使用旋转位置嵌入,以提高后续的吞吐量。

正则化:使用带学习偏差项的LayerNorm,而非RMSNorm。

偏置项:删除了前馈网络和多头自注意力层中所有的偏置项,除了KQV的。

使用与Stable LM 3B模型相同的分词器(BPE),大小为50,257;另外还参照了StarCoder的特殊标记,包括用于指示文件名称、存储库的星数、中间填充(FIM)等。

对于长上下文训练,使用特殊标记来指示两个串联文件何时属于同一存储库。

训练过程

训练数据

预训练数据集收集了各种可公开访问的大规模数据源,包括代码存储库、技术文档(如readthedocs)、以数学为重点的文本,和大量Web数据集。

初始预训练阶段的主要目标是学习丰富的内部表示,以显著提高模型在数学理解、逻辑推理、和处理软件开发相关复杂技术文本方面的能力。

此外,训练数据还包含通用文本数据集,以便为模型提供更广泛的语言知识和上下文,最终使模型能够以对话方式处理更广泛的查询和任务。

下表展示了预训练语料库的数据源、类别和采样权重等,其中代码和自然语言数据的比例为80:20。

另外,研究人员还引入了一个小型合成数据集,数据由CodeAlpacadataset的种子提示合成生成,包含174,000个提示。

并且参照WizardLM的方式,逐步增加给定种子提示的复杂性,又额外获得了100,000个提示。

作者认为,在预训练阶段早期引入这些合成数据有助于模型更好地响应自然语言文本。

长上下文数据集

由于存储库中多个文件通常相互依赖,因此上下文长度对于编码模型很重要。

研究人员估计了软件存储库中token的中位数和平均数分别为12k和18k,因此选择16,384作为上下文长度。

接下来就是创建一个长上下文数据集,研究人员在存储库中获取了一些热门语言编写的文件并将它们组合在一起,在每个文件之间插入一个特殊的标记,以保持分离,同时保留内容流。

为了规避因文件的固定顺序而可能产生的任何潜在偏差,作者采用了一种随机策略。对于每个存储库,生成两个不同的连接文件顺序。

分阶段训练

Stable Code使用32个Amazon P4d实例进行训练,包含256个NVIDIA A100(40GB HBM2)GPU,并使用ZeRO进行分布式优化。

这里采用了一种分阶段的训练方法,如上图所示。

训练按照标准的自回归序列建模预测下一个标记。使用Stable LM 3B的checkpoint初始化模型,第一阶段训练的上下文长度为4096,然后进行持续的预训练。

训练以BFloat16混合精度执行,all-reduce时采用FP32。AdamW 优化器设置为:β1=0.9,β2=0.95,ε=1e−6,λ(权重衰减)=0.1。从学习率=3.2e-4开始,设置最小学习率为3.2e-5,使用余弦衰减。

自然语言模型训练的核心假设之一是从左到右的因果顺序,不过对于代码来说,这种假设并不总是成立(例如,函数调用和函数声明对于许多函数来说可以是任意顺序的)。

为了解决这个问题,研究人员使用了FIM(中间填充)。将文档随机拆分为三个段:前缀、中间段和后缀,然后将中间段移动到文档的末尾。重新排列后,遵循相同的自回归训练过程。

指令微调

在预训练之后,作者通过微调阶段进一步提高模型的对话技能,该阶段包括监督微调(SFT)和直接偏好优化(DPO)。

首先使用在Hugging Face上公开可用的数据集进行SFT微调:包括OpenHermes,Code Feedback,CodeAlpaca。

在执行精确匹配重复数据删除后,三个数据集总共提供了大约500000个训练样本。

使用余弦学习速率调度器控制训练过程,并将全局批处理大小设置为512,将输入打包到长度不超过4096的序列中。

在SFT之后,开始DPO阶段,利用来自UltraFeedback的数据,策划了一个包含大约7,000个样本的数据集。此外,为了提高模型的安全性,作者还纳入了Helpful and Harmless RLFH数据集。

研究人员采用RMSProp作为优化算法,DPO训练的初始阶段将学习率提高到5e-7的峰值。

性能测试

下面比较模型在代码完成任务上的性能,使用Multi-PL基准来评估模型。

Stable Code Base

下表显示了在Multi-PL上,大小为3B参数及以下的不同代码模型的性能。

尽管Stable Code的参数量分别不到Code Llama和StarCoder 15B的40%和20%,但模型在各种编程语言中的平均性能与它们持平。

Stable Code Instruct

下表在Multi-PL基准测试中,评估了几个模型的instruct微调版本。

SQL Performance

代码语言模型的一个重要应用是数据库查询任务。在这个领域,将Stable Code Instruct的性能与其他流行的指令调优模型,和专门为SQL训练的模型进行比较。这里使用Defog AI创建的基准。

推理性能

下表给出了在消费级设备和相应的系统环境中运行Stable Code时的吞吐量和功耗。

结果表明,当采用较低的精度时,吞吐量增加了近两倍。但需要注意的是,实施较低精度的量化可能会导致模型性能有所下降(可能很大)。

参考资料:
https://stability.ai/news/introducing-stable-code-instruct-3b



微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
突发!Stable Diffusion老板也跑了!核心研发已集体辞职,已经unstable了...北美产品经理模拟面试:领英PM小戴带你提升Product sense|本周五直播!Stability AI开源3B代码生成模型:可补全,还能Debug先生的头像GPT-4绝对性能暴涨74.4%!UIUC苹果华人团队提出CodeAct,用Python代码统一LLM智能体行动今日arXiv最热NLP大模型论文:Github万星!北航发布零代码大模型微调平台LlamaFactory一幅我画的素描Ansible你快点:Ansible执行过程分析、异步、效率优化无需OpenAI数据,跻身代码大模型榜单!UIUC发布StarCoder-15B-InstructRust 生态纯属炒作?3 年写了 10 万行代码的开发者吐槽:当初用 Rust 是被忽悠了硅谷恐慌:Open AI发布全新视频模型Sora!现实,不存在了香港大佬出手!一大批港漂纷纷入场!!AI早知道|元象开源首个多模态大模型XVERSE-V;信通院发布国内首个汽车大模型标准AI也造代码屎山!研究发现GitHub Copilot代码可维护性差,偏爱“无脑重写”而非重构复用已有代码看“单亲妈”系列有感,家有儿女的必读ISSTA 2024 | 北大提出CoderUJB,面向代码大模型的可执行多任务代码评估基准揭示真实能力与局限总部位于西雅图的Nordstrom传奇掌门人Bruce Nordstrom去世,享年90岁伦敦有岗!应届年薪280w,金融圈唯一逆势扩招的大佬出现了今日arXiv最热NLP大模型论文:斯坦福发布法律指令数据集LawInstruct,统一17个辖区24种语言应届年薪280w美金,金融圈唯一逆势扩招的大佬出现了7033 血壮山河之枣宜会战 “扑朔迷离”南瓜店 10Ansible 你快点:Ansible 执行过程分析、异步、效率优化蔚来第二品牌乐道将发布;腾讯连推两款新社交产品轻团、N1;多品牌官宣代言人... | 刀法品牌热讯AI初创集体跳槽OpenAI,Ilya出走后安全团队重整旗鼓!On the Table at Two Sessions: Paid Leave, AI, and Education Bias纯加法Transformer!结合脉冲神经网络和Transformer的脉冲Transformer | NeurIPS 2023相请不如偶遇晋江大佬出海,要IPO了Sustainable Fashion & Lifestyle Seminar in Singapore, May 17集体出走的Stability AI 发布全新代码大模型,3B以下性能最优,超越Code Llama和DeepSeek-CoderAI早知道|Stability AI发布最新代码模型;国内首个AI综艺导演亮相;英特尔商用客户端AI PC产品发布拼多多2023年营收增长90%;原阿里CEO张勇加盟晨壹基金;多品牌官宣代言人... | 刀法品牌热讯应届年薪280w,金融圈唯一逆势扩招的大佬出现了Nordstrom传奇掌门人Bruce Nordstrom去世,享年90岁曝小扎写信“挖角”DeepMind;我国10亿级参数大模型超百个;Stability AI开源代码生成模型丨AIGC大事日报
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。