YAYI大模型学习资源汇总
YAYI是一个基于LlaMA 2的中文多领域大语言模型,由中科闻歌研发团队开源。本文汇总了YAYI的相关学习资源,帮助读者快速了解和使用这个模型。
项目简介
YAYI是一个在百万级高质量中文领域数据上微调的大语言模型,覆盖了媒体宣传、舆情分析、公共安全、金融风控、城市治理等多个领域。模型具有以下特点:
- 基于LLaMA 2和BLOOM系列模型训练
- 增强了中文基础能力和领域分析能力
- 支持多轮对话和部分插件能力
- 经过大量用户测试,提升了性能和安全性
模型下载
YAYI提供了以下几个版本的模型权重:
可以直接从Hugging Face下载使用。
快速使用
以下是使用YAYI-7B模型进行推理的示例代码:
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
import torch
yayi_7b_path = "wenge-research/yayi-7b"
tokenizer = AutoTokenizer.from_pretrained(yayi_7b_path)
model = AutoModelForCausalLM.from_pretrained(yayi_7b_path, device_map="auto", torch_dtype=torch.bfloat16)
prompt = "你好"
formatted_prompt = f"<|System|>:\nA chat between a human and an AI assistant named YaYi.\nYaYi is a helpful and harmless language model developed by Beijing Wenge Technology Co.,Ltd.\n\n<|Human|>:\n{prompt}\n\n<|YaYi|>:"
inputs = tokenizer(formatted_prompt, return_tensors="pt").to(model.device)
eos_token_id = tokenizer("<|End|>").input_ids[0]
generation_config = GenerationConfig(
eos_token_id=eos_token_id,
pad_token_id=eos_token_id,
do_sample=True,
max_new_tokens=100,
temperature=0.3,
repetition_penalty=1.1,
no_repeat_ngram_size=0
)
response = model.generate(**inputs, generation_config=generation_config)
print(tokenizer.decode(response[0]))
模型微调
YAYI项目提供了完整的微调代码,支持以下几种微调方式:
- 指令数据全参数微调
- 指令数据LoRA微调
- 多轮对话数据全参数微调
- 多轮对话数据LoRA微调
微调数据格式和运行命令可参考GitHub仓库。
训练数据
YAYI基于中科闻歌百万级高质量领域指令数据集训练而来,开源了5万条训练数据,可在Hugging Face数据仓库下载。数据集涵盖金融、安全、舆情、媒体等领域。
更多资源
通过以上资源,相信读者可以快速上手YAYI大模型,并将其应用到实际项目中。YAYI作为一个开源的中文大语言模型,未来还会持续更新,欢迎大家关注和使用!