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

图数据库Neo4j和JDK安装与配置教程(超详细)

图数据库Neo4j和JDK安装与配置教程(超详细)

目录 前言 一、Java环境配置 (一)JDK的下载与安装 (二)JDK环境配置 (三)检测JDK17是否配置成功 二、Neo4j的安装与配置 (一)Neo4j的下载与安装 (二)Neo4j环境变量配置 (三)检查Neo4j是否配置完成 Neo4j的使用 一、在前台运行 二、在后台运行 前言 Neo4j作为目前比较流行的图数据库,在知识图谱等领域有较多应用。本文将详细介绍Windows系统下Neo4j图数据库的安装与配置。 Neo4j 是基于Java的图数据库,其运行时需要 Java 运行时环境(JRE)来启动 JVM 进程,而 JDK 包含了 JRE 以及开发工具,因此安装 JDK 是必要的。 一、Java环境配置 (一)JDK的下载与安装 首先,访问Oracle官方JDK下载页面,

Java 大视界 -- Java 大数据在智能家居能源消耗趋势预测与节能策略优化中的应用(433)

Java 大视界 -- Java 大数据在智能家居能源消耗趋势预测与节能策略优化中的应用(433)

Java 大视界 -- Java 大数据在智能家居能源消耗趋势预测与节能策略优化中的应用(433) * 引言: * 正文: * 一、智能家居能源管理的核心痛点与 Java 大数据的价值 * 1.1 行业核心痛点(基于《2024 中国智能家居行业白皮书》) * 1.2 Java 大数据的核心价值(实战验证适配性) * 二、技术架构设计实战(纵向架构图) * 2.1 核心技术栈选型(生产压测验证版) * 2.2 关键技术亮点(博主实战总结) * 三、核心场景实战(附完整可运行代码) * 3.1 场景一:能耗趋势预测(线性回归 + LSTM 融合模型) * 3.1.1 业务需求 * 3.1.

银发浪潮下的智能护理革命:全球老龄化社会护理机器人发展研究

银发浪潮下的智能护理革命:全球老龄化社会护理机器人发展研究

一、全球老龄化态势与护理需求激增 1.1 人口结构剧变下的养老挑战 当前,全球人口结构正经历着深刻变革,老龄化浪潮汹涌来袭。世界卫生组织数据清晰地勾勒出未来的图景:到 2050 年,全球 60 岁以上人口预计将飙升至 21 亿,老龄化率一举突破 25%。这一趋势在部分国家尤为显著,日本、韩国、德国等已深陷超深度老龄化的泥沼,养老问题成为社会发展的沉重负担。 以日本为例,这个高度发达的经济体,如今正面临着老龄化的严峻考验。其 65 岁以上人口占比接近 30%,每三个国民中就有一位老人。在街头巷尾,随处可见步履蹒跚的老人,他们的生活需求成为社会关注的焦点。韩国的老龄化速度同样惊人,从老龄化社会迈向超级老龄化社会仅仅用了短短 16 年,预计到 2050 年,65 岁以上人口占比将突破 40%,社会养老压力与日俱增。 而在我国,养老形势也不容乐观。截至 2024

一:ROS2+gazebo+PX4环境搭建:环境搭建到无人机起飞

前言 写博客记录学习的过程。 由于博客是安装完环境后写的,因此实际可能会有一些出入,但是实际上也大差不差的。 环境搭建 前置环境 * ROS2 humble * Gazebo Classic (11) 1.下载 PX4 源码 在你的 Home 目录下,用 Git 克隆 PX4 的代码仓库,并更新所有子模块。 git clone https://github.com/PX4/PX4-Autopilot.git --recursive 注意:由于这个源码中包含许多子模块,因此不建议到github主页下载zip再解压,这样做会缺失许多子模块。使用大陆的网络克隆起来会十分慢,因此强烈建议大家使用网络加速! 2.运行自动安装脚本 PX4 提供了自动化脚本,可以帮你安装编译仿真环境所需的所有依赖。 cd PX4-Autopilot bash ./Tools/setup/