产品简介
StableLM是Stability AI团队开发的一系列开源大语言模型(LLM),其代码与模型权重托管于GitHub平台。该项目旨在通过开放源代码促进社区协作,提供从基础预训练模型到经过指令微调的对话模型等多种选择。作为Stable Diffusion背后的同一团队作品,StableLM在自然语言理解与生成方面展现了显著潜力。
核心模型版本
目前仓库中主要包含以下几个关键模型版本:
- StableLM-3B-4E1T:拥有30亿参数,在1万亿token数据上进行了4个epoch的训练,旨在研究重复数据对性能的影响。
- StableLM-Alpha v2:包括3B和7B参数版本,引入了SwiGLU激活函数等架构改进,并使用更高质量的数据源进行训练。
- StableVicuna-13B:基于Vicuna-13B的RLHF(人类反馈强化学习)微调版本,旨在提供更优质的对话体验。
技术架构与特点
StableLM系列模型采用仅解码器(Decoder-only)的Transformer架构,类似于LLaMA。其主要技术特点包括:
- 位置编码:使用旋转位置嵌入(RoPE),应用于前25%的头嵌入维度以提升吞吐量。
- 归一化:采用带有学习偏置项的LayerNorm,而非RMSNorm。
- 分词器:使用GPT-NeoX分词器。
- 上下文长度:多数模型支持4096 token的上下文窗口。
训练数据与方法
模型的训练数据来源于Hugging Face Hub上的多个开源大规模数据集混合,包括Falcon RefinedWeb、RedPajama-Data、The Pile(剔除Books3等子集)以及StarCoder代码数据集。StableLM-Alpha v2特别提高了高质量网页文本的采样比例,并采用了多阶段训练策略以扩展上下文长度。
使用流程与快速开始
所有StableLM模型均托管在Hugging Face Hub上。用户可以通过Python代码轻松加载模型进行推理。以下是一个基本的调用示例:
首先安装必要的库,然后使用Transformers库加载模型和分词器。对于微调过的模型如StableLM-Tuned-Alpha,需要遵循特定的提示格式,即<|SYSTEM|>…<|USER|>…<|ASSISTANT|>…结构,以确保模型按预期行为响应。
适用人群与场景
StableLM主要面向AI研究人员、深度学习工程师以及开源社区开发者。适用场景包括:
- 学术研究:探索大语言模型的训练机制、数据效率及架构优化。
- 应用开发:构建聊天机器人、内容生成工具或代码辅助助手。
- 模型微调:基于基础模型针对特定领域任务进行二次训练。
常见问题
如何获取StableLM模型权重?
所有模型权重均公开发布在Hugging Face Hub上。用户可以直接搜索Stability AI的组织页面下载相应版本的模型文件。对于StableVicuna等受原始许可证限制的模型,仅提供Delta权重,需结合原始LLaMA权重使用。
StableLM支持哪些编程语言进行调用?
官方提供的快速开始指南主要基于Python,使用PyTorch和Transformers库。由于模型遵循标准的Transformer架构,理论上也可通过其他支持ONNX或TensorRT的框架进行部署,但官方文档主要聚焦于Python生态。
StableLM-Alpha v2相比初版有哪些改进?
v2版本在架构上引入了SwiGLU激活函数,并显著提升了训练数据的质量,特别是增加了RefinedWeb和C4数据集的使用比例。评估结果显示,v2模型在多项基准测试中的表现优于初版Alpha模型,甚至在某些指标上与更大的7B模型具有竞争力。
