SWIFT介绍和学习(简单入门级别)

SWIFT介绍和学习

项目地址:https://github.com/modelscope/swift
任何有疑惑的地方,参考项目首页readme寻求答案

SWIFT功能介绍

SWIFT(可扩展的轻量级微调基础设施)是一个可扩展的框架,旨在促进轻量级模型的微调和推理。它通过采用参数高效、内存高效和时间高效的方法,集成了各种高效微调方法的实现。SWIFT无缝集成到ModelScope生态系统中,并提供微调各种模型的能力,主要侧重于LLM和视觉模型。此外,SWIFT与PEFT完全兼容,使用户能够利用熟悉的PEFT接口来微调ModelScope模型。

可以支持的微调方法及具体使用指导

🔥LoRA: LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

🔥LoRA+: LoRA+: Efficient Low Rank Adaptation of Large Models

🔥LLaMA PRO: LLAMA PRO: Progressive LLaMA with Block Expansion

🔥SCEdit: SCEdit: Efficient and Controllable Image Diffusion Generation via Skip Connection Editing < arXiv | Project Page >

🔥NEFTune: Noisy Embeddings Improve Instruction Finetuning

QA-LoRA:Quantization-Aware Low-Rank Adaptation of Large Language Models.

LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models

ROME: Rank-One Editing of Encoder-Decoder Models

Adapter: Parameter-Efficient Transfer Learning for NLP

Prompt Tuning: Visual Prompt Tuning

Side: Side-Tuning: A Baseline for Network Adaptation via Additive Side Networks

Res-Tuning: Res-Tuning: A Flexible and Efficient Tuning Paradigm via Unbinding Tuner from Backbone < arXiv | Project Page | Usage >

All tuners offered on PEFT, like IA3, AdaLoRA

Swift是一个提供LLM模型轻量级训练和推理的开源框架。Swift提供的主要能力是efficient tuners和开箱即用的训练推理能力。tuners是运行时动态加载到模型上的额外结构,在训练时将原模型的参数冻结,只训练tuner部分,这样可以达到快速训练、降低显存使用的目的。比如,最常用的tuner是LoRA。

总之,在这个框架中提供了以下特性:

具备SOTA特性的Efficient Tuners:用于结合大模型实现轻量级(在商业级显卡上,如RTX3080、RTX3090、RTX4090等)训练和推理,并取得较好效果

使用ModelScope Hub的Trainer:基于transformers trainer提供,支持LLM模型的训练,并支持将训练后的模型上传到ModelScope Hub中

可运行的模型Examples:针对热门大模型提供的训练脚本和推理脚本,并针对热门开源数据集提供了预处理逻辑,可直接运行使用

SWIFT快速使用

在本章节会介绍如何快速安装swift并设定好运行环境,并跑通一个用例。

安装swift的方式非常简单,用户只需要在python>=3.8环境中运行:

bash 复制代码
# 全量能力
pip install ms-swift[all] -U
# 仅使用LLM
pip install ms-swift[llm] -U
# 仅使用AIGC
pip install ms-swift[aigc] -U
# 仅使用adapters
pip install ms-swift -U

源代码安装
git clone https://github.com/modelscope/swift.git
cd swift
pip install -e .[all]

SWIFT库提供了LLM&AIGC模型的训练推理脚手架,支持LLaMA、QWen、ChatGLM、Stable Diffusion等多种模型的直接训练和推理,并且集成了SWIFT库提供的tuners,开发者可以直接使用。它们的位置在:https://github.com/modelscope/swift/tree/main/examples/pytorch/llm

LLM训练和推理可以查看: LLM系列文档

AIGC训练和推理可以查看: 文生图微调文档

SWIFT支持界面化训练和推理,只需要在执行上述的安装后启动web-ui即可:

bash 复制代码
swift web-ui

使用指导参考:

LLM及LLM最佳实践(LLM系列文章)

如果您想了解更多关于LLM或多模式LLM的最佳实践,或者如果您对LLM的推理、微调、量化和部署教程感兴趣,可以参考https://github.com/modelscope/swift/blob/main/docs/source/LLM/index.md

部署指南 vllm

这里

非官方介绍资料

https://zhuanlan.zhihu.com/p/657668033

这个内容很全面,最下面还有视频介绍。

相关推荐
不是光头 强几秒前
Spring Boot 多线程场景下 i18n 国际化失效问题排查与解决
java·开发语言·springboot
jieyucx几秒前
Go 语言核心关键字:defer 深度解析与实战避坑
开发语言·后端·golang·defer
星恒随风8 分钟前
四天学完前端基础三件套(JavaScript篇)
开发语言·前端·javascript·笔记
weixin_4280053029 分钟前
C#调用 AI学习从0开始-第1阶段(基础与工具)-第2天Prompt工程基础
人工智能·学习·c#·prompt
爱喝水的鱼丶30 分钟前
SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行
运维·服务器·数据库·学习·sap·abap
杜子不疼.34 分钟前
【 C++ AI 大模型接入 SDK】 - 日志模块
开发语言·javascript·c++
red_redemption1 小时前
自由学习记录(186)
学习
谙弆悕博士1 小时前
【附C源码】二叉搜索树的C语言实现
c语言·开发语言·数据结构·算法·二叉树·项目实战·数据结构与算法
C+++Python1 小时前
C++ 泛型编程 极简示例代码
开发语言·c++
Rust研习社1 小时前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust