bolt开始使用 Unsloth Studio

一份关于微调工作室、数据配方、模型导出和聊天功能的入门指南。

Unsloth Studio 是一个本地、基于浏览器的 GUI,无需编写任何代码即可对 LLM 进行微调。它将训练流程封装在一个简洁的界面中,负责模型加载、数据集格式化、超参数配置以及实时训练监控。

boltStudiohat-chef数据配方box-isometric导出comment-dots聊天video视频

设置 Unsloth Studio

首先,使用本地安装或云端选项启动 Unsloth Studio。请按照 安装说明 完成你的配置,或者使用我们的 免费 Colab 笔记本。对于本地设置,请运行:

unsloth studio -H 0.0.0.0 -p 8888

然后在浏览器中打开 http://localhost:8888

首次启动时,你需要创建一个密码来保护你的账户,并在稍后重新登录。

接着你会看到一个简短的引导向导,用于选择模型、数据集和基本设置。你可以随时跳过它,并手动配置所有内容。

bolt Studio - 快速入门

Unsloth Studio 首页有 4 个主要区域: 模型, 数据集, 参数,以及 训练/配置

  • 为模型和数据提供简单设置 来自 Hugging Face 或本地文件

  • 灵活的训练选项 如 QLoRA、LoRA 或全参数微调,并已填入默认值

  • 实用的配置工具 用于划分、列映射、超参数和 YAML 配置

  • 出色的训练可视化 包含实时进度、GPU 统计、图表、启动状态

1. 选择模型和方法

模型类型

选择与你的使用场景相匹配的模态:

类型
使用场景

文本

聊天、指令跟随、补全

视觉

图像 + 文本(VLM)

音频

语音 / 音频理解

嵌入

句向量嵌入、检索

训练方法

提供三种方法,可通过胶囊式选择器切换:

方法
描述
VRAM

QLoRA

4 位量化基础模型 + LoRA 适配器

最低

LoRA

全精度基础模型 + LoRA 适配器

中等

全量微调

所有权重都会参与训练

最高

输入任意 Hugging Face 模型名称,或直接通过下拉组合框搜索 Hub。存储在 ~/.unsloth/studio/models 中的本地模型以及你的 Hugging Face 缓存也会出现在列表中。

circle-exclamation

当你选择一个模型时,Studio 会自动从后端获取其配置,并为所有超参数预先填充合理的默认值。

HuggingFace 令牌

如果模型受限访问(例如 Llama、Gemma),请在此粘贴你的 Hugging Face 访问令牌。令牌会被实时验证,如果无效会在行内显示错误。

2. 数据集

在两个选项卡之间切换,选择数据来源:

  • HuggingFace Hub - 对 Hub 进行实时搜索。每个结果都会显示最后更新日期。

  • 本地 - 拖放或点击以上传非结构化或结构化文件,例如: PDF, DOCX, JSONL, JSON, CSV,或 Parquet 格式。之前上传的数据集会显示在列表中,并自动刷新。

你可以在这里查看我们详细的 数据集指南.

Prompt Studio 如何解释并格式化你的数据:

格式
适用场景

auto

让 Unsloth 自动检测格式

alpaca

instruction / input / output

chatml

OpenAI 风格 messages 数组

sharegpt

ShareGPT 风格对话

拆分与切片

  • 子集 - 会从数据集卡自动填充。

  • 训练拆分 / 评估拆分 - 选择要使用的拆分。设置评估拆分会在训练期间启用 评估损失 图表。

  • 数据集切片 - 可选地将训练限制在某个行范围(起始索引 / 结束索引)以便快速实验。

列映射

如果 Studio 无法自动将你的数据集列映射到正确角色, 数据集预览对话框 会打开。它会显示示例行,并让你将每一列分配给 instruction, input, output, 图像等。建议的映射会在可用时预先填入。

3. 超参数

参数被分组到可折叠的部分中。你可以在这里查看我们详细的 LoRA 超参数指南

🧠Hyperparameters Guidechevron-right
参数
默认值
说明

最大步数

0

0 表示改用 Epoch

上下文长度

2048

选项:512 → 32768

学习率

2e-4

LoRA 设置

(在选择全量微调时隐藏)

参数
默认值
说明

16

滑块 4–128

Alpha

32

滑块 4–256

Dropout

0.05

LoRA 变体

LoRA

LoRA / RS-LoRA / LoftQ

目标模块

全部开启

q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj

对于 视觉 带有图像数据集的模型,会出现四个额外的复选框。微调:

视觉层

语言层

注意力模块

MLP 模块

训练超参数

组织在三个选项卡中:

参数
默认值

Epochs

3

批量大小

4

梯度累积

8

权重衰减

0.01

优化器

AdamW 8-bit

circle-info

Unsloth 梯度检查点: unsloth 使用 Unsloth 的自定义内存高效实现,与标准 PyTorch 选项相比,可显著降低 VRAM 使用量。这是推荐的默认设置。

4. 训练和配置

右下角卡片包含三个配置管理按钮和 开始训练 按钮。

按钮
操作

上传

加载之前保存的 .yaml 配置文件

保存

将当前配置导出为 YAML

重置

将所有参数恢复为模型默认值

在模型和数据集都配置完成之前,“开始训练”按钮会保持禁用状态。验证错误会以内联方式显示——例如,在未选择评估拆分时设置评估步数,或将仅文本模型与视觉数据集配对。

加载界面

在你点击 开始训练之后,当后端准备所有内容时,会出现一个全页遮罩层。

该遮罩层会显示一个带有实时阶段更新的动画终端:

  • 蓝色:下载模型 / 数据集

  • 琥珀色:加载模型 / 数据集

  • 蓝色:配置中

  • 绿色:训练中

你可以随时使用角落里的 × 按钮取消。在停止任何内容之前,都会先显示确认对话框。

训练进度与可观测性

当第一步训练开始后,遮罩层会消失,并显示实时训练视图。当进度条上的步骤达到 100% 时,微调过程完成。你可以查看已用时间和 tokens。

状态面板

左侧列显示:

  • Epoch - 当前的分数 Epoch(例如 Epoch 1.23)

  • 进度条 - 基于步数,带百分比

  • 关键指标:

    • Loss - 训练损失,保留 4 位小数

    • LR - 以科学计数法表示的当前学习率

    • Grad Norm - 梯度范数

    • 模型 - 正在训练的模型

    • 方法 - QLoRA / LoRA / 完整

  • 时间行 - 已用时间、ETA、每秒步数以及已处理的总 tokens

GPU 监控

右侧列显示每隔几秒轮询一次的实时 GPU 统计:

  • 利用率 - 百分比条

  • 温度 - °C 条

  • VRAM - 已用 / 总 GB

  • 功耗 - 功率消耗 / 限制,单位瓦特

停止训练

使用进度卡右上角的 停止训练 按钮。对话框会给你两个选择:

  • 停止并保存 - 停止前保存检查点

  • 取消 - 立即停止,不保存检查点

图表

随着训练进行,会更新四个实时图表:

  1. 训练损失 - 原始值、EMA 平滑线以及运行平均参考线

  2. 学习率 - 学习率调度曲线

  3. 梯度范数 - 随步数变化的梯度范数

  4. 评估损失 - 仅在你配置了评估拆分时显示

每个图表都有设置(齿轮图标),包含:

选项
默认值

查看窗口

最近 N 步滑块

EMA 平滑

0.6

显示原始值

开启

显示平滑值

开启

显示平均线

开启

缩放(按系列)

线性 / 对数

离群值裁剪

不裁剪 / p99 / p95

配置文件

所有训练配置都可以保存并重新加载为 YAML 文件。文件会自动命名为:

YAML 结构分为三个部分:

这使得复现实验、共享配置或对实验进行版本控制变得很容易。

hat-chef 数据配方 - 快速入门

Unsloth 数据配方 允许你上传 PDF 或 CSV 等文档,并将它们转换为可用的数据集。通过图节点工作流可视化地创建和编辑数据集。

配方页面是主要入口。配方保存在浏览器本地,因此你可以稍后回来继续处理已保存的工作。你可以在这里创建一个空白配方,或打开一个引导式学习配方。

Data Recipes 遵循相同的基本流程。你打开配方页面,创建或选择一个配方,在编辑器中构建工作流,进行验证并运行预览,然后在输出看起来正确后运行完整数据集。添加种子数据和生成块,验证工作流,预览样例输出,然后运行完整数据集构建。Unsloth Data Recipes 由 NVIDIA 提供支持 DataDesignerarrow-up-right.

从整体来看,一个典型的工作流应该如下所示:

  1. 打开配方页面。

  2. 创建一个新配方或打开一个现有配方。

  3. 添加块以定义你的数据集工作流。

  4. 点击 验证 以尽早发现配置问题。

  5. 运行预览以快速检查样例行。

  6. 在配方准备好后运行完整数据集构建。

  7. 在图中或 执行 视图中实时查看进度和输出以了解更多细节。

  8. Studio 中选择生成的数据集,并微调模型。

box-isometric 导出 - 快速入门

使用 Unsloth Studio 的“导出”来导出、保存或将模型转换为 GGUF、Safetensors 或 LoRA,用于在 Unsloth、llama.cpp、Ollama、vLLM 等中进行部署、共享或本地推理。导出已训练的检查点或转换任何现有模型。

你可以在这里阅读我们关于使用 Unsloth Studio 导出模型的详细教程/指南:

box-isometricModel Exportchevron-right

comment-dots 聊天 - 快速入门

Unsloth Studio 聊天 让你能够在电脑上 100% 离线运行模型。可运行 Hugging Face 上或本地文件中的 GGUF 和 safetensors 等模型格式。

  • 下载 + 运行 任何模型,例如 GGUF、微调适配器、safetensors 等。

  • 比较 不同模型的 输出并排显示

  • 上传 在提示词中加入文档、图像和音频

  • 调整 推理 设置,例如:temperature、top-p、top-k 和系统提示词

你可以在这里阅读我们关于使用 Unsloth Studio 运行模型的详细教程/指南:

comment-dotsStudio Chatchevron-right

video 视频教程

这里有一个由 NVIDIA 制作的视频教程,帮助你开始使用 Studio:

如何安装 Unsloth Studio 视频教程

circle-exclamation

高级设置

CLI 命令

Unsloth CLI(cli.py)提供以下命令:

项目结构

API 参考

所有端点都需要有效的 JWT Authorization: Bearer <token> 请求头(除 /api/auth/*/api/health).

方法
端点
描述

GET

/api/health

健康检查

GET

/api/system

系统信息(GPU、CPU、内存)

POST

/api/auth/signup

创建账户(首次运行时需要设置令牌)

POST

/api/auth/login

登录并接收 JWT 令牌

POST

/api/auth/refresh

刷新过期的访问令牌

GET

/api/auth/status

检查身份验证是否已初始化

POST

/api/train/start

开始训练作业

POST

/api/train/stop

停止正在运行的训练作业

POST

/api/train/reset

重置训练状态

GET

/api/train/status

获取当前训练状态

GET

/api/train/metrics

获取训练指标(损失、学习率、步数)

GET

/api/train/stream

实时训练进度的 SSE 流

GET

/api/models/

列出可用模型

POST

/api/inference/chat

发送聊天消息用于推理

GET

/api/datasets/

列出 / 管理数据集

最后更新于

这有帮助吗?