bolt开始使用 Unsloth Studio

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

Unsloth Studio 是一个本地、基于浏览器的图形界面,用于在无需编写任何代码的情况下微调大型语言模型 (LLM)。它将训练管道封装在一个清晰的界面中,处理模型加载、数据集格式化、超参数配置和实时训练监控。

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

设置 Unsloth Studio

首先,通过本地安装或云选项启动 Unsloth Studio。请按照 安装说明 为您的设置,或使用我们的 免费 Colab 笔记本。对于本地设置,请运行:

uunsloth studio -H 0.0.0.0 -p 8888

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

首次启动时,您需要创建一个密码来保护您的帐户,并在稍后再次登录。

然后您将看到一个简要的入门向导,用于选择模型、数据集和基本设置。您可以随时跳过该向导并手动配置所有内容。

bolt Studio - 快速入门

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

  • 来自 Hugging Face 或本地文件的简易模型和数据设置 来自 Hugging Face 或本地文件

  • 灵活的训练选择 例如 QLoRA、LoRA 或完整微调,并预填默认值

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

  • 出色的训练可见性 具有实时进度、GPU 统计、图表、启动状态

1. 选择模型和方法

模型类型

选择与您用例相匹配的模态:

类型
用例

文本

聊天、指令跟随、补全

视觉

图像 + 文本(视觉语言模型)

音频

语音 / 音频理解

嵌入

句子嵌入、检索

训练方法

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

方法
描述
显存

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 格式。先前上传的数据集会出现在一个会自动刷新的列表中。

提示 Studio 如何解释和格式化您的数据:

格式
何时使用

自动

让 Unsloth 自动检测格式

alpaca

指令 / 输入 / 输出

chatml

OpenAI 风格 消息 数组

sharegpt

ShareGPT 风格的对话

切分与切片

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

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

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

列映射

如果 Studio 无法自动将您的数据集列映射到正确的角色,会打开一个 数据集预览对话框 。它显示示例行,并允许您将每列分配为 指令, 输入, 输出, 图像,等。建议的映射会在可能的情况下预填。

3. 超参数

参数分组在可折叠的部分中。您可以在此查看我们详细的 LoRA 超参数指南:

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

最大步数

0

0 意味着改用 Epochs

上下文长度

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 位 |

circle-info

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

4. 训练与配置

右下方卡片有三个配置管理按钮和 开始训练 按钮。

按钮
操作

上传

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

保存

将当前配置导出为 YAML

重置

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

在配置模型和数据集之前,“开始训练”按钮保持不可用。验证错误会在行内显示——例如设置了评估步数但未选择评估切分,或将仅文本模型与视觉数据集配对。

加载屏幕

在您点击 开始训练后,会出现一个全屏覆盖层,后端在此期间准备所有内容。

覆盖层显示一个带有实时阶段更新的动画终端:

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

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

  • 蓝色:配置中

  • 绿色:训练中

您可以随时使用角落的 × 按钮取消。停止任何操作之前会出现确认对话框。

训练进度与可观测性

一旦到达第一个训练步骤,覆盖层会被关闭并显示实时训练视图。当进度条上的步骤达到 100% 时,微调过程完成。您可以查看已用时间和处理的 token 数。

状态面板

左侧列显示:

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

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

  • 关键指标:

    • 损失 - 训练损失至小数点后 4 位

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

    • 梯度范数 - 梯度范数

    • 模型 - 正在训练的模型

    • 方法 - QLoRA / LoRA / 完整

  • 计时行 - 已用时间、剩余时间估计、每秒步骤数和处理的总 token 数

GPU 监视器

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

  • 使用率 - 百分比条

  • 温度 - 摄氏度条

  • 显存 - 已用 / 总计 GB

  • 功率 - 功耗 / 限制(瓦特)

停止训练

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

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

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

图表

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

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

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

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

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

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

选项
默认值

查看窗口

最近 N 步 滑块

EMA 平滑

0.6

显示原始值

显示平滑值

显示平均线

缩放(每条序列)

线性 / 对数

异常值裁剪

不裁剪 / p99 / p95

配置文件

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

YAML 结构分为三个部分:

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

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

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

配方页面是主要入口点。配方存储在浏览器本地,因此您可以稍后返回已保存的工作。在此处,您可以创建空白配方或打开引导学习配方。

数据配方遵循相同的基本路径。您打开配方页面,创建或选择配方,在编辑器中构建工作流,验证并运行预览,然后在输出看起来正确后运行完整的数据集构建。添加种子数据和生成块,验证工作流,预览示例输出,然后运行完整的数据集构建。Unsloth 数据配方由 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 视频教程

这里有 2 个视频教程,帮助您开始使用 Unsloth Studio!

circle-exclamation

这里有一段由 NVIDIA 创建的视频教程,帮助您开始使用 Studio:

这里是我们从安装到使用 Studio 的完整逐步视频教程:

高级设置

命令行命令

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/

列出 / 管理数据集

最后更新于

这有帮助吗?