JiahuanCao
commited on
Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
{}
|
3 |
+
---
|
4 |
+
|
5 |
+
<p align="left">
|
6 |
+
中文  |  <a href="https://huggingface.co/SCUT-DLVCLab/TongGu-7B-Instruct/blob/main/README_en.md">English</a>
|
7 |
+
</p>
|
8 |
+
<div align="center">
|
9 |
+
<img src="./images/通古logo.png" width="400"/>
|
10 |
+
</div>
|
11 |
+
|
12 |
+
|
13 |
+
# 通古大模型
|
14 |
+
|
15 |
+
## 介绍
|
16 |
+
|
17 |
+
通古大模型是华南理工大学深度学习与视觉计算实验室(SCUT-DLVCLab)开发的古籍大语言模型,具备较强大的古籍理解和处理能力,通古大模型使用了多阶段的指令微调,并创新性地提出了冗余度感知微调(RAT)方法,在提升下游任务性能的同时极大地保留了基座模型的能力。
|
18 |
+
|
19 |
+
<div align="center">
|
20 |
+
<img src="./images/model_training.png">
|
21 |
+
</div>
|
22 |
+
|
23 |
+
|
24 |
+
## 评测结果
|
25 |
+
|
26 |
+
通古在广泛的古籍理解和处理任务上超越了现有的模型,与其基座模型Baichuan2-7B-Chat的对比显示了通古训练流程和方法的有效性,在未来通古会持续更新模型并受益于更强大的基座模型。
|
27 |
+
|
28 |
+
<div align="center">
|
29 |
+
<img src="./images/evaluation_table.png">
|
30 |
+
</div>
|
31 |
+
|
32 |
+
<div align="center">
|
33 |
+
<img src="./images/evaluation_table2.png" width="600">
|
34 |
+
</div>
|
35 |
+
|
36 |
+
|
37 |
+
# 开源清单
|
38 |
+
|
39 |
+
## 模型
|
40 |
+
|
41 |
+
[**TongGu-7B-Instruct**](https://huggingface.co/SCUT-DLVCLab/TongGu-7B-Instruct): 7B古籍大语言模型,基于Baichuan2-7B-Base,在2.41B古籍语料上做无监督增量预训练,并在400万古籍对话数据上做指令微调,具备古文句读、翻译、赏析等功能。
|
42 |
+
|
43 |
+
|
44 |
+
## 数据
|
45 |
+
|
46 |
+
**ACCN-INS**: 400万古籍指令微调数据,涵盖古文理解、生成、知识三个维度的共24类估计任务。
|
47 |
+
|
48 |
+
ACCN-INS数据集只能用于非商业研究目的。对于想要使用ACCN-INS数据集的学者或组织,请先填写此[申请表](https://github.com/SCUT-DLVCLab/TongGu-LLM/blob/main/application-form/Application-Form-for-Using-ACCN-INS.docx)并通过电子邮件发送给我们。向我们提交申请表时,请列出或附上您近6年发表的论文1-2篇,以表明您(或您的团队)在古籍领域进行研究。
|
49 |
+
我们收到并批准您的申请后,将为您提供下载链接和解压密码。
|
50 |
+
所有用户必须遵守所有使用条件;否则,将撤销授权。
|
51 |
+
|
52 |
+
|
53 |
+
# 新闻
|
54 |
+
|
55 |
+
- 2024/9/21 通古论文被EMNLP2024接收。
|
56 |
+
- 2024/9/26 通古模型及指令微调数据正式开源。
|
57 |
+
|
58 |
+
|
59 |
+
# 用例
|
60 |
+
|
61 |
+
<details><summary><b>句读</b></summary>
|
62 |
+
|
63 |
+
![image](./images/标点.png)
|
64 |
+
|
65 |
+
</details>
|
66 |
+
|
67 |
+
<details><summary><b>成语解释</b></summary>
|
68 |
+
|
69 |
+
![image](./images/成语解释.png)
|
70 |
+
|
71 |
+
</details>
|
72 |
+
|
73 |
+
<details><summary><b>文白翻译</b></summary>
|
74 |
+
|
75 |
+
![image](./images/文白翻译.png)
|
76 |
+
|
77 |
+
</details>
|
78 |
+
|
79 |
+
<details><summary><b>白文翻译</b></summary>
|
80 |
+
|
81 |
+
![image](./images/白文翻译.png)
|
82 |
+
|
83 |
+
</details>
|
84 |
+
|
85 |
+
<details><summary><b>诗词创作</b></summary>
|
86 |
+
|
87 |
+
![image](./images/词创作.png)
|
88 |
+
|
89 |
+
</details>
|
90 |
+
|
91 |
+
|
92 |
+
# 推理
|
93 |
+
|
94 |
+
```python
|
95 |
+
import torch
|
96 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
97 |
+
|
98 |
+
model_path = "DLVCLab/TongGu-7B-Instruct"
|
99 |
+
model = AutoModelForCausalLM.from_pretrained(model_path, device_map='auto', torch_dtype=torch.bfloat16, trust_remote_code=True)
|
100 |
+
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
|
101 |
+
|
102 |
+
system_message = "你是通古,由华南理工大学DLVCLab训练而来的古文大模型。你具备丰富的古文知识,为用户提供有用、准确的回答。"
|
103 |
+
user_query = "翻译成白话文:大学之道,在明明德,在亲民,在止于至善。"
|
104 |
+
prompt = f"{system_message}\n<用户> {user_query}\n<通古> "
|
105 |
+
inputs = tokenizer(prompt, return_tensors='pt')
|
106 |
+
generate_ids = model.generate(
|
107 |
+
inputs.input_ids.cuda(),
|
108 |
+
max_new_tokens=128
|
109 |
+
)
|
110 |
+
generate_text = tokenizer.batch_decode(
|
111 |
+
generate_ids,
|
112 |
+
skip_special_tokens=True,
|
113 |
+
clean_up_tokenization_spaces=False
|
114 |
+
)[0][len(prompt):]
|
115 |
+
|
116 |
+
print(generate_text)
|
117 |
+
```
|
118 |
+
|
119 |
+
|
120 |
+
# 引用
|
121 |
+
|
122 |
+
```
|
123 |
+
@article{cao2024tonggu,
|
124 |
+
title={TongGu: Mastering Classical Chinese Understanding with Knowledge-Grounded Large Language Models},
|
125 |
+
author={Cao, Jiahuan and Peng, Dezhi and Zhang, Peirong and Shi, Yongxin and Liu, Yang and Ding, Kai and Jin, Lianwen},
|
126 |
+
journal={EMNLP 2024},
|
127 |
+
year={2024}
|
128 |
+
}
|
129 |
+
```
|
130 |
+
|
131 |
+
# 声明:
|
132 |
+
|
133 |
+
经过大规模数据的增量预训练和指令微调,通古具备较强的古籍处理能力,如句读、翻译等,然而受限于模型规模、自回归生成范式等,通古仍然可能生成包含事实性错误的误导性回复或包含偏见/歧视的有害内容,请谨慎使用和注意甄别,请勿将通古生成的有害内容传播至互联网。若产生不良后果,由传播者自负。
|