MindSpeed-LLM 数据预处理完整指南:预训练与SFT数据一键转换实操
MindSpeed-LLM 数据预处理完整指南预训练与SFT数据一键转换实操【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLMMindSpeed-LLM昇腾LLM分布式训练框架通过一条preprocess_data.py命令即可将原始文本数据一键转换为预训练和 SFT监督微调可用的二进制索引格式覆盖 Alpaca、ShareGPT、多轮对话、DPO 配对等多种数据风格。本文面向新手手把手演示从数据准备到转换输出的完整流程帮你快速跑通昇腾环境下的模型数据管道。 为什么需要数据预处理大模型训练不直接吃原始文本而是先经过原始数据json/parquet 等→ 分词Tokenizer→ 模板拼接Prompt Template→ 二进制索引.bin .idx这一步决定了训练时的读取效率和训练效果。MindSpeed-LLM 将这一整套流程封装在入口脚本 preprocess_data.py 中底层由 data_handler.py 提供二十余种数据处理器Handler你只需选择对应的处理器名称即可。 准备工作环境与数据1️⃣ 加载昇腾环境变量按实际安装的 Toolkit 路径修改source /usr/local/Ascend/ascend-toolkit/set_env.sh2️⃣ 准备两样东西原始数据集支持.parquet / .csv / .json / .jsonl / .txt / .arrow格式可以是一个文件也可以是一个目录目录则批量处理全部文件模型词表目录如./model_from_hf/qwen3_hf/用于分词官方文档提供了常见数据集的下载方式可参考 预训练数据集处理文档 与 Alpaca风格文档。 场景一预训练数据一键转换预训练数据最简单——只需要一个text文本列。以 Qwen3 为例项目内置脚本为 data_convert_qwen3_pretrain.shpython ./preprocess_data.py \ --input ./dataset/train-00000-of-00042-d964455e17e96d5a.parquet \ --tokenizer-name-or-path ./model_from_hf/qwen3_hf/ \ --tokenizer-type PretrainedFromHF \ --handler-name GeneralPretrainHandler \ --output-prefix ./dataset/enwiki \ --json-keys text \ --workers 4 \ --log-interval 1000关键参数解读参数作用新手提示--handler-name数据处理器预训练固定用GeneralPretrainHandler--json-keys提取的列名默认text多列可写多个--tokenizer-type分词器类型PretrainedFromHF表示用 HF 模型目录--output-prefix输出文件前缀会生成xxx_document.bin/.idx文件--workers并行进程数数据量大时可调大加速其他模型的预训练转换脚本都遵循examples/mcore/模型名/data_convert_xxx_pretrain.sh的命名规范可参考 DeepSeek4 数据转换脚本。️ 场景二SFT 指令微调数据转换SFT 数据比预训练多一步按模型对话模板拼接 prompt。以 Alpaca 风格单轮指令数据为例python ./preprocess_data.py \ --input ./dataset/train-00000-of-00001-a09b74b3ef9c3b56.parquet \ --tokenizer-name-or-path ./model_from_hf/qwen25_hf/ \ --output-prefix ./finetune_dataset/alpaca \ --handler-name AlpacaStyleInstructionHandler \ --tokenizer-type PretrainedFromHF \ --workers 4 \ --prompt-type qwen \ --pack --neat-pack \ --seq-length 4096新手必懂的 3 个 SFT 要点①--prompt-type决定对话模板模板定义了模型长什么样内置选项包括qwen、qwen3、llama3、chatml、glm4、deepseek3等 30 余种完整清单见 templates.json。请务必选择与目标模型一致的模板。②--map-keys解决字段对不上的问题Alpaca 风格默认列名为instruction / input / output。如果你的数据集列名不同比如question / answer用字段映射解决例如 DPO 场景下的 data_convert_llama2_pairwise.sh--map-keys {prompt:question, query:, system:system}③--pack --neat-pack提升训练效率把多条短样本打包进一条 4096 长度的序列显著减少通信开销适合样本普遍偏短的场景参考 Qwen2.5 打包脚本。 进阶常见数据风格速查数据风格handler-name典型场景单轮指令AlpacaAlpacaStyleInstructionHandler最常见的 SFT 格式多轮对话ShareGPTSharegptStyleInstructionHandler多轮对话数据预训练纯文本GeneralPretrainHandler大规模语料DPO 偏好对AlpacaStylePairwiseHandler偏好对齐训练思考链CoTR1AlpacaStyleInstructionHandler推理模型训练更多处理器的实现都集中在 data_handler.pyShareGPT 风格数据格式详见 官方文档。多轮对话训练小技巧Qwen3 等推理模型建议加--enable-thinking true见 data_convert_qwen3_instruction.sh开启思考模式的数据构建。✅ 转换结果与常见坑转换成功后--output-prefix目录下会生成.bintoken 数据和.idx偏移索引成对文件训练脚本中通过--data-path直接引用即可。新手常见 3 个坑--output-prefix所在目录必须已存在否则会报错先mkdir -p创建模板选错会导致训练 loss 异常--prompt-type必须匹配模型不确定时对照 supported_models.md超长样本会被截断超过--seq-length的样本默认丢弃日志中会出现Dropped lengthy example警告属正常现象 小结MindSpeed-LLM 的数据预处理核心就一句话选对 Handler 配好模板 指定词表路径一条命令完成转换。预训练 →GeneralPretrainHandler最简单SFT →AlpacaStyleInstructionHandler/SharegptStyleInstructionHandler--prompt-type大吞吐 → 加--pack --neat-pack打包准备好数据后即可进入 预训练入门 开启正式训练。祝训练顺利【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

EasyXMen支持哪3款车规芯片?NXP S32K148、英飞凌TC397、瑞萨RH850平台对比与上手指南

EasyXMen支持哪3款车规芯片?NXP S32K148、英飞凌TC397、瑞萨RH850平台对比与上手指南

EasyXMen支持哪3款车规芯片?NXP S32K148、英飞凌TC397、瑞萨RH850平台对比与上手指南 【免费下载链接】开源小满EasyXMen代码仓库 持续18年精心打造的安全车控操作系统BSW代码。 项目地址: https://gitcode.com/easyxmen/XMen 开源小满 EasyXMen 是一款持续打…

2026/9/25 3:18:43 阅读更多 →
Kata Containers 文档贡献实战指南:mkdocs-materialx 文档站点架构与写作规范详解

Kata Containers 文档贡献实战指南:mkdocs-materialx 文档站点架构与写作规范详解

云原生容器运行时 【免费下载链接】kata-containers Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolat…

2026/9/25 3:18:43 阅读更多 →
SHX字体缺失导致DWG乱码?从原理到批量修复的完整指南

SHX字体缺失导致DWG乱码?从原理到批量修复的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 3:18:43 阅读更多 →

最新新闻

用Python蒙特卡洛模拟拆解彩票概率:投1万注中2.2亿有多难

用Python蒙特卡洛模拟拆解彩票概率:投1万注中2.2亿有多难

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:00:07 阅读更多 →
高校软著申请全流程避坑指南:从校内审批到签章页盖章实操

高校软著申请全流程避坑指南:从校内审批到签章页盖章实操

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 4:00:07 阅读更多 →
AI智能体自主执行失控风险与对齐实操指南

AI智能体自主执行失控风险与对齐实操指南

1. 从“一键代劳”说起:AI助手到底在替我们做什么“一键代劳一切”这个说法听起来很夸张,但如果你最近一年真正用过AI助手或者AI智能体,就会发现它其实已经悄悄渗透到很多具体场景里了。比如你对着一个AI编程助手说“帮我把这个模块的单元测试…

2026/9/25 4:00:07 阅读更多 →
Icecream Ebook Reader:Windows免费电子书阅读器指南

Icecream Ebook Reader:Windows免费电子书阅读器指南

早就想把手底下一堆PDF和EPUB好好归置归置了。试过的阅读器不少,要么弹窗广告满天飞,要么鼓捣半天连本书都打不开,真正能让我安静读完一本的没几个。Icecream Ebook Reader算是例外。这是一款Windows平台上的免费电子书阅读器,主打…

2026/9/25 4:00:07 阅读更多 →
iptables 配置 3台设备 进行路由转发(不同网段)

iptables 配置 3台设备 进行路由转发(不同网段)

iptables -t nat -A POSTROUTING -s 172.28.225.0/24 -o wlan0 -j MASQUERADE让 172.28.225.0/24 这个网段的设备,通过本机 wlan0 网卡上网(共享 wlan0 的网络)。适合 wlan0 是 DHCP 获取 IP(IP 会变)的场景&#xff1…

2026/9/25 4:00:07 阅读更多 →
Python装饰器完全指南:从闭包原理到工程实践

Python装饰器完全指南:从闭包原理到工程实践

1. 装饰器到底在解决什么问题先讲个真实的场景。前几年我维护过一整套内部运营后台,光类似的接口就有三四十个,早期代码写得比较随意,登录校验是这么干的:def get_user_info(user_id):# 假设这里有权限判断,每次都要复…

2026/9/25 3:59:06 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →