В ModelScope SWIFT объединили два метода параллелизма по последовательности:
✅ Ulysses - делит внимание по головам, почти не тратит трафик (но упирается в число heads)
✅ Ring Attention - масштабируется выше числа голов через кольцевые P2P-коммуникации, с «зиг-заг» балансировкой для causal-моделей
💡 Комбо-подход: сначала работает Ulysses, и только когда он перестаёт тянуть (например, GQA или кластер >8 GPU), подключается Ring.
🔥 Результат на Qwen2.5-3B при 65k токенов:
75.4 GiB → 17.9 GiB VRAM на 8× A100
Работает с SFT, DPO, GRPO, мультимодальностью и padding-free входами.
✨ Крутая инженерия:
Сплит последовательности встроен прямо в forward-hook модели —
никаких костылей в данных, полная совместимость с FlashAttention.
🔧 Включается одной флаг-командой:
--sequence_parallel_size 8🟠Подробнее : https://modelscope.cn/learn/1799
🟠 GitHub: https://github.com/modelscope/ms-swift

