Skip to content

Migrate bert to the semantic Task SDK #1435

Open

Description

@yifeif-nv

Parent epic: #1430

Status: Not started — comment here before beginning work.

Family: families/bert/
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.

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/bert/**; 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 Sep 29, 2026

    @Darshan3690
    Contributor

    Hi @yifeif-nv sir , I’d like to work on this task under parent epic #1430.

    I’ll start by:

    • Auditing the existing families/bert/ implementation and its current embedding, encoding, and reranking capabilities.
    • Identifying the existing semantic Task contract(s) that preserve all currently supported behavior and recording the exact Task IDs in the PR.
    • Reviewing batch, streaming, raw-output, and stateful behavior where supported, along with defaults, profiles, checkpoint cases, and reference criteria.
    • Implementing and binding the appropriate semantic Task interface(s) in the BERT runtime while preserving the existing graph, preprocessing, inference, postprocessing, configuration, and complete owned results.
    • Aligning family-owned support, build metadata, and manifests so only interfaces implemented by the loaded bundle are advertised, and documenting whether existing bundles require rebuilding.
    • Adding the required family-owned CPU contracts and public C/C++ SDK consumers, including invalid inputs, configuration handling, result lifetime, and lifecycle coverage.
    • Running a selected real-checkpoint E2E using the existing oracle and thresholds, followed by validation of the remaining declared capabilities and public CLI, example, and benchmark paths.

    I’ll keep the migration scoped to families/bert/** and will raise a separate linked prerequisite issue if a genuinely shared contract is missing.

    I’m starting work on this task now.

  2. JiaxinD commented on Oct 18, 2026

    @JiaxinD
    Contributor

    BERT currently returns a hidden-state coordinate as relevance without executing a scoring head. #1763 now removes that false capability at d6d2a42; your semantic Task migration remains separate.

  3. JiaxinD commented on Oct 18, 2026

    @JiaxinD
    Contributor

    A separate BERT accuracy fix is now in #1801: hidden_act=gelu selects exact GELU_ERF while gelu_new retains tanh. CPU regressions are included; your semantic Task migration remains separate.

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