有哪些做问卷调查的网站好,在哪给人做网站,wordpress编辑颜色,免费推广平台网站Stability AI又有新动作#xff01;程序员又有危机了#xff1f; 3月26日#xff0c;Stability AI推出了先进的代码语言模型Stable Code Instruct 3B#xff0c;该模型是在Stable Code 3B的基础上进行指令调优的Code LM。 Stability AI 表示#xff0c;Stable Code Instru…Stability AI又有新动作程序员又有危机了 3月26日Stability AI推出了先进的代码语言模型Stable Code Instruct 3B该模型是在Stable Code 3B的基础上进行指令调优的Code LM。 Stability AI 表示Stable Code Instruct 3B 在代码完成准确性、对自然语言指令的理解以及处理多种编程语言方面都优于同类模型在 3B 规模下提供最先进的性能并且性能媲美Codellama 7B Instruct以及DeepSeek-Coder Instruct 1.3B
GPT-3.5研究测试
https://hujiaoai.cn
GPT-4研究测试
https://higpt4.cn 先让我们来感受一下Stable Code Instruct 3B的效果吧~ 在线试用 https://huggingface.co/spaces/stabilityai/stable-code-instruct-3bHugging Face地址 https://huggingface.co/stabilityai/stable-code-instruct-3b技术报告 https://static1.squarespace.com/static/6213c340453c3f502425776e/t/6601c5713150412edcd56f8e/1711392114564/Stable_Code_TechReport_release.pdf 从效果图以及Stability AI的介绍可以看出Stable Code Instruct 3B有以下几个功能特点 自然语言理解 Stable Code Instruct 3B可以理解以自然语言为主的编程指令并有效执行生成高质量代码。 支持多种编程语言 Stable Code Instruct 3B不仅支持Python、Javascript、Java、C、C和Go等语言还支持其他广泛采用的语言如SQL、PHP和Rust 多样化编程任务Stable Code Instruct 3B不仅精通代码生成还擅长FIM填充中间任务、数据库查询、代码翻译、解释和创作。 更强的代码理解能力Stable Code Instruct 3B在训练集最初未包括的语言如Lua中也能够表现出较强的测试性能。这种熟练程度可能源于其对底层编码原理的理解。
让我们再来看看Stable Code Instruct 3B的实现方法吧~
方法
训练数据
Stable Code Instruct收集了一系列公开访问的大规模数据源。这些来源包括广泛的代码库、广泛的技术文档集合例如readthedocs、以数学为重点的文本和全面的网络数据集,以在预训练阶段学习丰富的内部表达超越单纯的代码理解。模型旨在显著提升在数学理解、逻辑推理和处理软件开发相关的复杂技术文本方面的能力。 模型架构
Stable Code是建立在Stable LM 3B基础上构建的并且该模型是一个causal decoder-only transformer架构上与Llama类似但和Llama有以下几点区别 位置嵌入采用了旋转位置嵌入Rotary Position Embeddings应用于头嵌入维度的前25%以提高吞吐量 归一化方法使用了具有学习偏置项的LayerNorm进行归一化处理而不是采用RMSNorm 偏置调整除了键、查询和值投影的偏差Stable Code 从前馈网络和多头自注意力层中删除了所有偏差项
模型训练 计算基础设施和设置 Stable Code在32个Amazon P4d实例上进行训练包含256个NVIDIA A100 (40GB HBM2) GPUs。采用ZeRO阶段1的分布式优化方法消除了对模型分片的需求。 采用的全局批量大小为4,194,304个令牌。在表中的设置下设备的性能达到大约222 TFLOPs/s或71.15%的模型浮点操作利用率MFU。 多阶段训练 采用了在其他强大的代码语言模型如CodeGen、Stable Code Alpha、CodeLLaMA和DeepSeekCoder中流行的分阶段训练方法。 训练分为几个阶段包括代码数据预训练、中间填充FIM训练、长上下文持续训练和指令微调。 模型初始化 代码模型大多遵循两种主要训练方法之一使用代码和相关文本从头开始训练的模型例如CodeGen、Stable code Alpha、Deepsseek Coder以及利用基础语言模型的持续预训练的模型。 预训练的语言模型如Stable LM 3B初始化的模型往往表现优于从头开始训练的模型。这证实了自然语言与代码之间的正面交叉转移可以增强模型的能力。 中间填充FIM训练 为了解决代码中的左到右因果顺序不总是成立的问题例如函数调用和声明的顺序可以是任意的 将文档随机分为三个部分前缀、中间部分和后缀然后将中间部分移动到文档的末尾。在重新排列之后遵循相同的自回归训练过程。 在预训练的两个阶段中都应用了FIM。为了在长上下文训练阶段考虑FIM我们确保只允许在单个文件的范围内应用FIM以避免引入不现实的情景到训练目标中。
微调和对齐
在预训练之后Stable Code Instruct通过由监督微调SFT和直接偏好优化DPO组成的微调阶段进一步提高了模型的对话能力 监督微调 使用了Hugging Face上公开可用的几个数据集进行SFT微调OpenHermes、Code Feedback和CodeAlpaca。这些数据集合计提供了大约500,000个训练样本。 SFT模型训练了三个周期使用余弦学习率调度器。在达到5e-5峰值学习率之前实施了占训练持续时间10%的热身阶段。 设置全局批量大小为512个序列并将输入打包成最多4096个令牌的序列。 直接偏好优化 继SFT之后我们应用了DPO这是一种关键技术对近期高性能模型如Zephyr-7B、Neural-Chat-7B和Tulu-2-DPO-70B的成功起到了关键作用。 我们整理了大约7,000个样本的数据集使用了来自UltraFeedback和Distilabel Capybara DPO-7k Binarized的数据并仅保留了与代码相关的样本。 为提高模型安全性我们添加了来自Bai等人的Helpful and Harmless RLFH数据集以及HH-Anthropic数据集的无害子集。编译了大约15,000个高关联性的安全相关数据点。
结论
本文介绍了Stable Code Instruct一种新的代码语言模型该模型不仅支持多样的编程语言更在3B规模的模型上提供最先进的性能。随着技术的进步将会有更多高性能的代码模型被推出未来写代码的工作是否会变得更加轻松呢是否程序员就业会面临危机呢Stable Code Instruct的出现为我们勾勒了一个充满无限可能的未来。