Update README.md
Browse files
README.md
CHANGED
@@ -8,11 +8,14 @@ language:
|
|
8 |
pipeline_tag: text-generation
|
9 |
---
|
10 |
# 中文长文本Llama模型
|
|
|
11 |
* [LongAlpaca](https://huggingface.co/Yukang/LongAlpaca-7B)使用LongLora训练技术,通过对 llama2-chat 进行位置插值后,再使用少量长文本数据进行指令微调,展现出了优秀的长文本对话能力。
|
12 |
* LongAlpaca-7b-chinese 和 LongAlpaca 使用类似的训练方法:先使用线性位置插值,然后通过少量长文本数据的微调,使其获得优秀的长文本对话能力。
|
13 |
* 使用的中文数据集与LongAlpaca较为类似,但增加了多文档问答的数据。
|
14 |
* 此模型由[Atom-7b-chat](https://huggingface.co/FlagAlpha/Atom-7B-Chat),通过线性位置插值,将文本长度从4k扩展到32k,然后经过lora微调得到。目前可以完成上万字的多文档检索、论文总结等任务,已经能满足绝大部分需要,而短对话能力几乎没有下降。
|
15 |
-
*
|
|
|
|
|
16 |
* 此模型与英文版LongAlpaca一样,支持streaming-LLM,从而可以生成更长的文本。[示例代码](https://github.com/dvlab-research/LongLoRA/blob/main/run_streaming_llama_longalpaca.py)
|
17 |
* 实验发现此模型对长文本尾部的指令更加敏感,所以尽量把问题放在参考文档的后面。
|
18 |
* LongBench中文任务评测结果如下。评测后,发现目前模型在问答、总结等自由回答的任务上表现较好,在分类、多项选择等固定选项的任务上则表现不好,可能是因为微调数据集不包含分类任务。
|
@@ -23,9 +26,8 @@ pipeline_tag: text-generation
|
|
23 |
| vcsum | 总结 |rouge-L |0.15166 |
|
24 |
| lsht | 文本分类 |Accuracy |0.19680 |
|
25 |
| passage_retrieval | 文本检索 |Accuracy |0.06000 |
|
26 |
-
* 由于长文本数据制作难度大,目前指令微调数据集多样性还不够,指令微调后的模型有一些过拟合的问题,将在未来版本中改善。目前使用的[中文数据集](https://huggingface.co/datasets/yuyijiong/Long-Instruction-Chinese)已开源。
|
27 |
|
28 |
-
|
29 |
```python
|
30 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
31 |
from transformers.generation import GenerationConfig
|
@@ -61,7 +63,7 @@ reply_return=reply.split('Assistant:')[-1].replace('</s>', '')
|
|
61 |
print('模型回答:', reply_return)
|
62 |
```
|
63 |
|
64 |
-
以下是一些模型的问答实例:
|
65 |
|
66 |
<details>
|
67 |
<summary>多文档QA</summary>
|
|
|
8 |
pipeline_tag: text-generation
|
9 |
---
|
10 |
# 中文长文本Llama模型
|
11 |
+
## 训练方法
|
12 |
* [LongAlpaca](https://huggingface.co/Yukang/LongAlpaca-7B)使用LongLora训练技术,通过对 llama2-chat 进行位置插值后,再使用少量长文本数据进行指令微调,展现出了优秀的长文本对话能力。
|
13 |
* LongAlpaca-7b-chinese 和 LongAlpaca 使用类似的训练方法:先使用线性位置插值,然后通过少量长文本数据的微调,使其获得优秀的长文本对话能力。
|
14 |
* 使用的中文数据集与LongAlpaca较为类似,但增加了多文档问答的数据。
|
15 |
* 此模型由[Atom-7b-chat](https://huggingface.co/FlagAlpha/Atom-7B-Chat),通过线性位置插值,将文本长度从4k扩展到32k,然后经过lora微调得到。目前可以完成上万字的多文档检索、论文总结等任务,已经能满足绝大部分需要,而短对话能力几乎没有下降。
|
16 |
+
* 由于指令微调数据的任务类型并不是很多,在面对比较复杂的任务时,输出结果的质量仍不能保证。目前[中文指令微调数据集](https://huggingface.co/datasets/yuyijiong/Long-Instruction-Chinese)多样性还不够,指令微调后的模型有一些过拟合的问题,将在未来版本中改善。
|
17 |
+
* 如果使用中遇到问题,欢迎在后台提出discussion,帮助我们改进模型。
|
18 |
+
## 评估和推理
|
19 |
* 此模型与英文版LongAlpaca一样,支持streaming-LLM,从而可以生成更长的文本。[示例代码](https://github.com/dvlab-research/LongLoRA/blob/main/run_streaming_llama_longalpaca.py)
|
20 |
* 实验发现此模型对长文本尾部的指令更加敏感,所以尽量把问题放在参考文档的后面。
|
21 |
* LongBench中文任务评测结果如下。评测后,发现目前模型在问答、总结等自由回答的任务上表现较好,在分类、多项选择等固定选项的任务上则表现不好,可能是因为微调数据集不包含分类任务。
|
|
|
26 |
| vcsum | 总结 |rouge-L |0.15166 |
|
27 |
| lsht | 文本分类 |Accuracy |0.19680 |
|
28 |
| passage_retrieval | 文本检索 |Accuracy |0.06000 |
|
|
|
29 |
|
30 |
+
## 使用方法:
|
31 |
```python
|
32 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
33 |
from transformers.generation import GenerationConfig
|
|
|
63 |
print('模型回答:', reply_return)
|
64 |
```
|
65 |
|
66 |
+
## 以下是一些模型的问答实例:
|
67 |
|
68 |
<details>
|
69 |
<summary>多文档QA</summary>
|