StableBeluga-13B 项目介绍
StableBeluga-13B 项目是由 Stability AI 开发的一个高级语言模型。它在 Llama2 13B 模型的基础上微调,使用一种被称为 Orca 风格的数据集。这种模型的设计旨在增强语言生成的准确性和流畅性。
项目背景与用途
使用 StableBeluga-13B 模型,可以通过简单的代码片段开始与该 AI 进行对话。这款语言模型的应用非常广泛,无论是需要生成文本内容,编写诗歌,还是其他语言类任务,都可以利用它的出色表现。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
tokenizer = AutoTokenizer.from_pretrained("stabilityai/StableBeluga-13B", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("stabilityai/StableBeluga-13B", torch_dtype=torch.float16, low_cpu_mem_usage=True, device_map="auto")
system_prompt = "### System:\nYou are Stable Beluga 13B, an AI that follows instructions extremely well. Help as much as you can. Remember, be safe, and don't do anything illegal.\n\n"
message = "Write me a poem please"
prompt = f"{system_prompt}### User: {message}\n\n### Assistant:\n"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
output = model.generate(**inputs, do_sample=True, top_p=0.95, top_k=0, max_new_tokens=256)
print(tokenizer.decode(output[0], skip_special_tokens=True))
上述代码展示了如何使用 StableBeluga-13B 生成一首诗歌。用户可以根据自己的需求进行修改,以实现不同的对话内容。
模型详情
- 开发者: Stability AI
- 模型类型: 自回归语言模型,在 Llama2 13B 基础上微调
- 语言: 英语
- 使用库: HuggingFace Transformers
- 许可证: STABLE BELUGA 非商业社区许可协议
- 联系方式: 在使用过程中如有问题或建议,可联系
lm@stability.ai
训练数据集
StableBeluga-13B 使用的是内部的 Orca 风格数据集进行训练。这种数据集的设计帮助模型更好地理解和生成复杂的语言结构。
训练流程
模型通过监督微调方法在上述数据集上进行训练,使用混合精度(BF16)进行计算,并采用 AdamW 优化器。以下是一些关键的训练参数:
数据集 | 批次大小 | 学习率 | 学习率衰减 | 热身 | 权重衰减 | Betas |
---|---|---|---|---|---|---|
Orca pt1 packed | 256 | 3e-5 | 余弦到 3e-6 | 100 | 1e-6 | (0.9, 0.95) |
Orca pt2 unpacked | 512 | 3e-5 | 余弦到 3e-6 | 100 | 1e-6 | (0.9, 0.95) |
伦理考量及局限性
StableBeluga 是一项新技术,在使用上可能存在一定风险。由于测试主要在英语环境下进行,某些情况下模型生成的结果可能不准确、带有偏见或可能引起争议。因此,在实际部署应用之前,开发者应该根据特定的应用场景进行安全测试和调优,以确保使用的安全性和合规性。
引文
该项目的相关研究与技术文献可以参考以下内容:
- Llama 2 的研究和开发文献。
- Orca 的相关学习与解释追踪文献。