Skip to content

Rollout 结果可视化

一个轻量级的网页工具,用于浏览 Relax 训练和评测过程中按 step 产出的 JSONL 文件。

Relax Rollout Result Viewer

数据来源

只要设置了 --save,Relax 会自动写出每个 rollout 的紧凑汇总:

子目录数据来源写入函数
<save>/rollout_result/train/{rollout_id}.jsonl训练 rolloutsave_rollout_result_jsonl
<save>/rollout_result/eval/{rollout_id}.jsonl评测 rolloutsave_eval_summary_jsonl

每一行代表一个 sample,包含 promptresponserewardresponse_lengthtotal_lengthstatusgroup_index,评测数据还会带上 dataset。多模态输入只会写出摘要而不会保存原始张量。

启动

bash
python -m relax.entrypoints.visualize <save>/rollout_result --port 8080
# 然后在浏览器打开 http://localhost:8080

数据目录是必填的位置参数。python -m relax.utils.visualize ... 也可以用,参数完全一样 —— 入口脚本只是个薄壳,放在 entrypoints/ 下是为了和 train.py 等其他入口保持一致。

服务启动时会自动探测数据目录下的 train/eval/ 子目录:

  • 两个都存在 → 页面顶部显示 [ train | eval ] 切换按钮。
  • 都不存在 → 把数据目录本身当作扁平目录处理,你也可以直接把它指向一个装着 {step}.jsonl 的文件夹。

常用参数

参数默认值说明
DATA_DIR(位置参数)必填要可视化的目录。
--port8080HTTP 端口。
--host0.0.0.0绑定地址。
--cache-memory4096(MB)进程内 LRU 缓存的总内存上限。如果单个 train/*.jsonl 较大,可以调大。
--cache-entries20缓存中最多保留的文件数。
--base-path""反向代理下的 URL 前缀,例如 --base-path /absproxy/8080

页面功能

  • Step 下拉框 — 列出当前子目录下的所有 {step}.jsonl,按 step 排序。
  • 样本翻页← Previous / Next → 按钮、左右方向键,以及右下角悬浮的快速跳转。
  • Sample Info 卡片 — 展示标量字段(rollout_idsample_indexrewardresponse_lengthtotal_lengthstatusgroup_indexdataset)。
  • Prompt / Response / Label — 带 chat template、tool-call、<think> 高亮的格式化文本。长文本就地滚动,默认滚到末尾,方便查看模型最新生成的内容。
  • 排序 — 在 step 内按 sample_indexrewardresponse_length 升/降序重排。
  • 缓存管理GET /api/cache/statsPOST /api/cache/clear

终端 UI(--tui

在不方便开浏览器的 SSH 会话里,同一个命令可以渲染成基于 textual 的终端界面:

bash
python -m relax.entrypoints.visualize <save>/rollout_result --tui

依赖额外的 textualrich 包(pip install textual rich),没有写进 requirements.txt,只用 Web 的同学不会被影响。

参数默认说明
--tui切换到终端 UI。
--mask-str匹配 <|image_pad|><|imgpad|><|audio_comp_pad|> 的正则将多模态 pad token 替换成 *,让 prompt 更易读。传 --mask-str "" 可关闭。

TUI 一次只看一个扁平目录里的 {step}.jsonl。当数据目录同时存在 train/eval/ 时,TUI 默认进入 train/;想看 eval 直接把数据目录指到 <save>/rollout_result/eval 即可。

快捷键

按键作用
n / p下一个 / 上一个 sample
N / P下一个 / 上一个 step
f 输入关键词, enter查找;再按 enter 跳到下一个匹配
esc清除搜索
s在纯文本 / 表格渲染之间切换
r刷新当前视图
j / k下 / 上翻页
h / l左 / 右翻页
g / G跳到顶 / 底
tab / / 切换焦点

左侧栏有 step / sample / dataset(仅当 eval 数据加载时显示)/ 排序模式(reward asc/descresponse_length asc/desc)的下拉框,下方还有按字段展示/隐藏的勾选列表。

使用注意

  • 仅适合本机或可信内网使用。CORS 完全开放、无鉴权,和其他 dump 检查工具一致。
  • 解析后的 JSONL 文件会缓存在进程内存。dump 很大时可调大 --cache-memory,或重启进程释放内存。
  • 服务信任磁盘上的 JSON 内容;解析失败的行会被跳过并打印 warning。

基于 Apache 2.0 许可发布