Courses
自 2022 年底 ChatGPT 上线(这一事件开启了持续至今的 AI 革命)以来,生成式 AI 模型愈发强大且多样。每天都有不同规模、功能、模态与用途的新模型面世,让人难以判断潜力的边界。
总体而言,业界正明显倾向于开发更大、更复杂的模型。普遍认为,在大型语言模型(LLM,即生成式 AI 背后的核心技术)中,增加参数规模与训练数据量是提升性能的最佳策略。想详细了解 LLM 是什么,请参阅我们的专文。
然而,鉴于人们对训练和运行这些大型模型所需资源(以及其相关的环境影响)的担忧不断上升,AI 研发与部署的效率正迅速受到重视。
本文将介绍由 Stability AI 最新发布、专为精准且高效编码而设计的 Stable Code 3B。这是一款在编程任务上极其准确的模型,在大幅减小体量的同时,依然能提供与最先进 LLM 相当的性能水平。
Stable Code 3B 是什么?
Stable Code 3B 由 Stability AI 于 2024 年 1 月发布,是一款拥有 30 亿参数、面向编码场景的大型语言模型。它是其前身 Stable Code Alpha 3B 的进阶版本。
Stable Code 3B 在代码补全任务上表现突出,也可作为新手程序员的优秀学习工具。该模型可免费用于研究或个人用途;若用于商业应用,用户需订阅 Stability AI 会员计划中的一项。
在同等规模的 LLM 中,Stable Code 3B 表现名列前茅(其性能指标详见下一节),以显著更小的体量取得出色结果。得益于紧凑的设计与高效性,Stable Code 3B 甚至可在普通笔记本上离线运行,即使没有独立 GPU,例如 MacBook Air。
Stable Code 3B 如何工作?
Stable Code 3B 是一款包含 27 亿参数的紧凑模型,属于仅解码器的 Transformer,类似 Meta 的开源 LLaMA。想了解 LLaMA 的全部细节,请参阅我们的专文。
Stable Code 3B 的训练过程显然受到了 Meta CodeLLaMA 的启发。该模型从 Stability AI 的预训练 LLM StableLM-3b-4e1t 出发,作为其基础模型。
该模型遵循了包含两步的微调流程。首先,模型在多个代码及与代码相关的数据集上训练,包括 CommitPack、GitHub Issues、StarCoder 及其他数学数据集。训练数据涵盖 18 种常用编程语言,包括 Python、R、Java 和 C。
随后,模型使用长度达 16,384 个 token 的更长序列,并采用填空式(fill-in-the-middle)技术进行进一步微调,正如 CodeLLaMA 的研究论文所建议。第二步使模型能够支持最长达 10 万个 token 的长上下文窗口,尤其适合编程任务。输入序列更长后,开发者可以为模型提供更多上下文和更长的代码片段,从而生成更相关、更精准的输出。
Stable Code 3B 的性能指标
Stability AI 的开发者打造的这款模型,在多种编程语言测试下、基于 MultiPL-E 指标,与同等规模模型相比达到了业界领先的性能。如下图所示:

低于 3B 规模模型的多语言(Multi-PL)性能对比。来源:Stability AI
Stable Code 3B 相较体量更大的模型也同样出色。例如,它在性能上可与其主要灵感来源 CodeLLaMA 7b 持平,同时将模型规模缩小了 60%。

Stable Code Completion 3B 与 CodeLLama 7B 的对比。来源:Stability AI
Stable Code 3B 的应用
像 Stable Code 3B 这样的 AI 编码助手,为软件开发与数据分析带来了诸多机遇。以下是程序员已经在使用 AI 的一些方式:
任务自动化
Stable Code 3B 可无缝自动化重复且枯燥的任务,例如执行基础 SQL 查询、进行数据探索性分析,以及简化数据科学项目流程。这有助于程序员省去耗时的工作,把精力放在更复杂、更具挑战性的任务上。想了解其在实践中的运作方式,请参阅我们的 ChatGPT 在数据科学中的应用指南。
缺陷修复
调试常常耗时且充满挑战,尤其在拥有数百行代码的复杂项目中。Stable Code 3B 可在数秒内扫描您的代码,并提供修复所需的代码与结构建议,加速这一过程。借助其长上下文窗口,用户可以提供大型脚本,Stable Code 3B 会在您的代码中发现潜在错误与隐患。
代码优化
在需要大量计算资源的复杂项目中,效率至关重要。代码的书写方式会显著影响效率。Stable Code 3B 可帮助重写您的代码以提升效率,从而节省时间、资源与成本。
代码可解释性
有时理解他人的代码并不容易,尤其对初级开发者而言。Stable Code 3B 不仅能提出改进建议,还能对特定代码片段提供详细解释,助您更快学习。
想了解生成式 AI 如何用于学习,我们强烈建议您试用 DataCamp Workspace。我们使用 GPT-3.5 和 GPT-4 模型为数据科学 IDE 提供支持,帮助您理解复杂语法。请参阅我们的入门指南:开始使用 DataCamp Workspace。
如何下载 Stable Code 3B 模型
开始使用 Stable Code 3B 的最佳方式是通过 HuggingFace API。您可以轻松将模型导入 Python 环境,并用以下代码开始生成文本:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stable-code-3b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/stable-code-3b",
trust_remote_code=True,
torch_dtype="auto",
)
model.cuda()
inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to(model.device)
tokens = model.generate(
**inputs,
max_new_tokens=48,
temperature=0.2,
do_sample=True,
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))
如何将 Stable Code 3B 用于商业应用
如前所述,Stable Code 3B 可免费用于研究或个人用途。若用于商业应用,用户必须订阅 Stability AI 会员计划中的一项。
目前,除非商业用途以外,Stability AI 还提供两种会员类型,如下图所示:

Professional 会员每月 20 美元,为用户提供访问并商业使用 Stability AI 的 核心模型 的权利,这些模型覆盖图像、视频、3D、文本与代码生成。Enterprise 会员面向大型企业,提供定制定价与一组企业级功能。
延伸阅读
对于数据从业者而言,我们正处于令人振奋的时代。随着 Stable Code 3B 等生成式 AI 工具的广泛采用,行业即将迎来变革。
把握这场 AI 革命的最佳方式是持续关注并及时更新。DataCamp 为您保驾护航。欢迎查阅我们关于其他强大生成式 AI 工具的专题文章: