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

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 作为国内最具诚意的开源百亿大模型,「天工」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

相关文章
|
7月前
|
人工智能 编解码 自然语言处理
VideoMind:Chain-of-LoRA突破时间盲区让AI真正看懂长视频
VideoMind是一种新型视频语言代理,专为解决长视频时间定位理解挑战设计。它通过“Chain-of-LoRA”技术结合四个专业角色(Planner、Grounder、Verifier、Answerer)实现高效推理。Planner分析查询并制定计划;Grounder精确定位视频时刻;Verifier验证候选时刻准确性;Answerer生成最终答案。此架构在14个公共基准上表现出色,尤其在长视频定位任务中超越了现有模型,同时保持高内存效率。VideoMind推动了多模态AI的发展,提供了解决复杂视频理解问题的新方法。
10303 5
|
传感器 人工智能 机器人
Multi-Agent应用领域及项目示例
多智能体系统(MAS)通过多个自主、交互式的智能体协同工作,能够更高效地解决复杂问题,提高系统的灵活性和鲁棒性。本文详细介绍了MAS的概念、特点及其在人工智能与机器人技术、经济与商业、交通管理、医疗健康和环境保护等领域的具体应用示例。
1305 0
|
10月前
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
375 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
5月前
|
数据采集 运维 BI
Python 文件操作进阶|使用 shutil 实现高效文件复制
在开发和运维中,处理大量文件是常见需求,如备份配置、归档日志或构建部署包。手动复制粘贴已无法满足高效需求!Python 的 `shutil` 模块提供了强大的文件操作功能,支持单文件复制、目录树迁移及自动化任务构建。本文详解 `shutil.copy()` 基础用法与进阶技巧,如批量复制、自动路径检测、时间戳命名备份等,助你实现高效自动化。结合实战案例(如自动备份系统),让你的代码更专业!学习后,欢迎交流心得,一起精进 Python 技能。关注我,获取更多编程技巧与源码分享!
|
存储 文件存储 对象存储
FastDFS和Minio如何选择
【6月更文挑战第16天】FastDFS和Minio如何选择
2720 1
|
机器学习/深度学习 算法
【机器学习】揭秘反向传播:深度学习中神经网络训练的奥秘
【机器学习】揭秘反向传播:深度学习中神经网络训练的奥秘
|
JavaScript 前端开发 网络协议
抖音直播弹幕数据逆向:websocket和JS注入
抖音直播弹幕数据逆向:websocket和JS注入
1523 1
|
编解码 自然语言处理 PyTorch
论文阅读笔记 | 分类网络——ConvMixer
论文阅读笔记 | 分类网络——ConvMixer
559 0
论文阅读笔记 | 分类网络——ConvMixer
|
数据安全/隐私保护 C++
公有、保护、私有继承的区别
公有、保护、私有继承的区别
556 0
成功实现 微信消息自动推送 解放双手版 进来看
成功实现 微信消息自动推送 解放双手版 进来看
213 0

热门文章

最新文章