Home

Awesome

<div align="center"> <h1> 星辰大模型(52B) </h1> </div>

目录

最新动态

模型介绍

星辰大模型(52B)

模型结构

我们采用标准的 Decoder-only 结构设计了 TeleChat 模型,并在模型维度做了如下的一些改进:

layer_numhidden_sizeffn_hidden_sizehead_numtie_word_embeddings
星辰52B6481922182464

我们开源的星辰52B模型:

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

模型版本下载链接
52B-FP16TeleChat-52B-FP16

镜像下载(需修改) 为了便于大家快速上手,我们提供了可运行的环境镜像,下载地址:镜像下载 (访问码:ona6)

效果评测

星辰52B模型相比同规模模型在评测效果方面也有较好的表现,我们的评测集涵盖了包括MMLU、AGIEval、CMMLU、 GSM8K、MATH、HumanEval 等数据集,评测能力包括了自然语言理解、知识、数学计算和推理、代码生成等

评测集介绍

通用能力

推理和代码能力

评测结果如下

ModelMMLUCMMLUAGIEvalGSM8KMATHHumanEvalBBHHellaSwag
5-shot5-shotzero-shot4-shot4-shotzero-shot3-shotzero-shot
LLaMA-2-70B-Chat63.843.337.959.310.432.360.880.6
Qwen-72B-chat7481.458.567.431.849.46884.7
星辰7B-chat60.564.346.836.710.320.119.536.7
星辰12B-chat73.374.251.757.216.022.052.271.5
星辰52B-chat76.673.7961.163.513.536.660.386.3

说明:榜单均基于OpenCompass平台提供的评测方法进行评估,而对于对比模型,我们同时参考了官方汇报结果和OpenCompass结果。

对话能力评测

为了评价模型的对话能力,研发团队建立了包含2500+单轮、多轮对话交互的内部评测系统,涵盖闲聊问答、专业知识、翻译、逻辑思维、长文写作、幻觉测试、安全测试、角色扮演、任务执行、数学能力等多个维度,并使用Judge模型基于详细的评价指标文档进行自动打分。在当前评测数据上,星辰52B模型的综合平均得分为83.8,高于GPT-3.5-Turbo的82.3。这一结果表明,星辰52B模型能较好地支持下游任务应用。

模型推理和部署

模型推理

当前模型支持fp16精度推理,适配4卡40G A100进行推理。具体推理操作请参考infer.py文件,该文件中有单轮和多轮的推理示例。

模型推理方法示范

import os
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers import GenerationConfig
PATH = "/path/to/TeleChat-52B-chat"
tokenizer = AutoTokenizer.from_pretrained(PATH, use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(PATH,torch_dtype=torch.bfloat16,device_map='auto',trust_remote_code=True)
question = "你作为一名气候保护协会的会员,你准备写一篇全球气候变化的新闻报告,要求体现出全球气候变化以前与现在情况的对比,字数要求1000字。"
generate_config = GenerationConfig.from_pretrained(PATH)
answer = model.chat(tokenizer,question, history_input_list = [], history_output_list = [],generation_config = generate_config)
print("machine:",answer)

模型微调

以下是一些性能测试供参考。

全参微调deepspeed版本,8机64卡A100-40G,训练速度参考( samples/s)

模型大小NVIDIA卡型号最长训练长度参数设置
52B8机64卡A100-40G4096flash-attn开启,zero-3,gradient-checkpointing

数据处理

为了方便数据配比,解耦了数据处理和模型训练,数据权重配比文件如data.json所示,json字典中key为读取数据的路径,value为训练时数据的权重。单轮、多轮数据格式如样例数据所示

{
  "datas/single_turn_example.jsonl": 2.0,
  "datas/multi_turn_example.jsonl": 1.0
}

运行process_data.py即可将文件处理成tokens,并保存。其中data_output_path/train_data_{i}.pt保存处理后的文件,i的范围是0~num_workers。训练时会加载路径下所有train_data_{i}.pt文件

python -u process_data.py \
   --data_path data.json \ # 数据配比文件路径
   --tokenizer_path $MODEL_PATH \ # 模型/tokenzier路径
   --data_output_path $DATA_OUTPUT_PATH \ # 处理后数据保存地址
   --max_seq_len $MAX_LEN \ # 数据长度
   --num_samples $NUM_SAMPLES \ # 最终生成拼接后的数据数量
   --num_workers 10 \ # 多进程个数
   --process_method multiple \ # 多进程&单进程处理
   --seed 42

模型微调

全量训练

可运行run_telechat_52b.sh脚本

多机训练需要给出免密互连hostfile,如下所示,node1、node2、node3、node4是节点名称,slots代表每个节点的卡数

node1 slots=8
node2 slots=8
node3 slots=8
node4 slots=8
bash run_telechat_52b.sh

Lora训练

可运行run_telechat_52b_lora.sh脚本

bash run_telechat_52b_lora.sh

声明、协议、引用

声明

我们在此声明,不要使用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}
}

@misc{li2024teleflm,
      title={Tele-FLM Technical Report}, 
      author={Xiang Li and Yiqun Yao and Xin Jiang and Xuezhi Fang and Chao Wang and Xinzhang Liu and Zihan Wang and Yu Zhao and Xin Wang and Yuyao Huang and Shuangyong Song and Yongxiang Li and Zheng Zhang and Bo Zhao and Aixin Sun and Yequan Wang and Zhongjiang He and Zhongyuan Wang and Xuelong Li and Tiejun Huang},
      year={2024},
      eprint={2404.16645},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}