Bagaimana Anda mengatasi hambatan ketika Anda melatih model AI pada data dalam jumlah besar? Pada konferensi PyTorch tahun ini, IBM® Research memamerkan sebuah pemuat data yang inovatif untuk pelatihan LLM berskala besar. Alat ini, yang sekarang tersedia untuk pengguna PyTorch, bertujuan untuk menyederhanakan pelatihan berskala besar untuk audiens seluas mungkin.
Gagasan untuk pemuat data throughput tinggi berasal dari masalah praktis yang diamati para ilmuwan riset selama pelatihan model, karena pekerjaan mereka membutuhkan alat yang dapat memproses data dalam jumlah besar di beberapa perangkat—semua sambil mengikuti GPU yang semakin efisien. Seperti yang dicatat oleh IBM® Research dalam blognya tentang rilis tersebut, “Ini semua berkat tim peneliti yang hanya membangun alat yang mereka butuhkan untuk menyelesaikan pekerjaan.“
Davis Wertheimer dari IBM® Research menjelaskan beberapa tantangan yang dapat muncul selama pelatihan skala besar: “Ada aturan 80/20 dalam hal pelatihan skala besar. Delapan puluh persen dari semua literatur yang diterbitkan melihat pertukaran algoritmik antara memori GPU dan komunikasi dan komputasi. Tetapi ketika Anda benar-benar mencoba membangun sesuatu, 80% dari waktu, Anda dapat bergantung pada ekor yang sangat panjang dari semua masalah praktis lainnya karena pipa berjalan dengan kecepatan hambatan tersempit.”
Saat tim IBM® mengembangkan platform pelatihan mereka, mereka terus menghadapi kemacetan. “Ketika kita menjadi lebih baik dan lebih baik dalam menggunakan GPU kita, semakin sering hambatannya adalah pemuat data,” kata Wertheimer.
Realisasi ini mengarah pada proses pengembangan ganda. “Ada perjalanan paralel, di satu sisi, mengembangkan platform pelatihan kami, dan di sisi lain, terus mengembangkan pemuat data kami untuk mengimbangi tuntutan kecepatan dari platform pelatihan kami agar tidak terjadi kemacetan,” jelasnya.
Linsong Chu dari IBM® Research menguraikan fitur-fitur penting dari pemuat data:
Stateful dan checkpointable: “Setiap kali Anda menyimpan model, status pemuat data Anda juga disimpan, dan setiap kali Anda pulih dari pos pemeriksaan, status model dan status pemuat data perlu dipulihkan pada saat yang sama,” kata Chu.
Penskalaan ulang titik pemeriksaan otomatis: Pemuat data secara otomatis menyesuaikan dengan perubahan beban kerja selama sesi pelatihan yang diperpanjang. “Pelatihan dapat dengan mudah memakan waktu berminggu-minggu atau berbulan-bulan, dan ada banyak alasan mengapa Anda mungkin harus mengubah skala beban kerja Anda di tengah,” catat Chu.
Streaming data yang efisien: Sistem mendukung streaming data tanpa overhead build untuk shuffling.
Operasi terdistribusi asinkron: “Kami ingin pemuat data tidak memblokir,” Chu menjelaskan. “Saat menyimpan status pemuat data, kami ingin penyimpanan didistribusikan dalam bentuk yang tidak melibatkan komunikasi sama sekali.”
Pencampuran data dinamis: Pemuat data dapat beradaptasi dengan rasio pencampuran data yang berbeda, yang berguna untuk mengembangkan kebutuhan pelatihan.
Pengacakan global yang efisien: Alat ini mengatasi hambatan memori saat menangani kumpulan data besar, membuat pengacakan menjadi efisien bahkan saat data bertambah.
PyTorch asli, modular, dan ekstensif: Dirancang untuk kemampuan beradaptasi dan skalabilitas, pemuat data disiapkan untuk pertumbuhan di masa depan. “Bagaimana jika tahun depan kita harus berurusan dengan 30 triliun, 50 triliun atau 100 triliun token?” tanya Chu. “Dunia berubah dengan cepat, jadi kita perlu membangun pemuat data sehingga tidak hanya dapat bertahan hari ini, tetapi juga bertahan untuk besok.”
Tim IBM® Research menguji pemuat data mereka secara ketat selama beberapa bulan, menjalankan ratusan pekerjaan kecil dan besar. Mereka mengamati nomor kode yang stabil dan halus. Selain itu, seluruh pemuat data beroperasi secara asinkron dan tidak memblokir.
“Kami memanfaatkan banyak kemampuan PyTorch bawaan untuk membuat semua ini terjadi,” kata Wertheimer. “Itu sebabnya kami berkontribusi, menyumbangkannya kembali.”