Stability AI发布全新代码模型Stable Code 3B

2024-01-19 10:44

本文主要是介绍Stability AI发布全新代码模型Stable Code 3B,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Stable Code 3B: Coding on the Edge

要点

  • Stable Code 3B 是一个包含 30 亿个参数的大型语言模型 (LLM),可实现准确且响应灵敏的代码补全,其水平与大 2.5 倍的 CodeLLaMA 7b 等模型相当。
  • 即使在 MacBook Air 等普通笔记本电脑上没有 GPU,也可以离线运行。

在这里插入图片描述

1月16日,Stability AI宣布 2024 年第一个大型语言模型版本:stable-code-3b。这个新的 LLM 是之前发布的 stable-code Alpha 3B 的后续版本,也是第一个主要的稳定代码版本,提供了新的最先进的模型,专为具有多种附加功能的代码完成而设计。

与 CodeLLaMA 7b 相比,Stable Code 3B 体积缩小了 60%,同时跨编程语言具有相似的高级性能。基于预先存在的 Stable LM 3B 基础模型(在 4 万亿个自然语言数据上进行训练),Stable Code 进一步接受了特定于软件工程的训练数据,包括代码。该模型的紧凑尺寸使其可以在现代笔记本电脑的边缘实时私下运行,即使是那些没有专用 GPU 的笔记本电脑。

Stable Code 3B 跨多种语言提供更多功能和显着更好的性能,并具有额外的优势,例如支持中间填充功能 (FIM) 和扩展的上下文大小。Stable Code 作为基础在最多 16,384 个 token 的序列上进行训练,但遵循与 CodeLlama 类似的方法,实施旋转嵌入,可选择允许修改最多 1,000,000 个旋转基,进一步将模型的上下文长度扩展至 100k 个 token。

Stable Code 3B 接受了 18 种编程语言的训练(根据 [2023 年 StackOverflow 开发人员调查] 选择)) 并展示了跨多种测试编程语言的 MultiPL-E 指标的最先进性能(与类似大小的模型相比)。

性能比较
在这里插入图片描述
在这里插入图片描述

Stable Code 完成 3B 与 CodeLLama 7B 的并排比较

在这里插入图片描述

Training见解

在训练流程由类似于 Codellama 的多阶段过程组成。从对自然语言数据进行预训练的 LM 开始,在本例中为 StableLM-3B-4e1t,然后进行无监督微调多个代码和与代码相关的数据集,包括 CommitPack、GitHub Issues、StarCoder 和其他数学数据集。在第二步中,根据 CodeLLama 中建议的基本修改,进一步使用 16,384 个标记的更长序列对模型进行微调。新的稳定代码模型还支持 Flash Attention 2 并且可供使用。

对数据和模型的进一步了解,可以参考Stability AI的模型卡中找到。Stability AI将发布一份完整的技术报告,其中包含更多详细信息和删减内容,以便对社区更加透明和开放。

这篇关于Stability AI发布全新代码模型Stable Code 3B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/622174

相关文章

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到