diff --git a/README.md b/README.md index 6da7585..ca35726 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,9 @@ # 模型介绍 ### 星辰语义大模型-TeleChat - 星辰语义大模型TeleChat是由中电信人工智能科技有限公司研发训练的大语言模型,其中7B模型基座采用1.5万亿 Tokens中英文高质量语料进行训练,12B模型基座采用3万亿 Tokens中英文高质量语料进行训练。 -- 我们开源了对话模型**TeleChat-7B-bot**与**TeleChat-12B-bot**,以及其`huggingface`格式的权重文件。此外,我们还开源了7B、12B模型的int8和int4量化版本。 -- **TeleChat-12B-bot**在模型结构、训练数据、训练方法等方面进行了改进,在通用问答和知识类、代码类、数学类榜单上相比**TeleChat-7B-bot**均有大幅提升。 - - 在模型结构方面,我们使用小规模的模型尝试多种模型结构的组合,选择最优结构。相比**TeleChat-7B-bot**模型,**TeleChat-12B-bot**模型采用了词嵌入层与输出层解耦的结构,将词嵌入层和输出lm head层参数分开,有助于增强训练稳定性和收敛性。 +- 我们开源了对话模型**TeleChat-7B**与**TeleChat-12B**,以及其`huggingface`格式的权重文件。此外,我们还开源了7B、12B模型的int8和int4量化版本。 +- **TeleChat-12B**在模型结构、训练数据、训练方法等方面进行了改进,在通用问答和知识类、代码类、数学类榜单上相比**TeleChat-7B**均有大幅提升。 + - 在模型结构方面,我们使用小规模的模型尝试多种模型结构的组合,选择最优结构。相比**TeleChat-7B**模型,**TeleChat-12B**模型采用了词嵌入层与输出层解耦的结构,将词嵌入层和输出lm head层参数分开,有助于增强训练稳定性和收敛性。 - 在训练数据方面,我们收集了覆盖书籍、百科、新闻、政务、法律、医药、专利、论文、数学、代码等诸多方面的大量中英文数据;通过优化数据清洗策略大幅提升数据的文本干净度、观点无偏性、内容有效性、格式规范性。 - 在训练方法方面,我们使用科学数据配比学习与课程学习的方法,使用小参数模型在多种数据配比的数据上拟合,得到对各个数据集难度的先验估计;训练过程中每隔一段时间自动化评估当前模型在所有数据集上的loss,以及在评测集上的生成效果,动态提升较难学习的数据集权重,保证模型在各个数据集上都有较佳的拟合效果。 @@ -43,7 +43,7 @@ - **位置编码**:我们使用 [Rotary Embedding](https://arxiv.org/pdf/2104.09864.pdf) 的位置编码方法,该方法将相对位置信息依赖集成到 self-attention 中,并且具有较好的位置外推性。Rotary Embedding还可以较好地与Flash-Attention v2 配合使用,将模型的训练速度提升约20%。 - **激活函数**:我们使用 [SwiGLU](https://arxiv.org/pdf/2002.05202.pdf) 激活函数来替代GELU激活函数 , 为了减少计算量,将`ffn_hidden_size`设置为小于原始SwiGLU中的4倍隐藏层大小。 - **层标准化**: 基于 [RMSNorm](https://arxiv.org/abs/1910.07467) 的 Pre-Normalization。 -- **词嵌入层与输出层解耦**:我们将**TeleChat-12B-bot**的词嵌入层和输出lm head层参数分开,有助于增强训练稳定性和收敛性。 +- **词嵌入层与输出层解耦**:我们将**TeleChat-12B**的词嵌入层和输出lm head层参数分开,有助于增强训练稳定性和收敛性。 | | layer_num | hidden_size | ffn_hidden_size | head_num | tie_word_embeddings | @@ -162,7 +162,7 @@ TeleChat模型相比同规模模型在评测效果方面也有较好的表现, >>> os.environ["CUDA_VISIBLE_DEVICES"] = '0' >>> tokenizer = AutoTokenizer.from_pretrained('../models/12B', trust_remote_code=True) >>> model = AutoModelForCausalLM.from_pretrained('../models/12B', trust_remote_code=True, device_map="auto", torch_dtype=torch.float16) ->>> generate_config = GenerationConfig.from_pretrained('../models/7B') +>>> generate_config = GenerationConfig.from_pretrained('../models/12B') >>> question="生抽与老抽的区别?" >>> answer, history = model.chat(tokenizer = tokenizer, question=question, history=[], generation_config=generate_config, stream=False) >>> print(answer)