Pada acara Google Cloud Next 2022 pada Oktober tahun lalu, projek OpenXLA muncul secara rasmi Google bekerjasama dengan rangka kerja AI sumber terbuka yang dipromosikan oleh syarikat teknologi termasuk Alibaba, AMD, Arm, Amazon, Intel, Nvidia dan lain-lain. syarikat teknologi komited untuk menyatukan rangka kerja pembelajaran mesin yang berbeza untuk membolehkan pembangun pembelajaran mesin memilih rangka kerja dan perkakasan secara proaktif.
Pada hari Rabu, Google mengumumkan bahawa projek OpenXLA secara rasminya adalah sumber terbuka.
Pautan projek: https://github.com/openxla/xla
Dengan mencipta pengkompil pembelajaran mesin bersatu yang berfungsi dengan pelbagai rangka kerja pembelajaran mesin dan platform perkakasan, OpenXLA boleh mempercepatkan penghantaran aplikasi pembelajaran mesin dan menyediakan kemudahalihan kod yang lebih besar. Ini merupakan projek penting untuk penyelidikan dan aplikasi AI, dan Jeff Dean turut mempromosikannya di rangkaian sosial.
Hari ini, pembangunan dan penggunaan pembelajaran mesin mengalami infrastruktur berpecah-belah yang boleh terjejas oleh rangka kerja, Berbeza mengikut perkakasan dan penggunaan kes. Pengasingan ini mengehadkan kelajuan pembangun boleh bekerja dan mewujudkan halangan kepada kemudahalihan model, kecekapan dan pengeluaran.
Pada 8 Mac, Google dan yang lain telah mengambil langkah besar ke arah mengalih keluar halangan ini dengan pembukaan projek OpenXLA, yang merangkumi repositori XLA, StableHLO dan IREE.
OpenXLA ialah ekosistem pengkompil ML sumber terbuka yang dibangunkan bersama oleh pemimpin industri pembelajaran AI/mesin Penyumbang termasuk Alibaba, AWS, AMD, Apple, Arm, Cerebras, Google, Graphcore, Hugging Face , Intel, Meta dan Nvidia. Ia membolehkan pembangun menyusun dan mengoptimumkan model daripada semua rangka kerja pembelajaran mesin terkemuka untuk latihan yang cekap dan berkhidmat pada pelbagai perkakasan. Pembangun yang menggunakan OpenXLA boleh melihat peningkatan yang ketara dalam masa latihan, pemprosesan, kependaman perkhidmatan, dan akhirnya mengeluarkan dan mengira kos.
Ketika teknologi AI memasuki peringkat praktikal, pasukan pembangunan dalam banyak industri menggunakan pembelajaran mesin untuk menangani cabaran dunia sebenar ramalan dan pencegahan penyakit, pengalaman pembelajaran yang diperibadikan, dan penerokaan fizik lubang hitam.
Dengan bilangan parameter model yang berkembang pesat dan jumlah pengiraan yang diperlukan untuk model pembelajaran mendalam meningkat dua kali ganda setiap enam bulan, pembangun mencari prestasi maksimum dan penggunaan infrastruktur mereka . Sebilangan besar pasukan memanfaatkan pelbagai model perkakasan, daripada ASIC khusus pembelajaran mesin yang cekap tenaga di pusat data kepada pemproses kelebihan AI yang memberikan masa tindak balas yang lebih pantas. Sehubungan itu, untuk meningkatkan kecekapan, peranti perkakasan ini menggunakan algoritma dan perpustakaan perisian yang disesuaikan dan unik.
Tetapi sebaliknya, jika tiada pengkompil universal untuk menghubungkan peranti perkakasan yang berbeza kepada pelbagai rangka kerja yang digunakan hari ini (seperti TensorFlow, PyTorch), orang ramai perlu memasukkan banyak usaha untuk Menjalankan pembelajaran mesin dengan cekap. Dalam amalan, pembangun mesti mengoptimumkan operasi model secara manual untuk setiap sasaran perkakasan. Ini bermakna menggunakan perpustakaan perisian tersuai atau menulis kod khusus peranti memerlukan kepakaran domain.
Ini adalah satu paradoks, menggunakan teknologi proprietari untuk kecekapan hanya menghasilkan laluan terdiam, tidak boleh digeneralisasikan merentas rangka kerja dan perkakasan yang mengakibatkan kos penyelenggaraan yang tinggi dan seterusnya mengunci vendor, memperlahankan kemajuan pembangunan pembelajaran mesin.
Projek OpenXLA menyediakan pengkompil ML tercanggih yang merentasi kerumitan infrastruktur ML. Teras terasnya ialah prestasi, kebolehskalaan, mudah alih, fleksibiliti dan kemudahan penggunaan. Dengan OpenXLA, kami berhasrat untuk merealisasikan potensi AI yang lebih besar dalam dunia nyata dengan mempercepatkan pembangunan dan penyampaian AI.
OpenXLA bertujuan untuk:
Cabaran yang kita hadapi hari ini dalam infrastruktur pembelajaran mesin adalah sangat besar dan tiada satu organisasi boleh melakukannya sendiri secara berkesan menangani cabaran ini . Komuniti OpenXLA menghimpunkan pembangun dan peneraju industri yang beroperasi pada tahap tindanan AI yang berbeza—daripada rangka kerja kepada penyusun, masa jalan dan cip—dan oleh itu amat sesuai untuk menangani pemecahan yang kita lihat dalam ruang ML.
Sebagai projek sumber terbuka, OpenXLA mematuhi prinsip berikut:
OpenXLA menghilangkan halangan untuk pembangun pembelajaran mesin dengan rantai alat modular yang menjadikannya tersedia secara universal Antara muka pengkompil ialah disokong oleh semua rangka kerja terkemuka, memanfaatkan perwakilan model piawai mudah alih dan menyediakan penyusun khusus domain dengan pengoptimuman khusus sasaran dan khusus perkakasan yang berkuasa. Rantaian alat termasuk XLA, StableHLO dan IREE, yang semuanya memanfaatkan MLIR: infrastruktur pengkompil yang membolehkan model pembelajaran mesin diwakili, dioptimumkan dan dilaksanakan secara konsisten pada perkakasan.
Skop Kes Penggunaan Pembelajaran Mesin
Penggunaan OpenXLA semasa menjangkau julat kes penggunaan ML, termasuk latihan penuh model seperti DeepMind's AlphaFold, GPT2 dan Swin Transformer di Alibaba Cloud, serta pelbagai mod di Amazon.com Latihan LLM. Pelanggan seperti Waymo memanfaatkan OpenXLA untuk inferens masa nyata dalam kenderaan. Selain itu, OpenXLA digunakan untuk mengoptimumkan perkhidmatan Stable Diffusion pada mesin tempatan yang dilengkapi dengan AMD RDNA™ 3.
Prestasi terbaik, di luar kotak
OpenXLA menghapuskan keperluan untuk pembangun menulis kod khusus peranti, Anda boleh mempercepatkan prestasi model dengan mudah. Ia menampilkan keupayaan pengoptimuman model keseluruhan, termasuk memudahkan ungkapan algebra, mengoptimumkan susun atur data dalam memori, dan menambah baik penjadualan untuk mengurangkan penggunaan memori puncak dan overhed komunikasi. Gabungan operator lanjutan dan penjanaan kernel membantu meningkatkan penggunaan peranti dan mengurangkan keperluan lebar jalur memori.
Menskalakan beban kerja dengan mudah
Membangunkan algoritma penyejajaran yang cekap memakan masa dan memerlukan kepakaran. Dengan ciri seperti GSPMD, pembangun hanya perlu menganotasi subset tensor utama, yang kemudiannya boleh digunakan oleh pengkompil untuk menjana pengiraan selari secara automatik. Ini menghapuskan usaha penting yang diperlukan untuk membahagi dan menyelaraskan model dengan cekap merentas berbilang hos perkakasan dan pemecut.
Kemudahalihan dan Pilihan
OpenXLA menyediakan sokongan luar kotak untuk pelbagai peranti perkakasan, Termasuk GPU AMD dan NVIDIA, CPU x86 dan seni bina Arm, dan pemecut ML seperti Google TPU, AWS Trainium dan Inferentia, IPU Graphcore, Enjin Skala Wafer Cerebras dan banyak lagi. OpenXLA juga menyokong TensorFlow, PyTorch, dan JAX melalui StableHLO, lapisan mudah alih yang digunakan sebagai format input untuk OpenXLA.
Fleksibiliti
OpenXLA menyediakan pengguna dengan fleksibiliti untuk melaraskan hotspot model secara manual. Mekanisme pelanjutan seperti panggilan tersuai membolehkan pengguna menulis primitif pembelajaran mendalam dalam CUDA, HIP, SYCL, Triton dan bahasa kernel lain untuk memanfaatkan sepenuhnya ciri perkakasan.
StableHLO
StableHLO ialah lapisan mudah alih antara rangka kerja ML dan penyusun ML dan merupakan sokongan Satu set tinggi -operasi tahap (HLO) untuk dinamik, pengkuantitian, dan jarang. Selain itu, ia boleh disirikan kepada kod bait MLIR untuk memberikan jaminan keserasian. Semua rangka kerja ML utama (JAX, PyTorch, TensorFlow) boleh menghasilkan StableHLO. Pada tahun 2023, Google merancang untuk bekerjasama rapat dengan pasukan PyTorch untuk mencapai penyepaduan dengan PyTorch versi 2.0.
Atas ialah kandungan terperinci Pembangunan AI Bersatu: Google OpenXLA ialah sumber terbuka dan menyepadukan semua rangka kerja dan cip AI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!