项目简介
XGen 是由 Salesforce AI 研究团队发布的一个高级自然语言处理项目。这个项目的核心是开发一组称为 XGen 的大型语言模型(LLM),这些模型经过专门训练以处理长输入序列,其最大支持长度可以达到8K。研究团队的目标是提升长文本处理的效率和准确性。
项目背景
XGen 的研发团队由多名计算机科学和人工智能领域的专家组成,包括 Erik Nijkamp、Tian Xie 和 Hiroaki Hayashi 等。这一研究基于此前在自然语言处理和深度学习领域的进展,旨在进一步推动长文本序列处理能力的发展。
模型概述
XGen 家族包含几种变体模型,每种模型针对不同的输入序列长度而优化:
- XGen-7B-4K-Base:支持最长4K字符的输入序列。
- XGen-7B-8K-Base:支持最长8K字符的输入序列。
- XGen-7B-8k-Inst:在基础模型上进行了指令微调,仅用于研究目的。
这些模型的发布在 HuggingFace Hub 上,用户可以直接下载和应用于各自的开发项目中。
使用方法
XGen 模型使用 OpenAI 的 Tiktoken 库进行分词处理,用户可以通过以下简单步骤来实现:
pip install tiktoken
安装成功后,可以使用 AutoTokenizer 和 AutoModelForCausalLM 来加载模型,如下所示:
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-7B-8K-Base 模型进行自回归采样。
研究文献
这项研究的更多详细内容可以在论文 “Long Sequence Modeling with XGen: A 7B LLM Trained on 8K Input Sequence Length” 中找到,该论文已在 ArXiv 上发布。研究作者详细阐述了模型训练的过程及其应用场景。可以使用以下引用格式获取:
@misc{XGen,
title={Long Sequence Modeling with XGen: A 7B LLM Trained on 8K Input Sequence Length},
author={Erik Nijkamp, Tian Xie, Hiroaki Hayashi, Bo Pang, Congying Xia, Chen Xing, Jesse Vig, Semih Yavuz, Philippe Laban, Ben Krause, Senthil Purushwalkam, Tong Niu, Wojciech Kryscinski, Lidiya Murakhovs'ka, Prafulla Kumar Choubey, Alex Fabbri, Ye Liu, Rui Meng, Lifu Tu, Meghana Bhat, Chien-Sheng Wu, Silvio Savarese, Yingbo Zhou, Shafiq Rayhan Joty, Caiming Xiong},
howpublished={ArXiv},
year={2023},
url={https://arxiv.org/abs/2309.03450}
}
总之,XGen 在处理长文本序列的挑战上取得了重要进展,并为自然语言处理的未来研究提供了坚实的基础。