モデル概要
モデル特徴
モデル能力
使用事例
🚀 星辰语义大模型-TeleChat
星辰语义大模型-TeleChatは、中電信人工知能科技有限公司によって開発・訓練された大規模言語モデルです。このモデルは、自然言語理解、知識、数学計算と推論、コード生成などの分野で優れた性能を発揮します。
🤗 Hugging Face • 🏔 MindSpore • 🐾 gitee️ • 💬 WeChat
🚀 クイックスタート
最新動態
- 2024.3.20 12Bバージョンのチャットモデルと量子化バージョンをオープンソース化
- 2024.1.11 1Tの中国語データセットをオープンソース化
- 2024.1.10 7Bバージョンのチャットモデルとその量子化バージョンをオープンソース化
モデル紹介
星辰语义大模型-TeleChat
星辰語義大モデルTeleChatは、中電信人工知能科技有限公司によって開発・訓練された大規模言語モデルです。7Bモデルのベースは、1.5兆トークンの中英語の高品質コーパスを使用して訓練され、12Bモデルのベースは、3兆トークンの中英語の高品質コーパスを使用して訓練されました。
私たちは、対話モデルの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層のパラメータを分けることで、訓練の安定性と収束性を向上させることができます。訓練データの面では、書籍、百科事典、ニュース、行政、法律、医薬、特許、論文、数学、コードなどの多岐にわたる分野の大量の中英語データを収集し、データクリーニング戦略を最適化することで、データのテキストのクリーンさ、見解の無偏性、内容の有効性、形式の規範性を大幅に向上させました。訓練方法の面では、科学的なデータ比率学習とコース学習の方法を使用し、小パラメータモデルをさまざまなデータ比率のデータに適合させ、各データセットの難易度の事前推定を得ました。訓練過程では、一定期間ごとに現在のモデルのすべてのデータセットでの損失と、評価セットでの生成結果を自動的に評価し、学習が難しいデータセットの重みを動的に増加させ、モデルがすべてのデータセットで良好な適合結果を得るようにしました。
モデル構造
私たちは、標準的な Decoder-only
構造を採用してTeleChatモデルを設計し、モデルの次元に関して以下のような改善を加えました。
- 位置符号化:Rotary Embeddingの位置符号化方法を使用しています。この方法は、相対位置情報をself-attentionに組み込み、良好な位置外挿性を持っています。Rotary Embeddingは、Flash-Attention v2とも良好に連携し、モデルの訓練速度を約20%向上させることができます。
- 活性化関数:SwiGLU活性化関数を使用して、GELU活性化関数を置き換えています。計算量を減らすために、
ffn_hidden_size
を元のSwiGLUの4倍の隠れ層サイズよりも小さく設定しています。 - 層正規化: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モデルは、以下のような特徴を持っています。
- deepspeedによる微調整をサポートし、deepspeedに基づく訓練コードをオープンソース化しています。Zero並列メモリ最適化をサポートし、FlashAttention2を統合しています。
- 多輪対話能力をサポートしています。多輪データの構築方法をオープンソース化し、多輪モデルの訓練には、多輪に特化したmask loss訓練方法を統合しており、多輪の回答により焦点を当て、質問応答の効果を向上させています。
- 外挿能力が向上しています。8K訓練バージョンのモデルをオープンソース化し、NTK-aware外挿とattention scaling外挿を採用しており、96Kまで外挿することができます。
- 長文生成能力に優れています。仕事のまとめ、仕事計画、PPTの大綱、申し論、入札書、メール、プラン、週報、求人広告の作成などの長文作成タスクで良好な結果を得ることができます。
今回のリリースバージョンとダウンロードリンクは以下の表の通りです。
モデルバージョン | ダウンロードリンク |
---|---|
7B-FP16 | TeleChat-7B-FP16 |
7B-int8 | TeleChat-7B-int8 |
7B-int4 | TeleChat-7B-int4 |
12B-FP16 | TeleChat-12B-FP16 |
12B-int8 | TeleChat-12B-int8 |
12B-int4 | TeleChat-12B-int4 |
データオープンソース
データ紹介
TeleChat-PTDは、電信の星大モデルTeleChatの事前訓練コーパスから抽出された総合的な大規模中国語データセットです。データは主にウェブページ、書籍、公式メディアなどから収集されています。私たちは、規則とモデルを組み合わせた方法で関連するフィルタリングを行い、データの類似性を削除し、できるだけ高品質なデータを抽出しています。
TeleChat-PTDデータセットは、約2.7億件のデータを公開しており、データは純粋な中国語テキストで構成されています。元のサイズは約1TBで、圧縮後は480GBで、合計189個のファイルで構成されています。データセットには、その他の冗長な情報は削除されています。
データダウンロード
huggingfaceのダウンロードアドレス:TeleChat-PTD 天翼雲ディスクのダウンロードアドレス:データダウンロード(アクセスコード:pkg8)
評価結果
TeleChatモデルは、同規模のモデルと比較して、評価結果においても良好な性能を示しています。私たちの評価セットは、MMLU、C-Eval、GAOKAO、AGIEval、CMMLU、GSM8K、MATH、HumanEval、CHIDなどのデータセットを含み、自然言語理解、知識、数学計算と推論、コード生成などの能力を評価しています。
モデル | 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/
フォルダを参照してください。
モデル推論
>>> 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モデルおよびその派生モデルを使用して、国家社会の安全を脅かしたり、違法な活動を行ったりしないでください。同時に、私たちは使用者に、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}
}
📄 ライセンス
本プロジェクトは、Apache-2.0ライセンスの下で公開されています。



