南方科技大学联合IDEA研究院CCNL中心发布SUS-Chat-34B,魔搭最佳实践来啦!

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 日前,南方科技大学 联合 粤港澳大湾区数字经济研究院(简称IDEA研究院)认知计算与自然语言研究中心(CCNL, Cognitive Computing and Natural Language)推出并开源了340亿 参数规模的双语模型 SUS-Chat-34B。

导读

日前,南方科技大学 联合 粤港澳大湾区数字经济研究院(简称IDEA研究院)认知计算与自然语言研究中心(CCNL, Cognitive Computing and Natural Language)推出并开源了340亿 参数规模的双语模型 SUS-Chat-34B。

SUS-Chat-34B基于01-ai/Yi-34B 预训练模型通过数百万高质量、多语言的指令数据进行了微调,模型具有以下亮点:

  1. 大规模复杂指令跟随数据:使用1.4B token的高质量复杂指令数据进行训练,涵盖中英文、多轮对话、数学、推理等多种指令数据;
  2. 强大的通用任务性能:SUS-Chat-34B模型在众多主流的中英文任务上表现出色,其效果超越了相同参数规模的其他开源的指令微调模型。即使与更大参数规模的模型相比,SUS-Chat-34B模型也具有不错的竞争力
  3. 更长的上下文窗口与出色的多轮对话能力:SUS-Chat-34B原生支持8K的上下文窗口,在大量多轮指令以及单多轮混合数据中进行训练,具有出色的长文本对话信息关注与指令跟随能力。

在训练方法方面,官方在 南方科技大学联合IDEA研究院CCNL中心发布34B最强Chat模型:登顶Open LLM Leaderboard 一文中,围绕精细化筛选数据迭代、人类逻辑思维方式对齐、指令间共享注意力机制、复杂指令理解与角色扮演能力、深度长文本理解检索 五个方面进行了详细介绍。同时,证明了通过正确的指令微调,学术机构可以在不增加模型参数的情况下,通过开源的数据集和模型,获得更好的性能,也弥合了学术界和工业界的在大语言模型上的差距,为学术界和工业界的合作提供了新的可能性。

目前,SUS-Chat-34B 已上线魔搭社区,社区为开发者们提供了推理、微调实践教程,欢迎大家来玩!

环境配置与安装

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

创空间体验

创空间体验链接:

https://modelscope.cn/studios/SUSTC/SUS-Chat-34B-Demo

逻辑推理:

数学计算:

文学创作:

模型链接和下载

SUS-Chat-34B模型现已在ModelScope社区开源:

https://modelscope.cn/models/SUSTC/SUS-Chat-34B/summary

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

from modelscope import snapshot_download
model_dir = snapshot_download("SUSTC/SUS-Chat-34B", revision = "master")

模型推理

SUS-Chat-34B推理代码:

from modelscope import AutoModelForCausalLM, AutoTokenizer
def chat_template(messages):
    history = ""
    for message in messages:
        if message['role'] == 'user':
            message = message['content']
            history += f"### Human: {message}\n\n### Assistant: "
        elif message['role'] == 'assistant':
            message = message['content']
            history += message
    return history
model_path = "SUSTC/SUS-Chat-34B"
tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False)
model = AutoModelForCausalLM.from_pretrained(
    model_path, device_map="auto", torch_dtype="auto"
).eval()
query = "浙江的省会在哪?"
messages = [{"role": "user", "content": query}]
input_ids = tokenizer.encode(
    chat_template(messages), return_tensors="pt", add_special_tokens=False
).to("cuda")
output_ids = model.generate(input_ids.to("cuda"), max_length=256)
response = tokenizer.decode(
    output_ids[0][input_ids.shape[1] :], skip_special_tokens=False
)
print(f"response: {response}")
messages.append({"role": "assistant", "content": response})
# Second round
query = "这有什么好玩的"
messages.append({"role": "user", "content": query})
input_ids = tokenizer.encode(
    chat_template(messages), return_tensors="pt", add_special_tokens=False
).to("cuda")
output_ids = model.generate(input_ids.to("cuda"), max_length=256)
response = tokenizer.decode(
    output_ids[0][input_ids.shape[1] :], skip_special_tokens=False
)
print(f"response: {response}")
messages.append({"role": "assistant", "content": response})
"""
response:  浙江的省会是杭州。<|endoftext|>
response:  杭州有许多著名的景点和活动,以下是一些值得一游的地方:
1. 西湖:杭州最著名的景点之一,被誉为“人间天堂”,可以欣赏到美丽的湖景和历史建筑。
2. 灵隐寺:位于杭州市区西部的灵隐寺,是杭州最古老的佛教寺庙之一,也是中国佛教四大名山之一。
3. 宋城:位于杭州市区南部的宋城,是一座以宋代文化为主题的旅游景区,可以体验到宋代文化、美食和娱乐。
4. 千岛湖:位于杭州市区西南部的千岛湖,是中国最大的淡水湖之一,可以欣赏到美丽的湖景和自然风光。
5. 杭州乐园:位于杭州市区南部的杭州乐园,是一座以游乐设施为主题的旅游景区,可以体验到各种刺激的游乐项目。
此外,杭州还有许多美食和购物场所,如河坊街、南宋御街、西湖文化广场等,可以品尝到当地的美食和购买到特色商品。<|endoftext|>
"""

资源消耗:

模型微调和微调后推理

微调代码开源地址:

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

clone swift仓库并安装SWIFT(魔搭官方提供的训练推理框架)

# 设置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]

这里介绍, 如何在10分钟内对模型进行自我认知微调.

# Experimental environment: A100
# 70GB GPU memory
CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model_id_or_path SUSTC/SUS-Chat-34B \
    --dataset alpaca-zh alpaca-en \
    --train_dataset_sample 500 \
    --eval_steps 20 \
    --logging_steps 5 \
    --output_dir output \
    --lora_target_modules ALL \
    --self_cognition_sample 500 \
    --model_name 小黄 'Xiao Huang' \
    --model_author 魔搭 ModelScope \

如果你想要使用ModelScope的免费算力A10 (24G显存) 训练,可以增加如下参数来支持量化训练:

# Experimental environment: A10
# 24GB GPU memory
--quantization_bit 4 \

模型微调后的推理脚本,这里的ckpt_dir需要修改为训练生成的checkpoint文件夹:

# Experimental environment: A100
CUDA_VISIBLE_DEVICES=0 \
swift infer \
    --ckpt_dir "output/sus-34b-chat/vx_xxx/checkpoint-xxx" \
    --eval_human true \

微调的可视化结果

训练损失:

训练后生成样例

<<< 你是谁?
我是小黄,一个基于大规模语言模型GPT(生成预训练变换器)的人工智能聊天机器人。我的目的是通过文本交流来帮助、娱乐和提供信息。
--------------------------------------------------
<<< 你是谁研发的?
我是由魔搭研发的人工智能聊天机器人。
--------------------------------------------------
<<< what's your name?
My name is Xiao Huang.
--------------------------------------------------
<<< 浙江的省会在哪?
浙江省的省会是杭州。
--------------------------------------------------
<<< 这有什么好玩的?
杭州是一个历史悠久、文化底蕴深厚的城市,有许多值得一游的景点和活动。以下是一些推荐:
1. 西湖:作为杭州最著名的景点之一,西湖以其美丽的湖光山色和丰富的历史文化而闻名。你可以漫步在湖边,欣赏湖景,还可以参观附近的雷峰塔、断桥残雪等著名景点。
2. 灵隐寺:位于杭州市区西北部的灵隐寺是一座古老的佛教寺庙,被誉为“江南第一古刹”。寺内建筑精美,环境清幽,是放松身心、感受宁静的好去处。
3. 宋城:宋城是一座以宋代文化为主题的旅游景区,里面有仿古的建筑、表演和活动。你可以穿上古装,体验古代的生活,观看精彩的演出,还可以品尝到各种传统美食。
4. 西溪湿地:西溪湿地是一个自然保护区,被誉为“城市中的绿肺”。这里有湖泊、河流、湿地和丰富的动植物资源,可以进行徒步、划船等活动,享受大自然的美丽。
5. 美食之旅:杭州以其丰富多样的美食而闻名,如龙井虾仁、东坡肉、叫花鸡等。你可以品尝到正宗的杭帮菜,还可以尝试当地的小吃和特色饮品。
这只是一小部分推荐,杭州还有许多其他有趣的地方和活动等待你去探索。
--------------------------------------------------

点击直达SUS-Chat-34B模型卡片:https://modelscope.cn/models/SUSTC/SUS-Chat-34B/summary

相关文章
|
6月前
|
数据可视化 PyTorch 云栖大会
IDEA研究院Ziya2-13B首发魔搭社区(含社区推理微调最佳实践教程)
10月16日,IDEA研究院(粤港澳大湾区数字经济研究院)CCNL封神榜团队开源中文基座模型Ziya2-13B-Base及其对话模型Ziya2-13B-Chat,两款模型均完全免费、可商用,已在魔搭社区首发上架。
|
7月前
idea插件grep console最佳实践
idea插件grep console最佳实践
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
近期在招岗位:avolution.ai、京东科技、智源研究院、博世亚太研究院、IDEA研究院
近期在招岗位:avolution.ai、京东科技、智源研究院、博世亚太研究院、IDEA研究院
209 0
|
11月前
|
人工智能 自然语言处理 API
首个中文Stable Diffusion模型背后的技术:IDEA研究院封神榜团队揭秘
首个中文Stable Diffusion模型背后的技术:IDEA研究院封神榜团队揭秘
158 0
|
11月前
|
人工智能 自然语言处理 算法
首个中文Stable Diffusion模型开源,IDEA研究院封神榜团队开启中文AI艺术时代
首个中文Stable Diffusion模型开源,IDEA研究院封神榜团队开启中文AI艺术时代
530 0
|
11月前
|
自然语言处理 计算机视觉
IDEA研究院原作团队解读封神榜体系:致力于成为中文认知智能的基础设施
IDEA研究院原作团队解读封神榜体系:致力于成为中文认知智能的基础设施
285 0
|
监控 IDE 固态存储
IntelliJ IDEA 内存优化最佳实践!
本文作者在和同事的一次讨论中发现,对 IntelliJ IDEA 内存采用不同的设置方案,会对 IDEA 的速度和响应能力产生不同的影响。
1110 0
IntelliJ IDEA 内存优化最佳实践!
|
20天前
|
Java 开发工具 Maven
IntelliJ IDEA安装教程(超详细)
IntelliJ IDEA安装教程(超详细)
80 1
|
26天前
|
XML IDE 开发工具
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
40 0