🚀 雪花北极星模型(Snowflake Arctic)
雪花北极星(Snowflake Arctic)是一款由雪花人工智能研究团队从头开始预训练的密集混合专家(Dense-MoE)混合变压器架构模型。本项目提供了基础版本和指令微调版本的模型检查点,采用Apache-2.0许可证,可自由用于研究、原型开发和产品中。
🚀 快速开始
雪花北极星模型由雪花人工智能研究团队预训练,提供基础和指令微调两个版本的模型检查点。你可以通过以下链接获取模型:
有关雪花北极星的最新详细信息(包括教程等),请参考我们的GitHub仓库:
- https://github.com/Snowflake-Labs/snowflake-arctic
你还可以通过 Streamlit应用 进行实时演示体验。
✨ 主要特性
- 自由使用:基于Apache-2.0许可证发布,可自由用于研究、原型和产品。
- 丰富资源:博客文章提供了模型的详细信息和相关资源链接,如自定义MoE模型训练、高质量训练数据生成等。
- 多版本支持:提供基础版本和指令微调版本,满足不同场景需求。
📦 安装指南
安装依赖库
北极星模型目前通过transformers
库的自定义代码功能支持,使用时需在AutoTokenizer
和AutoModelForCausalLM
调用中添加trust_remote_code=True
。建议使用transformers
4.39及以上版本:
pip install transformers>=4.39.0
北极星模型还利用了DeepSpeed的多项功能,需要安装DeepSpeed 0.14.2或更高版本:
pip install deepspeed>=0.14.2
💻 使用示例
基础用法
由于模型规模较大,建议使用云服务提供商的单8xH100实例,如AWS p5.48xlarge、Azure ND96isr_H100_v5等。
以下是使用DeepSpeed提供的FP8量化进行推理的示例代码:
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from deepspeed.linear.config import QuantizationConfig
tokenizer = AutoTokenizer.from_pretrained(
"Snowflake/snowflake-arctic-instruct",
trust_remote_code=True
)
quant_config = QuantizationConfig(q_bits=8)
model = AutoModelForCausalLM.from_pretrained(
"Snowflake/snowflake-arctic-instruct",
trust_remote_code=True,
low_cpu_mem_usage=True,
device_map="auto",
ds_quantization_config=quant_config,
max_memory={i: "150GiB" for i in range(8)},
torch_dtype=torch.bfloat16)
content = "5x + 35 = 7x - 60 + 10. Solve for x"
messages = [{"role": "user", "content": content}]
input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to("cuda")
outputs = model.generate(input_ids=input_ids, max_new_tokens=256)
print(tokenizer.decode(outputs[0]))
更多示例
北极星的GitHub页面提供了更多推理代码片段和示例:
- 纯HF示例:https://github.com/Snowflake-Labs/snowflake-arctic/blob/main/inference
- 使用vLLM的教程:https://github.com/Snowflake-Labs/snowflake-arctic/tree/main/inference/vllm
📚 详细文档
更多关于北极星模型的详细信息,包括架构、训练过程、数据等,请参考我们的博客文章 Snowflake Arctic: The Best LLM for Enterprise AI — Efficiently Intelligent, Truly Open 以及我们的系列手册 see our series of cookbooks。
🔧 技术细节
北极星模型结合了一个100亿参数的密集变压器模型和一个残差128x366亿参数的MoE MLP,总参数达到4800亿,活动参数为170亿,采用top-2门控机制选择。
📄 许可证
本项目采用Apache-2.0许可证。
模型信息
属性 |
详情 |
模型开发者 |
雪花人工智能研究团队 |
模型类型 |
密集混合专家(Dense-MoE)混合变压器架构 |
输入 |
仅接受文本输入 |
输出 |
生成文本和代码 |
模型发布日期 |
2024年4月24日 |
许可证 |
Apache-2.0 |