性能提升30%!中国电信进一步开源12B星辰大模型TeleChat-12B!魔搭社区最佳实践来啦!

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 中国电信人工智能研究院开源12B参数规模星辰语义大模型TeleChat-12B,相较1月开源7B版本,内容、性能和应用等方面整体效果提升30%,其中,多轮推理、安全问题等领域提升超40%。在C-eval、MMLU、AGIEVAL等国际权威榜单上,排名处于国内同级别参数开源模型的前列,进一步促进大模型开源生态繁荣,助力AI产业加速高质量发展。另据悉,中国电信人工智能研究院将于年内开源千亿级参数大模型。

导读

近日,中国电信人工智能研究院开源12B参数规模星辰语义大模型TeleChat-12B,相较1月开源7B版本,内容、性能和应用等方面整体效果提升30%,其中,多轮推理、安全问题等领域提升超40%。在C-eval、MMLU、AGIEVAL等国际权威榜单上,排名处于国内同级别参数开源模型的前列,进一步促进大模型开源生态繁荣,助力AI产业加速高质量发展。另据悉,中国电信人工智能研究院将于年内开源千亿级参数大模型。

中国电信人工智能研究院(TeleAI)坚持完全自研自主可控,在中国电信首席技术官、首席科学家、TeleAI院长李学龙带领下,加快研发创新,不断优化底层模型结构,解除Word Embedding与lmhead共享参数,有效提升模型稳定性和训练效果,并基于精细化的CheckPoint效果验证,进行动态的数据配比优化调整,大幅提升模型训练效果。

海量高质量数据是保证大模型效果的基础,TeleChat-12B将7B版本1.5T训练数据提升至3T,优化数据清洗、标注策略,持续构建专项任务SFT(监督微调)数据,优化数据构建规范,大大提升数据质量;同时,基于电信星辰大模型用户真实回流数据,优化奖励模型和强化学习模型,有效提升模型问答效果。

TeleAI通过更彻底地开源推动大模型技术进步和大模型国产化进程。此次开源提供基础模型以及基于相应版本的对话模型、不仅支持传统的全量参数更新还支持 LoRA 等只更新部分参数的高效微调方法、支持Deepspeed微调、支持int8、int4量化和国产芯片训练推理,推动大模型国产化进程。

加速探索创新的同时,星辰大模型也在深入推动人工智能与各行各业的融合,积极探索新兴的应用场景。星辰语义大模型已应用于行文写作、代码编程、网络故障分析以及经营分析等场景,以行文写作为例,其平均生成字数超过1500字,有效采纳率达到85.7%;在对外企事业单位客户的业务中,星辰语义大模型支持企业经营分析、政务公开咨询、民生诉求接待等场景,可覆盖95%的实际业务场景,多轮理解准确率达到90%。除传统行业应用场景,星辰大模型积极探索前沿领域应用,赋能具身智能,解决无人机编排投入多、开发量大的问题,实现无人机智能编排轻量化建设。

据悉,星辰大模型已广泛应用落地,赋能千行百业转型升级。客服大模型在全国试点上线18个服务场景,充分赋能智慧客服和数字人,在激活十亿级的日志、百亿级的网络参数等海量数据资产的基础上,进一步深化智能化运营;星辰政务大模型已落地某市民生诉求场景,为市民提供在线文本问答服务,提升政务服务能力,提高市民满意度;星辰经分大模型已落地某市经信局行业大模型,利用大模型生成能力快速草拟相关产业研究报告,简化知识检索流程,快速、精准查询所需知识内容,以便迅速、准确地掌握发展动态,支持决策过程,并追踪全球经济形势和科技创新,满足迫切的产业洞察和分析需求。

开源项目链接地址 :

  1. https://gitee.com/Tele-AI/tele-chat 
  2. https://github.com/Tele-AI/Telechat 
  3. https://modelscope.cn/organization/TeleAI

环境配置与安装

  1. python 3.10及以上版本
  2. pytorch 1.12及以上版本,推荐2.0及以上版本
  3. 建议使用CUDA 11.4及以上

使用步骤

本文主要演示的模型为TeleChat-12B模型及其量化版本,在PAI-DSW使用

模型链接和下载

TeleChat-12B系列模型现已在ModelScope社区开源,模型链接:

TeleChat-12B

https://modelscope.cn/models/TeleAI/TeleChat-12B/summary

TeleChat-12B-int8

https://modelscope.cn/models/TeleAI/TeleChat-12B-int8/summary

TeleChat-12B-int4

https://modelscope.cn/models/TeleAI/TeleChat-12B-int4/summary

社区支持直接下载模型的repo:

from modelscope import snapshot_download
model_dir1 = snapshot_download("TeleAI/TeleChat-12B")

模型推理

TeleChat-12B推理代码:

import os
import torch
from modelscope import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
os.environ["CUDA_VISIBLE_DEVICES"] = '0'
tokenizer = AutoTokenizer.from_pretrained('TeleAI/TeleChat-12B')
model = AutoModelForCausalLM.from_pretrained('TeleAI/TeleChat-12B', trust_remote_code=True, device_map="auto", torch_dtype=torch.float16)
generate_config = GenerationConfig.from_pretrained('TeleAI/TeleChat-12B')
question="生抽与老抽的区别?"
answer, history = model.chat(tokenizer = tokenizer, question=question, history=[], generation_config=generate_config, stream=False)
print(answer)
#生抽和老抽是两种不同的酱油,它们的区别如下:
#1. 原料不同:生抽是用大豆、小麦等谷物为原料制成的;而老抽则是用豆酱、面酱等发酵后的调味品为原料制成的。
#2. 制作工艺不同:生抽是通过将大豆浸泡在水中,然后经过蒸煮、发酵等过程制成的;而老抽则是在生抽的基础上加入一定比例的盐、糖、味精等调料,再进行发酵制成的。
#3. 口感和风味不同:生抽具有咸鲜的味道,口感比较清爽;而老抽则具有特殊的香味和味道,口感相对较重。
#总的来说,生抽和老抽都是酱油的不同种类,它们在原料、制作工艺和口感等方面都有所不同。

资源消耗:

image.png

TeleChat-12B-int4推理代码:

环境依赖

pip install auto-gptq==0.3.0
git clone https://github.com/Tele-AI/Telechat.git
cd Telechat/quant/

推理代码

from modelscope import AutoTokenizer, GenerationConfig,snapshot_download
from modeling_telechat_gptq import TelechatGPTQForCausalLM
PATH = snapshot_download("TeleAI/TeleChat-12B-int4")
tokenizer = AutoTokenizer.from_pretrained(PATH, trust_remote_code=True)
model = TelechatGPTQForCausalLM.from_quantized(PATH, device="cuda:0", inject_fused_mlp=False, inject_fused_attention=False, trust_remote_code=True)
generate_config = GenerationConfig.from_pretrained(PATH)
model.eval()
question = "生抽与老抽的区别?"
answer, history = model.chat(tokenizer=tokenizer, question=question, history=[], generation_config=generate_config, stream=False)
print("回答:", answer)

资源消耗:

image.png

TeleChat-12B微调和微调后推理

微调代码开源地址:

https://github.com/modelscope/swift/tree/main/examples/pytorch/llm

SWFIT是魔搭社区官方提供的LLM&AIGC模型微调推理框架,首先从github上将SWIFT clone下来:

# 设置pip全局镜像和安装相关的python包
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
git clone https://github.com/modelscope/swift.git
cd swift
pip install .[llm]
# 下面的脚本需要在此目录下执行
cd examples/pytorch/llm
# 安装flash attention, 参考https://github.com/Dao-AILab/flash-attention
pip install packaging
pip install ninja
pip install flash-attn --no-build-isolation

微调脚本

# Experiment env: A100
# 1 * 30GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_sft.py \
  --model_type telechat-12b \
  --dataset dureader-robust-zh \
  --batch_size 1 \
  --max_length 1024 \
  --gradient_accumulation_steps 16 \
  --learning_rate 5e-5 \
  --use_flash_attn true \
  --eval_steps 1000 \
  --save_steps 1000 \
  --train_dataset_sample 100000 \
  --val_dataset_sample 3000 \
  --num_train_epochs 2 \
  --check_dataset_strategy none \
  --gradient_checkpointing true \
  --weight_decay 0.1 \
  --max_grad_norm 1.0 \
  --warmup_ratio 0.03 \
  --save_total_limit 2 \
  --logging_steps 10 \
  --sft_type lora \
  --lora_target_modules DEFAULT \
  --lora_rank 8 \
  --lora_alpha 32 \
  --dtype fp16

模型微调后的推理脚本,请将下面--ckpt_dir的值改为--output_dir中实际存储的模型weights目录。

# Experiment env: A100
# 1 * 26GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_infer.py \
    --ckpt_dir "output/telechat-12b/vx-xxx/checkpoint-xxx" \
    --load_dataset_config true \
    --max_length 2048 \
    --use_flash_attn true \
    --max_new_tokens 2048 \
    --temperature 0.5 \
    --top_p 0.7 \
    --repetition_penalty 1. \
    --do_sample true \
    --merge_lora false \
    --dtype fp16 \
    --stream false

微调的可视化结果

训练损失:

企业微信截图_17133214867262.png

评估损失

企业微信截图_17133214934434.png

训练后生成样例

[PROMPT]<_user>Task: Question Generation
Context: 下载速度达到72mbp/s速度相当快。相当于500兆带宽。在网速计算中, b=bit ,B=byte 8×b=1×B 意思是 8个小写的b 才是一个大写B。4M理论下载速度:4M就是4Mb/s 理论下载速度公式:4×1024÷8=512KB /s 请注意按公式单位已经变为 KB/s 依此类推: 2M理论下载速度:2×1024÷8=256KB /s 8M理论下载速度:8×1024÷8=1024KB /s =1MB/s 10M理论下载速度:10×1024÷8=1280KB /s =2M理论下载速度+8M理论下载速度 50M理论下载速度:50×1024÷8=6400KB /s 1Gb理论下载速度:1024×1024÷8=128MB /s 公式:几兆带宽×1024÷8=()KB/s。
Answer: 相当于500兆带宽
Question:<_bot>[OUTPUT] 72mbp相当于多少带宽<_end>
[LABELS]72mbps是多少网速
--------------------------------------------------
[PROMPT]<_user>Task: Question Generation
Context: 防水作为目前高端手机的标配,特别是苹果也支持防水之后,国产大多数高端旗舰手机都已经支持防水。虽然我们真的不会故意把手机放入水中,但是有了防水之后,用户心里会多一重安全感。那么近日最为火热的小米6防水吗?小米6的防水级别又是多少呢? 小编查询了很多资料发现,小米6确实是防水的,但是为了保持低调,同时为了不被别人说防水等级不够,很多资料都没有标注小米是否防水。根据评测资料显示,小米6是支持IP68级的防水,是绝对能够满足日常生活中的防水需求的。
Answer: IP68级
Question:<_bot>[OUTPUT] 小米6防水等级<_end>
[LABELS]小米6防水等级
--------------------------------------------------
[PROMPT]<_user>Task: Question Generation
Context: 我个人感觉是吕颂贤版,剧情和原著差别不大,虽然TVB演员颜值和风光没有大陆的好。但是香港特区人口和地域的限制,只能注重在演员的演技方面发挥很出色,楼主看过大陆排《笑傲江湖》吧!在台词上表现的很生硬没有香港的注重神色配台词,比如杜燕歌把吕颂贤表情和性格几乎和原著差别不大。武打几乎沿用徐克和程小东动作的风格很注重实际技巧,没有大陆版的在武打场面依靠电脑特效表现的太夸张了。李亚鹏版的武打动作和导演还是香港的元彬,大陆毕竟还是在武侠剧起步的比较晚,主要是还是靠明星大腕压阵而香港却是恰恰相反。
Answer: 吕颂贤版
Question:<_bot>[OUTPUT] 笑傲江湖哪个版本好看<_end>
[LABELS]笑傲江湖哪个版本好看

资源消耗:

训练

企业微信截图_17133215058545.png

推理

企业微信截图_1713321511548.png

点击直达模型卡片

魔搭社区 (modelscope.cn)

相关文章
|
6月前
|
缓存 API 开发者
魔搭社区牵手FastChat&vLLM,打造极致LLM模型部署体验
FastChat是一个开放平台,用于训练、服务和评估基于LLM的ChatBot。
|
6月前
|
物联网 机器人 Swift
|
6月前
|
数据采集 自然语言处理 前端开发
社区供稿 | 猎户星空百亿参数大模型 Orion-14B系列开源,一张3060就能跑(附魔搭社区推理微调最佳实践)
1月21日,傅盛在猎户星空大模型发布会上宣布,“为企业应用而生” 的开源百亿参数猎户星空大模型正式发布。猎户星空大模型(Orion-14B)是由猎户星空研发的预训练多语言大语言模型,以其140亿参数规模展现出了卓越的性能。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
社区供稿 | 元象发布255B大规模MoE开源大模型,落地应用登顶港台榜
元象XVERSE发布 中国最大MoE开源模型:XVERSE-MoE-A36B,加速AI应用低成本部署,将国产开源提升至国际领先水平。
社区供稿 | 元象发布255B大规模MoE开源大模型,落地应用登顶港台榜
|
3月前
|
机器学习/深度学习 编译器 PyTorch
自研分布式训练框架EPL问题之吸引社区参与共建如何解决
自研分布式训练框架EPL问题之吸引社区参与共建如何解决
|
4月前
|
人工智能 JSON 文字识别
开源VLM新标杆 InternVL 2.0 怎么用?部署、微调尽在魔搭社区!
7月4日下午,世界人工智能大会科学前沿论坛,上海人工智能实验室OpenGVLab发布了InternVL 2.0 版本,中文名书生·万象。
|
6月前
|
数据可视化 物联网 Swift
澜舟科技开源孟子3-13B大模型,魔搭社区推理训练最佳实践!
4月1日,澜舟科技宣布开源Mengzi3-13B大模型,对学术研究完全开放,同时支持免费商用。
|
6月前
|
人工智能 文字识别 物联网
新一代端侧模型,面壁 MiniCPM 2.0开源,魔搭社区最佳实践
MiniCPM-V 2.0 不仅带来优秀端侧多模态通用能力,更带来惊艳的 OCR 表现。通过自研的高清图像解码技术,可以突破传统困境,让更为精准地识别充满纷繁细节的街景、长图在端侧成为可能。
|
6月前
|
人工智能 自然语言处理 数据可视化
书生·浦语 2.0 开源!回归语言建模本质,综合性能领先开源社区,魔搭最佳实践来啦!
1月17日,上海人工智能实验室与商汤科技联合香港中文大学和复旦大学正式发布新一代大语言模型书生·浦语2.0(InternLM2),模型开源可商用,魔搭社区作为首发平台,支持大家第一时间下载体验。