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

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*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

相关文章
|
机器学习/深度学习 算法 数据挖掘
交叉验证之KFold和StratifiedKFold的使用(附案例实战)
交叉验证之KFold和StratifiedKFold的使用(附案例实战)
1371 0
|
8月前
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
313 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
11月前
|
传感器 人工智能 机器人
Multi-Agent应用领域及项目示例
多智能体系统(MAS)通过多个自主、交互式的智能体协同工作,能够更高效地解决复杂问题,提高系统的灵活性和鲁棒性。本文详细介绍了MAS的概念、特点及其在人工智能与机器人技术、经济与商业、交通管理、医疗健康和环境保护等领域的具体应用示例。
1075 0
|
编解码 自然语言处理 PyTorch
论文阅读笔记 | 分类网络——ConvMixer
论文阅读笔记 | 分类网络——ConvMixer
522 0
论文阅读笔记 | 分类网络——ConvMixer
|
JavaScript 前端开发 网络协议
抖音直播弹幕数据逆向:websocket和JS注入
抖音直播弹幕数据逆向:websocket和JS注入
1305 1
|
存储 监控 API
【云原生系列】云计算概念与架构设计介绍
**云计算**是基于互联网的计算模式,通过共享计算资源(如服务器、存储、应用程序)提供高效、可扩展、可靠、安全和经济的服务。其架构通常包括**物理层**(服务器、存储、网络设备等基础设施)、**虚拟化层**(虚拟机、容器、虚拟网络等)、**平台层**(开发、运行时、数据库服务等)和**应用层**(企业应用、Web应用、移动应用)。云计算服务有IaaS、PaaS和SaaS,广泛应用于企业IT、开发测试、大数据处理、AI和远程办公等领域。为了确保性能和可靠性,云平台采用负载均衡、自动伸缩、备份恢复、安全措施和监控故障排除等方法。
879 1
|
存储 Android开发 Windows
Mac将Wps本地文件备份到云端
Mac将Wps本地文件备份到云端
381 0
|
负载均衡 安全 网络协议
网关知识总结
网关知识总结
4373 0
|
Java 容器
17 如何修改SpringBoot的默认配置
17 如何修改SpringBoot的默认配置
275 0

热门文章

最新文章