AI开放平台模型训练

GitHub——StableLM开源大语言模型代码库

GitHub上的StableLM项目是Stability AI开发的开源大语言模型系列。该仓库提供包括StableLM-3B-4E1T、StableLM-Alpha v2及StableVicuna在内的多种预训练与微调模型权重。开发者可通...

标签:

产品简介

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模型具有竞争力。

数据统计

相关导航