大模型管理工具:SWIFT

目录

一、SWIFT 介绍

二、SWIFT 安装

2.0 配置环境(可选)

2.1 使用pip进行安装

2.2 源代码安装

2.3 启动 WEB-UI

三、部署模型

3.0 deploy命令参数

3.1 原始模型

3.2 微调后模型


一、SWIFT 介绍

        SWIFT(Scalable lightWeight Infrastructure for Fine-Tuning)是魔搭ModelScope开源社区推出的一套完整的轻量级训练、推理、评估和部署工具,支持200+大模型、15+多模态大模型以及10+轻量化Tuners,让AI爱好者能够使用自己的消费级显卡玩转大模型和AIGC。

        SWIFT 框架主要特征特性:

  • 具备SOTA特性的Efficient Tuners:用于结合大模型实现轻量级(在商业级显卡上,如RTX3080、RTX3090、RTX4090等)训练和推理,并取得较好效果
  • 使用ModelScope Hub的Trainer:基于transformers trainer提供,支持LLM模型的训练,并支持将训练后的模型上传到ModelScope Hub中
  • 可运行的模型Examples:针对热门大模型提供的训练脚本和推理脚本,并针对热门开源数据集提供了预处理逻辑,可直接运行使用
  • 支持界面化训练和推理

二、SWIFT 安装

        SWIFT在Python环境中运行。请确保您的Python版本高于3.8。

2.0 配置环境(可选)

# 创建新的conda虚拟环境
conda create -n swift python=3.1 -y
conda activate swift

# 设置pip全局镜像
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
 

2.1 使用pip进行安装

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

2.2 源代码安装

git clone https://github.com/modelscope/swift.git
cd swift
pip install -e .[llm]

2.3 启动 WEB-UI

export WEBUI_SHARE=1

export WEBUI_SERVER=0.0.0.0

swift web-ui

        web-ui没有传入参数,所有可控部分都在界面中。但是有几个环境变量可以使用:

  • WEBUI_SHARE=1:控制gradio是否是share状态
  • SWIFT_UI_LANG=en/zh:控制web-ui界面语言
  • WEBUI_SERVER:server_name参数, web-ui host ip,0.0.0.0代表所有ip均可访问,127.0.0.1代表只允许本机访问
  • WEBUI_PORT:web-ui的端口号

三、部署模型

        swift使用VLLM作为推理后端, 并兼容openai的API样式。

3.0 deploy命令参数

        deploy参数继承了infer参数, 除此之外增加了以下参数:

  • --host: 默认为'127.0.0.1.
  • --port: 默认为8000.
  • --ssl_keyfile: 默认为None.
  • --ssl_certfile: 默认为None.

3.1 原始模型

        服务端:

CUDA_VISIBLE_DEVICES=0 swift deploy --model_type qwen-7b-chat

# 使用VLLM加速
CUDA_VISIBLE_DEVICES=0 swift deploy --model_type qwen-7b-chat \
    --infer_backend vllm --max_model_len 8192
# 多卡部署
RAY_memory_monitor_refresh_ms=0 CUDA_VISIBLE_DEVICES=0,1,2,3 swift deploy --model_type qwen-7b-chat --tensor_parallel_size 4

       客户端:

 curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-7b-chat",
"messages": [{"role": "user", "content": "晚上睡不着觉怎么办?"}],
"max_tokens": 256,
"temperature": 0
}'

3.2 微调后模型

        服务端:

CUDA_VISIBLE_DEVICES=0 swift deploy --ckpt_dir xxx/checkpoint-xxx
# 使用VLLM加速
CUDA_VISIBLE_DEVICES=0 swift deploy \
    --ckpt_dir xxx/checkpoint-xxx --merge_lora true \
    --infer_backend vllm --max_model_len 8192

        客户端:

#客户端示例代码同原始模型,openai的API参数可以参考官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/622665.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

golang创建式设计模式------单例模式

目录导航 1.单例模式1)什么是单例模式 2)使用场景3)实现方式1.懒汉式单例模式2.饿汉式3.双重检查式4.sysc.Once式 4)实践案例5)优缺点分析 1.单例模式 1)什么是单例模式 单例模式(Singleton Pattern)是一种常用的设计模式。单例模式的类提供了一种访问其唯一对象的方法&#…

UML快速入门篇

目录 1. UML概述 2. 类的表示 2.1. 类的表示 2.2. 抽象类的表示 2.3. 接口的表示 3. 类的属性,方法,访问权限的表示 3.1. 类的属性 3.2. 类的方法 3.3. 类的权限 4. 类的关联 4.1. 单向关联 4.2. 双向关联 4.3. 自关联 4.4. 类的聚合 4.5.…

sipeed 的 MaixCam显示图片

WiFi联网后,把固件升级到最新 一根tpyc-c连接线为MaixCam供电,点击液晶屏settings 在WiFi中设置确保联网,在更新MaixPy中升级固件 可以选择国内源加速,将固件升级到最新版 MaixVision的操作 1,在MaixVision左下角…

C语言(指针)6

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

StackQueue+泛型简单理解

🍁 个人主页:爱编程的Tom💫 本篇博文收录专栏:Java专栏👉 目前其它专栏:c系列小游戏 c语言系列--万物的开始_ 🎉 欢迎 👍点赞✍评论⭐收藏💖三连支持一…

新的语言学习系统: 记忆镶嵌

摘要 记忆镶嵌是由多个关联记忆网络协同工作来完成感兴趣的预测任务。与transformer类似,记忆镶嵌具有组合能力和上下文学习能力。与transformer不同,记忆镶嵌以相对透明的方式实现这些能力。该研究在玩具示例上展示了这些能力,并且还表明记忆镶嵌在中等规模语言建模任务上的表…

JVM调优:JVM运行时数据区详解

一、前言 Java运行时数据区域划分,Java虚拟机在执行Java程序时,将其所管理的内存划分为不同的数据区域,每个区域都有特定的用途和创建销毁的时间。 其中,有些区域在虚拟机进程启动时就存在,而有些区域则是随着用户线程…

YOLOv9-20240507周更说明|更新MobileNetv4等多种轻量化主干

专栏地址:目前售价售价69.9,改进点70 专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,助力高效涨点!!! 本周已更新说明: ### ⭐⭐更新时间:2024/5/12⭐⭐ 1. YOLOv9…

企业网站HTTP网站业务被慢连接攻击了该怎么办

企业的网站建设中遇到网络攻击会出现哪些问题?一些中小型企业对于网络安全的认知不足,网站建设种类众多,电子商城类,小型游戏,支付类型,H5页面的网站,开发等等,如遇见网络攻击造成的…

ubuntu server 22.04.4 系统安装详细教程

本教程使用vmware workstation 17创建虚拟机进行安装演示,安装方式和真机安装没有区别。 1、下载镜像 下载ubuntu server版本系统镜像,官网下载地址:https://cn.ubuntu.com/download/server/step1 注意:自己下载时需要确认是否是…

ARP中间人

文章目录 ARP中间人ARP协议介绍使用kali进行ARP毒化使用kali进行ARP中间人使用kali进行ARP钓鱼ARP攻击防御ARP总结 ARP中间人 ARP协议介绍 维基百科ARP介绍 ARP(地址解析协议)在网络通信中扮演着至关重要的角色,它通过将网络层地址&#x…

运维基础(二)- 钉钉的使用

一、钉钉的介绍(来自百度百科) 免费沟通和协同的多端平台 帮助中国企业通过系统化的解决方案(微应用),全方位提升中国企业沟通和协同效率。 钉钉(Ding Talk) 是阿里巴巴打造的企业级智能移动…

Windows环境下代码文档生成工具Doxygen使用详细教程

背景 最近研究aom源码,发现编译需要依赖Doxygen工具,故此篇博客详细记录下Doxygen的安装和使用。 Doxygen Doxygen 是一个强大的源代码文档生成工具,它支持多种编程语言,能够直接从源代码中的注释提取文档,并生成多…

RabbitMQ中间件安装

消息队列 RabbitMQ yum -y update yum -y install epel-release erlang # 安装erlang erl -version # 判断是否安装成功根据官网的的表格判断自己用哪个版本的 RabbitMQ:https://www.rabbitmq.com/docs/which-erlang#r16b03 [rootiZuf6hqrs5cb2ccyuc9nqvZ ~]# er…

tomcat 设置JVM 参数

tomcat 启动的服务 设置jvm 设置的文件目录: /tomcat/bin/catalina.sh 添加设置参数: JAVA_OPTS“$JAVA_OPTS -server -Xms1024m -Xmx4096m -XX:MetaspaceSize1024m -XX:MaxMetaspaceSize2048m -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/data/se…

0510Goods的Maven项目

0510Goods的Maven项目包-CSDN博客 数据库字段 商品主页 修改页面 点击商品主页更改信息, 跳转到修改页面, 并保留初始信息。 商品类别最多选取三项,最少选取一项 添加界面 商品类别最多选取三项,最少选取一项

第三方组件element-ui

1、创建 选vue2 不要快照 vue2于vue3差异 vue2main。js import Vue from vue import App from ./App.vueVue.config.productionTip falsenew Vue({render: h > h(App), }).$mount(#app)vue3 main.js vue2不能有多个跟组件(div)

老胡的周刊(第141期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 koishi[2] 周刊群友推荐,创建跨平…

对博客系统基本功能进行自动化测试(Junit + Selenium)

环境搭建&#xff1a; 浏览器&#xff1a; 本次测试使用Chrome浏览器在jdk的bin目录下安装对应浏览器驱动&#xff08;尽量选择与浏览器版本相近的驱动&#xff09;chromedriver.storage.googleapis.com/index.htmlJunit依赖&#xff1a; <!-- https://mvnreposit…

【linux-IMX6ULL-RTC-IIC-SPI配置思路】

目录 1. RTC简介1.1 IMX6ULL中的RTC1.2 SNVS_LP中的SRTC配置流程1.3 程序实现 2. IIC通信协议2.1 IIC基础2.2 IIC通信协议2.2.1 IIC写时序2.2.2 IIC读时序 3. IIC通信的硬件框图及配置流程3.1 IMX6ULL的硬件IIC框图3.1 IIC配置流程3.2 硬件IIC代码实现 4. SPI通信4.1 SPI通信基…