Tren AI terbaru, dipersembahkan oleh para pakar
Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.
Dalam machine learning, inferensi AI adalah tindakan menggunakan model AI terlatih untuk membuat prediksi pada data baru. Pada dasarnya, setiap contoh model kecerdasan buatan yang benar-benar menghasilkan output atau membuat keputusan dalam aplikasi AI dunia nyata merupakan inferensi AI. Secara sederhana, inferensi AI memerlukan model terlatih yang menerapkan pola yang dipelajari dari data pelatihan untuk menyimpulkan output yang benar untuk input yang diberikan.
Semua machine learning, dari model deteksi spam email hingga sistem navigasi yang menggerakkan mobil self-driving hingga AI generatif, bermuara pada pengenalan pola. Model “dilatih” untuk berkinerja baik pada kumpulan data tugas sampel atau titik data. Selama pelatihan model, parameter model (dan hiperparameter) disesuaikan hingga pengambilan keputusan model "sesuai" dengan pola data pelatihan. Asumsi inti machine learning adalah bahwa jika data pelatihan cukup relevan dengan apa yang akan dilihat model dalam skenario dunia nyata, itu akan membuat prediksi yang akurat dalam contoh penggunaan dunia nyata tersebut.
Sementara banyak jargon AI sangat teknis, “inferensi AI” sebenarnya adalah istilah literal dan intuitif.
Model forecasting pasar saham tidak tahu bagaimana harga saham tertentu akan berubah; itu menyimpulkan berdasarkan bagaimana sejarah saham itu dibandingkan dengan tren masa lalu dalam pergerakan harga saham, apa yang akan terjadi selanjutnya.
Model deteksi spam tidak tahu apakah email tertentu adalah spam; itu menyimpulkan, berdasarkan seberapa besar email itu menyerupai contoh spam yang dilihatnya dalam pelatihan, apakah itu spam atau tidak.
Model bahasa besar (LLM) secara iteratif menyimpulkan kata berikutnya—atau lebih tepatnya, token—akan didasarkan pada pola linguistik dari jutaan sampel teks yang dilatih.
Jejaring media sosialmenyimpulkan konten apa yang paling mungkin Anda ikuti berdasarkan konten yang Anda dan orang-orang serupa dengan Anda telah terlibat sebelumnya.
Sedangkan tujuan pelatihan AI adalah mencapai akurasi dan penyelarasan model, tujuan inferensi AI adalah menerapkan model terlatih tersebut dengan cara yang efisien dan hemat biaya secara maksimal. Model AI yang sama mungkin bekerja secara berbeda dalam kerangka kerja yang berbeda.
Tidak ada satu pun pengaturan inferensi AI “optimal” tunggal. Ada banyak cara berbeda untuk membagi beban kerja, berbagai jenis perangkat keras (dan algoritma komputasi yang digunakan untuk menggunakannya), serta lingkungan yang berbeda untuk mengakses perangkat keras tersebut. Pengaturan ideal untuk skenario tertentu akan tergantung pada sifat contoh penggunaan dan beban kerja Anda. Untuk perusahaan, tantangannya biasanya adalah mengidentifikasi pendekatan inferensi yang menyeimbangkan keinginan untuk latensi rendah dengan kebutuhan untuk dapat diskalakan dan efisiensi biaya.
Baik inferensi AI maupun pelatihan AI melibatkan model yang membuat prediksi tentang data input. Perbedaannya terletak pada tujuan masing-masing dan, dalam kasus pelatihan AI, pada langkah-langkah ekstra yang diambil untuk mencapai tujuan tersebut.
Pelatihan adalah tempat “pembelajaran” dalam machine learning terjadi. Dalam pelatihan model, model machine learning membuat prediksi pada sekumpulan contoh data pelatihan. Dalam pembelajaran terawasi, fungsi kerugian menghitung kesalahan rata-rata (atau "kerugian") dari setiap prediksi, dan algoritma optimasi digunakan untuk memperbarui parameter model dengan cara yang mengurangi kerugian. Proses ini diulang secara berulang sampai kerugian telah diminimalkan ke tingkat yang dapat diterima. Pembelajaran penguatan bekerja dengan cara yang serupa, meskipun tujuannya adalah memaksimalkan fungsi imbalan alih-alih meminimalkan fungsi kerugian.
Singkatnya, pelatihan AI biasanya memerlukan umpan maju di mana model menghasilkan output sebagai respons terhadap setiap input dan pass mundur di mana peningkatan potensial pada parameter model dihitung. Pembaruan parameter ini terdiri dari “pengetahuan” model machine learning.
Dalam inferensi AI, model terlatih kemudian membuat prediksi pada data input dunia nyata. Inferensi AI bekerja dengan menggunakan apa yang telah “dipelajari” —yaitu, pembaruan parameter model yang dibuat untuk meningkatkan kinerja pada data pelatihan—untuk menyimpulkan output yang benar untuk data input baru. Tidak seperti dalam pelatihan model, inferensi hanya memerlukan umpan maju.
Sementara pelatihan dan inferensi biasanya merupakan tahapan yang terpisah dan berbeda, perlu dicatat bahwa mereka tidak sepenuhnya saling eksklusif. Misalnya, algoritma rekomendasi platform media sosial telah dilatih pada kumpulan data besar perilaku pengguna sebelum Anda bergabung dengan platform, dan melakukan inferensi setiap kali memberikan saran konten kepada Anda. Tetapi model terlatih itu juga terus disesuaikan dengan perilaku individu Anda, menyempurnakan sarannya berdasarkan bagaimana Anda secara pribadi terlibat dengan konten.
Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.
“ tipe” adalah kata yang samar-samar: ada banyak cara untuk mengeksekusi inferensi AI, dan karena itu banyak cara untuk menggambarkan variannya. Tetapi dua kategori paling mendasar dari strategi inferensi AI adalah inferensi batchdan inferensi online.
Dalam inferensi online, model terlatih memproses data input segera, satu input pada satu waktu. Inferensi online sesuai untuk sistem AI apa pun yang outputnya sensitif terhadap waktu (seperti kendaraan otonom, penawaran iklan digital, atau harga dinamis) atau yang memerlukan interaksi langsung dengan pengguna (seperti chatbot atau terjemahan mesin).
Inferensi online umumnya memerlukan biaya dan kompleksitas yang lebih besar—terutama untuk beban kerja berat dan neural networks besar yang mendukung model pembelajaran mendalam —tetapi seringkali diperlukan untuk contoh penggunaan dunia nyata yang memerlukan pengambilan keputusan real-time. Chatbotatau mobil self-driving harus memproses data secara real time untuk menghindari penurunan pengalaman pengguna. Utilitas sistem AI yang memprediksi apakah pemohon tertentu harus menerima pinjaman tidak benar-benar dipengaruhi oleh sedikit penundaan antara input dan output, tetapi dalam kendaraan otonom, beberapa milidetik tambahan lag dapat membahayakan penumpang.
Dalam inferensi batch, model terlatih memproses sejumlah besar input secara asinkron dalam kelompok (atau “batch”). Setiap batch biasanya dijadwalkan untuk waktu tertentu: misalnya, bisnis mungkin menggunakan inferensi batch untuk menjalankan laporan malam hari pada semua aktivitas hari itu. Hal ini memungkinkan fleksibilitas dan efisiensi yang lebih besar, menjadikan inferensi batch pilihan yang lebih hemat biaya. Namun, ini hanya praktis dalam situasi di mana ketepatan waktu tidak begitu penting.
Inferensi batch juga memungkinkan penggunaan perangkat keras yang lebih efisien. Misalnya, GPU berisi ribuan unit pemrosesan (atau “inti”), yang masing-masing dapat melakukan perhitungan secara bersamaan secara paralel. Menjalankan inferensi untuk satu input yang tidak memanfaatkan semua inti tersebut ibarat membiarkan kursi kosong di bus: mungkin diperlukan dalam situasi yang sensitif terhadap waktu, tetapi ini adalah penggunaan sumber daya yang kurang optimal. Inferensi batch memungkinkan Anda menjalankan inferensi hanya setelah perangkat keras Anda "penuh," bisa dikatakan.
Selanjutnya, parameter model—yang, untuk model pembelajaran mendalam, sering terdiri dari miliaran bobot model literal—harus dimuat ke dalam memori sistem setiap kali inferensi dilakukan. Ini melibatkan penggunaan energi dan biaya. Inferensi batch mengurangi frekuensi pemuatan bobot ke RAM, menyebarkan biaya tersebut ke seluruh batch.
Micro-batching adalah pendekatan menengah antara inferensi online dan inferensi batch: seperti namanya, ini memerlukan menjalankan inferensi dalam batch kecil.
Selanjutnya, parameter model yang, untuk model pembelajaran mendalam, sering terdiri dari miliaran bobot model literal harus dimuat ke dalam memori sistem setiap kali inferensi dilakukan. Ini melibatkan penggunaan energi dan biaya. Sebaliknya, kedua pendekatan dibedakan terutama oleh tujuannya: mikro-batching bertujuan untuk meningkatkan throughput model sementara (sebagian besar) mempertahankan kecepatan model, sedangkan inferensi batch konvensional bertujuan untuk memaksimalkan efisiensi dan umumnya tidak mempertimbangkan latensi. Dalam inferensi batch, input mungkin diproses beberapa menit atau bahkan berjam-jam setelah diterima—tetapi mikro-batching biasanya bertujuan untuk menghindari jeda lebih dari milidetik hingga beberapa detik.
Mungkin aplikasi mikro-batching yang paling menonjol adalah dalam inferensi LLM berbasis cloud melalui platform utama seperti Claude Anthropic atau ChatGPT OpenAI. Ketika ribuan pengguna meminta chatbot secara bersamaan, layanan ini biasanya memproses beberapa prompt secara paralel, meningkatkan efisiensi tanpa jeda yang nyata untuk pengguna akhir individu.
Salah satu pertimbangan terpenting dalam merancang ekosistem AI adalah memutuskan di mana beban kerja inferensi akan benar-benar berjalan. Dengan kata lain, di mana perangkat keras berada dan bagaimana Anda akan mengakses perangkat keras tersebut.
Lingkungan penerapan umumnya jatuh ke dalam salah satu dari empat kategori, yang masing-masing memiliki kekuatan dan pengorbanan sendiri.
Lokal
Cloud
Penerapan tepi
Di perangkat
Dalam penerapan on-premise (atau “on-prem”), model AI dijalankan pada perangkat keras fisik yang dimiliki dan dikelola sendiri oleh Anda (atau organisasi Anda).
Penerapan on-prem menawarkan kontrol sebesar mungkin atas beban kerja AI, karena Anda sendiri memiliki otonomi atas bagaimana dan kapan data diproses serta sumber daya komputasi dialokasikan. Ini sangat bermanfaat dalam industri yang sangat diatur seperti perawatan kesehatan, keuangan, pemerintah, dan hukum, di mana kepatuhan ketat terhadap persyaratan privasi data dan keamanan data adalah wajib.
Kontrol itu datang dengan pertukaran dalam biaya dan tenaga kerja yang terlibat. Penerapan on-prem, terutama dengan perangkat keras yang dibutuhkan untuk beban kerja skala perusahaan dan model besar yang biasanya terkait dengan AI generatif, memerlukan investasi awal yang besar. Ini juga memerlukan kebutuhan profesional TI yang khusus untuk mengelola server-server tersebut.
Dalam penerapan awan, model dijalankan pada server jarak jauh yang dikelola oleh vendor pihak ketiga (seperti IBM®) di pusat data. Hal ini memungkinkan organisasi untuk menggunakan perangkat keras AI bertenaga tinggi tanpa investasi awal besar-besaran yang diperlukan untuk membelinya atau tenaga kerja berkelanjutan untuk mempertahankannya. Dengan demikian, penerapan awan biasanya mewakili rute tercepat menuju skalabilitas—terutama dalam keadaan ketika Anda harus dengan cepat meningkatkan sumber daya komputasi Anda untuk memenuhi beberapa lonjakan permintaan.
Fleksibilitas dan skalabilitas itu datang dengan pertukaran dalam kedaulatan data dan, dalam beberapa kasus, latensi serta biaya jangka panjang. Data mungkin berjalan bolak-balik ke dan dari server cloud, yang dapat mempengaruhi kecepatan inferensi (meskipun hal ini seringkali dikompensasi oleh perangkat keras yang lebih kuat yang biasanya tersedia melalui penyedia cloud utama). Ini juga memperkenalkan komplikasi teoritis terkait dengan asal data, karena data diekspos ke lebih banyak entitas dibandingkan dengan skenario on-prem.
Penerapan tepi mengacu pada pemanfaatan sumber daya komputasi yang secara fisik dekat dengan sumber data, seperti melalui perangkat internet of things (IoT) dan jaringan area lokal.
Secara garis besar, penerapan edge dapat dipahami sebagai sesuatu yang mirip dengan “cloud lokal.” Ini paling bermanfaat ketika data perlu dikumpulkan dari atau didistribusikan ke sejumlah perangkat—seperti sensor di seluruh jalur perakitan pabrik atau perangkat pemantauan di rumah sakit—dan diproses nyaris seketika. Dalam skenario seperti itu, menjalankan kesimpulan melalui perangkat di “tepi” jaringan lokal memungkinkan pemrosesan yang lebih cepat dan privasi yang lebih besar daripada yang mungkin dilakukan melalui penerapan awan.
Manfaat tersebut, sampai batas tertentu, dikurangi oleh fakta bahwa komputasi tepi biasanya menggunakan perangkat keras yang relatif terbatas dibandingkan dengan apa yang tersedia melalui penyedia cloud. Selain itu, ketika jaringan lokal tumbuh lebih besar, mengelola pembaruan di ratusan atau ribuan “node tepi” menjadi semakin kompleks.
Penerapan di perangkat adalah yang paling mudah: inferensi AI berjalan langsung di perangkat pengguna akhir, seperti laptop atau smartphone.
Penerapan di perangkat sederhana dan aman, serta secara teoritis memberikan privasi pengguna semaksimal mungkin. Ini, tentu saja, dibatasi oleh kapasitas komputasi perangkat itu sendiri: komputasi yang tersedia di smartphone, atau bahkan di komputer konsumen dengan kinerja tinggi, umumnya jauh lebih rendah dibandingkan dengan perangkat keras khusus. Khususnya pada ponsel cerdas, inferensi pada perangkat biasanya terbatas pada berbagai tugas tertentu, seperti filter kamera, pengenalan wajah, atau speech to text.
Inferensi AI adalah proses kompleks yang melibatkan pelatihan model AI pada kumpulan data yang sesuai hingga model tersebut dapat menyimpulkan respons yang akurat. Ini adalah proses yang sangat intensif komputasi, membutuhkan perangkat keras dan perangkat lunak khusus. Sebelum melihat proses pelatihan model AI untuk inferensi AI, mari kita jelajahi beberapa perangkat keras khusus yang memungkinkannya terjadi:
GPU, seperti namanya, awalnya dirancang untuk rendering grafis (seperti dalam video game). Merender grafis 3D, seperti menjalankan inferensi untuk Neural Networks, membutuhkan perkalian matriks besar-besar—misalnya, untuk menghitung efek cahaya dan tekstur pada ribuan piksel secara bersamaan.
Kemampuan untuk menggunakan paralelisme itu untuk matematika (bukan grafis) mengambil lompatan besar ke depan ketika NVIDIA memperkenalkan Compute Unified Device Architecture (CUDA), platform perangkat lunak, API dan model pemrograman yang memungkinkan pengembang untuk menulis kode yang berjalan langsung pada ribuan inti paralel GPU. Saat ini, GPU tetap menjadi perangkat keras standar industri untuk pelatihan dan menjalankan model pembelajaran mendalam.
TPU adalah chip khusus milik Google, yang dibangun khusus untuk neural networks. Sedangkan GPU adalah prosesor paralel tujuan umum yang fleksibel, TPU dirancang khusus untuk matematika matriks berkecepatan tinggi. Meskipun mereka kurang fleksibel daripada GPU, TPU menawarkan kecepatan dan efisiensi energi yang lebih besar saat memproses sejumlah besar data neural networks.
Neural processing unit (NPU), seperti TPU, secara eksplisit dirancang untuk memproses komputasi Neural Networks. Mereka biasanya digunakan pada smartphone dan perangkat seluler lainnya, karena kemampuan mereka yang lebih terfokus mengurangi konsumsi daya relatif terhadap GPU.
Array gerbang yang dapat diprogram lapangan (FPGA) adalah jenis sirkuit terintegrasi yang dapat dikonfigurasi, yang dapat diprogram (dan diprogram ulang) agar sesuai dengan tuntutan aplikasi tertentu, termasuk operasi kecerdasan buatan. Meskipun mereka umumnya menawarkan daya pemrosesan yang lebih sedikit daripada GPU penerbangan teratas, FPGA menguntungkan ketika kustomisasi ekstrim diperlukan.
ASICS, tidak seperti FPGA, tidak dapat dikustomisasi atau dikonfigurasi ulang. Mereka secara eksplisit dirancang untuk melakukan satu tugas dengan efisiensi maksimum. TPU Google, misalnya, adalah ASIC yang dirancang untuk secara eksklusif melakukan operasi neural networks melalui TensorFlow, PyTorch, dan JAX.
Beban kerja pelatihan atau inferensi dari model AI generatif besar sering kali akan melebihi kapasitas perangkat keras akselerator terbesar sekalipun. Ketika beban kerja Anda terlalu besar untuk satu GPU, beban tersebut dapat tersebar di beberapa prosesor menggunakan satu atau lebih teknik paralelisme untuk membagi dan menyebarkan pekerjaan. Ada banyak paradigma paralelisme, tetapi yang paling menonjol adalah paralelisme data, paralelisme tensor, dan paralelisme pipa.
Pengembang sering kali dapat memanfaatkan kerangka kerja sumber terbuka seperti vLLM untuk mengoptimalkan dan menyederhanakan proses pendistribusian kesimpulan di berbagai perangkat.
Dalam paralelisme data, replika model lengkap disalin ke setiap prosesor. Kumpulan data input itu sendiri kemudian dibagi menjadi beberapa batch (atau “pecahan“) dan setiap salinan model—yaitu, setiap prosesor—menangani satu batch. Meskipun ini mungkin cara paralelisme yang paling sederhana, hal ini memerlukan setiap prosesor untuk cukup besar agar dapat memuat semua parameter model dalam memori. Ketika dihadapkan dengan LLM yang lebih besar dan model bahasa penglihatan (VLM) dengan puluhan atau ratusan miliar parameter, hal ini jarang mungkin terjadi. Dalam kasus seperti itu, paradigma paralelisme lainnya harus digunakan.
Dalam paralelisme pipeline, lapisan-lapisan yang berbeda dari neural networks ditugaskan ke GPU yang berbeda. Misalnya, Neural Networks dengan 12 lapisan dapat dibagi menjadi 3 GPU, dengan GPU pertama ditugaskan untuk 4 lapisan pertama, GPU kedua menangani 4 lapisan tengah, dan GPU ketiga menangani 4 lapisan terakhir. Data kemudian diproses secara berurutan: output dari GPU pertama diteruskan ke GPU kedua, output dari GPU kedua diteruskan ke GPU ketiga, dan GPU ketiga menghitung output akhir model.
Paralelisme pipeline yang efisien biasanya memerlukan mini-batching, sehingga setiap GPU selalu memproses data secara bersamaan, bukan menunggu sampai menerima data dari GPU sebelumnya dalam urutan. Dalam contoh dasar yang telah dijelaskan sebelumnya, GPU pertama dapat mulai memproses batch mini data input baru segera setelah mengirimkan output dari batch mini pertama ke GPU kedua.
Secara alami, sistem yang menggunakan paralelisme pipa membutuhkan waktu “ramp-up” untuk mencapai pemanfaatan perangkat secara penuh. Dalam contoh kita, GPU kedua tidak dapat mulai bekerja sampai menerima data dari yang pertama; GPU ketiga tidak dapat mulai sampai dua GPU pertama memproses seluruh mini-batch; GPU keempat tidak dapat mulai sampai yang ketiga selesai.
Untuk model yang sangat besar, bahkan satu lapisan mungkin terlalu besar untuk dimuat pada satu prosesor. Dalam paralelisme tensor, lapisan tersebut dibagi lagi, dengan setiap prosesor menerima sebagian tensor bobot model. Penanaman vektor—yaitu, representasi tensor— dari data input juga dibagi lagi, dengan setiap prosesor menerima subset yang sesuai dari data input.
Paralelisme tensor secara signifikan mengurangi kebutuhan memori pada setiap perangkat, karena setiap prosesor hanya perlu memuat tensor yang lebih kecil dalam memori dibandingkan dengan paradigma paralelisme lainnya. Namun, hal ini membawa beberapa kompromi dalam kompleksitas, karena jumlah komunikasi intra-perangkat dan langkah-langkah matematika yang lebih besar diperlukan untuk menggabungkan output dari setiap GPU.
Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.
Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.
Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.
1 “Why Companies Are Vastly Underprepared For The Risks Posed By AI”, Forbes, 15 Juni 2023
2 “Onshoring Semiconductor Production: National Security Versus Economic Efficiency”, Council on Foreign Relations, April 2024