昆仑万维「天工」Skywork-13B魔搭社区首发开源!魔搭最佳实践来了!

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 作为国内最具诚意的开源百亿大模型,「天工」Skywork-13B系列无需申请即可实现商用,授权链路极简,且无用户数、行业、公司规模限制。

导读

10月30日,昆仑万维宣布开源百亿级大语言模型「天工」Skywork-13B系列,包括130亿参数的两大模型:Skywork-13B-Base模型、Skywork-13B-Math模型,它们在CEVAL, GSM8K等多个权威评测与基准测试上都展现了同等规模模型的最佳效果,其中文能力尤为出色,在中文科技、金融、政务等领域表现均高于其他开源模型。(截止至10月25日数据)

作为国内最具诚意的开源百亿大模型,「天工」Skywork-13B系列无需申请即可实现商用,授权链路极简,且无用户数、行业、公司规模限制。

「天工」Skywork-13B系列已在魔搭社区全球首发开源,魔搭也推出了模型部署相关教程,供开发者参考并快速上手,欢迎大家体验!

环境配置与安装

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

本文主要演示的模型为天工13B模型-8bits量化版,在魔搭社区免费实例PAI-DSW的配置下运行(显存24G) :

第一步:点击模型右侧Notebook快速开发按钮,选择GPU环境

第二步:新建Notebook

第三步:运行示例代码,下载模型并推理

模型链接和下载

「天工」Skywork-13B系列模型现已在ModelScope社区开源,包括:

Skywork-13B-Base模型:

https://modelscope.cn/models/skywork/Skywork-13B-base/summary

Skywork-13B-Base模型-8bits量化版:

https://modelscope.cn/models/skywork/Skywork-13B-Base-8bits/summary

Skywork-13B-Math模型:

https://modelscope.cn/models/skywork/Skywork-13B-Math/summary

Skywork-13B-Math模型-8bits量化版:

https://modelscope.cn/models/skywork/Skywork-13B-Math-8bits/summary

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

from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('skywork/Skywork-13B-base', 'master')

模型推理

Skywork-13B-Base-8bits量化版推理代码:

from modelscope import (
    AutoModelForCausalLM, AutoTokenizer, GenerationConfig, snapshot_download
)
import torch
model_dir = snapshot_download('skywork/Skywork-13B-Base-8bits', 'master')
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True).eval()
inputs = tokenizer('陕西的省会是西安', return_tensors='pt').to(model.device)
response = model.generate(inputs.input_ids, max_length=128)
print(tokenizer.decode(response.cpu()[0], skip_special_tokens=True))
# 陕西的省会是西安,西安是我国著名的古都,在历史上有十三个朝代在此建都,所以西安又被称为“十三朝古都”。西安是我国著名的旅游城市,每年都有大量的游客来到西安旅游,西安的旅游资源非常丰富,有很多著名的旅游景点,比如秦始皇兵马俑、大雁塔、华清池、大唐芙蓉园、西安城墙、大明宫国家遗址公园、西安碑林博物馆、西安钟楼、西安鼓楼、西安半坡博物馆、西安大兴善寺、西安小雁塔
inputs = tokenizer('陕西的省会是西安,甘肃的省会是兰州,河南的省会是郑州', return_tensors='pt').to(model.device)
response = model.generate(inputs.input_ids, max_length=128)
print(tokenizer.decode(response.cpu()[0], skip_special_tokens=True))
# 陕西的省会是西安,甘肃的省会是兰州,河南的省会是郑州,湖北的省会是武汉,湖南的省会是长沙,江西的省会是南昌,安徽的省会是合肥,江苏的省会是南京,浙江的省会是杭州,福建的省会是福州,广东的省会是广州,广西的省会是南宁,海南的省会是海口,四川的省会是成都,贵州的省会是贵阳,云南的省会是昆明,西藏的省会是拉萨,青海的省会是西宁,宁夏的省会是银川,新疆的省会是乌鲁木齐。

资源消耗:

Skywork-13b 模型微调和微调后推理

微调代码开源地址:

https://github.com/modelscope/swift/blob/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]
# 下面的脚本需要在此目录下执行
cd examples/pytorch/llm
pip install deepspeed -U
pip install bitsandbytes -U

模型微调脚本 (qlora)

# Experimental environment: A10, 3090
# 16GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_sft.py \
    --model_id_or_path skywork/Skywork-13B-base \
    --model_revision master \
    --sft_type lora \
    --tuner_backend swift \
    --template_type default-generation \
    --dtype bf16 \
    --output_dir output \
    --dataset advertise-gen-zh \
    --train_dataset_sample 20000 \
    --num_train_epochs 1 \
    --max_length 2048 \
    --quantization_bit 4 \
    --bnb_4bit_comp_dtype bf16 \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules AUTO \
    --gradient_checkpointing true \
    --batch_size 1 \
    --weight_decay 0.01 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --eval_steps 100 \
    --save_steps 100 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --push_to_hub false \
    --hub_model_id skywork-13b-qlora \
    --hub_private_repo true \
    --hub_token 'your-sdk-token' \

模型微调后的推理脚本

# Experimental environment: A10, 3090
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_infer.py \
    --model_id_or_path skywork/Skywork-13B-base \
    --model_revision master \
    --sft_type lora \
    --template_type default-generation \
    --dtype bf16 \
    --ckpt_dir "output/skywork-13b/vx_xxx/checkpoint-xxx" \
    --eval_human false \
    --dataset advertise-gen-zh \
    --max_length 2048 \
    --quantization_bit 4 \
    --bnb_4bit_comp_dtype bf16 \
    --max_new_tokens 2048 \
    --temperature 0.9 \
    --top_k 20 \
    --top_p 0.9 \
    --repetition_penalty 1.05 \
    --do_sample true \
    --merge_lora_and_save false \

微调的可视化结果

训练损失:

评估损失

训练后生成样例

[PROMPT]Task: Generating advertisements based on keywords.
Keywords: 上衣,牛仔布,白色,简约,刺绣,外套,破洞
Advertisements: [OUTPUT]牛仔外套是春季必备的单品,这款牛仔外套采用经典的白色,简约大方又百搭。前片的立体贴布刺绣,打破了纯色外套的单调感。衣袖上的破洞设计,增添了几分街头感。</s>
[PROMPT]Task: Generating advertisements based on keywords.
Keywords: 上衣,嘻哈,卡通,印花,撞色,卫衣,连帽
Advertisements: [OUTPUT]一款个性十足的连帽卫衣,经典的嘻哈风设计风格,加上卡通的印花装饰,为整件衣服带来了更多的时尚感。撞色的领口和袖口设计,使其更加有特色,更具视觉效果。</s>
[PROMPT]Task: Generating advertisements based on keywords.
Keywords: 裙,弧形,高腰,半身裙,不规则,收腰
Advertisements: [OUTPUT]半身裙的版型是比较修身的,能凸显女性纤细的腰部曲线,同时对大腿的包容度也比较高。高腰的设计可以将腰线拉高,让身材比例更加匀称。不规则的裙摆,更有层次感,还能拉长下半身的比例。裙摆下方还有弧形开叉,修饰腿部的曲线,走路更方便。</s>

资源消耗:

13G显存

点击直达Skywork-13b 开源链接

https://modelscope.cn/models/skywork/Skywork-13B-base/summary

相关文章
|
人工智能 自然语言处理 安全
国内首发,阿里云魔搭社区上架百川智能Baichuan 2系列模型
国内首发,阿里云魔搭社区上架百川智能Baichuan 2系列模型
1053 0
|
3月前
|
人工智能 自然语言处理 文字识别
魔搭社区每周速递(8.18-8.24)
176个模型、35个数据集、85个创新应用、5篇应用文章
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
魔搭社区每周速递(7.20-7.26)
174个模型、44个数据集、70个创新应用、5篇应用文章
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
魔搭社区每周速递(10.27-11.09)
4221个模型、112个数据集、95个创新应用、14篇应用文章
|
15天前
|
人工智能 自然语言处理 搜索推荐
魔搭社区每周速递(10.20-10.26)
4848个模型、45个数据集、46个创新应用、7篇应用文章
|
29天前
|
人工智能 语音技术 决策智能
魔搭社区每周速递(9.28-10.12)
503个模型、189个数据集、82个创新应用、9篇应用文章
|
2月前
|
机器学习/深度学习 存储 自然语言处理
魔搭社区每周速递(9.1-9.7)
182个模型、211个数据集、38个创新应用、6篇应用文章
魔搭社区每周速递(9.1-9.7)
|
1月前
|
数据采集 人工智能 自然语言处理
魔搭社区每周速递(9.7-9.27)
182个模型、211个数据集、38个创新应用、6篇应用文章
|
22天前
|
人工智能 自然语言处理 安全
魔搭社区每周速递(10.13-10.19)
503个模型、189个数据集、82个创新应用、9篇应用文章
|
2月前
|
编解码 人工智能 自然语言处理
魔搭社区每周速递(8.25-8.31)
326个模型、82个数据集、71个创新应用、5篇应用文章
魔搭社区每周速递(8.25-8.31)