模型簡介
星辰語義大模型TeleChat是由中電信人工智能科技有限公司研發訓練的大語言模型,TeleChat-12B模型基座采用3萬億 Tokens中英文高質量語料進行訓練。TeleChat-12B-bot在模型結構、訓練數據、訓練方法等方面進行了改進,在通用問答和知識類、代碼類、數學類榜單上相比TeleChat-7B-bot均有大幅提升。
使用場景
TeleChat模型不僅支持deepspeed微調和多輪對話能力,還在外推能力和長文生成方面展現出優異表現。其開源版本包括12B模型的int8和int4量化版本,可廣泛應用于多種Al場景,如智能對話、長文本生成等。
評測效果
TeleChat模型與同規模的其他模型相比,在評測效果方面也展現出了較好的表現。其評測集廣泛涵蓋了MMLU、C-Eval、GAOKAO、AGIEval、CMMLU、GSM8K、MATH、HumanEval、CHID等多個數據集,這些評測集全面評估了TeleChat模型在自然語言理解、知識問答、數學計算和推理、代碼生成等多個方面的能力。
評測結果如下
| 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-1B-chat | 36.5 | 53.3 | 42.1 | 32.1 | 34.5 | 36.8 | 7.2 | 12.8 | 45.62 | 69.8 | 87.5 | 37.4 | 29.6 |
| 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 |
說明 :MMLU、AGIEval、GAOKAO、CSL、CHID、EPRSTMT等數據集均基于OpenCompass平臺提供的評測方法進行評估。對于對比模型,我們同時參考了官方匯報的結果以及OpenCompass平臺的評估結果,以確保評估的全面性和公正性。此外,中電信在評測MMLU與C-Eval榜單時,采用了自己的評測腳本,具體方法可參見 evaluation/文件夾內的相關文檔。
技術亮點
TeleChat-12B-bot在模型結構、訓練數據、訓練方法等方面進行了改進,在通用問答和知識類、代碼類、數學類榜單上相比TeleChat-7B-bot均有大幅提升。
在模型結構方面,使用小規模的模型嘗試多種模型結構的組合,選擇最優結構。相比TeleChat-7B-bot模型,TeleChat-12B-bot模型采用了詞嵌入層與輸出層解耦的結構,將詞嵌入層和輸出lm head層參數分開,有助于增強訓練穩定性和收斂性。
在訓練數據方面,收集了覆蓋書籍、百科、新聞、政務、法律、醫藥、專利、論文、數學、代碼等諸多方面的大量中英文數據;通過優化數據清洗策略大幅提升數據的文本干凈度、觀點無偏性、內容有效性、格式規范性。
在訓練方法方面,使用科學數據配比學習與課程學習的方法,使用小參數模型在多種數據配比的數據上擬合,得到對各個數據集難度的先驗估計;訓練過程中每隔一段時間自動化評估當前模型在所有數據集上的loss,以及在評測集上的生成效果,動態提升較難學習的數據集權重,保證模型在各個數據集上都有較佳的擬合效果。
模型結構
采用標準的 Decoder-only 結構設計了 TeleChat 模型,并在模型維度做了如下的一些改進:
位置編碼:我們引入了 Rotary Embedding 的位置編碼方法。該方法將相對位置信息集成到 self-attention 機制中,不僅增強了模型對位置信息的捕捉能力,還具備較好的位置外推性。此外,Rotary Embedding 與 Flash-Attention v2 配合使用時,能夠顯著提升模型的訓練速度,大約提高了20%。
激活函數:為了優化模型的計算效率和性能,我們選用了 SwiGLU 激活函數來替代傳統的 GELU 激活函數。同時,為了進一步減少計算量,我們將 ffn_hidden_size 設置為小于原始 SwiGLU 結構中推薦的4倍隱藏層大小。這一調整有助于在保證模型性能的同時,降低計算成本。
層標準化:在模型架構中,我們采用了基于 RMSNorm 的 Pre-Normalization 方法。這種方法在層標準化過程中,通過引入 RMS(Root Mean Square,均方根)歸一化,使得模型在訓練過程中更加穩定,有助于提升收斂速度和模型性能。
詞嵌入層與輸出層解耦:在 TeleChat-12B-bot 版本中,我們將詞嵌入層和輸出層的參數進行了解耦。這種設計使得詞嵌入層和輸出lm head層可以獨立地進行優化,從而增強了模型的訓練穩定性和收斂性。這一改進對于提升大模型的訓練效果和性能尤為重要。
綜上所述,通過對 TeleChat 模型在位置編碼、激活函數、層標準化以及詞嵌入層與輸出層解耦等方面的改進,我們旨在打造一個更加高效、穩定且性能優異的對話生成模型。
模型開源
支持DeepSpeed微調:我們支持使用DeepSpeed進行模型微調,并已經開源了基于DeepSpeed的訓練代碼。這段代碼不僅便于用戶進行高效的模型訓練,還具備一系列優化特性。
Zero并行顯存優化:開源的訓練代碼中集成了Zero并行顯存優化技術,這一技術能夠顯著提升訓練過程中的顯存利用率,使得在有限資源下訓練更大規模的模型成為可能。
集成FlashAttention2:我們的訓練代碼還集成了FlashAttention2,這是一種高效的注意力機制實現,能夠進一步加速模型的訓練過程,提高訓練效率。
多輪對話能力支持:為了提升模型在復雜對話場景中的表現,我們開源了多輪數據構建方式,并針對多輪模型訓練集成了特定的mask loss訓練方式。這種訓練方式有助于模型更好地聚焦多輪對話中的關鍵信息,從而提升問答效果和用戶體驗。
外推能力提升:我們開源了8K訓練版本的模型,并采用了NTK-aware外推和attention scaling外推方式。這些技術使得模型能夠成功外推到96K的更大規模,顯著增強了模型的外推能力和泛化性能。
長文生成能力:該模型還展現出了較強的長文生成能力,在多個長文寫作任務上表現優異,包括但不限于工作總結、工作計劃、PPT大綱、申論、招標書、郵件、方案、周報以及JD(職位描述)寫作等。這些實際應用場景的驗證,充分證明了模型在復雜文本生成任務中的強大實力和廣泛應用潛力。
版本列表
| 版本列表 | 版本說明 |
|---|---|
| TeleChat-12B | 星辰語義大模型TeleChat開源的12B參數版本,支持deepspeed微調和多輪對話能力,在外推能力和長文生成方面展現出優異表現。其開源版本包括12B模型的int8和int4量化版本。 |
聲明、協議、引用
聲明
不要使用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}
}