Skip to content

--ccb_no_slot_index is not persisted when reloading a model #4912

@gilles-vrt

Description

@gilles-vrt

Describe the bug

The --ccb_no_slot_index option works correctly during training, but it is not persisted when saving and re‑loading a model. After loading the model, the option disappears from the argument list even though it was present in the original workspace.
This makes it impossible to verify from the reloaded model whether slot‑index injection was disabled and it seems that the slot indexes are also reintroduced when training the reloaded model.

How to reproduce

import vowpalwabbit as vw

VW_ARGS = [
    "--ccb_explore_adf",
    "--ccb_no_slot_index",
    "-q", "CA",
    "-b", "23",
    "--cb_type", "dr",
    "--quiet",
    "--no_stdin",
]

# Create workspace
workspace = vw.Workspace(arg_list=VW_ARGS)
print("Original:", workspace.get_arguments())
# → includes: --ccb_no_slot_index

# Save model
workspace.save("model.vw")

# Reload workspace from model file
workspace_loaded = vw.Workspace("-i model.vw")
print("Reloaded:", workspace_loaded.get_arguments())
# → missing: --ccb_no_slot_index

Version

9.11.2

OS

macOS

Language

python

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugBug in learning semantics, critical by default

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions