Sebagian besar framework pelatihan terdistribusi dibangun di atas sebuah fantasi: perangkat keras yang benar-benar seragam. Model GPU yang sama, VRAM yang sama, bandwidth jaringan yang sama di mana-mana.
Namun, perangkat keras konsumen di dunia nyata adalah kekacauan. Anda memiliki generasi GPU yang bercampur (RTX 3060 berdampingan dengan 4090), konfigurasi RAM yang sangat berbeda, serta CPU yang ikut masuk dalam perhitungan selain GPU. Framework standar seperti PyTorch DDP atau Horovod hanya akan mengalami crash sebelum pelatihan bahkan dimulai.
Masalah utamanya: framework-framework ini mengasumsikan komputasi yang homogen dan pola komunikasi yang simetris. Mereka tidak mampu menangani topologi yang heterogen, di mana satu node memiliki VRAM 24GB dan node lain memiliki 8GB, atau ketika latensi jaringan bervariasi hingga 10x antar node.
Karena itu, pelatihan terdesentralisasi pada perangkat konsumen masih sebagian besar bersifat teoretis. Anda membutuhkan partisi beban kerja yang dinamis, penyesuaian ukuran batch per node secara adaptif, dan agregasi gradien yang tahan terhadap kegagalan tanpa mengasumsikan semua orang menyelesaikan tugas pada waktu yang sama.
Namun, perangkat keras konsumen di dunia nyata adalah kekacauan. Anda memiliki generasi GPU yang bercampur (RTX 3060 berdampingan dengan 4090), konfigurasi RAM yang sangat berbeda, serta CPU yang ikut masuk dalam perhitungan selain GPU. Framework standar seperti PyTorch DDP atau Horovod hanya akan mengalami crash sebelum pelatihan bahkan dimulai.
Masalah utamanya: framework-framework ini mengasumsikan komputasi yang homogen dan pola komunikasi yang simetris. Mereka tidak mampu menangani topologi yang heterogen, di mana satu node memiliki VRAM 24GB dan node lain memiliki 8GB, atau ketika latensi jaringan bervariasi hingga 10x antar node.
Karena itu, pelatihan terdesentralisasi pada perangkat konsumen masih sebagian besar bersifat teoretis. Anda membutuhkan partisi beban kerja yang dinamis, penyesuaian ukuran batch per node secara adaptif, dan agregasi gradien yang tahan terhadap kegagalan tanpa mengasumsikan semua orang menyelesaikan tugas pada waktu yang sama.
