llamfactory 微调中用到的cpu的两处参数preprocessing_num_workers dataloader_num_workers

我给你用最直白、最清晰、不绕弯 的方式讲清楚,这几个参数到底干什么的、区别在哪、为什么你必须都开

一句话总结

  • preprocessing_num_workers预处理阶段用(tokenize、打包数据)
  • dataloader_xxx训练阶段用(给显卡喂数据)

你之前 CPU 只有 8%,就是因为 只开了预处理,没开训练时的数据加载多线程


1. preprocessing_num_workers: 16

作用:数据预处理多线程

只在训练开始前跑一次!

跑完就结束,不会再用。

它做什么?

  • 给文本做 token 切分
  • 把数据打包成固定长度(cutoff_len:1024)
  • 生成缓存文件

特点

  • 训练开始前跑完
  • 跑完就退出
  • 训练过程中不再参与

所以

你看到 CPU 8%,就是因为预处理早就跑完了,这个参数已经不工作了


2. dataloader_num_workers: 16

作用:训练时喂数据的多线程

训练全程一直跑!

负责从磁盘读取数据 → 送给显卡。

它做什么?

  • 从硬盘/SSD 读取数据
  • 送给模型训练
  • 全程持续工作,决定显卡饿不饿

特点

  • 训练每一步都在用
  • 决定数据能不能喂满显卡
  • 决定 CPU 占用率高不高

这就是你之前 CPU 只有 8% 的原因!

你没开这个,系统默认 单线程喂数据,CPU 根本不用干活。


3. dataloader_pin_memory: true

作用:锁页内存 → 加速数据传到显卡

让数据从内存 → 显卡的速度更快,不卡顿。

直白说

开了:数据传输更快

不开:慢,容易造成显卡等待


4. dataloader_prefetch_factor: 4

作用:提前预加载 4 批数据

让显卡永远有数据可以练,不饿肚子。

直白说

显卡要数据时,数据已经提前准备好了


最清晰对比表(一看就懂)

参数 阶段 作用 运行时间 CPU 占用影响
preprocessing_num_workers 预处理 分词、格式化数据 训练前一次 ❌ 几乎无
dataloader_num_workers 训练 给显卡喂数据 训练全程 ✅ 极大(你缺的就是它)
dataloader_pin_memory 训练 加速数据传输 训练全程 中等
dataloader_prefetch_factor 训练 提前加载数据 训练全程

最终结论(最重要)

  1. preprocessing_num_workers:只管训练前
  2. dataloader_num_workers:管训练时,决定CPU占用、显卡速度
  3. 你之前 CPU 8% 就是因为没开 dataloader_num_workers
  4. 现在我帮你加上了,CPU 会立刻跑到 60%~100%显卡跑满速度翻倍

需要我再给你讲讲怎么看 DCU 利用率、判断训练是否达到最快速度吗?

相关推荐
weixin_4684668514 小时前
Ava 2.0 智能应用场景落地指南
人工智能·自然语言处理·大模型·智能交互·ava
张彦峰ZYF18 小时前
检索增强生成(RAG)系统的基础:全面深入矢量数据库
数据库·大模型·rag
Jing_jing_X20 小时前
AI 产品模型评测工具怎么选?用 Promptfoo / DeepEval / Ragas 找到最低可用模型
大模型·agent·ai应用开发
万俟淋曦20 小时前
【论文速递】2026年第02周(Jan-04-10)(Robotics/Embodied AI/LLM)
人工智能·深度学习·机器人·大模型·论文·robotics·具身智能
格桑阿sir21 小时前
10-大模型智能体开发工程师:RAG检索增强生成
ai·大模型·llm·embedding·agent·检索增强·rag
追光者♂1 天前
【测评系列5】CSDN AI数字营销实测体验官——Claude 大模型深度评测:从参数解析到实战边界
人工智能·ai·大模型·大语言模型·claude·模型幻觉·架构参数
万俟淋曦1 天前
【论文速递】2026年第01周(Dec-28-Jan-03)(Robotics/Embodied AI/LLM)
人工智能·ai·机器人·大模型·论文·robotics·具身智能
shandianchengzi1 天前
【记录】Claude Code|Ubuntu26给Claude Code新增任务消息提示音
运维·服务器·ubuntu·ai·大模型·音频·claude
aqi001 天前
15天学会AI应用开发(三)把历史对话作为提示词会怎样
人工智能·python·大模型·ai编程·ai应用
谷哥的小弟1 天前
大模型核心基础知识(14)—神经网络的结构
人工智能·深度学习·神经网络·大模型·大语言模型