Skip to content

Migrate convbert to the semantic Task SDK #1440

Open

Description

@yifeif-nv

Parent epic: #1430

Status: Not started — comment here before beginning work.

Family: families/convbert/
Current declared task mode(s): embedding, encoding, reranking
Target semantic Task(s): Identify the existing semantic Task contract(s) that preserve every current capability; record the exact IDs in the PR.

Related family CLI work: #1377. It is a separate change and does not complete this Task migration.

Work

  • Inventory this family's primary and secondary behavior, including batch, streaming, raw outputs and stateful operations where supported. Record the current defaults, profiles, checkpoint cases, and reference criteria.
  • Implement and bind the matching semantic Task interface(s) in this family's runtime. Preserve its graph, preprocessing, inference, postprocessing, configuration and complete owned results.
  • Align family-owned support, build metadata and manifests with the primary Task. Advertise only interfaces implemented by the loaded bundle; document whether existing bundles need rebuilding.
  • Add family-owned CPU contracts and public C/C++ SDK consumers. Cover invalid inputs, configuration handling, result lifetime and every relevant lifecycle.
  • Run a selected real checkpoint E2E with the existing oracle and thresholds, then check the remaining declared capabilities and public CLI, example and benchmark paths. Preserve meaningful passing criteria.

PR evidence

Link the migration PR here. Report the tested revision, exact commands and results, selected checkpoint cases, original reference checks, current-head CI, and any untested configurations. Keep a normal migration within families/convbert/**; raise a separate linked prerequisite issue if a shared contract is genuinely missing. Do not weaken an acceptance criterion to pass CI.

References: #1226 · family validation guide.

Activity

  1. Darshan3690 commented on Oct 1, 2026

    @Darshan3690
    Contributor

    Hi @yifeif-nv, I'd like to take this issue (ConvBERT family Task SDK migration, parent epic #1430). Starting now.

    Scope understanding

    • Family: families/convbert/, declared task modes: embedding, encoding, reranking
    • The migration stays inside families/convbert/**. If a shared contract turns out to be missing, I'll open a separate linked prerequisite issue instead of touching core/.
    • Related family CLI work (feat(cli): add commands for ten encoder families #1377) is a separate change, and I won't treat it as part of this migration.

    Plan

    1. Inventory: document the primary and secondary behavior for all three modes (batch, streaming, raw outputs, stateful operations where supported), plus defaults, profiles, checkpoint cases, and the existing oracle and thresholds. I'll put this table in the PR.
    2. Task mapping: find the existing semantic Task contract(s) in core/api (per feat(api): add semantic Task C ABI and C++ SDK #1226) that together preserve every current capability, and record the exact IDs in the PR. I'll post the proposed mapping here before large code changes so it can be corrected early.
    3. Runtime: implement and bind the Task interface(s) in families/convbert/runtime/, preserving the graph, preprocessing, inference, postprocessing, configuration and complete owned results.
    4. Support and build metadata: align support.py, build metadata and manifests with the primary Task. Advertise only interfaces the loaded bundle implements, and document whether existing bundles need rebuilding.
    5. Tests: family-owned CPU contract tests (invalid inputs, configuration handling, result lifetime, every relevant lifecycle), updated test_support.py with positive and negative identity cases, and public C/C++ SDK consumers.
    6. Validation: run tools.model_ci validate, tools/test_impact.py, source-quality and impact checks, family unit tests and the native target locally. Then run a selected real-checkpoint E2E with the existing oracle and thresholds (no threshold changes), and check the remaining capabilities plus the CLI, example and benchmark paths.

    PR evidence will include the tested revision, exact commands and results, selected checkpoint cases, original reference checks, current-head CI, and any untested configurations.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions