File size: 4,213 Bytes
7c93499
ec042cb
9a25121
 
 
 
ec042cb
 
9a25121
ec042cb
 
 
 
 
c98e990
61e998f
7c93499
9a25121
ba6c186
9a25121
 
 
 
 
 
 
 
 
 
ba6c186
9a25121
 
 
 
ba6c186
9a25121
 
 
ba6c186
9a25121
 
 
ba6c186
d06bb8c
9a25121
 
 
 
 
ba6c186
9a25121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ba6c186
9a25121
 
 
 
 
ba6c186
9a25121
ba6c186
 
 
9a25121
ec042cb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
---
language:
- zh
tags:
- chatglm
- pytorch
- Text-Generation
license: apache-2.0
widget:
- text: |-
    介绍下北京
    答:
library_name: peft
pipeline_tag: text-generation
base_model: THUDM/chatglm-6b
inference: false
---

# Chinese QA LoRA Model
ChatGLM中文问答LoRA模型

`chatglm-6b-belle-zh-lora` evaluate test data:

The overall performance of chatglm-6b-belle-zh-lora on QA **test**:

|input_text|predict|
|:-- |:--- |
|介绍下北京|北京是中国的首都,是中国的政治、文化和经济中心。它位于中国的北部,拥有悠久的历史和文化遗产,如故宫、长城和天坛等。北京也是中国最著名的城市之一,有着丰富的美食、文化和娱乐活动。北京还有许多旅游景点,如颐和园、圆明园和天坛等。北京是一个充满活力和机会的城市,吸引了来自全国和世界各地的人们前来探索。|

在中文开放测试集中的表现优异,继承了两方面的优势:1)微调的底座是ChatGLM-6B模型,中文的表现优于LLAMA,2)微调使用的是高质量100万条中文ChatGPT指令Belle数据集,微调后的模型对话效果优于原始ChatGLM-6B。


## Usage

本项目开源在textgen项目:[textgen](https://github.com/shibing624/textgen),可支持ChatGLM模型,通过如下命令调用:

Install package:
```shell
pip install -U textgen
```

```python
from textgen import ChatGlmModel
model = ChatGlmModel("chatglm", "THUDM/chatglm-6b", peft_name="shibing624/chatglm-6b-belle-zh-lora")
r = model.predict(["介绍下北京\n答:"])
print(r) # ['北京是中国的首都,是中国的政治、文化和经济中心。...']
```

## Usage (HuggingFace Transformers)
Without [textgen](https://github.com/shibing624/textgen), you can use the model like this: 

First, you pass your input through the transformer model, then you get the generated sentence.

Install package:
```
pip install transformers 
```

```python
import sys
from peft import PeftModel
from transformers import AutoModel, AutoTokenizer

sys.path.append('..')

model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True, device_map='auto')
model = PeftModel.from_pretrained(model, "shibing624/chatglm-6b-belle-zh-lora")
model = model.half().cuda()  # fp16
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)

sents = ['介绍下北京\n答:',]
for s in sents:
    response = model.chat(tokenizer, s, max_length=128, eos_token_id=tokenizer.eos_token_id)
    print(response)
```

output:
```shell
介绍下北京
北京是中国的首都,是中国的政治、文化和经济中心。它位于中国的北部,拥有悠久的历史和文化遗产,如故宫、长城和天坛等。北京也是中国最著名的城市之一,有着丰富的美食、文化和娱乐活动。北京还有许多旅游景点,如颐和园、圆明园和天坛等。北京是一个充满活力和机会的城市,吸引了来自全国和世界各地的人们前来探索。
```


模型文件组成:
```
chatglm-6b-belle-zh-lora
    ├── adapter_config.json
    └── adapter_model.bin
```


### 训练数据集

1. 50万条中文ChatGPT指令Belle数据集:[BelleGroup/train_0.5M_CN](https://huggingface.co/datasets/BelleGroup/train_0.5M_CN)
2. 100万条中文ChatGPT指令Belle数据集:[BelleGroup/train_1M_CN](https://huggingface.co/datasets/BelleGroup/train_1M_CN)
3. 5万条英文ChatGPT指令Alpaca数据集:[50k English Stanford Alpaca dataset](https://github.com/tatsu-lab/stanford_alpaca#data-release)
4. 2万条中文ChatGPT指令Alpaca数据集:[shibing624/alpaca-zh](https://huggingface.co/datasets/shibing624/alpaca-zh)
5. 69万条中文指令Guanaco数据集(Belle50万条+Guanaco19万条):[Chinese-Vicuna/guanaco_belle_merge_v1.0](https://huggingface.co/datasets/Chinese-Vicuna/guanaco_belle_merge_v1.0)


如果需要训练ChatGLM模型,请参考[https://github.com/shibing624/textgen](https://github.com/shibing624/textgen)


## Citation

```latex
@software{textgen,
  author = {Xu Ming},
  title = {textgen: Implementation of language model finetune},
  year = {2021},
  url = {https://github.com/shibing624/textgen},
}
```