
Graphics processing unit (GPU) adalah contoh utama bagaimana teknologi yang dirancang untuk tugas-tugas pemrosesan grafis telah menyebar ke area yang tidak terkait komputasi kinerja tinggi. GPU modern adalah jantung dari banyak proyek kompleks di bidang pembelajaran mesin dan analisis data. Dalam artikel ulasan kami, kami akan menjelaskan bagaimana pelanggan Selectel menggunakan peralatan dengan GPU dan berpikir tentang masa depan sains data dan perangkat komputasi bersama dengan guru dari Yandex Data Analysis School.
GPU telah banyak berubah selama sepuluh tahun terakhir. Selain peningkatan luar biasa dalam produktivitas, ada pemisahan perangkat berdasarkan jenis penggunaan. Jadi, kartu video untuk sistem permainan rumahan dan instalasi realitas virtual menonjol dalam arah yang terpisah. Perangkat yang sangat khusus dan sangat kuat muncul: untuk sistem server, salah satu akselerator terkemuka adalah
NVIDIA Tesla P100 , yang dirancang khusus untuk penggunaan industri di pusat data. Selain GPU, penelitian sedang dilakukan di bidang menciptakan jenis prosesor baru yang meniru otak. Contohnya adalah platform chip tunggal
Kirin 970 dengan prosesor neuromorfiknya sendiri untuk tugas-tugas yang berkaitan dengan jaringan saraf dan pengenalan pola.
Situasi ini membuat Anda berpikir tentang masalah-masalah berikut:
- Mengapa bidang analisis data dan pembelajaran mesin menjadi sangat populer?
- Bagaimana GPU mendominasi pasar peralatan intensif data?
- Penelitian apa di bidang analisis data yang paling menjanjikan dalam waktu dekat?
Mari kita coba menangani masalah ini secara berurutan, mulai dengan prosesor video sederhana pertama dan berakhir dengan perangkat modern berkinerja tinggi.
Usia GPU
Pertama, mari kita ingat apa itu GPU. Graphics Processing Unit adalah prosesor grafis yang banyak digunakan di sistem desktop dan server. Fitur khas dari perangkat ini adalah fokusnya pada komputasi paralel paralel. Tidak seperti GPU, arsitektur CPU lain (Central Processor Unit) dirancang untuk pemrosesan data berurutan. Jika jumlah inti dalam CPU biasa diukur dalam lusinan, maka dalam GPU mereka dihitung dalam ribuan, yang memaksakan pembatasan pada jenis perintah yang dieksekusi, tetapi memberikan kinerja komputasi yang tinggi dalam tugas yang melibatkan paralelisme.
Langkah pertama
Pengembangan prosesor video pada tahap awal sangat terkait dengan meningkatnya kebutuhan akan perangkat komputasi yang terpisah untuk memproses grafis dua dan tiga dimensi. Sebelum munculnya sirkuit pengontrol video individu di tahun 70-an, output gambar dilakukan melalui penggunaan logika diskrit, yang memengaruhi peningkatan konsumsi daya dan ukuran besar papan sirkuit cetak. Sirkuit mikro khusus memungkinkan untuk memilih pengembangan perangkat yang dirancang untuk bekerja dengan grafis dalam arah yang terpisah.
Acara revolusioner berikutnya adalah munculnya kelas baru perangkat yang lebih kompleks dan multifungsi - prosesor video. Pada tahun 1996, 3dfx Interactive meluncurkan chipset Voodoo Graphics, yang dengan cepat menguasai 85% pasar untuk perangkat video khusus dan menjadi pemimpin di bidang grafis 3D saat itu. Setelah serangkaian keputusan yang gagal oleh manajemen perusahaan, di antaranya adalah pembelian dari produsen kartu video STB, 3dfx kehilangan kejuaraan karena NVIDIA dan ATI (kemudian AMD), dan pada tahun 2002 dinyatakan bangkrut.
Komputasi GPU umum
Pada tahun 2006, NVIDIA mengumumkan perilisan lini produk seri GeForce 8, yang menandai awal dari kelas baru perangkat yang dirancang untuk komputasi umum pada GPU (GPGPU). Selama pengembangan, NVIDIA sampai pada kesimpulan bahwa sejumlah besar core yang beroperasi pada frekuensi yang lebih rendah lebih efektif untuk beban paralel daripada sejumlah kecil core yang lebih produktif. Generasi baru prosesor video memberikan dukungan untuk komputasi paralel tidak hanya untuk memproses streaming video, tetapi juga untuk masalah yang terkait dengan pembelajaran mesin, aljabar linier, statistik, dan tugas ilmiah atau komersial lainnya.

Pemimpin yang diakui
Perbedaan dalam pengaturan awal tugas untuk CPU dan GPU menyebabkan perbedaan signifikan dalam arsitektur perangkat - frekuensi tinggi versus multi-core. Untuk GPU, ini telah meletakkan potensi komputasi, yang sedang direalisasikan sepenuhnya saat ini. Prosesor video dengan jumlah core komputasi yang lebih lemah mengesankan melakukan pekerjaan komputasi paralel yang sangat baik. Prosesor sentral, yang secara historis dirancang untuk bekerja dengan tugas berurutan, tetap yang terbaik di bidangnya.
Sebagai contoh, kami membandingkan nilai-nilai dalam kinerja prosesor pusat dan grafis melakukan tugas bersama dalam jaringan saraf - perkalian matriks orde tinggi. Kami memilih perangkat berikut untuk pengujian:
- CPU Intel Xeon E5-2680 v4 - 28 utas dengan HyperThreading, 2,4 GHZ;
- GPU NVIDIA GTX 1080 - 2560 CUDA Cores, 1607 Mhz, 8GB GDDR5X.
Kami menggunakan contoh penghitungan perkalian matriks dengan CPU dan GPU di Notebook Jupyter:

Dalam kode di atas, kami mengukur waktu yang diperlukan untuk menghitung matriks dengan urutan yang sama pada pusat atau GPU ("Runtime"). Data dapat direpresentasikan dalam bentuk grafik di mana sumbu horizontal menampilkan urutan matriks yang dikalikan, dan sumbu vertikal menunjukkan waktu eksekusi dalam detik:
Garis grafik, disorot dalam warna oranye, menunjukkan waktu yang diperlukan untuk membuat data dalam RAM konvensional, mentransfernya ke memori GPU dan perhitungan selanjutnya. Garis hijau menunjukkan waktu yang diperlukan untuk menghitung data yang telah dihasilkan dalam memori kartu video (tanpa mentransfernya dari RAM). Biru menampilkan waktu penghitungan pada prosesor pusat. Matriks urutan kurang dari 1000 elemen dikalikan dengan GPU dan CPU dalam waktu yang hampir bersamaan. Perbedaan dalam kinerja dimanifestasikan dengan matriks yang lebih besar dari 2000 hingga 2000, ketika waktu komputasi pada CPU melonjak menjadi 1 detik, dan GPU tetap mendekati nol.Tugas yang lebih kompleks dan praktis lebih efektif diselesaikan pada perangkat dengan prosesor grafis daripada tanpa mereka. Karena masalah yang diselesaikan oleh pelanggan kami pada peralatan GPU sangat beragam, kami memutuskan untuk mencari tahu kasus penggunaan apa yang paling populer.
Siapa di Selectel yang hidup baik dengan GPU?
Opsi pertama yang langsung muncul di benak dan ternyata merupakan tebakan yang tepat adalah menambang, tetapi menarik untuk dicatat bahwa beberapa menggunakannya sebagai cara tambahan untuk memuat peralatan ke "maksimum". Dalam hal menyewa server khusus dengan kartu video, waktu luang dari beban kerja digunakan untuk menambang cryptocurrency yang tidak memerlukan instalasi khusus (pertanian) untuk kwitansi mereka.
Setelah menjadi agak klasik, tugas-tugas yang berkaitan dengan pemrosesan grafis dan rendering selalu menemukan tempat mereka di server Selectel dengan akselerator grafis. Menggunakan peralatan berkinerja tinggi untuk tugas-tugas semacam itu memungkinkan Anda untuk mendapatkan solusi yang lebih efektif daripada mengatur workstation khusus dengan kartu video.
Selama percakapan dengan pelanggan kami, kami juga bertemu dengan perwakilan dari Sekolah Analisis Data Yandex, yang menggunakan fasilitas Selectel untuk mengatur lingkungan pendidikan uji. Kami memutuskan untuk mempelajari lebih lanjut tentang apa yang dilakukan siswa dan guru, bidang pembelajaran mesin apa yang sekarang populer dan apa yang akan terjadi di masa depan untuk industri setelah spesialis muda bergabung dengan barisan organisasi terkemuka atau meluncurkan perusahaan rintisan mereka.
Ilmu data
Mungkin, di antara pembaca kita tidak akan ada orang yang tidak akan mendengar ungkapan "jaringan saraf" atau "pembelajaran mesin". Setelah membuang variasi pemasaran pada subjek kata-kata ini, residu kering diperoleh dalam bentuk ilmu data yang muncul dan menjanjikan.
Pendekatan modern untuk bekerja dengan data mencakup beberapa bidang utama:
- Data besar Masalah utama dalam bidang ini adalah jumlah informasi yang sangat besar yang tidak dapat diproses pada satu server. Dari sudut pandang dukungan infrastruktur, diperlukan untuk memecahkan masalah menciptakan sistem cluster, skalabilitas, toleransi kesalahan, dan penyimpanan data terdistribusi;
- Tugas intensif sumber daya (pembelajaran mesin, pembelajaran mendalam, dan lainnya). Dalam hal ini, muncul pertanyaan tentang penggunaan komputasi berkinerja tinggi, yang membutuhkan sejumlah besar RAM dan sumber daya prosesor. Dalam tugas seperti itu, sistem dengan akselerator grafis digunakan secara aktif.
Batas antara data arah secara bertahap dihapus: alat utama untuk bekerja dengan data besar (Hadoop, Spark) menerapkan dukungan untuk komputasi GPU, dan tugas pembelajaran mesin mencakup area baru dan membutuhkan lebih banyak data. Guru dan siswa Sekolah Analisis Data akan membantu kita memahami lebih detail.

Sulit untuk melebih-lebihkan pentingnya pekerjaan yang kompeten dengan data dan implementasi yang sesuai dari alat analitik canggih. Ini bahkan bukan tentang data besar, "danau" atau "sungai", tetapi tentang interaksi intelektual dengan informasi. Apa yang terjadi sekarang adalah situasi yang unik: kita dapat mengumpulkan berbagai informasi dan menggunakan alat dan layanan canggih untuk analisis mendalam. Bisnis ini memperkenalkan teknologi semacam itu tidak hanya untuk memperoleh analitik canggih, tetapi juga untuk menciptakan produk unik di industri apa pun. Ini adalah poin terakhir yang sebagian besar membentuk dan merangsang pertumbuhan industri analisis data.
Arah baru
Di mana-mana kita dikelilingi oleh informasi: mulai dari log perusahaan Internet dan operasi perbankan hingga kesaksian dalam percobaan di Large Hadron Collider. Kemampuan untuk bekerja dengan data ini dapat mendatangkan jutaan keuntungan dan memberikan jawaban untuk pertanyaan mendasar tentang struktur Alam Semesta. Oleh karena itu, analisis data telah menjadi bidang penelitian terpisah di antara komunitas bisnis dan ilmiah.
Sekolah analisis data mempersiapkan spesialis dan ilmuwan khusus terbaik yang di masa depan akan menjadi sumber utama perkembangan ilmiah dan industri di bidang ini. Perkembangan industri juga memengaruhi kami sebagai penyedia infrastruktur - semakin banyak pelanggan yang meminta konfigurasi server untuk tugas analisis data.
Spesifikasi tugas yang dihadapi pelanggan kami bergantung pada peralatan apa yang harus kami tawarkan kepada pelanggan kami dan ke arah mana lini produk kami harus dikembangkan. Bersama dengan Stanislav Fedotov dan Oleg Ivchenko, kami mewawancarai siswa dan guru Sekolah Analisis Data dan menemukan teknologi apa yang mereka gunakan untuk memecahkan masalah praktis.

Teknologi Analisis Data
Selama pelatihan, siswa dari dasar-dasar (matematika, algoritma dan pemrograman lebih tinggi dasar) mencapai bidang pembelajaran mesin yang paling canggih. Kami mengumpulkan informasi tentang mereka yang menggunakan server dengan GPU:
- Pembelajaran yang mendalam;
- Pelatihan penguatan;
- Visi komputer;
- Pengolah kata otomatis.
Siswa menggunakan alat khusus dalam tugas dan studi studi mereka. Beberapa perpustakaan dirancang untuk membawa data ke formulir yang diperlukan, sementara yang lain dirancang untuk bekerja dengan jenis informasi tertentu, misalnya, teks atau gambar. Pembelajaran mendalam adalah salah satu bidang yang paling menantang dalam analisis data yang memanfaatkan jaringan saraf secara luas. Kami memutuskan untuk mencari tahu guru dan siswa mana yang menggunakan kerangka kerja untuk bekerja dengan jaringan saraf.

Alat yang disajikan memiliki dukungan yang berbeda dari pencipta, tetapi bagaimanapun, mereka terus digunakan secara aktif untuk tujuan pelatihan dan kerja. Banyak dari mereka membutuhkan peralatan produktif untuk menangani tugas dalam kerangka waktu yang memadai.
Pengembangan dan proyek lebih lanjut
Seperti ilmu pengetahuan lainnya, arah analisis data akan berubah. Pengalaman yang diperoleh siswa hari ini tidak diragukan lagi akan membentuk dasar dari perkembangan masa depan. Oleh karena itu, perlu dicatat secara terpisah orientasi praktis yang tinggi dari program - beberapa siswa, ketika belajar atau setelah, mulai magang di Yandex dan menerapkan pengetahuan mereka pada layanan dan layanan nyata (pencarian, visi komputer, pengenalan suara, dan lain-lain).
Kami berbicara tentang masa depan analisis data dengan para guru Sekolah Analisis Data, yang berbagi dengan kami visi mereka tentang pengembangan ilmu data.
Menurut
Vlad Shahuro , seorang guru dari kursus "Analisis Gambar dan Video", tugas paling menarik dalam visi komputer adalah memastikan keamanan di tempat-tempat ramai, mengendarai kendaraan tak berawak dan membuat aplikasi menggunakan augmented reality. Untuk mengatasi masalah ini, perlu untuk dapat menganalisis data video secara kualitatif dan mengembangkan terutama algoritma untuk mendeteksi dan melacak objek, mengenali seseorang dengan wajah dan rekonstruksi tiga dimensi dari pemandangan yang diamati. Dosen
Victor Lempitsky , kursus terkemuka pelatihan mendalam, memilih auto-encoders, serta jaringan generatif dan kompetitif, ke arahnya.
Salah satu mentor dari School of Data Analysis membagikan pendapatnya tentang diseminasi dan mulai penggunaan pembelajaran mesin secara massal:
โPembelajaran mesin, dari banyak peneliti yang terobsesi, berubah menjadi alat lain untuk pengembang rata-rata. Sebelumnya (misalnya, pada 2012), orang menulis kode tingkat rendah untuk melatih jaringan konvolusional pada sepasang kartu video. Sekarang, siapa pun bisa dalam hitungan jam:
- mengunduh bobot dari jaringan saraf yang sudah terlatih (misalnya, dalam keras);
- menjadikannya sebagai solusi untuk tugas Anda ( fine-tuning, zero-shot learning );
- sematkan di situs web atau aplikasi seluler Anda (tensorflow / caffe 2).
Banyak perusahaan besar dan perusahaan pemula telah memenangkan strategi semacam itu (misalnya, Prisma), tetapi masih ada lebih banyak masalah yang harus ditemukan dan diselesaikan. Dan mungkin seluruh mesin / kisah pembelajaran yang dalam ini suatu hari akan menjadi hal biasa seperti python atau excel sekarang. โMenurut
Oleg Ivchenko , administrator infrastruktur server ShAD, sumber daya standar untuk pembelajaran mendalam pada set data standar (misalnya, CIFAR, MNIST) memerlukan sumber daya berikut:
- 6 core CPU;
- RAM 16 Gb;
- 1 kartu GPU dengan memori video 6-8 Gb. Ini cocok dengan kartu grafis seperti PNY NVIDIA GeForce GTX 1060 atau MSI GeForce GTX 1070.
Tidak ada yang dapat secara akurat memprediksi teknologi masa depan hari ini, tetapi ketika ada vektor gerakan tertentu, Anda dapat memahami apa yang harus dipelajari sekarang. Dan ada banyak peluang untuk ini di dunia modern.
Peluang untuk pemula
Studi analisis data dibatasi oleh persyaratan tinggi untuk siswa: pengetahuan luas di bidang matematika dan algoritma, kemampuan program. Tugas pembelajaran mesin yang benar-benar serius membutuhkan peralatan khusus. Dan bagi mereka yang ingin belajar lebih banyak tentang komponen teoritis ilmu data, Sekolah Analisis Data, bersama dengan
Sekolah Tinggi Ekonomi , meluncurkan kursus online "
Pengantar Pembelajaran Mesin ".
Alih-alih sebuah kesimpulan
Pertumbuhan pasar GPU disediakan oleh minat yang tumbuh pada kemampuan perangkat tersebut. GPU digunakan dalam sistem permainan rumahan, tugas rendering dan pemrosesan video, serta di mana komputasi kinerja tinggi umum diperlukan. Aplikasi praktis tugas penambangan data akan menembus lebih dalam ke dalam kehidupan kita sehari-hari. Dan pelaksanaan program-program semacam itu paling efektif dilakukan dengan tepat menggunakan GPU.
Kami berterima kasih kepada para pelanggan kami, serta para guru dan siswa Sekolah Analisis Data untuk persiapan bersama materi ini, dan mengundang pembaca kami untuk mengenal mereka
lebih baik .
Dan berpengalaman dan canggih dalam bidang pembelajaran mesin, analisis data, dan tidak hanya kami menawarkan untuk melihat
penawaran dari Selectel untuk menyewa peralatan server dengan akselerator grafis: dari GTX 1080 sederhana ke Tesla P100 dan K80 untuk tugas yang paling berat.