Skip to content

feat: add IBM Granite (GraniteForCausalLM) loader to aprender::rosetta #1588

@noahgift

Description

@noahgift

Context

The cookbook architecture-demos spec tracks Granite as status: blocked. Earlier QA work (#230, closed 2026-02-13) characterized failure patterns at the inference layer; this issue is for the prerequisite — adding the loader YAML so apr convert and aprender::rosetta::load_family can handle Granite checkpoints.

Family

  • Name: granite
  • Vendor: IBM
  • HF architectures: GraniteForCausalLM
  • HF pattern: ibm-granite/*
  • Reference checkpoints: ibm-granite/granite-3.1-2b-instruct, ibm-granite/granite-3.1-8b-instruct

Acceptance criteria

  • contracts/model-families/granite.yaml exists with size_variants for 2b and 8b
  • Loader handles Granite-specific attention scaling (attention_multiplier) and embedding scaling (embedding_multiplier)
  • Discriminator field documented (Granite shares Llama-shape but has the multiplier fields)
  • Inference smoke pass against granite-3.1-2b resolves the failure pattern from QA: Granite-3.1-2B has 3-test failure pattern (89.3% pass rate) #230

Unblock impact

Cookbook reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions