🟡 🤖 Modeli četvrtak, 30. travnja 2026. · 2 min čitanja ·

PyTorch AutoSP: compiler-bazirani alat automatski pretvara training kod u sequence-parallel za 100k+ token kontekste

Editorial illustration: tokeni distribucija preko više GPU jezgri s compiler simbolom

PyTorch je 29. travnja 2026. objavio AutoSP — compiler-bazirani alat unutar DeepSpeed/DeepCompile koji automatski pretvara standardni single-GPU transformer training kod u sequence-parallel varijantu. Eliminira potrebu za ručnim implementiranjem token partitioninga i komunikacijskih collective operacija za treniranje LLM-ova s 100k+ token kontekstom. Razvili ga UIUC SSAIL Lab, Anyscale i Snowflake.

PyTorch tim je 29. travnja 2026. zajedno s istraživačima iz UIUC SSAIL Laba, Anyscalea i Snowflakea objavio AutoSP — compiler-bazirani alat unutar DeepSpeed/DeepCompile ekosustava koji automatski pretvara standardni single-GPU transformer training kod u sequence-parallel varijantu. Cilj: omogućiti treniranje LLM-ova s ekstremno dugim kontekstom (100k+ tokena) bez ručnog implementiranja distribuiranog koda.

Problem koji AutoSP rješava

Treniranje LLM-ova s dugim kontekstom zahtijeva podjelu sekvence preko više GPU-a (sequence parallelism, SP), jer aktivacije transformera skaliraju kvadratno s duljinom konteksta i lako uzrokuju out-of-memory greške. Postojeća rješenja (RingFlashAttention, DeepSpeed-Ulysses) zahtijevaju ručno prepisivanje training koda — token partitioning, communication collectives, komplicirana attention masking.

AutoSP automatizira sve to: korisnik piše standardni transformer kod, a compiler ga pretvara u SP-aware varijantu.

Kako se uključuje?

Tri linije konfiguracije u DeepSpeed configu:

config = {
    "compile": {
        "deepcompile": True,
        "passes": ["autosp"]
    },
    "sequence_parallel_size": 4,
    "zero_optimization": {"stage": 1},  # AutoSP kompozira sa ZeRO 0/1
    ...
}

Plus utility prepare_auto_sp_inputs() za pripremu ulaza. Strategija ispod haube koristi DeepSpeed-Ulysses arhitekturu — konstantni komunikacijski overhead s rastom broja GPU-a na NVLink/fat-tree mrežama, skalira do broja attention heads (npr. 32 heads u 7-8B modelima).

Sequence-Aware Activation Checkpointing

AutoSP donosi i SAC — custom checkpointing strategiju optimiziranu za long-context training. Za razliku od konzervativne PyTorch 2.0 max-flow min-cut formulacije, SAC iskorištava specifičnu FLOP dinamiku dugih konteksta — oslobađa intermediate aktivacije iz cheap-to-compute operatora i rekompozira ih u backward passu. Trade-off: marginalno smanjuje throughput, ali čini još duži kontekst feasible.

Rezultati

Testirano na 8× A100-80GB SXM nodes (PyTorch 2.7, CUDA 12.8) s Llama 3.1 modelima različitih veličina:

  • Maksimalna trainable sequence length raste značajno pri istim resursima
  • Runtime overhead minimalan u odnosu na ručno pisane RingFlashAttention i DeepSpeed-Ulysses baselineove

End-to-end primjeri (uključujući Llama 3.1 8B) dostupni su u github.com/deepspeedai/DeepSpeedExamples/tree/master/benchmarks/autosp.

Ograničenja

Trenutno AutoSP zahtijeva single compilable artifact (cijeli transformer mora biti compilan kao jedan blok) i ne dopušta graph break-ove unutar modela. Tim navodi proširenje za graph-break otpornost kao slijedeći korak.

Česta pitanja

Što AutoSP radi?
Automatski pretvara standardni single-GPU transformer training kod u sequence-parallel (SP) kod koji omogućuje treniranje LLM-ova s kontekstom 100k+ tokena preko više GPU-a. Eliminira ručni token partitioning i komunikacijske collective operacije, integriran je s DeepSpeed/DeepCompile.
Kako se uključuje?
U DeepSpeed config postavite `'deepcompile': True`, dodajte `'passes': ['autosp']`, koristite `prepare_auto_sp_inputs()` utility i postavite `'sequence_parallel_size'`. Kompozira se s ZeRO stage 0/1.
Kakva je performansa u odnosu na ručno pisani SP?
Na 8× A100-80GB s Llama 3.1 modelima, AutoSP postiže usporediv throughput s ručno pisanim RingFlashAttention i DeepSpeed-Ulysses implementacijama, uz minimalan runtime overhead. Maksimalna trainable sequence length značajno raste pri istim resursima.
🤖

Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.