news 2026/5/1 9:27:49

ms-swift新手村:第一课教你跑通Hello World

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ms-swift新手村:第一课教你跑通Hello World

ms-swift新手村:第一课教你跑通Hello World

1. 引言

1.1 学习目标

本文旨在为刚接触ms-swift框架的新手提供一份从零开始的入门指南,帮助你快速完成第一个“Hello World”级别的模型推理任务。通过本教程,你将掌握:

  • 如何安装和配置 ms-swift 环境
  • 使用命令行快速启动一个基础推理任务
  • 验证环境是否正常运行
  • 理解核心命令结构与参数含义

整个过程控制在10分钟内,适合希望快速上手、验证环境可用性的开发者。

1.2 前置知识

为了顺利执行本教程,建议具备以下基础知识:

  • 基础 Linux 命令行操作能力(如目录切换、文件查看)
  • Python 虚拟环境的基本使用
  • 对 GPU 和 CUDA 的基本了解(非必须,但有助于理解加速机制)

无需任何深度学习或大模型微调经验,本教程专注于“让模型说 Hello World”。

1.3 教程价值

ms-swift 是一个功能强大且高度集成的大模型微调与部署框架,支持超过600个纯文本模型和300个多模态模型。然而,其丰富的功能也带来了较高的学习曲线。本教程聚焦最简路径,帮助你在正式进入复杂训练任务前,建立信心并确认开发环境正确无误。


2. 环境准备

2.1 安装依赖与创建虚拟环境

首先,确保你的系统已安装 Python 3.8+ 和 pip。推荐使用虚拟环境来隔离项目依赖。

# 创建虚拟环境 python3 -m venv swift-env # 激活虚拟环境 source swift-env/bin/activate

激活后,你会在终端提示符前看到(swift-env)标识。

2.2 安装 ms-swift

执行以下命令安装 ms-swift 及其完整依赖包(包含多模态、量化等所需组件):

pip install ms-swift[all]

安装完成后,可通过以下命令验证安装是否成功:

swift --version

如果输出类似ms-swift 0.3.0的版本信息,则表示安装成功。

注意:若网络较慢,可考虑更换国内镜像源(如清华、阿里云)以加速下载。


3. 执行第一个推理任务

3.1 启动交互式推理

现在我们使用内置的swift infer命令,加载一个轻量级语言模型进行交互式对话。这相当于 AI 领域的“Hello World”。

swift infer \ --model Qwen/Qwen2.5-7B-Instruct \ --infer_backend pt \ --stream true \ --max_new_tokens 512
参数说明:
参数说明
--model指定要加载的模型 ID,此处使用通义千问 Qwen2.5-7B-Instruct
--infer_backend推理后端选择,pt表示 PyTorch 原生引擎
--stream开启流式输出,逐字生成回复,提升体验感
--max_new_tokens控制生成的最大 token 数量

首次运行时,ms-swift 会自动从 ModelScope 下载模型权重(约14GB),请确保磁盘空间充足且网络稳定。

3.2 输入你的第一条指令

命令执行后,终端将显示模型加载进度。加载完成后会出现输入提示符,例如:

User:

此时你可以输入任意问题,例如:

你好,你是谁?

稍等片刻,模型将返回类似如下响应:

我是通义千问,由阿里云研发的语言模型。我可以回答问题、创作文字,比如写故事、写公文、写邮件、写剧本等等。

恭喜!你已经成功完成了 ms-swift 的第一个推理任务 —— 让模型“开口说话”。


4. 进阶尝试:使用 LoRA 微调权重推理

4.1 准备微调后的适配器

假设你已经完成了一次 LoRA 微调任务,生成了适配器权重(保存在output/vx-xxx/checkpoint-xxx目录下)。你可以直接加载该权重进行推理,而无需重新指定模型参数。

swift infer \ --adapters output/vx-xxx/checkpoint-xxx \ --stream true \ --temperature 0 \ --max_new_tokens 512
关键点解析:
  • --adapters:指向 LoRA 适配器路径,ms-swift 会自动读取其中的args.json配置文件,恢复原始模型设置。
  • --temperature 0:关闭随机性,使输出更确定、一致。
  • 若想手动覆盖某些参数(如 system prompt),可添加--system "新的系统提示"

4.2 合并 LoRA 权重并加速推理

为了提升推理速度,可以将 LoRA 权重合并到主模型中,并使用 vLLM 加速引擎:

swift infer \ --adapters output/vx-xxx/checkpoint-xxx \ --merge_lora true \ --infer_backend vllm \ --vllm_max_model_len 8192 \ --stream true \ --max_new_tokens 512

此方式适用于生产环境部署,显著提升吞吐量和响应速度。


5. 快速训练尝试:自我认知微调

5.1 执行轻量微调任务

接下来我们尝试一个简单的自我认知微调任务,仅需500条数据,在单卡3090上约10分钟即可完成。

CUDA_VISIBLE_DEVICES=0 \ swift sft \ --model Qwen/Qwen2.5-7B-Instruct \ --train_type lora \ --dataset 'AI-ModelScope/alpaca-gpt4-data-zh#500' \ 'AI-ModelScope/alpaca-gpt4-data-en#500' \ 'swift/self-cognition#500' \ --torch_dtype bfloat16 \ --num_train_epochs 1 \ --per_device_train_batch_size 1 \ --gradient_accumulation_steps 16 \ --learning_rate 1e-4 \ --lora_rank 8 \ --lora_alpha 32 \ --target_modules all-linear \ --output_dir output \ --system 'You are a helpful assistant.' \ --warmup_ratio 0.05 \ --dataloader_num_workers 4 \ --model_author swift \ --model_name swift-robot
训练要点说明:
  • 使用 LoRA 技术进行轻量微调,显存需求大幅降低。
  • 数据集包含中英文 Alpaca 数据及自我认知数据,增强模型个性化表达。
  • --model_author--model_name仅在包含swift/self-cognition数据时生效,用于定制模型身份。

训练结束后,模型权重将保存在output目录下,可用于后续推理或导出。


6. Web UI 快速体验

6.1 启动图形化界面

如果你不习惯命令行操作,ms-swift 提供了基于 Gradio 的 Web UI 界面,实现零代码训练与推理。

swift web-ui

执行后,终端会输出类似以下信息:

Running on local URL: http://127.0.0.1:7860

打开浏览器访问该地址,即可进入可视化操作界面,支持:

  • 模型选择与加载
  • 数据集配置
  • 训练参数调整
  • 实时推理测试
  • 模型导出与推送

非常适合初学者探索不同功能模块。


7. 使用 Python API 编程调用

7.1 编写推理脚本

除了命令行,ms-swift 也支持 Python 接口调用。创建一个hello_world.py文件:

from swift.llm import PtEngine, InferRequest, RequestConfig # 初始化推理引擎 engine = PtEngine( model_id_or_path='Qwen/Qwen2.5-7B-Instruct', ) # 构造请求 infer_request = InferRequest(messages=[{'role': 'user', 'content': 'Hello, world!'}]) request_config = RequestConfig(max_tokens=128, temperature=0.7) # 执行推理 resp_list = engine.infer([infer_request], request_config) print(f"Response: {resp_list[0].choices[0].message.content}")

运行脚本:

python hello_world.py

输出结果应为一段自然语言回应,标志着你已掌握 ms-swift 的编程接口使用方法。


8. 总结

8.1 核心收获回顾

本文带你完成了 ms-swift 框架的首次实践之旅,涵盖了以下几个关键步骤:

  1. 环境搭建:成功安装 ms-swift 并验证版本。
  2. 基础推理:使用swift infer命令实现模型对话,完成“Hello World”任务。
  3. LoRA 推理:加载微调权重并尝试合并与加速。
  4. 轻量训练:执行一次完整的 LoRA 微调流程。
  5. Web UI 体验:通过图形界面直观操作模型。
  6. Python 编程:使用 API 实现自动化调用。

这些技能构成了使用 ms-swift 进行大模型开发的基础能力栈。

8.2 下一步学习建议

完成本课后,建议继续深入以下方向:

  • 学习如何自定义数据集格式并进行微调
  • 探索多模态模型(如 Qwen-VL)的训练与推理
  • 尝试使用 vLLM、SGLang 等高性能推理后端
  • 阅读官方文档,掌握更多训练任务类型(DPO、KTO、RM 等)

ms-swift 提供了从研究到生产的全链路支持,是当前中文社区中最易用的大模型微调框架之一。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 20:05:16

本地GPU不够用?BGE-M3云端部署3步搞定

本地GPU不够用?BGE-M3云端部署3步搞定 你是不是也遇到过这种情况:作为博士生,正在做跨语言信息检索的研究,手头的实验数据越来越多,模型越来越复杂,可实验室的GPU总是被占满,而自己的笔记本显卡…

作者头像 李华
网站建设 2026/5/1 9:13:24

Qwen3-32B智能写作实测:云端1小时生成5万字,成本2元

Qwen3-32B智能写作实测:云端1小时生成5万字,成本2元 你是不是也是一位网文作者?每天面对更新压力,卡文、断更、灵感枯竭成了常态。最近几年AI写作火了,你也听说“大模型能自动写小说”,于是兴致勃勃地下载…

作者头像 李华
网站建设 2026/5/1 6:32:01

Java毕设项目推荐-基于SpringBoot的学生身体素质测评管理系统基于SpringBoot的大学生体测数据管理系统【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/15 20:11:29

前端核心:彻底搞懂 JavaScript 事件流

在前端开发中,事件流是处理 DOM 交互的核心概念,它决定了事件在 DOM 树中的传播路径和触发顺序。理解事件流,是写出健壮、可维护交互代码的基础。 一、事件流与两个阶段说明 事件流描述的是当 DOM 元素触发事件后,事件在整个 DOM …

作者头像 李华
网站建设 2026/5/1 7:56:23

通信原理篇---FSK/MSK和MPSK/QAM

我会用“高速公路运输系统”的比喻,为你清晰地解释这场“调制制式之争”。核心矛盾:频谱效率 vs. 抗干扰能力无线通信就像在一条极其拥挤的无线电波“高速公路”上运输数据。我们有两个核心追求:频谱效率: 在单位带宽(…

作者头像 李华
网站建设 2026/4/30 13:24:05

【毕业设计】基于 Web Service 技术的警务数据交互平台设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华