Unsloth

用更少显存、更快速度,在普通显卡上完成大模型 LoRA/QLoRA 微调、DPO 训练,还能一键导出成可本地部署的模型格式。

我这里用conda创建了虚拟环境

这是在Linux系统的使用

#创建一个名叫 unsloth 的独立环境,指定 Python 版本 3.11

conda create --name unsloth python=3.11

#让终端支持 Conda 命令

conda init

#让上一步的配置立刻生效

source ~/.bashrc

#激活Unsloth 环境

conda activate unsloth

安装Jupyterlab和Jupyter Kernel

#网页编辑器,界面工具

conda install jupyterlab

#安装内核连接工具,让Jupyter找到unsloth

conda install ipykernel

#--name unsloth:对应环境名

#--display-name "Python unsloth" Jupyter 里显示的名字

python -m ipykernel install --user --name unsloth --display-name "Python unsloth"

然后用下面命令安装Unsloth

pip install --upgrade --force-reinstall --no-cache-dir unsloth unsloth_zoo

然后启动Jupyter Kernel

可以调用python unsloth

运行成功。

vLLM安装与部署

(1)vllm安装

vllma和ollma区别:

Ollama:本地大模型[一键启动器],主打简单开箱即用,让你用一条命令就能下载、运行、管理 Llama 3/Qwen 等模型,适合个人本地测试、快速体验。
vLLM:大模型[高性能推理引擎],主打高吞吐、低延迟,通过 PagedAttention 技术榨干 GPU 性能,适合生产环境、高并发 API 服务,能比原生方案快 10–24 倍。

依旧在虚拟环境中进行安装

conda create --name vllm python=3.11

conda init

source ~/.bashrc

conda activate vllm

vllm提供后台模型调用

接下来安装vllm

#bitsandbytes是为了适配4bit动态量化模型调用的库

pip install bitsandbytes>=0.45.3

pip install --upgrade vllm

(2)Qwen3模型下载

我们要下载qwen3

32位4bit动态量化模型为例子

https://www.modelscope.cn/models/unsloth/Qwen3-32B-unsloth-bnb-4bit/files

pip install modelscope

modelscope download --model unsloth/Qwen3-32B-unsloth-bnb-4bit --local_dir

./Qwen3-32B-unsloth-bnb-4bit

这个调用用的显存大概22G,微调大概37G,根据自己情况下载

(3)借助vllm进行模型调用

接下来是测试模型调用流程

Unsloth动态量化模型只支持单卡调用,要设置单卡运行vllm

#可以先切到文件

vllm serve ./Qwen3-32B-unsloth-bnb-4bit --enabled-auto-tool-choice --tool-call-parser hermes

./Qwen3-32B-unsloth-bnb-4bit:指明当前模型的路径

--enable-auto-tool-choice:开启工具调用,function calling 

--tool-call-parser hermes:指定工具调用格式解析器 = Hermes 格式

vllm会尽量多地占用显存

EvalScope安装部署

项目地址:https://github.com/modelscope/evalscope

这个用来给大模型打分

evalscope安装流程

这个需要单独创建虚拟环境防止与unsloth的环境出现冲突:

conda create --name evalscope python=3.11

conda init

source ~/.bashrc

conda activate evalscope

conda install jupyterlab

conda install ipykernel

python -m ipykernel install --user --name evalscope --display-name "Python evalscope"

 对应库安装

#安装Native backend(默认)

pip install evalscope             

#安装OpenCompass backend     

pip install 'evalscope[opencompass]'   

 #安装VLMEvalKit backend

pip install 'evalscope[vlmeval]'             

 #安装RAGEval backend

pip install 'evalscope[rag]'                     

#安装模型压力测试模块依赖 

pip install '[perf]'                                     

#安装可视化相关依赖

pip install '[app]'

#也可以直接输入all,安装所有模块

#pip install 'evalscope[all]'    #安装所有backends(Native,VLMEvalKit,RAGEval)

相关词汇

吞吐量(Throughput):单位时间能处理的请求数量。req/s(请求/秒)

延迟 / 时延(Latency):问完问题等待出字的时间。ms(毫秒)、s(秒)

生成速度 / 令牌速度(Token/s):每秒生成几个字。token/s(令牌/秒)

首包时间(Time To First Token, TTFT):发送完返回的时间。ms(毫秒)、s(秒)

显存占用(Memory Usage):模型跑起来占多少显存。MB、GB

精度 / 量化等级(Precision / Quantization):位数越低越省显存。bit(比特)

上下文长度(Context Length / Window Size):模型可以记住多少字。tokens(令牌)

推理速度(Inference Speed):整体生成回答有多快。ms/tokens(秒/句)

训练速度(Training Speed):微调一轮要多长时间。tokens/sec(每秒处理的token数)

借助EvalScope进行压力测试

evalscope perf \

       --url "http://127.0.0.1:8000/v1/chat/completions" \

       --parallel 5 \

       --model ./Qwen3-32B-unsloth-bnb-4bit \

       --number 20 \

       --api opena \

       --dataset openqa \

       --stream

数据集地址:https://modelscope.cn/datasets/modelscope/EvalScope-Qwen3-Test/summary

当前文件夹会生成一个测评报告

evalscope app 数据集评测结果可视化

wandb安装

4.1 wandb基本说明

监视大模型在训练中的指标变化

功能:1,实时可视化,可以实时监视大模型关键指标的变化,如:损失函数训练等。通过数据可视化可以直观地观测模型训练进展,或发现训练中的异常或瓶颈

           2,自动记录与日志管理:wandb会自动记录每次实验参数、代码、输出结果,确保实验结果的可追溯性。

           3,支持中断与恢复

           4,多实验对比:尝试不同的模型配置或超参数时,wandb允许多个实验进行对比分析。帮我们选择最优的模型配置。

           5,团队协作:Wandb支持团队协作,多个成员共同查看实验结果

注册与使用:

官网地址:https://wandb.ai/site

保留APIkey

pip install wandb          #安装

数据集的准备

OpenMathReasoning数据集(AIMO-2)

数学推理数据集

数据集地址:https://huggingface.co/datasets/unsloth/OpenMathReasoning-mini

FineTome-100k数据集(Maxime Labonne)文本问答

数据集地址:https://huggingface.co/datasets/mlabonne/FineTome-100k

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐