Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
developers: [https://huggingface.co/FlagAlphaAI]
|
3 |
+
license: apache-2.0
|
4 |
+
language:
|
5 |
+
- zh
|
6 |
+
- en
|
7 |
+
pipeline_tag: question-answering
|
8 |
+
library_name: transformers
|
9 |
+
---
|
10 |
+
# Atom-7B
|
11 |
+
|
12 |
+
Atom-7B完全开源可商用,由Llama中文社区和AtomEcho(原子回声)联合研发,基于Llama2-7B采用大规模的中文数据进行了继续预训练,我们会持续提供更新的模型参数,模型训练过程见[llama.family](https://llama.family)。
|
13 |
+
|
14 |
+
模型的部署、训练、微调等方法详见Llama中文社区GitHub仓库:[**Llama2-Chinese**](https://github.com/FlagAlpha/Llama2-Chinese)。
|
15 |
+
|
16 |
+
|
17 |
+
## 中文数据
|
18 |
+
|
19 |
+
| 类型 | 描述 |
|
20 |
+
| ---------------------------------------------------------- | ------------------------------------------------------------ |
|
21 |
+
| 网络数据 | 互联网上公开的网络数据,挑选出去重后的高质量中文数据,涉及到百科、书籍、博客、新闻、公告、小说等高质量长文本数据。 |
|
22 |
+
| [Wikipedia](https://github.com/goldsmith/Wikipedia) | 中文Wikipedia的数据 |
|
23 |
+
| [悟道](https://github.com/BAAI-WuDao/Model) | 中文悟道开源的200G数据 |
|
24 |
+
| [Clue](https://github.com/CLUEbenchmark/CLUEDatasetSearch) | Clue开放的中文预训练数据,进行清洗后的高质量中文长文本数据 |
|
25 |
+
| 竞赛数据集 | 近年来中文自然语言处理多任务竞赛数据集,约150个 |
|
26 |
+
| [MNBVC](https://github.com/esbatmop/MNBVC) | MNBVC 中清洗出来的部分数据集 |
|
27 |
+
|
28 |
+
**我们也欢迎大家在[llama.family](https://llama.family)中贡献自己的数据,您的数据通过审核后会加入模型训练,也将影响模型未来的能力走向。**
|
29 |
+
|
30 |
+
|
31 |
+
## 中文词表
|
32 |
+
|
33 |
+
为了提高中文文本处理的效率,我们针对Llama2模型的词表进行了深度优化。
|
34 |
+
|
35 |
+
首先,我们基于数百G的中文文本,**在Llama2词表的基础上扩展词库至65,000个单词**。
|
36 |
+
|
37 |
+
经过测试,我们的改进使得**中文编码/解码速度提高了约350%**。
|
38 |
+
|
39 |
+
此外,我们还扩大了中文字符集的覆盖范围,包括所有**emoji符号**,这使的生成带有表情符号的文章更加高效。
|
40 |
+
|
41 |
+
对于Llama2原生词表中的一些特殊情况,如数字、英文等,我们尽可能地避免对其进行修改或替换。
|
42 |
+
|
43 |
+
最终,成功地实现了一种既能提高中文处理效率又能保持Llama2原有性能的方法。
|
44 |
+
|
45 |
+
|
46 |
+
## 训练过程
|
47 |
+
|
48 |
+
**模型结构**
|
49 |
+
|
50 |
+
基于当前最优秀的开源模型Llama2,使用主流Decoder-only的标准Transformer网络结构,支持4K的上下文长度(Context Length),为同尺寸模型中最长,能满足更长的多轮对话、知识问答与摘要等需求,模型应用场景更广泛。
|
51 |
+
|
52 |
+
**FlashAttention-2高效训练**
|
53 |
+
Atom-7B采用了FlashAttention-2技术进行训练。由于在处理较长的输入序列时,内存消耗的问题可能会导致“内存爆炸”现象。FlashAttention-2是一种高效注意力机制的实现方式之一,相较于传统的注意力技术(Attention),它拥有更快速的速度以及更加优化的内存占用率。
|
54 |
+
|
55 |
+
**基于NTK的自适应上下文扩展技术**
|
56 |
+
- 可在不继续训练模型的情况下支持更长的上下文
|
57 |
+
- 本项目中模型默认支持4K上下文,利用上述技术可扩展至18K+
|
58 |
+
- 经过微调可以支持到32K+
|
59 |
+
|
60 |
+
|
61 |
+
## 推理配置
|
62 |
+
实际应用中,消费级显卡要比专业显卡便宜的多(比如3090相比A10,同样都是24G显存)。
|
63 |
+
|
64 |
+
对于消费级显卡,直接FP32肯定放不下,一般最基本的是FP16,而INT8和INT4量化就很有用,例如:
|
65 |
+
|
66 |
+
- 对于3080显卡(10G显存),Atom-7B的INT8只需要8G显存可以直接部署。
|
67 |
+
- 对于3080显卡(10G显存),Atom-7B的INT4只需要5G显存可以直接部署。
|
68 |
+
|
69 |
+
|
70 |
+
---
|
71 |
+
|
72 |
+
|
73 |
+
# Llama中文社区
|
74 |
+
|
75 |
+
## 🚀 社区地址:
|
76 |
+
|
77 |
+
Github:[**Llama2-Chinese**](https://github.com/FlagAlpha/Llama2-Chinese)
|
78 |
+
|
79 |
+
在线体验链接:[**llama.family**](https://llama.family/)
|
80 |
+
|
81 |
+
## 🔥 社区介绍
|
82 |
+
欢迎来到Llama中文社区!
|
83 |
+
|
84 |
+
我们是一个专注于Llama模型在中文方面的优化和上层建设的高级技术社区。
|
85 |
+
|
86 |
+
**基于大规模中文数据,从预训练开始对Llama2模型进行中文能力的持续迭代升级**。
|
87 |
+
|
88 |
+
我们热忱欢迎对大模型LLM充满热情的开发者和研究者加入我们的行列。
|
89 |
+
|
90 |
+
## 🐼 社区资源
|
91 |
+
- Llama2在线体验链接[**llama.family**](https://llama.family/),同时包含Meta原版和中文微调版本!
|
92 |
+
- Llama2 Chat模型的[中文问答能力评测](https://github.com/FlagAlpha/Llama2-Chinese/tree/main#-%E6%A8%A1%E5%9E%8B%E8%AF%84%E6%B5%8B)!
|
93 |
+
- [社区飞书知识库](https://chinesellama.feishu.cn/wiki/space/7257824476874768388?ccm_open_type=lark_wiki_spaceLink),欢迎大家一起共建!
|
94 |
+
|