Files
XuanYuan-6B/README.md
ModelHub XC f732c75832 初始化项目,由ModelHub XC社区提供模型
Model: Duxiaoman-DI/XuanYuan-6B
Source: Original Platform
2026-05-19 20:03:57 +08:00

65 lines
4.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
frameworks:
- Pytorch
license: Apache License 2.0
tasks:
- text-generation
---
## 介绍
XuanYuan-6B系列模型是采用类LLaMA架构从零开始进行预训练的金融大模型。我们构建了大规模、多样化、高质量的训练语料对模型进行了充分预训练使模型具备各项能力。此外我们构建了丰富、高质量的问答数据和人类偏好数据并通过指令微调和强化学习进一步对齐模型表现和人类偏好显著提升了模型在对话场景中的表现。各项评估显示XuanYuan-6B不仅具备较强的通用能力更具备强大的金融能力。更多细节请参考我们的技术报告[Report](https://github.com/Duxiaoman-DI/XuanYuan/blob/main/xuanyuan_6b_report.md)
XuanYuan-6B系列模型包含基座模型XuanYuan-6B经指令微调和强化对齐的chat模型XuanYuan-6B-Chat以及chat模型的量化版本XuanYuan-6B-Chat-4bit和XuanYuan-6B-Chat-8bit。各个模型的链接为
| 基座模型 | Chat模型 | 8-bit量化Chat模型 | 4-bit量化Chat模型 |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| [XuanYuan-6B](https://modelscope.cn/models/Duxiaoman-DI/XuanYuan-6B) | [XuanYuan-6B-Chat](https://modelscope.cn/models/Duxiaoman-DI/XuanYuan-6B-Chat) | [XuanYuan-6B-Chat-8bit](https://modelscope.cn/models/Duxiaoman-DI/XuanYuan-6B-Chat-8bit ) | [XuanYuan-6B-Chat-4bit](https://modelscope.cn/models/Duxiaoman-DI/XuanYuan-6B-Chat-4bit) |
主要特点:
* 收集多个领域大量的训练预料,进行了多维度数据清洗和去重,保证数据的量级和质量
* 从零开始预训练,预训练中动态调整数据配比,模型基座能力较强
* 结合Self-QA方法构建高质量问答数据采用混合训练方式进行监督微调
* 构建高质量人类偏好数据训练奖励模型并进行强化训练,对齐模型表现和人类偏好
* 模型尺寸小并包含量化版本,硬件要求低,适用性更强
* 在多个榜单和人工评估中均展现出良好的性能,具备领先的金融能力
## 模型细节
XuanYuan-6B具有4096个隐藏单元由30层和32个注意⼒头组成。为了融⼊位置信息我们采⽤了RoPE作为位置嵌⼊技术。模型中使⽤的激活函数是SwiGLU并使⽤RMSNorm进⾏归⼀化处理。在训练过程中我们将最⼤序列⻓度设置为2048个token。词表的⼤⼩为39438与我们先前模型XuanYuan-13B、XuanYuan-70B使⽤的词表⼀致。
## 训练细节
训练前,我们从不同领域收集了大量训练语料,并对数据进行一系列处理来提升质量。
预训练中,我们不断评估模型在特定任务或基准上的性能,并根据评估结果动态调整不同来源的训练数据配⽐,不断优化模型训练过程,提升模型各项能力。
我们利用Self-QA的方法构建了高质量指令微调数据集并结合无监督语言模型任务对预训练后的模型进行了混合微调。在增强模型chat场景下各项能力的同时保证其泛化性。
最后,我们通过人工标注的方式构建了高质量的偏好数据,由此训练奖励模型并进行强化对齐训练,使其表现对齐人类偏好,以继续提升模型各项能力。
## 使用方法
XuanYuan-6B基座模型、chat模型及其量化模型的使用方法和[XuanYuan-70B](https://modelscope.cn/models/Duxiaoman-DI/XuanYuan-70B/summary)[XuanYuan2-70B](https://modelscope.cn/models/Duxiaoman-DI/XuanYuan2-70B/summary)类似但是tokenizer加载方式和在对话场景中使用的prompt格式不同不包含system message。下面以XuanYuan-6B-Chat模型为例来展示XuanYuan-6B系列模型的使用方法。
```python
import torch
from transformers import LlamaForCausalLM, AutoTokenizer
model_name_or_path = "your/model/path/"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = LlamaForCausalLM.from_pretrained(model_name_or_path, device_map="auto")
model.eval()
seps = [" ", "</s>"]
roles = ["Human", "Assistant"]
content = "介绍下你自己"
prompt = seps[0] + roles[0] + ": " + content + seps[0] + roles[1] + ":"
print(f"输入: {content}")
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=256, do_sample=True, temperature=0.7, top_p=0.95)
outputs = tokenizer.decode(outputs.cpu()[0][len(inputs.input_ids[0]):], skip_special_tokens=True)
print(f"输出: {outputs}")
```