AI Umum

FAX: Perpustakaan Python Berbasis JAX untuk Mendefinisikan Komputasi Terdistribusi dan Terfederasi yang Dapat Diskalakan di Pusat Data

Pendahuluan

FAX adalah perpustakaan perangkat lunak canggih yang dibangun di atas JavaScript untuk meningkatkan komputasi yang digunakan dalam pembelajaran terfederasi (FL). Ini dirancang khusus untuk memfasilitasi komputasi terdistribusi dan terfederasi berskala besar di berbagai aplikasi, termasuk pusat data dan situasi lintas perangkat.

Fitur FAX

  • Integrasi dengan JAX: FAX memanfaatkan fitur sharding JAX untuk integrasi yang mulus dengan TPU (Unit Pemrosesan Tensor) dan runtime JAX yang canggih seperti Pathways.
  • Bangunan Dasar Terintegrasi: FAX menyediakan blok bangunan penting untuk komputasi terfederasi sebagai primitif di dalam JAX, yang memberikan skalabilitas, kompilasi JIT yang sederhana, dan fitur AD.
  • Komputasi Terfederasi: Dalam FL, klien bekerja sama dalam tugas Pembelajaran Mesin (ML) tanpa mengungkapkan informasi pribadi mereka. Komputasi terfederasi sering kali melibatkan beberapa model pelatihan klien secara bersamaan sambil mempertahankan sinkronisasi berkala.
  • Dukungan Pusat Data: Meskipun klien di perangkat dapat digunakan dalam aplikasi FL, perangkat lunak pusat data berperforma tinggi masih penting. FAX mengatasi masalah ini dengan menyediakan kerangka kerja untuk menentukan komputasi terdistribusi dan terfederasi yang dapat diskalakan di pusat data.

Kontribusi Utama

  • Terjemahan XLA HLO yang Efisien: Komputasi FAX diterjemahkan secara efisien ke dalam format XLA HLO (XLA High-Level Optimizer). Kompiler khusus domain yang disebut XLA HLO mempersiapkan grafik komputasi untuk digunakan dengan berbagai akselerator perangkat keras. Dengan memanfaatkan fitur ini, FAX dapat sepenuhnya memanfaatkan akselerator perangkat keras seperti TPU, yang mengarah pada peningkatan efisiensi dan kinerja.
  • Diferensiasi Otomatis Terfederasi: FAX mencakup implementasi lengkap dari diferensiasi otomatis terfederasi. Fitur ini mengotomatiskan proses komputasi gradien melalui pengaturan pembelajaran terfederasi yang rumit, sehingga menyederhanakan ekspresi komputasi terfederasi secara signifikan. FAX mempercepat proses diferensiasi otomatis, yang merupakan bagian penting dari pelatihan model ML, terutama untuk tugas pembelajaran terfederasi.
  • Kompatibilitas Lintas Perangkat: Komputasi FAX dibuat agar mudah bekerja dengan sistem komputasi terfederasi lintas perangkat yang saat ini digunakan. Ini berarti komputasi yang dibuat dengan FAX, baik yang melibatkan server pusat data atau klien di perangkat, dapat dengan cepat dan mudah digunakan dan dijalankan dalam konteks pembelajaran terfederasi dunia nyata.

Kesimpulan

FAX adalah perpustakaan serbaguna yang dapat digunakan untuk berbagai komputasi ML di pusat data. Di luar FL, FAX dapat menangani berbagai algoritma terdistribusi dan paralel, seperti FedAvg, FedOpt, branch-train-merge, DiLoCo, dan PAPA.