all_code_base / lrm /lrm_sana /docs /migration_notes.md
aryadomain's picture
Add files using upload-large-folder tool
ef8f3ad verified
|
Raw
History Blame Contribute Delete
1.87 kB

Migration Notes: Flux -> SANA LRM

Reused Components

  • Training loop orchestration from flux/trainer/scripts/train.py.
  • Accelerator stack (base, debug, deepspeed).
  • Optimizer and LR scheduler modules.
  • Pairwise loss structure and evaluation flow.
  • Dataset filtering logic including pseudo-preference support.

SANA-Specific Adaptations

  • Replace Flux model wrapper with SANA latent-transformer wrapper.
  • Replace Flux tokenizer/text path with variant-aware SANA path.
  • Keep pairwise reward objective unchanged; adapt only feature extraction.
  • Add model profile support for four requested checkpoints.

Naming Changes

  • step_flux -> step_sana
  • step_flux_base -> step_sana_base
  • step_clip_flux -> step_clip_sana
  • FluxPreferenceModel -> SanaPreferenceModel

Config Baseline Choice

  • Dataset source follows flux working setting:
    • pickapic-anonymous/pickapic_v1
  • Pseudo preference CSV path follows flux launcher fallback behavior.
  • Logging/output path remains flux-style to simplify operational parity.

Runtime Notes

  • Quick profile should force minimal run:
    • test split for train/valid/test
    • image size downscaled
    • max_steps=1
  • Main profile should use production defaults with DeepSpeed sharded mode.

Known Risks During Migration

  • Mismatch between tokenizer outputs and model forward signature.
  • Caption embedding/channel shape mismatch in SANA transformer conditioning.
  • Missing subfolders for some checkpoints (tokenizer_2 or text_encoder_2).
  • Diffusers/transformers version compatibility for SANA classes.

Mitigation Strategy

  • Use profile metadata for each checkpoint (explicit, not implicit only).
  • Fail fast with clear validation errors at model init time.
  • Keep quick-run smoke checks as gate before longer runs.
  • Preserve fallback behavior from flux launcher for data and cache paths.