mirror of
https://github.com/kvcache-ai/ktransformers.git
synced 2026-06-08 15:30:05 +00:00
- Create python/sft/ with 11 modules: base, amx, arch, autograd, layer, lora, weights, wrapper, dist_utils, config, __init__ - Move BaseSFTMoEWrapper + buffer management into sft/base.py (template method pattern: subclass provides _make_forward/backward_task) - Move AMXSFTMoEWrapper into sft/amx.py (thinner, no buffer logic) - Move from accelerate kt_moe.py: KTMoEFunction, KTMoELayerWrapper, MOEArchConfig, PEFT LoRA adaptation, weight extraction, wrapping - Add KTConfig dataclass (DeepSpeed pattern: opaque config passthrough) - Add _get_kt_config() with old→new field name compat conversion - Rename forward_sft→forward, submit_forward_sft→submit_forward, sync_forward_sft→sync_forward (Python only, C++ binding names unchanged) - Delete dump utilities from sft_moe.hpp (-526) and moe-sft-tp.hpp (-78) - Delete experts_sft.py and utils/amx_sft.py (moved to sft/) - Remove SFT stubs from BaseMoEWrapper (experts_base.py) - Lazy SFT import in __init__.py and experts.py (inference isolation) - Delete all lifecycle/debug logging (~500 lines) Verified: Qwen3-235B 4GPU AMXBF16 training, 3 steps loss converges.