13 poin oleh xguru 2021-10-02 | 1 komentar | Bagikan ke WhatsApp
<p>Jika diminta menyebut perusahaan IT dengan kenaikan harga saham terbesar di dunia selama 10 tahun terakhir, Apple dan NVIDIA bisa menjadi jawabannya. Apple benar-benar telah mendominasi pasar smartphone premium selama lebih dari satu dekade sejak kemunculan iPhone, dan NVIDIA mengalami lonjakan harga saham seiring pertumbuhan eksplosif pasar GPU gaming berperforma tinggi, serta akselerator untuk deep learning dan penambangan kripto sejak pertengahan 2010-an. <br /> <br /> NVIDIA adalah perusahaan yang pertama kali memperkenalkan GPU dalam arti sesungguhnya (merek GeForce) ke dunia pada 1999. Tentu saja, dari akhir 1990-an hingga akhir 2000-an, bisnis yang menjadi fokus NVIDIA adalah GPU gaming berperforma tinggi. Namun, seolah telah meramalkan datangnya era AI, pada 2007 NVIDIA memperkenalkan GUGPU (or GPGPU) ke dunia. Pasar yang ingin diciptakan NVIDIA bukan sekadar pasar kartu grafis berperforma tinggi untuk game, melainkan pasar akselerator serbaguna (general purpose). Strategi NVIDIA untuk mendorong pertumbuhan pasar adalah merilis CUDA, SDK yang memungkinkan para pengembang desain chip di seluruh dunia memanfaatkan GUGPU mereka, dan strategi itu berhasil. Ditambah dengan openCL yang berjalan berdampingan, GPU benar-benar memasuki era GUGPU, dan NVIDIA perlahan keluar dari pasar kartu grafis gaming untuk sungguh-sungguh masuk ke pasar akselerator.<br /> <br /> Seperti yang sudah dikenal luas, perbedaan terbesar antara CPU dan GPU adalah serial vs parallel. GPU mengintegrasikan core dalam jumlah yang jauh lebih banyak daripada CPU. Lalu operasi seperti perkalian dan penjumlahan yang ingin diproses secara paralel didistribusikan ke masing-masing core dan diselesaikan "dalam sekejap". Sebaliknya, CPU, karena arsitekturnya, mau tak mau harus menerima data secara serial untuk menghasilkan keluaran, sehingga tentu kecepatan komputasinya tidak bisa dibandingkan dengan pemrosesan paralel GPU. Ada satu hal yang tidak boleh disalahpahami di sini. Mungkin muncul pertanyaan, "Kalau begitu kenapa harus membeli CPU yang mahal? Kenapa tidak semua memakai GPU saja?" Sebenarnya, analoginya mirip seperti seorang perajin membuat ukiran. Jika satu perajin menghabiskan satu bulan sendirian untuk memahat kayu, mengecat, dan menghaluskannya, itu bisa dianalogikan sebagai CPU. Sementara jika sang perajin membagi pekerjaan kepada 10 muridnya sehingga dalam satu bulan bisa menghasilkan 10 karya ukiran, itu bisa dianalogikan sebagai GPU. Ini bisa dilihat sebagai perbedaan antara industri rumahan dan pembagian kerja. Mari bandingkan dengan sedikit lebih akurat. Sebenarnya, alasan GPU mendapat sorotan karena performa komputasi paralelnya sejak pertengahan hingga akhir 2000-an adalah desain chip yang memungkinkan setiap core yang tersebar di GPU melakukan perhitungan serupa secara bersamaan, lalu mengumpulkan hasilnya sekaligus untuk dikeluarkan. Misalnya, bayangkan operasi mengalikan matriks B = [5*5] dan matriks C = [5*1]. Jika operasi ini dijalankan di CPU, maka <br /> <br /> for ii=1:jumlah baris<br /> for jj=1:jumlah kolom<br /> A = B(ii,jj)*C(jj);<br /> A(ii) = A(ii) + A;<br /> end<br /> end<br /> <br /> seperti itu, perlu menjalankan for loop dua kali. Namun, jika operasi ini dijalankan di GPU, kita hanya perlu membagikan indeks setiap elemen matriks B dan setiap elemen matriks C ke core GPU masing-masing. Misalnya, perkalian matriks B*C membutuhkan operasi mengalikan setiap elemen sebanyak 5*5 = 25 kali, dan elemen B(i,j) serta elemen C(k) cukup dialokasikan terlebih dahulu ke core ke-[jumlah baris*(i-1) + j] di GPU. Setelah itu, setiap core hanya menjalankan operasi perkalian yang dibagikan kepadanya, lalu hasilnya dikumpulkan di memori dan hanya perlu tambahan operasi penjumlahan. Artinya, selama urutan bagaimana membagi dan mengumpulkannya sudah ditentukan dengan baik sebelumnya, operasi berulang berupa perkalian/penjumlahan sederhana akan jauh lebih cepat di GPU. CPU, dibanding GPU, hampir tidak mungkin melakukan operasi paralel seperti ini, tetapi dapat memiliki lebih banyak digit floating point. Artinya, CPU dapat melakukan perhitungan presisi lebih baik daripada core individual GPU, sehingga perhitungan ALU yang memerlukan akurasi tentu jauh lebih baik dilakukan CPU daripada GPU. Namun, kebanyakan perhitungan berulang tidak memerlukan presisi setinggi itu, sehingga komputasi paralel GPU jauh lebih menguntungkan.<br /> <br /> Mengapa GPGPU yang dioptimalkan untuk paralelisasi seperti ini justru semakin mendapat sorotan setelah pertengahan 2010-an, ketika era AI, khususnya deep learning, benar-benar dimulai? Jika memahami bagaimana deep learning bekerja sejak awal, hal ini mudah dimengerti. Salah satu operasi dasar yang dipelajari pada tahap awal saat mempelajari deep learning adalah convolution. Convolution adalah operasi matriks yang menerapkan kernel, yaitu matriks lain, pada input data berbentuk matriks sambil menggeser posisinya. Jika diperhatikan, ini pada dasarnya hanyalah pengulangan operasi mengalikan dan menjumlahkan elemen-elemen matriks. Tentu saja, hasil matriks input akan berubah tergantung kernel apa yang digunakan. Misalnya, seperti yang juga dibahas dalam kuliah pemrosesan citra, jika menggunakan kernel Laplacian, akan muncul fungsi yang memungkinkan pendeteksian batas gambar, gradien batas, atau pembedaan pola. Apa pun jenis kernel-nya, karena proses convolution pada akhirnya tetap mengulang operasi perkalian/penjumlahan sederhana seperti ini, maka wajar bila GUGPU, yang memiliki desain khusus untuk hal tersebut, berada pada posisi yang jauh lebih menguntungkan. Selain itu, jika memikirkan bagaimana pelatihan dan inferensi berlangsung dalam deep learning, kita juga bisa memahami mengapa deep learning berbasis CPU sejak awal nyaris mustahil. Seperti sudah dijelaskan sebelumnya, GPU tidak menuntut presisi setinggi CPU dan memang tidak dirancang untuk itu. Proses mempelajari training data dengan deep learning mirip seperti seseorang yang matanya ditutup mencari jalan hanya dengan menggunakan tangan dan kaki. Jika beruntung, tangan yang direntangkan mungkin menyentuh benda yang bisa dijadikan penanda, tetapi jika sial, kaki yang melangkah bisa saja justru menginjak jebakan. Artinya, setiap kali melakukan trial pasti akan muncul error, dan sejak awal akurasi atau presisi error itu sebenarnya tidak terlalu penting. Bahkan, jika terlalu fokus pada presisi error itu saja, kecepatan pembelajaran justru akan melambat. Jika dibandingkan, siapa yang lebih cepat menemukan jalan: orang yang melakukan trial-and-error 100 kali per detik, atau orang yang hanya melakukan satu successful trial yang sangat hati-hati per detik? Jawabannya akan jelas. Cara belajar deep learning seperti ini sangat cocok dengan arsitektur tempat GPU dirancang, dan karena itulah kini GPU mulai dipandang bukan lagi sebagai mesin untuk game berperforma tinggi, melainkan sebagai mesin akselerator untuk deep learning.<br /> <br />

Satu hal yang tidak boleh diabaikan di sini adalah bahwa GUGPU tetap dioptimalkan juga untuk meningkatkan performa game. Jika mengingat bahwa sejak awal GPU memiliki performa yang terspesialisasi untuk pemrosesan matriks, ini tentu saja masuk akal. Pada game sebelum awal 1990-an, sebenarnya hampir tidak ada konsep gambar 3D, dan kalaupun ada, bentuknya hanya menampilkan proyeksi 2D dari arah tertentu secara terus-menerus. Praktis bisa dianggap sepenuhnya 2D only. Dalam operasi aljabar linear terkait matriks, matriks dua dimensi sebenarnya termasuk perhitungan yang mudah. Namun masalahnya adalah operasi matriks tiga dimensi. Dunia tempat kita hidup adalah tiga dimensi, dan semua fenomena fisik yang kita lihat, dengar, dan rasakan terjadi dalam ruang 3 dimensi + waktu 1 dimensi. Setiap detik, peristiwa dalam ruang tiga dimensi berubah dari waktu ke waktu, tetapi mata kita harus memetakan informasi itu secara paksa ke dua dimensi untuk dapat mengenalinya. Inilah sebabnya otak manusia memakai sumber daya yang sangat besar untuk memproses informasi visual. Hal yang sama juga berlaku untuk komputasi. Bayangkan pekerjaan menampilkan citra suatu objek tiga dimensi pada ruang dua dimensi yang kita lihat, yakni di atas monitor. Misalnya, gambar boneka yang tersusun dari poligon 3D dan dilihat dari sudut tertentu harus ditampilkan pada monitor 2D. Untuk melakukan ini, diperlukan operasi transformasi matriks (matrix transformation). Harus dilakukan operasi seperti transformasi rotasi, stretching, dan pemrosesan titik hilang. Jika ingin melangkah sedikit lebih jauh, ray tracing juga harus dilakukan. Artinya, efek cahaya dan bayangan juga harus diperhitungkan, dan perhitungan ini membutuhkan komputasi yang jauh lebih besar. Sebab operasi optika geometri harus diterapkan pada setiap titik partikel dari semua poligon. Dan perhitungan sebesar ini harus dilakukan bukan sekali per detik, melainkan setidaknya sekitar 30 hingga 60 kali, agar mata manusia mengenali fenomena ini sebagai sesuatu yang berlangsung secara alami dan real-time. Bagi insinyur ilmu komputer, ini pastilah tugas yang benar-benar seperti mimpi buruk. Jika pekerjaan seperti ini dilakukan dengan CPU pada awal 1990-an, mungkin paling banter hanya bisa menampilkan satu adegan per menit. Bagi gamer yang tidak sabaran, itu menjadi lag yang tak tertahankan. Namun karena GPU dapat memproses komputasi berulang semacam ini secara paralel berbasis matriks, CPU kini tidak lagi harus menanggung beban pekerjaan ini sendirian. Sebagian besar operasi transformasi matriks dan operasi optika geometri ray tracing ditangani GPU, sementara CPU hanya menangani komputasi lanjutan setelahnya. Dengan kata lain, dari sudut pandang gamer, komputasi ini kini terasa seperti telah "dipercepat". Karena itulah muncul pula sebutan akselerator.<br /> <br /> Jika datanya dapat direpresentasikan berbasis matriks seperti ini, baik itu gambar 3D resolusi tinggi untuk game, 3D voxel data untuk medis, maupun multi-feature tensor data untuk pelatihan deep learning, tidak berlebihan untuk mengatakan bahwa masa kejayaan GUGPU benar-benar telah mencapai puncaknya. Namun masalahnya adalah keunggulan GUGPU sekaligus juga menjadi kelemahannya. Cara meningkatkan kecepatan pemrosesan paralel adalah dengan menambah jumlah core atau mempercepat kecepatan I/O informasi antarkore. Untuk itu, memori bisa diintegrasikan dengan masing-masing core, atau bandwidth bisa ditingkatkan. Namun ada satu biaya yang tidak berubah: konsumsi daya ikut meningkat sebesar itu juga. Selain daya yang dikonsumsi core itu sendiri, daya untuk pendinginan juga bertambah karena energi yang dipakai core pada akhirnya berubah menjadi panas dan harus didinginkan. Selain itu, proses panas-pendingin yang berulang juga memengaruhi umur chip. GPU juga merupakan chip semikonduktor berbasis silikon, sehingga pada akhirnya penggunaan daya dan komputasi yang terkonsentrasi akan memperpendek umur material dan komponen yang membentuk core. Hal ini karena dapat terjadi mechanical failure, thermal failure, dan electrical failure. Cerita bahwa umur GUGPU yang digunakan di ladang penambangan blockchain yang dioperasikan nyaris seperti pabrik bahkan tidak sampai 6 bulan bukanlah omong kosong, dan high performance GPU yang dipakai di warnet biasa pun umurnya umumnya hanya 2 tahun, atau paling lama 3-4 tahun. Tentu saja, masalah umur ini tersamarkan karena sebelum umur itu habis sudah muncul GPU generasi berikutnya, tetapi tetap saja umur pakainya yang lebih pendek daripada CPU adalah kelemahan yang harus diterima.<br /> <br /> Meski demikian, era AI baru saja mulai tumbuh dan hendak berkembang pesat, dan tanpa menggunakan akselerator seperti GPU, tidak ada cara untuk menangani komputasi sebanyak itu. Namun jika hanya bergantung pada GPU, konsumsi listrik GPU untuk pelatihan akan terus melonjak tajam. Tentu dibutuhkan alternatif untuk ini, dan salah satu solusi yang muncul dari akhir 2010-an hingga memasuki 2020-an adalah FPGA dan NPU. Pada 2019, AMD, yang bersama Intel membentuk dua raksasa produsen CPU, secara mengejutkan mengakuisisi Xilinx, perusahaan FPGA nomor satu di dunia. Pandangan industri saat itu adalah bahwa hal yang memang sudah lama diperkirakan akhirnya terjadi, dan itu wajar, karena pesaingnya, Intel, sudah lebih dulu mengakuisisi Altera, pemain nomor dua di pasar FPGA, pada 2015 dengan nilai 16,7 miliar dolar AS. Mengapa raksasa tradisional manufaktur CPU bersaing mengakuisisi FPGA yang karakternya berbeda dari CPU? FPGA secara harfiah adalah chip komputasi yang dapat di-reprogramming oleh pengguna sesuai tujuan saat itu. Bahwa pengguna dapat memprogram ulang berarti chip itu hanya menyisakan fungsi minimum yang diperlukan agar dapat beroperasi, sementara susunan atau desain unit lainnya bisa diubah oleh pengguna. Karena itu, dibanding chip semikonduktor yang diproduksi lewat proses standar seperti CPU atau DRAM, biayanya tentu mau tidak mau lebih mahal. Sebab degree of freedom harus dibuat lebih besar. Sebelum era deep learning, karena alasan inilah chip berbasis FPGA terutama digunakan untuk tujuan khusus, seperti pembangkit listrik tenaga nuklir atau wahana penjelajah antariksa, dan hampir tidak pernah dipakai untuk keperluan umum.<br /> <br /> Namun ketika era deep learning mulai berjalan penuh, pasar yang semula tampak akan dikuasai GPU tanpa tanding mulai semakin terdiversifikasi. Tren ini tidak sepenuhnya menjadi kabar baik bagi GPU. Misalnya, jika deep learning hanya merupakan kumpulan komputasi yang berulang-ulang melakukan perhitungan konvolusi, mungkin itu tidak akan menjadi masalah. Tetapi seiring meluasnya bidang yang ingin menerapkan deep learning, skala dan karakteristik data yang harus dipelajari oleh engine deep learning juga berubah menjadi jauh lebih beragam. Jika hanya sebatas mengenali angka dari gambar atau membedakan anjing dan kucing, cakupan aplikasinya terbatas. Karena itu, mulai terbuka pasar dengan penggunaan dan spesifikasi yang beragam, seperti memproses bahasa alami, mendeteksi kesalahan dari data proses kimia yang kompleks dengan lebih dari 1.000 feature, merancang jaringan sensor IoT, menginferensikan dan mensimulasikan aliran fluida kompleks di dalam media berpori yang tidak dapat dicakup CFD, atau membangun engine autonomous driving secara real-time. Dari sisi pihak yang ingin menerapkan deep learning ke industri, diversifikasi pasar seperti ini tentu patut disambut baik. Namun bagi pihak yang berusaha menutup semuanya dengan GPU serbaguna, ini menjadi persoalan. Di setiap area aplikasi, bobot kepentingan antara klasifikasi, inferensi, prediksi, atau deteksi berbeda-beda, sehingga semakin sulit untuk terus mempertahankan struktur komputasi yang dioptimalkan bagi algoritme neural network yang seragam untuk semua kasus. Pada awal kemunculan deep learning, karena hardware yang tersedia pada dasarnya hampir hanya GUGPU, para pengembang algoritme deep learning tidak punya pilihan selain membangun algoritme berdasarkan spesifikasi GUGPU yang ada. Namun seiring jenis dan jumlah data yang ditangani deep learning meningkat secara eksponensial, kini justru semakin sering algoritme deep learning memengaruhi desain arsitektur GPU. Contohnya adalah mengunci presisi tiap core GPU pada FP16, atau merancang core dengan toleransi perubahan presisi (multi-presisi). Namun bahkan desain GPU yang didorong deep learning semacam ini pun memiliki batas yang jelas. GPU juga, sekali diproduksi, hampir mustahil mengubah strukturnya dan tidak memiliki ruang untuk di-reprogramming. Bercukur dengan kapak mungkin saja bisa dilakukan, tetapi wajar jika orang akhirnya merindukan pisau cukur yang memang pas di tangan.<br /> <br />

Sebaliknya, semakin diterima di pasar bahwa FPGA mungkin lebih cocok untuk tujuan semacam ini. Seperti telah disebutkan sebelumnya, FPGA dikirimkan kepada pelanggan ketika desain logiknya belum sepenuhnya selesai. Namun, di atasnya disediakan semacam SDK yang dapat diprogram pelanggan sesuai tujuan mereka. Artinya, pelanggan dapat membuat, misalnya, chip deep learning khusus untuk simulasi dinamika fluida sesuai tujuan mereka sendiri; dan bahkan jika pada tahap awal ada kekeliruan desain sehingga tidak berfungsi dengan baik, karena reprogramming dimungkinkan, hal itu dapat diperbaiki sebanyak apa pun, sehingga kerugian biaya pada proses pengujian awal bisa dikurangi. Memang tidak bisa dibandingkan dengan performa pemrosesan paralel pada tingkat perangkat keras yang dicapai GPU, tetapi FPGA juga dapat melakukan pemrosesan paralel, dan ini juga berasal dari karakteristik FPGA. Pada FPGA, pemrosesan paralel dapat diimplementasikan pada level perangkat lunak, sehingga dimungkinkan merancang algoritme yang menerima banyak instruksi (multiple instruction) pada satu inti dan menghasilkan banyak output. Pendekatan ini disebut Multiple instruction multiple data (MIMD). Sementara itu, pada inti individual GPU, aliran data sejak awal disusun sebagai single instruction multiple data (SIMD) agar sesuai dengan kondisi yang paling optimal untuk pemrosesan paralel melalui pekerjaan yang berulang. Jika instruction set tersusun dengan baik dan format data tertata rapi, GPU benar-benar mampu melakukan pemrosesan paralel yang nyaris setingkat dewa pada level perangkat keras, tetapi jika format data berubah atau muncul operasi yang sulit dicakup oleh instruction set yang tersedia, maka GPU tak punya pilihan selain tersendat. Sebaliknya, FPGA memang sulit melakukan pemrosesan paralel pada level perangkat keras, tetapi keunggulan terbesarnya adalah sifatnya yang flexible. Meskipun format data (width) berubah, tidak perlu terikat pada instruction set yang telah define sebelumnya, karena multiple instruction set dapat dimanfaatkan. Karakteristik flexible seperti ini berarti bahwa di era deep learning saat ini, ketika dataset yang makin beragam dan application di sisi ujung semakin mendapat perhatian, prospek pasar FPGA akan meningkat.<br /> <br /> Selain itu, FPGA pada dasarnya tidak perlu menjalankan ribuan inti secara bersamaan (tentu meskipun performanya agak lebih rendah), sehingga dibandingkan GPU, konsumsi dayanya menjadi sangat, sangat rendah (lihat tabel lampiran 1). Tambahan lagi, seiring algoritme deep learning di pasar terus membaik, cara konsumsi daya FPGA juga dapat disesuaikan, sehingga efisiensi energi dapat dioptimalkan kapan saja. Sebab caranya cukup dengan mematikan switch yang tidak diperlukan dan hanya menyalakan switch yang dibutuhkan. Karena alasan inilah, dapat ditafsirkan bahwa Intel dan AMD—yang sebelumnya tidak terlalu berhasil dengan GPU sebelum era deep learning benar-benar dimulai—bergegas mengakuisisi pemain FPGA peringkat 1 dan 2 di industri dengan nilai sangat besar. Tentu saja, Nvidia yang selama ini merupakan raksasa GPU juga tidak tinggal diam. Walaupun FPGA memiliki banyak keunggulan, tetap ada kelemahan fatal dalam deep learning dibandingkan GPU. Yaitu, kecepatan training-nya lebih lambat daripada GPU. Ini adalah kelemahan yang sulit dihindari. Sejak awal, FPGA bukanlah struktur built-in yang sekadar menambah inti yang tersedia secara membabi buta pada level perangkat keras. Intel dan AMD menyusun strategi untuk merebut porsi pasar akselerator AI yang selama ini didominasi GPU melalui FPGA. Intel meluncurkan Agilex dan PAC (programmable acceleration card), sementara AMD (Xilinx) juga telah meluncurkan kartu akselerator Alveo sebagai langkah besar dalam persaingan. Secara khusus, Xilinx bahkan beralih ke produk seperti Versal, yang menggabungkan HBM (high-bandwidth memory) langsung dengan FPGA; ini juga merupakan teknologi yang dimungkinkan karena teknologi pola ultra-halus semikonduktor di bawah 10 nanometer telah mencapai tahap matang (untuk Versal, diproduksi dengan proses 7 nanometer). Setelah Intel mengakuisisi Altera, pendapatan akselerator berbasis FPGA Intel tidak menunjukkan pertumbuhan besar, sedangkan pendapatan Xilinx terus menunjukkan pertumbuhan yang kuat, dan ini juga memperlihatkan bahwa struktur FPGA + HBM ala Xilinx sedikit demi sedikit sedang menutup kesenjangan performa akselerator deep learning. Selain itu, Xilinx juga memperluas pengembangan dengan prosesor xDNN yang dioptimalkan untuk deep neural net, sambil membidik pasar akselerator deep learning yang flexible.<br /> <br /> Sebenarnya, dalam proses pelatihan deep learning, yang sama pentingnya dengan operasi matriks adalah proses mengintegrasikan hasil pembelajaran dari data berkapasitas besar; dan untuk itu, ketika data tersusun berderet, diperlukan proses untuk mengurangi waktu tunggu. Dengan kata lain, mengurangi latensi data menjadi semakin penting, baik dari sisi konsumsi energi maupun dari sisi kecepatan pelatihan. Kartu yang dikeluarkan Nvidia untuk menghadapi kubu FPGA juga tepatnya adalah InfiniBand, teknologi untuk mengurangi latensi data ini. Untuk itu, setelah memenangkan persaingan akuisisi melawan Intel dan AMD, pada 2019 Nvidia mengakuisisi Mellanox—pemimpin global di bidang network-interface card (NIC) dan InfiniBand—seharga 6,9 miliar dolar AS, sehingga dapat mengamankan teknologi optimasi NPU miliknya. Teknologi yang dibidik Nvidia, selain GPU, untuk pasar deep learning dan lebih jauh lagi seluruh pasar akselerator AI adalah SoC serbaguna untuk akselerasi deep learning, Xavier, yang khususnya diposisikan sebagai produk andalan di pasar mobil otonom yang permintaan akselerator AI-nya melonjak pesat. CUDA milik Nvidia juga menyediakan cuDNN yang dioptimalkan untuk deep learning; karena unit-unit yang dibutuhkan hampir semua deep neural net telah diimplementasikan terlebih dahulu, terlepas dari dataset maupun skalanya, dapat dikatakan bahwa Nvidia juga telah mengamankan pijakan pasar ke depan menuju NPU (Neural processing unit). Terutama, karena NPU adalah chip yang telah lebih dulu mengimplementasikan DNN pada level perangkat keras untuk dataset tertentu (secara harfiah, chip yang mengimplementasikan tiap lapisan yang membentuk jaringan deep learning sebagai unit logika berbasis chip silikon dalam korespondensi 1:1. Dengan kata lain, neuron diimplementasikan apa adanya pada level perangkat keras), maka mengingat sifatnya yang cocok untuk diintegrasikan ke mobile AP, kemungkinan besar dominasinya di pasar AP yang akan terus tumbuh juga akan tetap terjaga. NPU dapat dipandang sebagai chip yang fungsinya telah dipatok sampai pada tingkat dapat melakukan "inferensi" di perangkat ujung (misalnya smartphone), alih-alih melakukan inferensi di GPU. Karena GPU yang ukurannya sudah sebesar buku tebal tentu tidak bisa dimasukkan ke dalam smartphone, maka NPU dibuat dengan memaksimalkan struktur yang sudah dilatih sebelumnya dalam bentuk built-in. Jika pelatihan model itu sendiri ditangani oleh server GPU, sementara NPU berbagi peran dengan hanya menangani fungsi menginferensikan karakteristik dari data masukan berdasarkan model yang telah dilatih, maka kini tidak perlu banyak mengonsumsi daya dan juga tidak perlu berukuran besar, sehingga dapat diintegrasikan secara khusus ke smartphone atau chip semikonduktor untuk kendaraan. Ini juga dapat dilihat sebagai strategi untuk mem-bypass flexibility yang selama ini dikejar FPGA. Nvidia justru menargetkan pasar NPU semacam ini dan telah mengumumkan seri Jetson sebagai teknologi setelah Xavier, sekaligus menurunkan harganya lebih jauh.<br /> <br /> Pesaing di pasar NPU kemungkinan besar adalah Google, yang telah mengumumkan Coral, seri TPU (tensor processing unit) hasil desain chip internalnya sendiri, dan mencoba bersaing dalam biaya dengan mematok harga di bawah seperlima Jetson milik Nvidia. Tentu saja, performa dan harga berbanding lurus, dan performa Coral diketahui berada di kisaran 1/5 hingga 1/3 dari Xavier atau Jetson. Namun, TPU yang akan dirilis Google selanjutnya diperkirakan akan digunakan di bidang yang lebih luas berdasarkan umpan balik dari pasar, dan hal ini dapat diasumsikan bertumpu pada daya saing Google dalam kecepatan pembaruan model pembelajaran melalui server cloud GPU yang mereka rancang. Para pemain tradisional mobile AP seperti Samsung dan Qualcomm juga mengambil strategi menyisipkan NPU, karena akibat keterbatasan pola ultra-halus, performa chip AP itu sendiri makin tidak memiliki ruang untuk ditingkatkan. Qualcomm mulai membenamkan NPU sejak seri Snapdragon 845, dan Samsung mulai membenamkan NPU sejak seri Exynos 9. Perusahaan-perusahaan yang ingin mengintegrasikan atau menjalankan NPU secara paralel tentu akan mengamankan data dari chip mobile dan secara bertahap memperluas cakupan penerapannya; pasar berikutnya kemungkinan akan meluas ke semikonduktor otomotif (chip mobil otonom atau chip semikonduktor otomotif), chip untuk pemrosesan sinyal IoT, hingga chip radar kompleks untuk militer.<br /> <br />

Namun ironisnya, persaingan di pasar FPGA dan NPU/TPU/cuDNN tidak ditentukan oleh hardware, melainkan oleh software, terutama bagaimana tren perubahan algoritme deep learning akan berkembang. Bahkan saat ini pun, di bidang algoritme deep learning, metodologi baru, teori baru, dan model baru muncul nyaris setiap hari, dan dari tahun ke tahun semakin sulit untuk mendapatkan paper yang diterima di empat konferensi utama kecerdasan buatan. Namun seperti teknologi di bidang lain, ketika deep learning makin memasuki fase matang dan laju inovasi algoritmenya mulai melambat, keunggulan fleksibilitas bawaan FPGA juga akan makin memudar. Keunggulan untuk dapat melakukan reprogramming sesuai hadirnya algoritme yang lebih cepat dan lebih efisien tidak lagi menjadi keunggulan yang berarti jika siklus pergantian algoritme justru makin melambat. Sebagai contoh, untuk fungsi seperti pengenalan gambar, algoritme dapat dianggap telah mencapai saturated state sampai hampir tidak ada lagi ruang perbaikan (tingkat pengenalan manusia sudah lama terlampaui, dan sebagian besar algoritme kini memiliki akurasi pengenalan gambar di atas 95%). Justru, pendekatan untuk terus memodifikasi DNN serbaguna agar kesenjangan antara hardware dan algoritme terbaru makin menyempit bisa menjadi lebih menguntungkan di kemudian hari.<br /> Pasar akselerator deep learning akan terus tumbuh ke depan, dan kemungkinan besar permintaannya masih akan meningkat bahkan setelah 2030, tetapi kita masih perlu melihat lebih jauh cara seperti apa yang akan mendominasi pasar. Tidak ada yang bisa memprediksi kapan fase kematangan algoritme deep learning akan datang, tetapi pada akhirnya fase itu pasti akan tiba, dan sulit memprediksi teknologi mana yang akan berada dalam kondisi paling optimal pada saat itu. FPGA pun masih memiliki banyak ruang untuk berinovasi. Riset desain chip berbasis reinforcement learning dari Google yang dipublikasikan di Nature pada Juni tahun ini* (https://www.nature.com/articles/s41586-021-03544-w) adalah contoh bagus yang menunjukkan kemungkinan inovasi tersebut. Menempatkan jutaan hingga puluhan juta unit di atas area die chip yang sempit, sambil meminimalkan latensi input dan output data antarsatuan serta menekan konsumsi energi, merupakan salah satu bagian tersulit dalam desain chip semikonduktor. Perusahaan fabless selama ini melakukan optimasi seperti itu dengan memanfaatkan know-how yang mereka kumpulkan, tetapi hasil yang dipublikasikan Google cukup mengejutkan karena mencapai perbaikan yang membuat know-how yang ada selama ini terasa memudar. Ini mirip dengan menata berbagai furnitur dan peralatan rumah tangga di denah apartemen yang rumit sambil merancang alur gerak paling optimal agar pergerakan tubuh dan tenaga yang dikeluarkan sama-sama seminimal mungkin. Google berhasil melakukan desain teroptimasi untuk ruang keadaan penempatan unit (~10^2500), yang jauh lebih besar daripada ruang keadaan permainan Go (~10^360), dengan pendekatan yang merupakan pengembangan jauh lebih maju dari metode AlphaGo. Metode desain semacam ini tentu bisa langsung diterapkan juga pada optimasi FPGA, karena mengoptimalkan kinerja yang diberikan dengan mempertimbangkan degree of freedom dari instruction set yang tersedia merupakan tugas yang dapat dicapai dalam konteks yang sama.<br /> <br /> Apakah mungkin akan muncul teknologi yang sepenuhnya berbeda jalur dari pendekatan yang saat ini digunakan Nvidia, Google, Intel, AMD, Qualcomm, dan lain-lain? Tentu saja kemungkinan itu ada. Sesuai namanya, neural net, kini kita dapat membayangkan teknologi yang tidak lagi sekadar meniru jaringan saraf otak manusia, melainkan menghubungkannya dengan chip semikonduktor melalui pendekatan copy & phaste secara langsung. Perspective yang baru-baru ini dipublikasikan oleh para ilmuwan Korea dari Samsung dan Harvard adalah contoh tepat untuk itu* (**https://www.nature.com/articles/s41928-021-00646-1...). Teknologi alternatif yang diproyeksikan dalam paper ini adalah neuromorphic chip, dan alasan konsep neuromorphic chip yang sudah lama dikenal kembali mendapat perhatian adalah karena pada level teknologi nyata telah ditunjukkan bahwa sinyal listrik yang saling dipertukarkan di jaringan saraf otak manusia dapat langsung disalin (copy) dengan menghubungkannya ke nanoelektroda, lalu ditempelkan (phaste) ke memori yang terhubung di bawahnya. Ini berarti semua fungsi lain setelah jaringan lunak otak disingkirkan dapat dipindahkan secara langsung ke chip semikonduktor. Teknologi semikonduktor memori untuk mewujudkan neuromorphic chip sendiri sudah diimplementasikan atau bahkan telah digunakan secara nyata dalam bentuk SRAM, RRAM, MRAM, memristor, dan sebagainya, sehingga kuncinya tinggal bagaimana memindahkan sinyal yang dihasilkan dari triliunan neuron ke memori secara real-time dengan latensi serendah mungkin; koneksi dengan pendekatan copy & phaste tampaknya kini bukan lagi sesuatu yang secara teknis mustahil. <br /> <br /> Ke depan, pasar semikonduktor yang didorong akselerator deep learning akan terus tumbuh dengan semakin beragam dan semakin kuat. Seberapa jauh pemrosesan data berbasis deep learning mampu menembus pasar yang makin beragam, dan seberapa besar data tidak terstruktur yang dapat ditanganinya, akan menentukan ukuran pasar tersebut serta teknologi yang mendominasinya. Yang perlu diperhatikan di sini, selain perkembangan teknologi para pemain kunci saat ini, adalah teknologi berkonsep baru yang berpotensi menggantikannya dari arah yang sama sekali berbeda. Selain neuromorphic, neural network berbasis photonics juga dimungkinkan, yang berarti latensi itu sendiri dapat ditekan hingga ke kecepatan cahaya, sehingga dapat menandai kemunculan NPU yang lebih kuat. Dalam kasus spintronics, kinerja pemrosesan paralel dapat ditingkatkan lebih jauh, dan algoritme deep learning khusus komputer kuantum seperti TFQ yang dipublikasikan Google juga berpotensi mendefinisikan ulang 'inferensi' dengan pola yang sepenuhnya berbeda dari pendekatan yang ada sekarang. Pasar semikonduktor ke depan pada akhirnya juga akan menghasilkan momentum utama dari akselerator AI yang dipimpin deep learning dan inovasi algoritme yang sepadan dengannya. Di tengah kemunculan semakin banyak perusahaan fabless dengan berbagai arsitektur bagaikan jamur di musim hujan, penguasaan teknologi proses yang mampu memilah mana yang benar-benar bernilai dan menentukan batas implementasi teknologinya pada akhirnya diperkirakan akan menentukan dominasi di pasar yang akan tercipta di masa depan.<br /> <br />

  • Ini adalah tulisan Facebook Profesor Kwon Seok-jun dari Sungkyunkwan University; saya membawanya ke sini karena beliau menjelaskan perkembangan CPU/GPU selama ini dengan cara yang menarik.</p>

1 komentar

 
xguru 2021-10-02
<p>Karena ada yang tidak memiliki akun Facebook, saya coba membawa versi lengkapnya. Di komentar Facebook juga ada hal-hal yang layak dijadikan referensi, jadi saya sarankan untuk melihatnya di sana.</p>