Nvidia
memperkenalkan platform open source Rapids, yang misinya adalah mempercepat algoritma pembelajaran mesin GPU. Kami berbicara tentang fitur alat dan analognya.
/ foto Martin Brigden CCMasalah pelatihan jaringan saraf
Daftar teknologi Nvidia termasuk arsitektur komputasi paralel CUDA. Tujuannya adalah untuk mempercepat perhitungan dengan mentransfer bagian dari tugas GPU alih-alih CPU. Dalam beberapa kasus, ini
memungkinkan Anda
untuk mempercepat pekerjaan aplikasi dan algoritma sebanyak 18 kali.
Untuk alasan ini, ia telah menemukan aplikasi luas di bidang pembelajaran mesin. Sebagai contoh, para peneliti dari universitas Florida dan North Carolina sedang
mengembangkan dengan bantuannya sebuah mesin jaringan saraf untuk simulasi kuantum.
Sejumlah besar pustaka yang berbeda digunakan untuk mengembangkan algoritma MO. Banyak
dari mereka ditulis dengan Python . Tetapi tidak semua dari mereka mendukung bekerja dengan CUDA. Alat Python untuk pembelajaran mesin scikit-belajar dan panda adalah contoh dari alat tersebut. Untuk menjalankan kode Python dalam arsitektur CUDA, peneliti menggunakan pustaka Numba atau PyCUDA yang terpisah. Pada saat yang sama, kode beberapa komponen harus
ditulis ulang secara manual, yang sulit, karena Anda perlu mengetahui fitur pemrograman untuk GPU.
Solusi Nvidia
Dalam upaya untuk mengotomatisasi porting kode, Nvidia telah meluncurkan platform Rapids baru yang terbuka. Pengembang tidak perlu menggunakan perpustakaan yang berbeda: mereka hanya menulis kode dengan Python, dan Rapids secara otomatis mengoptimalkannya untuk berjalan pada GPU.
Untuk memetakan proses, Rapids menggunakan database umum, yang terletak pada memori GPU. Data disimpan dalam
format Apache Arrow, yang umum untuk semua alat platform. Solusi ini membantu mempercepat proses pembelajaran mesin hingga 50 kali dibandingkan sistem yang menggunakan grafis dan prosesor terpusat.
Pada saat yang sama, alat tersedia di platform Rapids dengan bantuan yang seluruh proses bekerja dengan jaringan saraf dapat dilakukan pada chip grafis: dari persiapan data hingga keluaran hasilnya.
Jumlah solusi dalam
repositori GitHub Rapids secara aktif diisi ulang. Misalnya, ada pustaka
cuDF untuk menyiapkan data dan melatih jaringan saraf, dan pustaka
cuML memungkinkan
Anda untuk mengembangkan algoritma pembelajaran mesin tanpa masuk ke detail pemrograman untuk CUDA.
Nvidia akan terus mengembangkan platform. Pencipta rencana proyek untuk menambahkan alat untuk visualisasi data, analisis grafik dan pembelajaran mendalam ke Rapids. Program ini juga
mengintegrasikan kerangka kerja Apache Spark.
Apa yang mereka pikirkan tentang platform
Komunitas teknologi mendukung rilis Rapids, tetapi pengembangan lebih lanjutnya menimbulkan beberapa pertanyaan dari para ahli dan pengguna.
Misalnya, manajer dari Cisco, Dell, NetApp, Lenovo, dan perusahaan lain berbicara untuk mendukung solusi baru. CEO Anaconda, Scott Collison
mengatakan Rapids akan menyederhanakan pengumpulan dan persiapan data untuk pelatihan sistem AI yang kompleks. Pencipta Apache Arrow dan panda, Wes McKinney, setuju dengannya. Menurutnya, Rapids akan mengarah pada peningkatan produktivitas dalam tugas-tugas yang terkait dengan pembuatan fitur (
fitur engineering ).
/ foto Sander van der Wel CCNamun, masyarakat juga
berpendapat bahwa Rapids tidak dapat dianggap sebagai proyek open source. Sistem hanya bekerja dengan kartu Nvidia, dan rilis platform mungkin merupakan langkah pemasaran untuk menarik pelanggan baru. Perusahaan belum menentukan apakah platform akan bekerja dengan perangkat dari produsen lain.
Siapa yang sudah menggunakan Rapids
IBM
berencana untuk mengimplementasikan platform dalam layanan untuk bekerja dengan sistem kecerdasan buatan: PowerAI, Watson dan IBM Cloud. Oracle juga mengumumkan dukungan untuk Rapids - sebuah platform yang
tersedia di infrastruktur Oracle Cloud.
Produk baru Nvidia juga telah diuji oleh Walmart dan Uber. Rapids pertama
membantu meningkatkan algoritma sistem yang bertanggung jawab untuk manajemen persediaan. Menurut perwakilan dari pengecer, Rapids telah mempercepat penyebaran algoritma pembelajaran mesin. Adapun Uber, perusahaan
menggunakan Rapids dalam pengembangan sistem kendaraan tak berawak.
Solusi alternatif
Tidak hanya Nvidia yang mengembangkan platform untuk mempercepat MO. Misalnya, AMD terlibat dalam proyek
ROCm (Radeon Open Compute). Ini adalah platform terbuka untuk komputasi berkinerja tinggi pada GPU.
Fitur ROCm adalah bahwa ia tidak bergantung pada bahasa pemrograman dan mampu bekerja dengan hampir semua kartu video. Termasuk dengan kartu Nvidia. Untuk ini
, dialek C ++ khusus yang disebut HIP digunakan. Ini menyederhanakan konversi aplikasi CUDA ke kode C ++ portabel. Kode ini dikonversi secara otomatis oleh sistem Hipify khusus.
Pada saat yang sama, ROCm
mendukung sejumlah besar Perpustakaan Akselerasi Matematika. Di antara mereka, BLAS, FFT, dan
konvolusi tensor dapat dibedakan.
Pakar industri TI menunjukkan bahwa solusi open source untuk mempercepat komputasi heterogen dan GPU, seperti ROCm dan Rapids, memberi pengembang kesempatan untuk menggunakan sumber daya komputasi lebih efisien dan mendapatkan lebih banyak kinerja dari perangkat keras yang tersedia.
PS Beberapa bahan dari Blog IaaS Perusahaan Pertama:
PPS Secara singkat tentang teknologi IaaS - di
saluran Telegram kami: