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

SWIFT介绍和学习

  • SWIFT功能介绍
  • SWIFT快速使用
  • LLM及LLM最佳实践(LLM系列文章)
  • 部署指南 vllm
  • 非官方介绍资料

项目地址: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环境中运行:

# 全量能力
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即可:

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
这个内容很全面,最下面还有视频介绍。

你可能感兴趣的:(swift,学习,开发语言)