项目介绍:YAYI 2
YAYI 2 是由中科闻歌研发的新一代大语言模型,是一个开放源代码项目。该项目提供了基于 Transformer 架构开发的语言模型,拥有30B的参数规模。YAYI 2 支持多语言并结合了超大规模的文本数据进行训练,以提高在多种语言和场景中的适应能力。
模型特点
- 多语言支持:YAYI 2 模型在超过两万亿的高质量多语言数据上进行预训练,具备优良的多语言能力。
- 大规模数据微调:通过使用大量的指令数据进行微调,并结合人类反馈强化学习,YAYI 2 可以更好地与人类进行交流并体现人类价值观。
- 开源与社区协作:YAYI 2 的开源模式旨在促进中文预训练大模型社区的发展,邀请所有合作伙伴共同构建YAYI生态。
技术报告
更详细的技术细节可以查阅我们已经发布的技术报告:YAYI 2: Multilingual Open-Source Large Language Models。
数据集与模型下载
YAYI 2 为用户提供下载数据集和模型的资源:
数据集地址
- 数据集名称: YAYI2 Pretrain Data
- 大小: 500G
- 下载链接:
模型下载
- 模型名称: YAYI2-30B
- 上下文长度: 4096
- 下载链接:
评测结果
YAYI 2 在多个基准数据集上进行了评测,包括语言理解和逻辑推理等方面。在比较中,YAYI 2 表现出了优越的性能,尤其是在特定学科和数学推理中表现突出。
快速开始
要使用 YAYI2-30B 模型进行推理,用户需要按以下步骤设置环境:
环境安装
-
克隆仓库并进入项目目录:
git clone https://github.com/wenge-research/YAYI2.git cd YAYI2
-
创建并激活虚拟环境:
conda create --name yayi_inference_env python=3.8 conda activate yayi_inference_env
-
安装依赖项:
pip install transformers==4.33.1 pip install torch==2.0.1 pip install sentencepiece==0.1.99 pip install accelerate==0.25.0
推理代码示例
使用以下代码可以快速实现基本的模型推理:
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("wenge-research/yayi2-30b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("wenge-research/yayi2-30b", device_map="auto", trust_remote_code=True)
inputs = tokenizer('The winter in Beijing is', return_tensors='pt').to('cuda')
pred = model.generate(
**inputs,
max_new_tokens=256,
eos_token_id=tokenizer.eos_token_id,
do_sample=True,
repetition_penalty=1.2,
temperature=0.4,
top_k=100,
top_p=0.8
)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
该示例需要在单张 A100 或 A800 上运行,首次使用时会自动下载模型。
协议
YAYI 2 项目代码依照 Apache-2.0 协议开源,使用模型和数据需要遵循《雅意 YAYI 2 模型社区许可协议》。对于商业用途的使用,用户需要提交商用使用登记并获得许可。
对于更多信息和技术细节,请参考项目的官方GitHub仓库。