XGen简介
XGen是Salesforce AI Research团队开发的开源大语言模型系列,支持8K长度的输入序列。XGen模型基于7B参数训练而成,是一个强大而灵活的基础模型。
主要特点
- 支持8K长序列输入,远超其他同等规模的开源模型
- 提供4K和8K两个版本的基础模型
- 还有专门针对指令微调的8K模型版本
- 采用OpenAI的Tiktoken分词器
- 支持自回归生成
模型下载
XGen模型在HuggingFace Hub上提供了以下版本:
- XGen-7B-4K-Base - 支持4K序列长度的基础版
- XGen-7B-8K-Base - 支持8K序列长度的基础版
- XGen-7B-8k-Inst - 经过指令微调的8K版本(仅用于研究目的)
使用示例
以下是使用XGen模型进行自回归生成的示例代码:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Salesforce/xgen-7b-8k-base", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Salesforce/xgen-7b-8k-base", torch_dtype=torch.bfloat16)
inputs = tokenizer("The world is", return_tensors="pt")
sample = model.generate(**inputs, max_length=128)
print(tokenizer.decode(sample[0]))
技术细节
XGen的开发过程面临了多项技术挑战:
- 大规模数据收集与清洗
- 使用Google TPU进行超大规模模型训练
- 集成FlashAttention和Sliding Window Attention等技术提高训练效率
- 针对未预期的用户需求进行模型微调
XGen的训练分为预训练、微调和评估三个阶段,采用了监督微调和人类反馈强化学习等技术。
相关资源
未来展望
XGen团队正在开发更大规模的模型,并计划推出XGen Mobile等轻量级版本。未来XGen还将在知识蒸馏、领域适配等方面持续创新。
总的来说,XGen作为一个开源的长序列大语言模型,为NLP研究和应用提供了强大的基础设施。相信随着社区的参与,XGen将在更多场景中发挥重要作用。