ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

手把手将 JSONL 转换为 POLARIS 训练格式:jsonl2parquet 实战教程

手把手将 JSONL 转换为 POLARIS 训练格式:jsonl2parquet 实战教程 手把手将 JSONL 转换为 POLARIS 训练格式jsonl2parquet 实战教程【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARIS想用 POLARIS 强化学习框架训练推理模型却卡在数据格式上这篇 jsonl2parquet 实战教程手把手教你把常见的 JSONL 数学数据一键转换成 POLARIS 训练所需的 Parquet 格式。POLARIS 是一个基于强化学习RL扩展推理模型能力的开源后训练方案而它官方提供的数据转换脚本就藏在 scripts/data/jsonl2parquet.py 中无需写任何自定义代码一条命令即可完成转换。为什么要把 JSONL 转成 ParquetPOLARIS 的训练管线基于 VeRL数据加载环节默认使用Parquet格式列式存储、读取快、支持大规模数据集。而大多数开源数据集比如 DeepScaleR、AReaL 的原始数据都以 JSONL 形式发布——每行一个 JSON 对象。JSONL 转 Parquet 的核心价值在于读取性能Parquet 列式存储让训练时的数据加载速度远超逐行解析体积更小Parquet 自带压缩53K 条训练数据也能轻松管理格式统一转换脚本会自动补全 POLARIS 训练所需的所有字段避免手写踩坑上图展示的是 POLARIS-4B-Preview 在 AIME 2025 上的成绩79.4 分能取得这样的效果高质量且格式正确的训练数据功不可没。JSONL 输入数据长什么样先看输入。POLARIS 的转换脚本要求 JSONL 的每一行包含两个关键字段{problem: Find the largest possible real part of ..., answer: 540}problem数学题目文本通常要求模型最终输出\boxed{}格式的答案answer标准答案ground truth只需满足这两个字段其余字段转换脚本都会自动处理非常省心。POLARIS 训练格式长什么样转换完成后每条数据会被构造成如下结构脚本源码见 make_map_fn 函数{ data_source: , prompt: [{role: user, content: 题目内容}], ability: math, reward_model: {style: rule, ground_truth: 标准答案}, extra_info: {split: train, index: 0} }这套结构正是 POLARIS 强化学习训练器期望的标准输入prompt交给模型生成推理过程reward_model则告诉奖励函数如何用规则判断答案对错对应 deepscaler/rewards/math_reward.py 中的数学奖励逻辑。最快的一键转换步骤环境就绪后安装依赖请参考 README.md 中的 Running environment 一节转换只需一条命令python scripts/data/jsonl2parquet.py --jsonl_data data/jsonl_data/polaris-data-53K.jsonl⚠️ 注意脚本实际定义的参数名是--jsonl_data见 jsonl2parquet.py 参数解析README 示例中写的是--jsonl_file直接照抄会报参数错误请以--jsonl_data为准。脚本运行后会打印输出目录和训练数据条数例如parquet/stage1/ train data size: 53000自动分阶段保存stage1 / stage2 / stage3这是 jsonl2parquet 转换脚本最贴心的地方它会根据文件名自动判断训练阶段并保存到对应目录文件名包含关键字输出目录stage1parquet/stage1/stage2parquet/stage2/stage3parquet/stage3/POLARIS 采用三阶段课程式训练先训练基础推理能力再过滤简单数据、搜索最优温度最后冲刺拔高。你只需在文件名中带上阶段标识转换结果就会自动归位例如polaris-data-53K.jsonl会生成parquet/stage1/polaris-data-53K.parquet。仓库中已提供了处理好的官方数据例如 parquet/stage1/polaris-data-53K.parquet你可以先查看它的字段结构再对照转换自己的数据。转换后的数据如何用于训练转换生成的 Parquet 文件可以直接作为训练脚本的数据输入以 Qwen3-4B 的 stage1 为例完整脚本见 scripts/train/qwen3-4b/stage1.sh./scripts/train/qwen3-4b/stage1.sh \ --model /path/to/qwen3-4b \ --data_path parquet/stage1/qwen3-4b-s1.parquet \ --experiment_name qwen3-4b-stage1训练脚本内部通过data.train_files${DATA}加载你转换好的 Parquet 数据配合验证集如 evaluation/benchmarks/aime24.parquet即可启动完整的 GRPO 强化学习训练。常见问题速查问JSONL 里除了problem和answer还有其他字段会报错吗不会脚本只用pop取出这两个字段其余字段会被忽略。问答案必须用\boxed{}包裹吗不强求。脚本内置的 extract_solution 函数 会自动提取最后一个\boxed{}中的答案纯文本答案也能正常处理。问不想用命令行参数只想本地调试可以直接把 JSONL 路径传给脚本入口或参考脚本中的read_jsonl逻辑自行读取非常灵活。总结通过 POLARIS 官方提供的 jsonl2parquet 转换脚本JSONL 转 Parquet 的流程被压缩到一条命令准备好含problem和answer的 JSONL 文件 → 用--jsonl_data指定路径 → 按文件名自动归类到 stage 目录 → 得到可直接训练的标准 POLARIS 训练格式数据。对于想复现 POLARIS 结果、或想用自己的数学数据训练推理模型的新手来说这是成本最低、最不容易出错的一步。数据就绪之后就可以放心开启你的强化学习训练之旅了【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARIS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表