Prhub

#3087 feat: expand GLM 53 TITO model support

原始 PR 作者 guapisolo 合并时间 2026-09-12 05:26 文件变更 10 提交数 5 评论 2 代码增减 +128 / -10

执行摘要

新增 GLM-5.3 文本 TITO 支持,并加固 session verifier 默认参数

已验证的 GLM-5.3 HF 原生 chat template 即使传入 enable_thinking=False 也会以 thinking 开头生成内容,PR body 明确说明:“The verified GLM-5.3 template starts generation with thinking even when enable_thinking=False, so it needs a model-specific rendering contract.” 因此需要为 GLM-5.3 建立独立的 TITO 渲染契约,否则增量 token 与全量重 token 化会失配。GLM-5.1 被有意排除:其原生模板与 glm47 模板契约不兼容,需要单独修复和验证。

实现拆解

  1. TITO 家族登记:在 miles/utils/chat_template_utils/tito_tokenizer.py 中新增 GLM53TITOTokenizer,继承 GLM47TITOTokenizer,复用其 merge_tokens 的歧义边界裁剪(<|user|> / <|observation|>)与 trailing_token_ids;FIXED_TEMPLATE 设 template=None(依赖 checkpoint 原生模板,不引入捆绑 jinja)并固定 `extra_kwargs={
文件 模块 状态 重要度
scripts/tools/verify_session_tito_tokenizer.py scripts/tools modified 7.62
tests/fast/utils/test_utils/test_session_verify_runner.py session/verify/runner modified 6.75
miles/utils/chat_template_utils/tito_tokenizer.py miles/utils modified 6.71
tests/fast/utils/test_arguments.py arguments modified 5.92
miles/utils/test_utils/session_verify_runner.py miles/utils modified 5.11

关键符号

_print_action_table _with_session_verify_defaults test_session_verify_defaults_select_fsdp_during_backend_preparse test_namespace_to_train_args_preserves_resolved_rollout_gpu_count test_namespace_to_train_args_emits_cuda_graph_max_batch_size test_action_table_uses_requested_cycle_count GLM53TITOTokenizer test_glm53_uses_native_template test_glm53_rejects_disabling_thinking

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论