1. [主页](/)
2. [查看所有手册](https://developer.nvidia.cn/build-spark)
3. 

Unsloth on DGX Spark

# Unsloth on DGX Spark

使用 Unsloth 优化微调

概述

操作指令

故障排除

## 基本理念

- 

性能优先：它声称可以加快训练速度 (例如。与标准方法相比，在单 GPU 上速度提高 2%，在多 GPU 设置中速度提高 30%) ，并减少显存占用。

- 

内核级优化：核心计算使用自定义内核 (例如。并手动优化数学运算，以提高吞吐量和效率。

- 

量化和模型格式：支持动态量化 (4 位、16 位) 和 GGUF 格式，可在保持准确性的同时减少占用空间。

- 

广泛的模型支持：适用于许多 LLM (Qwen、DeepSeek 等) 并支持训练、微调和导出为 Ollama、vLLM、GGUF、Hugging Face 等格式。

- 

简化的界面：提供易于使用的 Notebook 和工具，因此用户可以用最少的样板文件微调模型。

## 您将完成的任务

您将在 NVIDIA Spark 设备上设置 Unsloth，以优化大语言模型的微调，实现高达 2 倍的训练速度提升，并通过高效的 参数高效的微调方法，如 LoRA 和 QLoRA。

## 开始之前需要了解的内容

- 

开始之前需要了解的内容

- 

使用 pip 和虚拟环境进行 Python 包管理

- 

Hugging Face Transformers 库基础知识 (加载模型、分词器、数据集)

- 

GPU 基础知识 ( CUDA/ GPU 与 CPU、VRAM 限制、设备可用性)

- 

基本了解 LLM 训练概念 (损失函数、检查点)

- 

熟悉提示工程和基础模型交互

- 

可选：LoRA/ QLoRA 参数高效微调知识

## 预备知识

- 

采用 Blackwell GPU 架构的 NVIDIA Spark 设备

- 

nvidia-smi 显示 GPU 信息摘要

- 

已安装 CUDA 13.0： nvcc --version

- 

可通过互联网下载模型和数据集

## 辅助文件

[GitHub](https://github.com/NVIDIA/dgx-spark-playbooks/blob/main/nvidia/unsloth/assets/test_unsloth.py) 上的 Python 测试脚本 

## 时间和风险

- 

时长：初始设置和测试运行需要 30 - 60 分钟

- 

风险：

  - 

Triton 编译器版本不匹配可能会导致编译错误

  - 

CUDA 工具包配置问题可能会阻止核函数编译

  - 

较小模型的内存限制需要调整批量大小

- 

回滚：使用以下命令卸载软件包 pip uninstall unsloth torch torchvision。

- 

上次更新日期：2025 年 12 月 15 日

  - 

将 pytorch 容器和 python 依赖项升级到最新版本

## 第 1 步：验证先决条件

确认您的 NVIDIA Spark 设备具有所需的 CUDA 工具包和可用的 GPU 资源。

    nvcc --version

输出应显示 CUDA 13.0。

    nvidia-smi

输出应显示 GPU 信息的摘要。

## 第 2 步：获取容器镜像

    docker pull nvcr.io/nvidia/pytorch:25.11-py3

## 第 3 步：启动 Docker

    docker run --gpus all --ulimit memlock=-1 -it --ulimit stack=67108864 --entrypoint /usr/bin/bash --rm nvcr.io/nvidia/pytorch:25.11-py3

## 第 4 步：在 Docker 中安装依赖项

    pip install transformers peft hf\_transfer &quot;datasets==4.3.0&quot; &quot;trl==0.26.1&quot; pip install --no-deps unsloth unsloth\_zoo bitsandbytes

## 第 5 步：创建 Python 测试脚本

将测试脚本 Curl [单击此处](https://github.com/NVIDIA/dgx-spark-playbooks/blob/main/nvidia/unsloth/assets/test_unsloth.py)容器中。

    curl -O https://raw.githubusercontent.com/NVIDIA/dgx-spark-playbooks/refs/heads/main/nvidia/unsloth/assets/test\_unsloth.py

我们将使用此测试脚本通过简单的微调任务来验证安装。

## 第 6 步：运行验证测试

执行测试脚本以验证 Unsloth 是否正常工作。

    python test\_unsloth.py

终端窗口中的预期输出：

- 

“Unsloth：将修补您的计算机，使免费微调速度提高 2 倍”

- 

训练进度条显示损失减少超过 60 步

- 

显示完成情况的最终训练指标

## 第 7 步：后续步骤

通过更新自己的模型和数据集，使用您自己的模型和数据集 test\_unsloth.py 文件：

    # Replace line 49 with your model choice model\_name = &quot;unsloth/Qwen3-8B-bnb-4bit&quot; # Load your custom dataset in line 8 dataset = load\_dataset(&quot;your\_dataset\_name&quot;) # Adjust training parameter args at line 80 per\_device\_train\_batch\_size = 4 max\_steps = 1000

访问 [https://github.com/unslothai/unsloth/wiki](https://github.com/unslothai/unsloth/wiki) 高级使用说明，包括：

- 

[为 vLLM 保存 GGUF 格式的模型](https://github.com/unslothai/unsloth/wiki#saving-to-gguf)

- 

[在检查站继续接受培训](https://github.com/unslothai/unsloth/wiki#loading-lora-adapters-for-continued-finetuning)

- 

[使用自定义聊天模板](https://github.com/unslothai/unsloth/wiki#chat-templates)

- 

[运行评估循环](https://github.com/unslothai/unsloth/wiki#evaluation-loop---also-fixes-oom-or-crashing)

**注意：**

DGX Spark 采用统一内存架构 (UMA)，可在 GPU 和 CPU 之间实现动态内存共享。 由于许多应用程序仍在更新以利用 UMA，您可能会遇到内存问题，即使在 DGX Spark 的内存容量。如果发生这种情况，请使用以下命令手动刷新缓冲区缓存：

    sudo sh -c &#39;sync; echo 3 \&gt; /proc/sys/vm/drop\_caches&#39;


