LLaMA Factory操作界面微调时报disable multiprocessing.

LLaMA Factory操作界面微调时报disable multiprocessing.

LLaMA Factory操作界面微调时报disable multiprocessing

陈述问题

由于显卡性能不强,微调模型时会报以下下错误,GPU内存或系统内存不足,尤其在处理大规模数据或大模型时,子进程因内存溢出崩溃。

 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\project\LLaMA-Factory\src\llamafactory\data\converter.py", line 420, in align_dataset return dataset.map( ^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\datasets\arrow_dataset.py", line 557, in wrapper out: Union["Dataset", "DatasetDict"] = func(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\datasets\arrow_dataset.py", line 3166, in map for rank, done, content in iflatmap_unordered( File "C:\Python312\Lib\site-packages\datasets\utils\py_utils.py", line 713, in iflatmap_unordered raise RuntimeError( RuntimeError: One of the subprocesses has abruptly died during map operation.To debug the error, disable multiprocessing. 

解决思路

我们可以调整LlamaFactory 训练命令中 --preprocessing_num_workers

–preprocessing_num_workers 是 LlamaFactoryLlamaFactory(以及基于 Hugging Face 生态的大模型训练框架)中用于数据预处理阶段的核心参数,具体作用如下: 核心定义
这个参数指定了数据预处理时使用的进程 / 线程数量(这里设置为 16),用于并行处理训练数据(比如加载数据集、分词、格式化、生成
attention mask 等操作)。 具体工作机制 默认情况下,preprocessing_num_workers 为
0,意味着所有数据预处理工作都在主线程中串行执行; 设置为 16 时,框架会启动 16 个独立的 worker 进程 /
线程,同时对不同批次的数据集进行预处理,充分利用 CPU 多核资源。 实际效果 ✅ 加速数据预处理:对于大尺寸数据集(比如几万 /
几十万条样本),多 worker 并行处理能显著减少数据加载和预处理的耗时,避免训练过程中出现 “GPU 等数据” 的空闲情况; ⚠️
资源占用注意:worker 数量并非越多越好: 如果设置的数值超过你的 CPU 核心数(比如你的 CPU 只有 8 核却设为
16),会导致进程切换开销增大,反而变慢; 过多的 worker 还会占用更多内存,可能引发 OOM(内存溢出)。 适用场景
这个参数仅作用于训练前的数据预处理阶段(比如分词、数据格式化),训练过程中的计算(如前向 / 反向传播)仍由 GPU
负责,不会影响训练阶段的并行逻辑。 实用建议 推荐设置值:通常设为你的 CPU 物理核心数(比如 8 核 CPU 设为 8,16 核设为
16),或核心数的 1-2 倍; 调试阶段:如果出现数据加载报错(如 BrokenPipeError),可以先将该值设为
0(单线程)排查问题; 内存敏感场景:如果数据集样本长、内存紧张,适当降低该值(比如 8 或 4)。 总结
–preprocessing_num_workers 16 表示启用 16 个并行进程处理训练数据的预处理(分词、格式化等); 核心作用是利用多核 CPU 加速数据加载,避免 GPU 训练时等待数据; 取值需匹配 CPU
核心数,并非越大越好,否则会增加开销或导致内存不足。

解决办法

点击‘预览命令’查看命令,可以看到命令中 --preprocessing_num_workers 16 `

在这里插入图片描述

先把之前运行网页的llamafactory-cli webui的进程停了⚠️⚠️⚠️
再把命令复制到cmd执行,执行前把–preprocessing_num_workers 改小

在这里插入图片描述


看到以下界面说明已经在跑了

在这里插入图片描述


跑完之后再运行网页的llamafactory-cli webui的进程
再进到网页查看刚才的训练参数可以选择导出了

在这里插入图片描述

Read more

微信小程序webview postmessage通信指南

微信小程序webview postmessage通信指南

需求概述 在微信小程序中使用 web-view 组件与内嵌网页进行双向通信,主要通过 postMessage 实现。以下是完整的配置和使用方法: 通信指南 微信小程序webview官方文档 1. 基础配置 小程序端配置 // app.json 或 page.json { "usingComponents": {}, "permission": { "scope.webView": { "desc": "用于网页和小程序通信" } } } 网页端配置 <!-- 内嵌网页需引入微信JS-SDK --> <script src="https://res.wx.qq.com/open/

前端老铁别硬扛:手写防抖节流太累,2026年主流库实战避坑指南

前端老铁别硬扛:手写防抖节流太累,2026年主流库实战避坑指南

前端老铁别硬扛:手写防抖节流太累,2026年主流库实战避坑指南 * 前端老铁别硬扛:手写防抖节流太累,2026年主流库实战避坑指南 * 开头先唠两句 * 这俩兄弟到底是个啥鬼 * 现在的库都卷成啥样了 * Lodash:老大哥还是稳 * Underscore:廉颇老矣 * RxJS:函数式编程的"重炮" * 轻量级选手:just-debounce-it 和 throttle-debounce * WASM 狠人:rust-debounce 和 friends * 选错了真的会谢 * 坑一:定时器清理不干净,内存泄漏到怀疑人生 * 坑二:异步地狱,Promise 状态乱套 * 坑三:this 指向迷之丢失 * 坑四:时间参数的动态调整 * 真实项目里怎么骚操作 * 搜索框的终极方案:防抖 + 请求取消 + 竞态处理 * 无限滚动加载:节流的参数调优艺术 * 拖拽排序:防抖节流的组合拳 * 窗口

使用 OpenVINO 本地部署 DeepSeek-R1 量化大模型(第二章:前端交互与后端服务)

使用 OpenVINO 本地部署 DeepSeek-R1 量化大模型(第二章:前端交互与后端服务)

一、前言         基于上一章的环境准备和模型转换,本章专注于后端服务器的部署以及前端页面的启动。 使用 OpenVINO 本地部署 DeepSeek-R1 量化大模型(第一章:基础概念与模型转换)-ZEEKLOG博客https://blog.ZEEKLOG.net/plmm__/article/details/156192071?spm=1001.2014.3001.5502         整个后端服务器是依赖于 OpenVINO 的,不过只要你的设备可以使用 OpenVINO,理论上就可以使用这个后端,如果你有 intel 的独立显卡,只需要把代码中 device 更改为对应的设备即可运行在 GPU 上。 self.pipeline = ov_genai.LLMPipeline(self.model_path, device) 二、前端交互界面          网页预览: