Skip to content

feat: validate BFCL through native APIs and guard eval parity / 通过原生 API 验证 BFCL 并保障跨硬件评估一致性 - #3156

Draft
adibarra wants to merge 62 commits into
mainfrom
cleanup/vendor-eval-parity
Draft

adibarra wants to merge 62 commits into
mainfrom
cleanup/vendor-eval-parity

Conversation

@adibarra

@adibarra adibarra commented Sep 15, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Keep BFCL on native serving APIs, preserve evaluator failures and provenance, and remove the MiniMax runtime framework-source patches. Port the branch to main's native SRT-Slurm launchers without changing the selected BFCL requests or scores. Draft: complete GPU qualification across frameworks, offload modes and concurrency remains unfinished. Production TRT BFCL stays disabled.

Changes

  • Preserve separate Chat Completions and Responses identities, pinned BFCL inputs, selected-case manifests, failure artifacts and upstream scoring. Do not rewrite requests or synthesize token usage.
  • Carry MiniMax B200/B300 vLLM image pins, FLASHINFER draft attention and decimal-GB native CPU-cache budgets into native recipes. Carry the stock TRT 1.3.0rc28.dev202609220000 pin, parser and KV-cache schema into B200/B300 and consolidated GB200 recipes; remove the obsolete rc23 patch setup.
  • Give the experimental B200/B300/MI300X/MI355X BFCL configurations explicit native recipes. Bind Kimi MI355X NaN metrics and the opt-in CPU-cache restore probe to the native post-eval callback. Archive diagnostics on failure and preserve the evaluator's exit status.
  • Retain the branch's Kimi MI355X production grid through native recipes, including its no-draft DCP8 points, so existing changelog entries remain valid after legacy-launcher removal. Keep main's newer ROCm100 image pin and all other production retirements.
  • Preserve the fetched main changelog bytes and the original branch entries unchanged; append entries for the native migration.

Validation

  • Merged main 91481da32975f1463278be55ac38a61e5c3018ce.
  • Locked Python environment: 2,079 CPU tests passed, 2 skipped. The optional pinned-BFCL integration dependency was unavailable locally; these checks do not claim a live BFCL or GPU pass.
  • Generated 60 affected single-node matrix points and validated all 120 eval/throughput bindings with native SRT schema loading and recipe selection. All seven consolidated GB200 server configurations preserve the branch's prior server and model settings exactly.
  • Python lint/format, Bash syntax, YAML parsing, diff checks and the actual committed changelog/matrix validator passed. Actionlint passed after excluding its existing incompatibility with $/ reusable-workflow paths.
  • No new GPU tests were dispatched for this sync. GitHub checks on the pushed head are reported separately from local validation. No production TRT BFCL qualification or sweep-reuse claim is made.

Remaining qualification

Representative GPU runs must still establish startup, completed evaluation, sample-level validity and performance for the native recipes. A startup failure has no accuracy score; the vendor tool-call/stop match rate is not BFCL accuracy, and a small smoke does not qualify a full suite. The stock TRT investigations remain separate experiments and do not change this branch's production BFCL guard.

AI model disclosure

GPT-6 (Codex) performed this native migration, conflict resolution and local validation; the runtime did not expose a verifiable exact model variant/version. Earlier implementation and diagnostic work used Codex and delegated agents whose exact underlying model versions were not verified. No new agents were delegated for this sync.

中文

概述

让 BFCL 使用原生推理 API,保留评估失败与来源信息,并移除 MiniMax 的运行时框架源码补丁。将本分支迁移到 main 的原生 SRT-Slurm 启动路径,保持所选 BFCL 请求和评分语义不变。本 PR 仍为草稿:跨框架、offload 模式和并发的完整 GPU 验证尚未完成,正式 TRT BFCL 路径继续禁用。

改动

  • 区分 Chat Completions 与 Responses,保留固定版本的 BFCL 输入、所选用例清单、失败产物和上游评分逻辑。不改写请求,不伪造 token 用量。
  • 将 MiniMax B200/B300 vLLM 镜像版本、FLASHINFER 草稿注意力后端和按十进制 GB 计算的原生 CPU 缓存预算迁入原生配方。将官方 TRT 1.3.0rc28.dev202609220000 镜像、解析器和 KV 缓存配置迁入 B200/B300 及合并后的 GB200 配方,删除过时的 rc23 补丁安装脚本。
  • 为 B200/B300/MI300X/MI355X 的实验性 BFCL 配置指定原生配方。通过原生评估回调承接 Kimi MI355X 的 NaN 指标和按需启用的 CPU 缓存恢复检查;失败时保存诊断产物,并保留评估器原始退出码。
  • 通过原生配方保留本分支的 Kimi MI355X 正式配置,包括不使用草稿模型的 DCP8 配置,确保旧启动器删除后原有性能日志仍能选择有效配置。保留 main 更新后的 ROCm100 镜像,以及其余正式配置的退役处理。
  • 完整保留已获取 main 的性能日志字节和本分支原有条目,仅在末尾追加原生迁移条目。

验证

  • 已合入 main 91481da32975f1463278be55ac38a61e5c3018ce。
  • 使用锁定的 Python 环境,2,079 项 CPU 测试通过,2 项跳过。本地未安装可选的固定版本 BFCL 集成依赖;这些检查不代表真实 BFCL 或 GPU 评估通过。
  • 生成 60 个受影响的单节点矩阵配置,使用原生 SRT schema 加载和配方选择验证全部 120 个评估/吞吐量绑定。合并后的 7 个 GB200 配方完整保留本分支原有的服务参数与模型配置。
  • Python lint/格式、Bash 语法、YAML 解析、差异检查以及针对已提交版本的性能日志/矩阵验证均通过。Actionlint 在排除其对既有 $/ 工作流调用语法的兼容性告警后通过。
  • 本次同步未发起新 GPU 测试。推送后 GitHub 检查与本地验证分开报告;不宣称正式 TRT BFCL 已通过,也不宣称具备扫描产物复用资格。

待完成验证

原生配方仍需通过代表性 GPU 运行确认启动、完整评估、逐样本有效性与性能。启动失败没有准确率分数;厂商工具调用/停止决策匹配率不等于 BFCL 准确率,小规模 smoke 也不能替代完整套件。官方 TRT 镜像调查继续作为独立实验,不改变本分支对正式 TRT BFCL 的禁用保护。

AI 模型说明

GPT-6(Codex)完成了本次原生迁移、冲突解决和本地验证;运行环境未提供可核实的准确模型变体与版本。此前实现和诊断使用过 Codex 及子代理,其准确底层模型版本未核实。本次同步未委派新子代理。

adibarra added a commit that referenced this pull request Sep 15, 2026
中文:将 BFCL 清理的性能变更记录关联到 PR #3156。
Preserve upstream BFCL multi-turn limits and remove the TRT chat-store source patch.
Add stock-package integration and real-catalog workflow regression coverage.
Stock TRT BFCL compatibility remains a draft blocker.

中文:限制 BFCL 请求超时并验证跨硬件评估一致性。保留上游多轮步数限制,
移除 TRT 聊天请求补丁,增加真实 BFCL 包集成及配置目录工作流回归测试。
原生 TRT 的 BFCL 兼容性仍是草稿阻塞项。
中文:将 BFCL 清理的性能变更记录关联到 PR #3156。
@adibarra
adibarra force-pushed the cleanup/vendor-eval-parity branch from 3bbfaa4 to bae1ca9 Compare September 15, 2026 21:48
Register the stock BFCL Responses handler under a distinct smoke suite, retain
source/API provenance, and remove the TRT executor metrics source rewrite.
Add a resident B200 diagnostic using the available upstream image from PR 3131.

中文:通过原生 Responses API 测试 BFCL。以独立 smoke 套件注册上游 handler,
保留源码和 API 来源信息,移除 TRT 执行器指标源码改写,并使用 PR #3131
已存在的上游镜像添加纯 GPU 驻留 B200 诊断配置。
Select the stock minimax_m3 tool parser explicitly; the TRT CLI defaults to None.
Report the distinct Responses verifier identity in BFCL artifacts.

中文:为 TRT 评估显式启用原生 minimax_m3 工具解析器,避免沿用 CLI 的 None 默认值。
BFCL 产物同时记录独立的 Responses 验证器标识。
@adibarra adibarra changed the title fix: bound BFCL requests and guard eval parity / 限制 BFCL 请求超时并验证跨硬件评估一致性 feat: validate BFCL through native APIs and guard eval parity / 通过原生 API 验证 BFCL 并保障跨硬件评估一致性 Sep 15, 2026
中文:合并 main,解决 BFCL 导入与追加式性能日志冲突,沿用统一 CI,并适配评估工作流契约测试。
中文:添加 rc26 原生 Responses 诊断配置,验证上游 token 用量统计修复。
中文:为 B200 MiniMax 草稿模型选择受支持的 FlashInfer attention,避开 FA4 FP8 descale 初始化故障。
中文:合并 main 新增的性能日志条目,保留历史内容并将本分支条目追加到末尾。
中文:升级 TRT 镜像并采用原生缓存复用配置字段,更新 vLLM 诊断镜像以包含上游 MSA 依赖兼容修复。
中文:合并 main,完整保留历史性能日志并将本分支条目放在末尾。
中文:添加纯 GPU 驻留 Kimi vLLM 评估配置,验证完整选定套件且不依赖 LMCache。
中文:为实验性评估选择可用的上游 ROCm 镜像,原固定标签已从注册表移除。
中文:同步 main 新增的性能日志,完整保留历史内容并将本分支条目追加在末尾。
中文:Kimi MI355X 使用上游 ROCm 镜像内构建的 LMCache 0.5.3,移除运行时 Python 依赖和系统包安装,并同步配置中的版本信息。
中文:单节点和多节点基准测试检出改用 GitHub 任务令牌,端到端运行统计仅授予所需的 actions 和 contents 读取权限,避免依赖失效的个人访问令牌。
中文:合入 main 的最新工作流和结果暂存改动,保留性能日志历史字节并将本分支条目追加至末尾。
中文:说明运行统计任务读取工作流状态和检出源码所需的只读权限。
Remove the obsolete MiniMax projection option rejected by TRT rc26. Keep Kimi DCP1 LMCache prefill batches within its native recurrent-state snapshot limit.

中文:修正原生 TRT 和 LMCache 配置。移除 TRT rc26 已不支持的 MiniMax 投影选项,并按原生循环状态快照约束设置 Kimi DCP1 LMCache 的预填充批次。
Give the selected Kimi suite a bounded 600-second request timeout and record transport settings in native reports. Add a separate experimental native CPU-offload smoke configuration.

中文:为选定的 Kimi 套件设置有界的 600 秒请求时限,并在原生报告中记录传输参数。新增独立的实验性原生 CPU offload smoke 配置。
中文:按格式规范整理原生 BFCL 处理器的构造调用。
Upgrade both images to the validated upstream build containing mixed-layout offload and MSA fixes. Remove both patch callers with the shared helper and use native FlashInfer draft attention on B300.

中文:两种 NVIDIA SKU 同步使用已验证且包含混合布局 offload 与 MSA 修复的上游镜像,一并移除两个补丁调用和共享脚本,并为 B300 选择原生 FlashInfer 草稿 attention。
Use the native cache-reset API in isolated CPU-offload smoke jobs. Require cached tokens, external cache hits, and identical output, and preserve a separate diagnostic report.

中文:为 Kimi 增加原生 CPU 缓存恢复验证。仅在独立的 CPU 卸载冒烟测试中启用原生缓存重置 API,同时验证缓存 token、外部缓存命中和输出一致性,并保存独立的诊断报告。
Preserve the resident production recipe and use an available official ROCm nightly in an experimental configuration.

中文:新增 MiniMax MI300X 原生镜像探测配置。在实验目录中使用可用的官方 ROCm nightly,保留纯 GPU 驻留配方的其余参数。
Interpret the matrix budget as aggregate decimal GB before passing bytes to the native connector, which divides the allocation across ranks.

中文:按十进制 GB 解释矩阵生成的 CPU offload 总预算,再转换为字节交给原生连接器按 rank 分配,避免预算被放大。
Use the supported resident path of the existing launcher to validate native tool calling independently of Mooncake infrastructure.

中文:通过现有启动器支持的纯 GPU 驻留路径,独立验证 B300 上的原生工具调用,不依赖 Mooncake 基础设施。
Keep the verified resident smoke point and add c8 for sixteen sequence slots during selected multi-turn BFCL validation.

中文:保留已验证的纯 GPU 驻留冒烟配置,新增 c8,在选定的多轮 BFCL 验证中提供 16 个序列槽位。
中文:说明原生 TRT BFCL 兼容性验证通过后需移除的临时分发限制,保留现有适配器、套件与产物格式。
Merge main through 6aabb83. Preserve the current main changelog byte-for-byte and append the existing branch entries unchanged.

中文:合入最新 main,完整保留当前 main 性能日志的所有字节,并将本分支原有条目原样追加至末尾。保留原生 BFCL 评估改动及 TRT 的可逆禁用逻辑。
Merge current main while preserving the BFCL changes and append-only performance changelog history.

中文:将最新 main 合并到原生评估分支,保留 BFCL 改动和性能变更日志的追加记录。
Pin B200, B300, and GB200 to 1.3.0rc28.dev202609220000. Migrate native cache-reuse fields and remove the obsolete projection-fusion option. Keep TRT BFCL disabled pending GPU qualification; add no runtime source patches.

中文:将 B200、B300 和 GB200 的 MiniMax TRT 镜像固定到官方 nightly 1.3.0rc28.dev202609220000,迁移原生缓存复用配置并移除已弃用的投影融合选项。GPU 验证完成前继续禁用 TRT BFCL,不添加运行时源码补丁。
Merge current main while preserving the native BFCL changes, latest MiniMax TRT nightly, and append-only performance changelog history.

中文:合入最新 main,保留原生 BFCL 改动、MiniMax TRT 最新 nightly 镜像以及性能变更日志的追加历史。
Merge current main while preserving native BFCL behavior, the latest MiniMax TRT nightly, and append-only performance history.

中文:合入最新 main,保留原生 BFCL 行为、MiniMax TRT 最新 nightly 镜像及性能变更日志的追加历史。
Merge current main while preserving native BFCL behavior, the latest MiniMax TRT nightly, and append-only performance history.

中文:合入最新 main,保留原生 BFCL 行为、MiniMax TRT 最新 nightly 镜像及性能变更日志的追加历史。
Merge current main while preserving native BFCL behavior, the latest MiniMax TRT nightly, and append-only performance history.

中文:合入最新 main,保留原生 BFCL 行为、MiniMax TRT 最新 nightly 镜像及性能变更日志的追加历史。
Merge current main while preserving native BFCL behavior, the latest MiniMax TRT nightly, and append-only performance history.

中文:合入最新 main,保留原生 BFCL 行为、MiniMax TRT 最新 nightly 镜像及性能变更日志的追加历史。
Merge current main while preserving native BFCL behavior, the latest MiniMax TRT nightly, and append-only performance history.

中文:合入最新 main,保留原生 BFCL 行为、MiniMax TRT 最新 nightly 镜像及性能变更日志的追加历史。
Merge current main while preserving native BFCL behavior, the latest MiniMax TRT nightly, and append-only performance history.

中文:合入最新 main,保留原生 BFCL 行为、MiniMax TRT 最新 nightly 镜像及性能变更日志的追加历史。
Merge current main while preserving native BFCL behavior, the latest MiniMax TRT nightly, and append-only performance history.

中文:合入最新 main,保留原生 BFCL 行为、MiniMax TRT 最新 nightly 镜像及性能变更日志的追加历史。
中文:将主分支的最新变更合入厂商评估分支,保留 BFCL 行为、TRT 禁用条件及变更日志历史。
中文:将主分支的最新变更合入厂商评估分支,保留 BFCL 行为、TRT 禁用条件及变更日志历史。
中文:将主分支的定长配方迁移变更合入厂商评估分支,保留 BFCL 行为、TRT 禁用条件及变更日志历史。
中文:将主分支的最新镜像更新合入厂商评估分支,完整保留主分支变更日志并在末尾追加未合入的分支条目,保持 BFCL 行为和 TRT 禁用条件不变。
中文:将主分支的最新 AMD 配方和镜像更新合入厂商评估分支,完整保留主分支变更日志并在末尾追加未合入的分支条目,保持 BFCL 行为和 TRT 禁用条件不变。
中文:将主分支的最新 AMD 分离式推理配置合入厂商评估分支,完整保留主分支变更日志并在末尾追加未合入的分支条目,保持 BFCL 行为和 TRT 禁用条件不变。
中文:将主分支最新的 CollectiveX 更新合入厂商评估分支,保留已经验证的 AMD 配置同步、BFCL 行为、TRT 禁用条件和变更日志历史。
中文:将主分支的多节点定长配方迁移及运行器更新合入厂商评估分支,保留 BFCL 行为、TRT 禁用条件和完整变更日志历史。
The SRT setup command now passes Git configuration before clone. Parse global options in the external-command stub so the existing launcher tests create their checkout and exercise setup, artifact collection and failure propagation.

中文:SRT 初始化命令现在会在 clone 前传入 Git 配置。更新外部命令桩以解析全局选项,让现有启动器测试正确创建检出目录,并继续验证初始化、产物收集和错误码传递。
中文:将主分支的 CollectiveX CUDA 图和 NCCL 后端更新合入厂商评估分支,保留 BFCL 行为、TRT 禁用条件、启动器测试修复及完整变更日志历史。
Integrate the AMD ATOM disaggregated recipe and current CI tooling changes.
Preserve BFCL behavior and append the unchanged branch changelog entries after main.

中文:将 main 合并到厂商评估分支,同步 AMD ATOM 分离式推理配置及 CI 工具更新。保留 BFCL 行为,并将分支原有变更日志条目原样追加到 main 日志末尾。
Integrate current AMD image updates and retirement of the MI300X TW runner pool.
Preserve BFCL behavior and append the unchanged branch changelog entries after main.

中文:将 main 合并到厂商评估分支,同步 AMD 镜像更新及 MI300X TW runner 池退役变更。保留 BFCL 行为,并将分支原有变更日志条目原样追加到 main 日志末尾。
Integrate current serving-image updates and the DeepSeek-V4.1-Flash ATOM recipe.
Preserve BFCL behavior and append the unchanged branch changelog entries after main.

中文:将 main 合并到厂商评估分支,同步推理镜像更新及 DeepSeek-V4.1-Flash ATOM 配置。保留 BFCL 行为,并将分支原有变更日志条目原样追加到 main 日志末尾。
Integrate current main and use its equivalent launcher-test git stub fix. Preserve BFCL behavior and changelog bytes.

中文:将 main 合并到 BFCL 对齐分支,采用上游等效的启动器测试 git 替身修复,保留 BFCL 行为和变更日志原始字节。
@functionstackx

Copy link
Copy Markdown
Collaborator

InferenceX has switched away from unmaintainable bash scripts to YAML files that don't repeat the same stuff over and over again. Please merge the latest main into this PR: we have migrated single-node AgentX onto native srt-slurm (#3428), so AgentX configs are now declarative YAML recipes, not per-config 1000+ line bash slop scripts. Please also delete the old benchmarks/single_node/** scripts (see this recipe for the new format).

Preserve native image pins, parser settings and KV budgets while adopting
main's recipe-based launchers. Bind isolated BFCL diagnostics to the native
eval callback and retain failure evidence and production TRT BFCL guards.

中文:合并 main,并将 BFCL 评估迁移到原生 SRT-Slurm。
保留镜像版本、解析器配置和 KV 缓存预算;通过原生评估回调承接独立诊断,
保存失败证据,并继续禁用正式 TRT BFCL 路径。
Retain the branch's Kimi MI355X grid through native recipes so its unchanged
changelog entries still select valid configurations after legacy removal.
Keep all other main retirements and the isolated BFCL diagnostic recipes.

中文:合并 main 最新的启动器清理。
将本分支的 Kimi MI355X 配置保留在原生配方中,确保删除旧启动器后,原有性能日志仍能
选择有效配置。保留 main 的其他退役处理以及独立 BFCL 诊断配方。
中文:合并 main 的模型退役与工具清理。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants