Skip to content

Documented 'built-in' DeepSpeed presets (and the default preset) are not shipped in the wheel (CR-MISC-002) #115

Open

Description

@cemililik

Wave 0 · theme D0-8: Packaging and delivery promises · highest severity High · 1 finding(s) · effort small

Summary

A pip-installed user sets distributed.strategy: deepspeed with deepspeed_config: zero2 or leaves it unset. _resolve_deepspeed_config raises ConfigError ('DeepSpeed preset zero2 not found at /configs/deepspeed/zero2.json'), so the run exits 1. The CI 'DeepSpeed config validation' step only validates the files in the checkout, and the wheel-install smoke does not touch DeepSpeed.

Primary finding

CR-MISC-002 — Documented 'built-in' DeepSpeed presets (and the default preset) are not shipped in the wheel

severity High · reachability default · intent contract-violation · confidence confirmed · independently confirmed · reproduced end to end

What happens. forgelm/trainer.py:632-649 resolves the presets zero2, zero3 and zero3_offload to configs/deepspeed/*.json, relative to the parent of the installed package directory or the CWD. [tool.setuptools.package-data] covers only templates, safety_prompts, wizard/_defaults.json and py.typed. MANIFEST.in's recursive-include configs affects the sdist only. docs/reference/distributed_training.md:52 and configuration.md:295 present the three presets as built in, and a None deepspeed_config defaults to zero2.

Where.

Recommended fix. Move the presets into the package (e.g. forgelm/deepspeed_presets/ with package-data) and resolve them with importlib.resources. Add a wheel-content test that asserts the preset files are present.

Acceptance criteria

  • A regression test reproduces the failure scenario and asserts the corrected behaviour.
  • Documentation listed above is corrected in English and in its Turkish mirror in the same PR.
  • Every finding in this issue is resolved or explicitly closed with a reason.
  • The release note names the contract this fix restores.

Found by the October 2026 ForgeLM code and documentation review against commit cab2947. Code links point at that commit; line numbers may have moved since. Finding IDs (CR-…, DOC-…, TECH-…) are stable references for this backlog.

Activity

  1. added
    bugSomething isn't working
    severity: highWrong behaviour or a false claim users rely on
    source: review-2026-10Found by the October 2026 code and documentation review
    wave: 0Roadmap wave 0: immediate (patch release)
    on Oct 9, 2026
  2. cemililik commented on Oct 15, 2026

    @cemililik
    CollaboratorAuthor

    This is the same defect as #110 and #111: the DeepSpeed presets are not shipped in the wheel. They are meant to be fixed in one pull request, so the contributor guidance ("Where to start") lives on #110. Please claim and discuss it there.

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

    area: dev-toolingCode area: dev-toolingbugSomething isn't workingseverity: highWrong behaviour or a false claim users rely onsource: review-2026-10Found by the October 2026 code and documentation reviewwave: 0Roadmap wave 0: immediate (patch release)

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions