Home

Awesome

<div align="center"> <h1> 星辰语义大模型-TeleChat2 </h1> </div> <p align="center"> 🤗 <a href="https://huggingface.co/Tele-AI" target="_blank">Hugging Face</a> • 🤖 <a href="https://modelscope.cn/organization/TeleAI" target="_blank">ModelScope</a> • 🏔 <a href="https://gitee.com/mindspore/mindformers/tree/dev/research/telechat2" target="_blank">MindSpore</a> • 🐾 <a href="https://gitee.com/Tele-AI/tele-chat2" target="_blank">gitee</a>️ • 💬 <a href="https://github.com/Tele-AI/Telechat/blob/master/images/wechat.jpg" target="_blank">WeChat</a> </p>

目录

最新动态

模型介绍

星辰语义大模型-TeleChat2

模型结构

我们采用标准的 Decoder-only 结构设计了 TeleChat2 模型,使用 Rotary Embedding 的位置编码方法、使用 SwiGLU 激活函数来替代GELU激活函数、使用基于 RMSNorm 的 Pre-Normalization进行层标准化操作。我们将TeleChat2的词嵌入层和输出lm head层参数分开,有助于增强训练稳定性和收敛性。我们选择了GQA以节约attention部分的参数量和计算量、提升训练和推理速度。

TeleChat2的模型结构配置如下表所示:

layer_numhidden_sizeffn_hidden_sizehead_numtie_word_embeddingsGQA
3B243072614424
7B3040961228832
35B6461442048048
115B9681924096064

我们开源的 TeleChat2 模型:

本次发布版本和下载链接见下表

模型版本下载链接
telechat2-3Bmodelscope
telechat2-7Bmodelscope
telechat2-35Bmodelscope
telechat2-115Bmodelscope

效果评测

TeleChat2 模型相比同规模模型在评测效果方面也有较好的表现,我们的评测集涵盖了包括MMLU、C-Eval、CMMLU、 GSM8K、MATH、HumanEval、BBH等数据集,评测能力包括了指令遵循、考试能力、数学计算和推理、代码生成等

评测集介绍

通用能力

推理和代码能力

主观题能力

指令遵循能力

评测结果如下

DatasetLlama-3.1-70BQwen1.5-110BQwen2-72-instructDeepSeek-v2TeleChat2-115BTeleChat2-35BTeleChat2-7BTeleChat2-3B
C-Eval--83.87886.9858275
MMLU8680.482.377.880.98279.672.9
CMMLU69.0187.6487.4781.689.9490.1884.673
BBH-74.8-79.789.0488.677.365.99
GSM8K95.185.491.192.292.29186.864.7
HumanEval80.552.48681.175735638
MBPP8658.180.272787562.647
AlignBench-7.868.277.918.037.886.965.74
MT-bench8.798.889.128.978.898.27.25.72
IFEval87.5-77.663.882.8179.6373.161.29

模型推理和部署

模型推理

当前模型推理兼容了单卡和多卡推理,以及针对长文推理做了部分优化工作。

模型推理方法示范

>>> import os
>>> import torch
>>> from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
>>> tokenizer = AutoTokenizer.from_pretrained('TeleChat2/Telechat2-7B', trust_remote_code=True)
>>> model = AutoModelForCausalLM.from_pretrained('TeleChat2/Telechat2-7B', trust_remote_code=True, device_map="auto",
                                                  torch_dtype=torch.float16)
>>> prompt = "生抽与老抽的区别?"
>>> messages = [{"role": "user", "content": prompt}]
>>> text = tokenizer.apply_chat_template(messages,
>>>		tokenize=False,
>>>    		add_generation_prompt=True
>>>	)
>>> model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
>>> generated_ids = model.generate(
>>>     **model_inputs,
>>>     max_new_tokens=512
>>> )
>>> generated_ids = [
>>>     output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
>>> ]

>>> response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
生抽和老抽是两种不同的酱油,它们在风味、色泽和用途上都有所区别。

1.颜色:生抽的颜色比较淡,而老抽的颜色较深。生抽的颜色呈红褐色或棕红色,而老抽的颜色则呈棕黑色。

2.味道:生抽具有鲜美的咸味和微甜的味浅,而老抽浓郁,颜色较深。根据个人口味和烹饪需求选择不同的酱油类型可以获得更好的口感和菜肴效果。

模型部署

TeleChat目前提供了API、Web两种部署方式。目前仅提供简单的单卡单并发场景,用于演示和效果测试。

API: 分为流式接口和json接口,支持传入推理参数

Web: 支持流式生成、多轮对话

现已支持vllm推理

模型工具调用能力

TeleChat2 目前已支持工具调用功能,具体使用方式参考文档TeleChat2工具调用文档

模型微调

TeleChat2 现已支持DeepSpeed微调方式,具体使用方式参考文档TeleChat2微调文档

国产化适配

昇腾Atlas 800T A2训练服务器+昇思MindSpore框架: 训练、推理适配

当前星辰语义大模型TeleChat2支持昇腾Atlas 800T A2训练服务器,可基于昇思MindSpore框架进行模型训练和评测。

NAMEperformance(samples/p/s)EpochsAMP_Type
115B0.01921O1
115B0.01741O2
说明:建议采用8台一组进行训练

声明、协议、引用

声明

我们在此声明,不要使用TeleChat模型及其衍生模型进行任何危害国家社会安全或违法的活动。同时,我们也要求使用者不要将TeleChat模型用于没有安全审查和备案的互联网服务。我们希望所有使用者遵守上述原则,确保科技发展在合法合规的环境下进行。

我们已经尽我们所能,来确保模型训练过程中使用的数据的合规性。然而,尽管我们已经做出了巨大的努力,但由于模型和数据的复杂性,仍有可能存在一些无法预见的问题。因此,如果由于使用TeleChat开源模型而导致的任何问题,包括但不限于数据安全问题、公共舆论风险,或模型被误导、滥用、传播或不当利用所带来的任何风险和问题,我们将不承担任何责任。

协议

社区使用 TeleChat 模型需要遵循《TeleChat模型社区许可协议》。TeleChat模型支持商业用途,如果您计划将 TeleChat 模型或其衍生品用于商业目的,您需要通过以下联系邮箱 tele_ai@chinatelecom.cn,提交《TeleChat模型社区许可协议》要求的申请材料。审核通过后,将特此授予您一个非排他性、全球性、不可转让、不可再许可、可撤销的商用版权许可。

引用

如需引用我们的工作,请使用如下 reference:

@misc{wang2024telechat,
      title={TeleChat Technical Report}, 
      author={Zihan Wang and Xinzhang Liu and Shixuan Liu and Yitong Yao and Yuyao Huang and Zhongjiang He and Xuelong Li and Yongxiang Li and Zhonghao Che and Zhaoxi Zhang and Yan Wang and Xin Wang and Luwen Pu and Huihan Xu and Ruiyu Fang and Yu Zhao and Jie Zhang and Xiaomeng Huang and Zhilong Lu and Jiaxin Peng and Wenjun Zheng and Shiquan Wang and Bingkai Yang and Xuewei he and Zhuoru Jiang and Qiyi Xie and Yanhan Zhang and Zhongqiu Li and Lingling Shi and Weiwei Fu and Yin Zhang and Zilu Huang and Sishi Xiong and Yuxiang Zhang and Chao Wang and Shuangyong Song},
      year={2024},
      eprint={2401.03804},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}