Atom-7B-Chat / README.md
wuyongyu's picture
Update README.md
52b7761 verified
metadata
developers:
  - https://huggingface.co/FlagAlphaAI
license: apache-2.0
language:
  - zh
  - en
pipeline_tag: question-answering
library_name: transformers

Atom-7B-32k-Chat

基于Atom-7B具有32k长度的对话模型,完全开源可商用,由Llama中文社区和AtomEcho(原子回声)联合研发,基于Llama2-7B采用大规模的中文数据进行了继续预训练,我们会持续提供更新的模型参数,模型训练过程见llama.family

模型的部署、训练、微调等方法详见Llama中文社区GitHub仓库:Llama-Chinese

📝 中文数据

类型 描述
网络数据 互联网上公开的网络数据,挑选出去重后的高质量中文数据,涉及到百科、书籍、博客、新闻、公告、小说等高质量长文本数据。
Wikipedia 中文Wikipedia的数据
悟道 中文悟道开源的200G数据
Clue Clue开放的中文预训练数据,进行清洗后的高质量中文长文本数据
竞赛数据集 近年来中文自然语言处理多任务竞赛数据集,约150个
MNBVC MNBVC 中清洗出来的部分数据集

我们也欢迎大家在llama.family中贡献自己的数据,您的数据通过审核后会加入模型训练,也将影响模型未来的能力走向。

📚 中文词表

为了提高中文文本处理的效率,我们针对Llama2模型的词表进行了深度优化。

首先,我们基于数百G的中文文本,在Llama2词表的基础上扩展词库至65,000个单词

经过测试,我们的改进使得中文编码/解码速度提高了约350%

此外,我们还扩大了中文字符集的覆盖范围,包括所有emoji符号,这使的生成带有表情符号的文章更加高效。

对于Llama2原生词表中的一些特殊情况,如数字、英文等,我们尽可能地避免对其进行修改或替换。

最终,成功地实现了一种既能提高中文处理效率又能保持Llama2原有性能的方法。

📈 训练过程

模型结构

基于当前最优秀的开源模型Llama2,使用主流Decoder-only的标准Transformer网络结构,支持4K的上下文长度(Context Length),为同尺寸模型中最长,能满足更长的多轮对话、知识问答与摘要等需求,模型应用场景更广泛。

FlashAttention-2高效训练

Atom-7B采用了FlashAttention-2技术进行训练。由于在处理较长的输入序列时,内存消耗的问题可能会导致“内存爆炸”现象。FlashAttention-2是一种高效注意力机制的实现方式之一,相较于传统的注意力技术(Attention),它拥有更快速的速度以及更加优化的内存占用率。

基于NTK的自适应上下文扩展技术

  • 可在不继续训练模型的情况下支持更长的上下文
  • 本项目中模型默认支持4K上下文,利用上述技术可扩展至18K+
  • 经过微调可以支持到32K+

💻 推理配置

实际应用中,消费级显卡要比专业显卡便宜的多(比如3090相比A10,同样都是24G显存)。

对于消费级显卡,直接FP32肯定放不下,一般最基本的是FP16,而INT8和INT4量化就很有用,例如:

  • 对于3080显卡(10G显存),Atom-7B的INT8只需要8G显存可以直接部署。
  • 对于3080显卡(10G显存),Atom-7B的INT4只需要5G显存可以直接部署。

Llama中文社区

🚀 社区地址:

Github:Llama-Chinese

在线体验链接:llama.family

🔥 社区介绍

欢迎来到Llama中文社区!

我们是一个专注于Llama模型在中文方面的优化和上层建设的高级技术社区。

基于大规模中文数据,从预训练开始对Llama2模型进行中文能力的持续迭代升级

我们热忱欢迎对大模型LLM充满热情的开发者和研究者加入我们的行列。

🐼 社区资源