模型概述
模型特點
模型能力
使用案例
🚀 星辰語義大模型-TeleChat
星辰語義大模型-TeleChat 是由中電信人工智能科技有限公司研發訓練的大語言模型。它採用高質量中英文語料訓練,開源了多個版本的對話模型及量化版本,在多種評測中表現出色,還開源了大規模中文數據集。
🚀 快速開始
你可以通過以下鏈接獲取模型和數據集:
- 模型:Hugging Face、MindSpore、gitee
- 數據集:huggingface、天翼雲盤(訪問碼:pkg8)
- 技術報告:Tech Report
- 交流渠道:WeChat
✨ 主要特性
模型版本豐富
開源了對話模型TeleChat-7B-bot與TeleChat-12B-bot,以及其huggingface
格式的權重文件,還有7B、12B模型的int8和int4量化版本。
模型性能提升
TeleChat-12B-bot在模型結構、訓練數據、訓練方法等方面進行了改進,在通用問答和知識類、代碼類、數學類榜單上相比TeleChat-7B-bot均有大幅提升。
多能力支持
- 支持deepspeed微調,開源了基於deepspeed的訓練代碼,支持Zero並行顯存優化,同時集成了FlashAttention2。
- 支持多輪能力,開源了多輪數據構建方式,針對多輪模型訓練集成了針對多輪的mask loss訓練方式,更好的聚焦多輪答案,提升問答效果。
- 外推能力提升,開源了8K訓練版本模型,採用NTK-aware外推和attention scaling外推方式,可以外推到96K。
- 具備較好的長文生成能力,在工作總結、工作計劃、PPT大綱、申論、招標書、郵件、方案、週報、JD寫作等長文寫作任務上表現較好。
數據集優質
TeleChat-PTD 是由電信星辰大模型TeleChat預訓練語料中抽取出的綜合性大規模中文數據集,數據經過過濾和去重,質量較高。
評測效果好
TeleChat模型相比同規模模型在評測效果方面也有較好的表現,評測集涵蓋了自然語言理解、知識、數學計算和推理、代碼生成等多個方面。
📦 安裝指南
暫未提供具體安裝步驟,可參考相關代碼倉庫中的說明進行安裝。
💻 使用示例
基礎用法
>>> import os
>>> import torch
>>> from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
>>> os.environ["CUDA_VISIBLE_DEVICES"] = '0'
>>> tokenizer = AutoTokenizer.from_pretrained('../models/7B')
>>> model = AutoModelForCausalLM.from_pretrained('../models/7B', trust_remote_code=True, device_map="auto", torch_dtype=torch.float16)
>>> generate_config = GenerationConfig.from_pretrained('../models/7B')
>>> question="生抽與老抽的區別?"
>>> answer, history = model.chat(tokenizer = tokenizer, question=question, history=[], generation_config=generate_config, stream=False)
>>> print(answer)
生抽和老抽是兩種不同的醬油,它們的區別如下:
1. 原料不同:生抽是用大豆、小麥等穀物為原料製成的;而老抽則是用豆醬、麵醬等發酵後的調味品為原料製成的。
2. 製作工藝不同:生抽是通過將大豆浸泡在水中,然後經過蒸煮、發酵等過程製成的;而老抽則是在生抽的基礎上加入一定比例的鹽、糖、味精等調料,再進行發酵製成的。
3. 口感和風味不同:生抽具有鹹鮮的味道,口感比較清爽;而老抽則具有特殊的香味和味道,口感相對較重。
總的來說,生抽和老抽都是醬油的不同種類,它們在原料、製作工藝和口感等方面都有所不同。
📚 詳細文檔
模型介紹
- 星辰語義大模型TeleChat是由中電信人工智能科技有限公司研發訓練的大語言模型,其中7B模型基座採用1.5萬億 Tokens中英文高質量語料進行訓練,12B模型基座採用3萬億 Tokens中英文高質量語料進行訓練。
- 模型結構:採用標準的
Decoder-only
結構設計,並在模型維度做了一些改進,如使用 Rotary Embedding 的位置編碼方法、SwiGLU 激活函數、基於 RMSNorm 的 Pre-Normalization,以及將TeleChat-12B-bot的詞嵌入層和輸出lm head層參數分開。
layer_num | hidden_size | ffn_hidden_size | head_num | tie_word_embeddings | |
---|---|---|---|---|---|
7B | 30 | 4096 | 12288 | 32 | 是 |
12B | 38 | 5120 | 12288 | 32 | 否 |
數據開源
- 數據介紹:TeleChat-PTD 是由電信星辰大模型TeleChat預訓練語料中抽取出的綜合性大規模中文數據集,數據主要來源於網頁、書籍、官方媒體等,經過過濾和去重,大約公開了2.7億條數據,原始大小約1TB,壓縮後480G,共189個文件。
- 數據下載:huggingface下載地址:TeleChat-PTD;天翼雲盤下載地址:數據下載(訪問碼:pkg8)。
效果評測
TeleChat模型相比同規模模型在評測效果方面也有較好的表現,評測集涵蓋了包括MMLU、C-Eval、GAOKAO、AGIEval、CMMLU、 GSM8K、MATH、HumanEval、CHID等數據集,評測能力包括了自然語言理解、知識、數學計算和推理、代碼生成等。
Model | MMLU | C-Eval | CMMLU | AGIEval | GAOKAO | GSM8K | MATH | HumanEval | CSL | CHID | EPRSTMT | BBH | HellaSwag |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5-shot | 5-shot | 5-shot | zero-shot | zero-shot | 4-shot | 4-shot | zero-shot | zero-shot | zero-shot | zero-shot | 3-shot | zero-shot | |
LLaMA2-7B-chat | 46.2 | 31.9 | 31.5 | 28.5 | 16.1 | 26.3 | 3.9 | 12.2 | 58.8 | 44.1 | 57.5 | 35.6 | 74.1 |
LLaMA2-13B-chat | 54.6 | 36.2 | 38.7 | 32.3 | 18.6 | 29.6 | 5.0 | 18.9 | 61.2 | 48.0 | 59.4 | 40.2 | 78.2 |
ChatGLM2-6B-chat | 45.9 | 52.6 | 49.3 | 39.0 | 46.4 | 28.8 | 6.5 | 11.0 | 61.2 | 57.9 | 71.2 | 32.7 | 57.0 |
ChatGLM3-6B-chat | 51.9 | 53.8 | 54 | 38.9 | 49.3 | 56.7 | 18.7 | 61 | 65.6 | 63.4 | 85 | 44.6 | 62.7 |
Baichuan2-7B-chat | 52.8 | 55.6 | 54.0 | 35.3 | 39.7 | 32.8 | 6 | 13.4 | 60 | 75.2 | 87.5 | 35.8 | 61.6 |
Baichuan2-13B-chat | 57 | 56.7 | 58.4 | 40 | 51.4 | 55.3 | 8.6 | 17.7 | 63.1 | 78.2 | 87.5 | 49.9 | 66.9 |
Qwen-7B-chat | 56.6 | 59.3 | 59.5 | 41.3 | 63.3 | 52.5 | 10.3 | 26.2 | 63.1 | 72.3 | 88.8 | 46.9 | 59.9 |
Qwen-14B-chat | 66.4 | 71.7 | 70.0 | 47.3 | 76.5 | 61.0 | 26.8 | 36.6 | 55.6 | 72.3 | 91.2 | 58.0 | 65.2 |
TeleChat-7B-chat | 60.5 | 64.6 | 64.3 | 46.8 | 59 | 36.7 | 10.3 | 20.1 | 66.8 | 88.0 | 87.5 | 19.5 | 36.7 |
TeleChat-12B-chat | 73.3 | 66.6 | 74.2 | 51.7 | 53.1 | 57.2 | 16.0 | 22.0 | 60.6 | 83.2 | 86.3 | 52.2 | 71.5 |
說明:CMMLU、AGIEval、GAOKAO、CSL、CHID、EPRSTMT均基於OpenCompass平臺提供的評測方法進行評估,而對於對比模型,我們同時參考了官方彙報結果和OpenCompass結果。我們使用了自己的評測腳本評測MMLU與CEVAL榜單,具體方法見evaluation/
文件夾。
聲明、協議、引用
聲明
我們在此聲明,不要使用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}
}
🔧 技術細節
模型結構改進
- 位置編碼:使用 Rotary Embedding 的位置編碼方法,將相對位置信息依賴集成到 self-attention 中,具有較好的位置外推性,還可以與Flash-Attention v2 配合使用,提升模型訓練速度約20%。
- 激活函數:使用 SwiGLU 激活函數替代GELU激活函數,為減少計算量,將
ffn_hidden_size
設置為小於原始SwiGLU中的4倍隱藏層大小。 - 層標準化:基於 RMSNorm 的 Pre-Normalization。
- 詞嵌入層與輸出層解耦:將TeleChat-12B-bot的詞嵌入層和輸出lm head層參數分開,有助於增強訓練穩定性和收斂性。
訓練方法改進
使用科學數據配比學習與課程學習的方法,使用小參數模型在多種數據配比的數據上擬合,得到對各個數據集難度的先驗估計;訓練過程中每隔一段時間自動化評估當前模型在所有數據集上的loss,以及在評測集上的生成效果,動態提升較難學習的數據集權重,保證模型在各個數據集上都有較佳的擬合效果。
📄 許可證
本項目採用 Apache-2.0
許可證。社區使用 TeleChat 模型需要遵循《TeleChat模型社區許可協議》。TeleChat模型支持商業用途,如果您計劃將 TeleChat 模型或其衍生品用於商業目的,您需要通過以下聯繫郵箱 tele_ai@chinatelecom.cn,提交《TeleChat模型社區許可協議》要求的申請材料。審核通過後,將特此授予您一個非排他性、全球性、不可轉讓、不可再許可、可撤銷的商用版權許可。



