大模型微调前置
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
更多推荐





所有评论(0)