Skip to content

[Bug]: eos_token_id dropped from converted config.json - non-terminating generation #1478

Description

@montana-rs

Commit or version

v1.10.2 (also verified on current main). 12a5c46

Environment

Fedora 44 (Arch-based EndeavourOS host also reproduces the conversion-side issue), x86_64, Intel i7-13700HX, 31 GiB RAM, 6 GiB VRAM (RTX A1000 Laptop, engine ran CPU-only), 1 TB gen4 NVMe, gcc 15 (system gcc).

Reproduction steps

  1. Convert a GLM-5.3-Flash checkpoint (HF zai-org/GLM-5.3-Flash) with coli convert.
  2. Diff config.json source vs converted output: eos_token_id present in source, absent in converted output.
  3. Run coli chat -- generation continues past the model's natural EOS until --ngen is exhausted.
    Workaround (verified): manually copy eos_token_id into the converted config.json, after which generation terminates correctly.

Expected behavior

Converted config.json carries eos_token_id (or the engine reads generation_config.json's EOS list, as the source checkpoint provides both), so generation stops at the model's natural EOS.

Actual behavior and logs

Converted config lacks EOS ids entirely. Generation continues past natural EOS: the model produces its thinking block and then repeats/degrades until the token limit. After the manual workaround, generation terminates correctly.

Activity

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions