Mengenal Inferensi AI, Teknologi di Balik AI yang Responsif


Ilustrasi GPU

Ilustrasi GPU

Artificial Intelligence (AI) atau kecerdasan buatan tidak hanya berbicara tentang bagaimana sebuah model belajar dari data. Setelah proses pembelajaran selesai, model AI harus digunakan untuk menghasilkan prediksi, rekomendasi, klasifikasi, atau respons berdasarkan data baru. Proses inilah yang disebut inferensi AI (AI inference).

Secara sederhana, inferensi AI adalah proses ketika model AI yang sudah dilatih menggunakan pengetahuan yang diperolehnya untuk menghasilkan output berdasarkan input baru. Ketika sebuah chatbot menjawab pertanyaan, sistem email menentukan apakah sebuah pesan termasuk spam, atau aplikasi memberikan rekomendasi video yang kemungkinan disukai pengguna, semuanya melibatkan proses inferensi.

Istilah ini mungkin terdengar teknis, tetapi konsep dasarnya cukup sederhana. Model AI tidak benar-benar mengetahui apa yang akan terjadi pada sebuah data baru. Model menggunakan pola yang telah dipelajari selama pelatihan untuk membuat perkiraan mengenai hasil yang paling mungkin.

 

Memahami Inferensi AI Secara Sederhana

Dalam machine learning, model AI terlebih dahulu dilatih menggunakan data dalam jumlah tertentu. Data tersebut digunakan agar model dapat mengenali pola dan hubungan antara berbagai informasi. Setelah proses pelatihan selesai, model tidak berhenti bekerja. Model kemudian digunakan untuk menghadapi data yang sebelumnya belum pernah dilihat. Pada tahap inilah inferensi terjadi.

Sebagai contoh, bayangkan sebuah sistem AI yang dirancang untuk mendeteksi email spam. Selama pelatihan, sistem diperlihatkan ribuan atau bahkan jutaan contoh email yang sudah dikategorikan sebagai spam dan bukan spam.

Dari data tersebut, model mempelajari berbagai pola. Misalnya, model dapat menemukan bahwa email tertentu memiliki kombinasi kata, struktur, tautan, alamat pengirim, atau karakteristik lain yang sering ditemukan pada spam.

Ketika sebuah email baru masuk, model tidak memiliki pengetahuan langsung bahwa email tersebut merupakan spam. Model membandingkan karakteristik email baru dengan pola yang telah dipelajarinya. Berdasarkan perhitungan tersebut, model kemudian menghasilkan prediksi, misalnya email tersebut memiliki kemungkinan tinggi sebagai spam.

Proses menghasilkan prediksi berdasarkan pengetahuan yang sudah dipelajari itulah yang disebut inferensi AI.

Konsep serupa berlaku pada hampir semua aplikasi machine learning. Model prediksi pasar menggunakan pola historis untuk memperkirakan kemungkinan pergerakan harga. Sistem rekomendasi menggunakan riwayat interaksi pengguna untuk memperkirakan konten yang menarik. Kendaraan otonom menggunakan data dari sensor untuk menentukan tindakan berikutnya.

Dengan kata lain, inferensi merupakan tahap ketika kemampuan AI yang sudah dibentuk selama pelatihan diterapkan pada situasi nyata.

 

Mengapa Inferensi AI Sangat Penting?

Kinerja sebuah sistem AI tidak hanya ditentukan oleh seberapa pintar modelnya. Cara model tersebut menjalankan inferensi juga sangat menentukan pengalaman pengguna dan biaya operasional.

Model yang sangat akurat tetapi membutuhkan waktu terlalu lama untuk menghasilkan respons mungkin tidak cocok untuk aplikasi tertentu. Sebaliknya, model yang mampu memberikan respons dalam hitungan milidetik tetapi membutuhkan sumber daya komputasi sangat besar juga dapat menjadi tidak efisien.

Karena itu, tujuan utama inferensi AI adalah menjalankan model yang telah dilatih dengan cara yang cepat, efisien, andal, dan ekonomis.

Kebutuhan tersebut menjadi semakin penting seiring berkembangnya AI generatif dan Large Language Model (LLM). Model modern dapat memiliki miliaran parameter sehingga membutuhkan kapasitas komputasi dan memori yang besar ketika digunakan.

Setiap kali pengguna mengirim pertanyaan kepada chatbot berbasis LLM, sistem harus menjalankan proses komputasi untuk menghasilkan jawaban. Jika terdapat jutaan pengguna yang mengakses layanan secara bersamaan, kebutuhan komputasinya meningkat secara signifikan.

Karena itu, perusahaan teknologi harus mengoptimalkan proses inferensi agar mampu menangani banyak permintaan sekaligus tanpa menyebabkan waktu respons menjadi terlalu lama.

 

Bagaimana Model AI Menghasilkan Prediksi?

Pada dasarnya, machine learning bekerja dengan mengenali pola. Selama proses pelatihan, model diberikan data dan menyesuaikan parameter internalnya agar dapat menghasilkan prediksi yang semakin akurat. Parameter tersebut dapat dianggap sebagai bagian dari "pengetahuan" matematis yang digunakan model untuk mengambil keputusan.

Dalam supervised learning, misalnya, model menerima data pelatihan beserta jawaban yang benar. Model kemudian menghasilkan prediksi dan membandingkannya dengan jawaban tersebut. Perbedaan antara prediksi dan jawaban yang benar dihitung sebagai loss atau nilai kesalahan. Algoritma optimasi kemudian digunakan untuk memperbarui parameter model sehingga kesalahan dapat dikurangi.

Proses ini dilakukan berulang kali sampai model mencapai tingkat kinerja yang dianggap memadai.

Pada tahap inferensi, proses tersebut berubah. Model tidak lagi melakukan pembaruan parameter untuk belajar dari setiap input. Model menggunakan parameter yang telah diperoleh selama pelatihan untuk memproses data baru dan menghasilkan output.

Karena itu, proses inferensi umumnya hanya membutuhkan forward pass, yaitu data masuk ke model dan diproses melalui berbagai lapisan hingga menghasilkan output.

 

Inferensi AI dan Pelatihan AI Berbeda

Inferensi AI sering dianggap sama dengan pelatihan AI karena keduanya sama-sama melibatkan model dan data. Padahal, keduanya memiliki tujuan yang berbeda. Pelatihan AI adalah proses membuat model belajar, sedangkan inferensi AI adalah proses menggunakan model yang sudah belajar.

Dalam pelatihan, model menerima data, menghasilkan prediksi, menghitung kesalahan, kemudian melakukan pembaruan parameter. Proses tersebut dilakukan berulang kali.

Sementara dalam inferensi, model menerima input baru dan menghasilkan output berdasarkan parameter yang sudah diperoleh selama pelatihan. Tidak ada proses pembaruan parameter utama seperti yang terjadi selama training.

Perbedaan ini juga membuat kebutuhan infrastrukturnya berbeda.

Pelatihan model AI biasanya membutuhkan komputasi yang sangat besar karena model harus melakukan forward pass dan backward pass berulang kali terhadap data dalam jumlah besar.

Inferensi juga dapat membutuhkan sumber daya besar, terutama ketika modelnya berukuran sangat besar dan harus melayani banyak pengguna. Namun, karakteristik bebannya berbeda karena fokusnya adalah menghasilkan output secara efisien berdasarkan permintaan yang masuk.

 

Contoh Inferensi AI dalam Kehidupan Sehari-hari

Sebenarnya, masyarakat berinteraksi dengan inferensi AI hampir setiap hari, meskipun proses tersebut tidak terlihat secara langsung.

Pada platform media sosial, misalnya, algoritma dapat memprediksi jenis konten yang kemungkinan menarik bagi seorang pengguna. Prediksi tersebut dibuat berdasarkan berbagai informasi, seperti konten yang pernah ditonton, disukai, dibagikan, atau dilewati.

Pada aplikasi peta dan navigasi, AI dapat digunakan untuk memperkirakan kondisi lalu lintas dan menentukan rute yang dianggap paling sesuai. Sistem memanfaatkan data yang tersedia untuk menghasilkan keputusan atau rekomendasi.

Dalam layanan perbankan, model AI dapat digunakan untuk mendeteksi transaksi yang memiliki karakteristik mencurigakan. Ketika transaksi baru terjadi, model melakukan inferensi untuk menentukan apakah transaksi tersebut terlihat normal atau berpotensi terkait aktivitas penipuan.

Pada layanan streaming, sistem rekomendasi menggunakan inferensi untuk menentukan film, serial, atau musik yang kemungkinan disukai pengguna.

Sementara pada AI generatif, inferensi terjadi setiap kali model menghasilkan teks, gambar, audio, video, atau bentuk output lainnya berdasarkan perintah pengguna.

 

Inferensi pada Large Language Model

Konsep inferensi menjadi semakin penting ketika membahas Large Language Model atau LLM seperti model yang digunakan dalam berbagai layanan chatbot dan aplikasi AI generatif. Ketika pengguna memasukkan sebuah pertanyaan, LLM memproses input tersebut dan menghasilkan respons secara bertahap.

Secara teknis, model tidak sekadar "mencari jawaban" dari sebuah database. Model menggunakan pola yang telah dipelajari dari data pelatihan untuk memprediksi token berikutnya berdasarkan konteks yang tersedia.

Token dapat berupa kata, bagian kata, tanda baca, atau unit teks lainnya. Model melakukan prediksi tersebut secara berulang sampai menghasilkan respons yang lengkap.

Misalnya, ketika pengguna menulis kalimat yang belum selesai, model akan menghitung token yang paling mungkin muncul berikutnya berdasarkan konteks. Setelah token pertama dipilih, token tersebut menjadi bagian dari konteks untuk menentukan token berikutnya.

Proses tersebut berlangsung berulang-ulang hingga menghasilkan jawaban.

Semakin panjang respons yang dihasilkan, semakin banyak proses inferensi yang harus dilakukan. Karena itu, ukuran model, panjang konteks, jumlah pengguna, serta kemampuan perangkat keras dapat memengaruhi kecepatan respons LLM.

 

Tidak Ada Satu Pengaturan Inferensi yang Paling Ideal

Cara menjalankan inferensi AI dapat berbeda-beda tergantung kebutuhan aplikasi.

Tidak ada satu konfigurasi yang selalu menjadi pilihan terbaik untuk semua kasus. Sistem yang membutuhkan respons dalam hitungan milidetik memiliki kebutuhan berbeda dibandingkan sistem yang dapat memproses data selama beberapa menit atau jam.

Perusahaan harus mempertimbangkan sejumlah faktor, mulai dari latensi, kapasitas pemrosesan, jumlah permintaan, konsumsi energi, biaya perangkat keras, hingga kemampuan sistem untuk menangani peningkatan beban.

Salah satu pertimbangan terpenting adalah apakah aplikasi membutuhkan inferensi secara langsung atau dapat menunggu data diproses dalam kelompok.

Dari sinilah muncul dua pendekatan utama, yaitu inferensi online dan inferensi batch.

Apa Itu Inferensi Online?
Inferensi online merupakan metode ketika model memproses input segera setelah data tersedia. Dalam pendekatan ini, sistem biasanya harus menghasilkan output dalam waktu singkat. Metode tersebut cocok untuk aplikasi yang membutuhkan keputusan real-time atau interaksi langsung dengan pengguna.

Chatbot merupakan contoh yang mudah dipahami. Ketika pengguna mengirim pertanyaan, sistem harus segera memprosesnya dan memberikan jawaban. Pengguna tentu tidak ingin menunggu beberapa jam hanya untuk mendapatkan respons.

Contoh lain adalah kendaraan otonom. Sistem kendaraan harus memproses informasi dari kamera, radar, lidar, dan berbagai sensor lainnya untuk menentukan tindakan berikutnya.

Dalam situasi seperti itu, keterlambatan beberapa milidetik dapat menjadi faktor penting.

Inferensi online juga digunakan dalam berbagai sistem seperti deteksi penipuan transaksi, rekomendasi real-time, pencarian, penerjemahan mesin, serta penawaran iklan digital.

Keunggulan utama inferensi online adalah respons yang cepat. Namun, kecepatan tersebut biasanya harus dibayar dengan kebutuhan infrastruktur dan biaya operasional yang lebih tinggi. Model harus selalu siap menerima permintaan. Infrastruktur komputasi juga perlu disiapkan agar dapat menghadapi lonjakan trafik tanpa membuat waktu respons meningkat drastis.

Apa Itu Inferensi Batch?
Berbeda dengan inferensi online, inferensi batch memproses banyak input sekaligus dalam satu kelompok. Pendekatan ini cocok untuk pekerjaan yang tidak membutuhkan respons secara langsung.

Misalnya, sebuah perusahaan ingin menganalisis seluruh transaksi yang terjadi sepanjang hari. Data tersebut tidak harus diproses pada detik yang sama ketika transaksi berlangsung. Perusahaan dapat mengumpulkan data sepanjang hari dan menjalankan model pada malam hari. Model kemudian memproses seluruh data tersebut dalam satu batch.

Cara ini biasanya lebih efisien karena perangkat keras dapat digunakan secara lebih optimal.

GPU, misalnya, memiliki banyak unit pemrosesan yang dirancang untuk menjalankan operasi secara paralel. Jika hanya satu input kecil yang diproses, sebagian kapasitas komputasi dapat tidak termanfaatkan secara maksimal.

Dengan mengelompokkan banyak input, sistem dapat memanfaatkan kemampuan pemrosesan paralel tersebut secara lebih efektif.

Inferensi batch juga dapat membantu mengurangi biaya karena model tidak perlu dimuat dan dijalankan secara terpisah untuk setiap permintaan. Berbagai input dapat diproses bersama sehingga penggunaan sumber daya menjadi lebih efisien.

Namun, kelemahannya adalah pengguna harus menunggu sampai batch diproses. Karena itu, pendekatan ini tidak cocok untuk aplikasi yang membutuhkan respons instan.

Micro-Batching, Jalan Tengah Inferensi AI
Di antara inferensi online dan batch terdapat pendekatan yang disebut micro-batching.

Seperti namanya, micro-batching memproses sejumlah kecil input secara bersamaan. Tujuannya adalah mendapatkan sebagian efisiensi dari batch processing tanpa mengorbankan terlalu banyak kecepatan respons.

Bayangkan terdapat banyak pengguna yang mengirim permintaan ke sebuah layanan AI hampir bersamaan. Alih-alih memproses setiap permintaan satu per satu, sistem dapat mengumpulkan beberapa permintaan yang datang dalam rentang waktu sangat singkat, lalu menjalankan model terhadap kumpulan kecil tersebut.

Pengguna tetap mendapatkan respons dengan cepat, tetapi perangkat keras dapat bekerja lebih efisien.

Pendekatan seperti ini sangat relevan pada layanan LLM berbasis cloud. Ketika ribuan pengguna mengirim permintaan secara bersamaan, sistem dapat mengatur permintaan tersebut agar diproses secara paralel.

Dengan begitu, kapasitas komputasi dapat dimanfaatkan dengan lebih baik tanpa membuat pengguna merasakan jeda yang signifikan. Micro-batching pada dasarnya berusaha mencari keseimbangan antara throughput dan latency. Throughput mengacu pada seberapa banyak permintaan yang dapat diproses dalam periode tertentu, sedangkan latency berkaitan dengan seberapa lama pengguna harus menunggu hingga mendapatkan respons.

Dalam sistem AI berskala besar, keseimbangan keduanya menjadi salah satu tantangan utama. Semakin banyak permintaan yang diproses sekaligus, efisiensi perangkat keras dapat meningkat, tetapi menunggu terlalu lama untuk membentuk batch juga dapat meningkatkan latensi.

Karena itu, sistem inferensi modern harus menentukan ukuran batch dan waktu tunggu yang sesuai dengan karakteristik beban kerja.

Pada akhirnya, pilihan antara inferensi online, batch, atau micro-batching tidak hanya bergantung pada jenis model AI yang digunakan. Kebutuhan aplikasi, jumlah pengguna, target waktu respons, kapasitas perangkat keras, konsumsi energi, dan biaya operasional semuanya ikut menentukan strategi inferensi yang paling sesuai.

 

Mengenal Environment Inferensi AI

Environment inferensi AI pada dasarnya menjawab pertanyaan sederhana: di mana model AI melakukan perhitungan untuk menghasilkan output?

Sebuah aplikasi AI mungkin terlihat sederhana dari sisi pengguna. Ketika seseorang berbicara dengan chatbot, misalnya, pengguna hanya melihat kolom untuk memasukkan pertanyaan dan jawaban yang muncul beberapa saat kemudian.

Namun, di belakang layar terdapat rangkaian proses yang cukup kompleks. Input pengguna harus dikirim ke sistem pemrosesan, model AI harus dimuat ke memori, komputasi harus dilakukan, lalu hasilnya dikembalikan kepada pengguna.

Lokasi tempat proses tersebut berlangsung dapat berbeda-beda.

Secara umum, environment inferensi AI dapat dikelompokkan menjadi empat pendekatan utama, yaitu on-premise, cloud, edge, dan on-device. Masing-masing dirancang untuk kebutuhan yang berbeda.

Pemilihan environment bukan sekadar masalah teknologi. Bagi perusahaan, keputusan tersebut dapat memengaruhi struktur biaya, keamanan data, pengalaman pengguna, hingga kemampuan bisnis untuk meningkatkan skala layanan.

  • Inferensi AI On-Premise
    On-premise atau on-prem merupakan pendekatan ketika model AI dijalankan pada perangkat keras yang dimiliki dan dikelola sendiri oleh organisasi. Server, GPU, sistem penyimpanan, jaringan, serta berbagai komponen pendukung lainnya berada dalam lingkungan perusahaan atau pusat data yang dikendalikan organisasi tersebut.

    Pendekatan ini memberikan tingkat kontrol yang tinggi. Perusahaan dapat menentukan bagaimana data disimpan, bagaimana model dijalankan, siapa yang dapat mengakses sistem, dan bagaimana sumber daya komputasi dialokasikan. Karena alasan tersebut, on-premise dapat menjadi pilihan menarik bagi organisasi yang menangani data sensitif atau memiliki persyaratan kepatuhan yang ketat.Industri kesehatan, perbankan, asuransi, pemerintahan, dan sektor hukum, misalnya, harus memperhatikan aturan terkait perlindungan data dan keamanan informasi. Dalam situasi tertentu, perusahaan mungkin lebih memilih mempertahankan data dan proses AI di lingkungan yang dapat mereka kendalikan secara langsung. Namun, kontrol yang besar tersebut memiliki konsekuensi.

    Membangun infrastruktur AI sendiri membutuhkan investasi awal yang tidak sedikit. Perusahaan harus membeli server, akselerator AI, perangkat penyimpanan, sistem jaringan, sistem pendingin, serta berbagai infrastruktur pendukung lainnya. Kebutuhan tersebut menjadi semakin besar ketika perusahaan ingin menjalankan model AI generatif berukuran besar.

    Selain biaya perangkat keras, organisasi juga harus menyediakan tenaga ahli untuk mengoperasikan dan merawat infrastruktur. Tim teknologi informasi perlu memastikan server tetap tersedia, perangkat keras berfungsi dengan baik, kapasitas mencukupi, dan sistem keamanan terus diperbarui.Artinya, on-premise menawarkan kontrol tinggi, tetapi perusahaan harus menanggung sebagian besar tanggung jawab operasionalnya.

  • Inferensi AI di Cloud
    Berbeda dengan on-premise, lingkungan cloud memungkinkan organisasi menjalankan model AI menggunakan infrastruktur milik penyedia layanan cloud. Perusahaan tidak perlu membeli seluruh perangkat keras secara langsung. Sumber daya komputasi seperti CPU, GPU, penyimpanan, dan jaringan dapat digunakan sesuai kebutuhan melalui pusat data yang dikelola penyedia cloud.

    Salah satu keuntungan terbesar pendekatan ini adalah skalabilitas. Misalnya, sebuah aplikasi AI biasanya membutuhkan 10 GPU untuk melayani pengguna. Ketika jumlah pengguna meningkat secara drastis, perusahaan dapat meningkatkan kapasitas komputasi tanpa harus membangun pusat data baru dari awal. Kemampuan tersebut sangat penting bagi layanan yang memiliki trafik tidak stabil.

    Pada waktu tertentu, permintaan mungkin rendah, tetapi pada periode lain dapat meningkat berkali-kali lipat. Cloud memungkinkan perusahaan menyesuaikan kapasitas dengan kebutuhan tersebut.

    Pendekatan ini juga dapat mempercepat pengembangan aplikasi. Tim pengembang tidak harus menunggu proses pembelian dan pemasangan perangkat keras untuk mulai melakukan eksperimen dengan model AI.Namun, cloud juga memiliki sejumlah pertimbangan. Data harus dikirim ke infrastruktur yang berada di luar lingkungan perusahaan. Hal ini membuat aspek keamanan, privasi, lokasi penyimpanan data, dan kepatuhan menjadi penting.

    Selain itu, proses pengiriman data dari pengguna ke pusat data dan kembali lagi dapat menambah latensi. Dampaknya bergantung pada lokasi pengguna, kualitas jaringan, kapasitas pusat data, dan jenis aplikasi yang digunakan.

    Biaya juga perlu diperhatikan dalam jangka panjang. Cloud memang mengurangi kebutuhan investasi awal, tetapi penggunaan komputasi dalam jumlah besar secara terus-menerus dapat menghasilkan biaya operasional yang signifikan.

    Karena itu, perusahaan harus menghitung bukan hanya harga layanan cloud, tetapi juga pola penggunaan, jumlah permintaan, ukuran model, kebutuhan penyimpanan, serta lalu lintas data.

  • Inferensi AI di Edge
    Pendekatan berikutnya adalah edge computing.Pada edge, sumber daya komputasi ditempatkan sedekat mungkin dengan sumber data. Tujuannya adalah mengurangi ketergantungan terhadap pusat data yang lokasinya jauh dan memungkinkan data diproses lebih dekat dengan tempat data tersebut dihasilkan. Konsep ini banyak digunakan dalam ekosistem Internet of Things atau IoT.

    Bayangkan sebuah pabrik memiliki ratusan kamera dan sensor yang terus mengawasi mesin produksi. Jika seluruh rekaman kamera harus dikirim ke cloud untuk dianalisis, jumlah data yang ditransmisikan bisa sangat besar.

    Dengan edge computing, perangkat komputasi ditempatkan di lingkungan pabrik. Data dari kamera dan sensor dapat diproses secara lokal untuk mendeteksi anomali atau masalah pada mesin.Hasil analisis yang penting saja kemudian dapat dikirim ke pusat data. Pendekatan ini dapat mengurangi latensi dan penggunaan bandwidth. Dalam sistem industri, perbedaan tersebut dapat menjadi sangat penting.

    Misalnya, sistem computer vision menemukan adanya produk yang rusak di jalur produksi. Jika keputusan harus dibuat secara langsung, pemrosesan di dekat mesin produksi dapat memberikan respons lebih cepat dibandingkan mengirim data ke pusat data yang jauh. Edge juga dapat memberikan keuntungan dari sisi privasi. Tidak semua data harus meninggalkan lokasi tempat data tersebut dihasilkan.

    Rumah sakit, misalnya, dapat menggunakan perangkat edge untuk memproses data dari berbagai perangkat medis tanpa harus mengirim seluruh data mentah ke cloud.

    Namun, edge computing juga memiliki tantangan tersendiri. Perangkat edge biasanya memiliki sumber daya komputasi yang lebih terbatas dibandingkan server pusat data. Selain itu, perusahaan mungkin harus mengelola ratusan bahkan ribuan perangkat yang tersebar di berbagai lokasi. Setiap perangkat tersebut perlu diperbarui, dipantau, diamankan, dan diperbaiki apabila mengalami masalah. Semakin besar jaringan edge, semakin kompleks pula pengelolaannya.

  • Inferensi Langsung di Perangkat
    Pendekatan paling dekat dengan pengguna adalah on-device inference atau inferensi pada perangkat. Dalam model ini, AI berjalan langsung pada perangkat pengguna seperti smartphone, tablet, laptop, kamera pintar, atau perangkat konsumen lainnya.

    Salah satu contoh yang mudah ditemukan adalah fitur pengenalan wajah pada smartphone. Kamera mengambil gambar, kemudian sistem menggunakan model AI untuk menganalisis wajah dan menentukan apakah wajah tersebut sesuai dengan pengguna yang terdaftar.

    Contoh lainnya adalah speech-to-text. Ketika pengguna berbicara kepada perangkat, sistem dapat mengubah suara menjadi teks menggunakan model AI yang berjalan secara lokal. Keuntungan utama pendekatan ini adalah data dapat diproses tanpa harus selalu dikirim ke server eksternal.

    Selain memberikan manfaat privasi, on-device inference juga dapat mengurangi ketergantungan terhadap koneksi internet. Sebuah fitur AI tetap dapat bekerja dalam kondisi tertentu meskipun perangkat tidak memiliki koneksi yang stabil.

    Namun, keterbatasan terbesar adalah kemampuan perangkat. Smartphone dan laptop memiliki kapasitas komputasi dan memori yang jauh lebih terbatas dibandingkan server AI khusus. Karena itu, model yang digunakan pada perangkat biasanya harus dioptimalkan agar lebih kecil dan hemat energi.Hal tersebut menjadi salah satu alasan mengapa perkembangan NPU atau Neural Processing Unit semakin penting dalam perangkat konsumen.

 

Perangkat Keras untuk Inferensi AI

Lingkungan tempat inferensi dijalankan hanya merupakan satu bagian dari sistem. Bagian lainnya adalah perangkat keras yang melakukan perhitungan. Model AI modern, khususnya neural network, melakukan operasi matematika dalam jumlah sangat besar. Proses tersebut membutuhkan perangkat keras yang mampu menjalankan banyak perhitungan secara efisien.

Beberapa jenis akselerator yang umum digunakan untuk AI antara lain GPU, TPU, NPU, FPGA, dan ASIC. Masing-masing memiliki karakteristik berbeda.

  • GPU: Mesin Utama Komputasi AI
    Graphics Processing Unit atau GPU pada awalnya dikembangkan untuk menangani pemrosesan grafis. Namun, karakteristik GPU yang mampu menjalankan banyak operasi secara paralel membuatnya sangat cocok untuk machine learning.

    Neural network melakukan banyak operasi matematika, terutama perkalian dan penjumlahan matriks dalam jumlah besar. GPU memiliki ribuan core yang dapat mengerjakan operasi secara paralel. Kemampuan ini membuat GPU sangat efektif untuk pelatihan maupun inferensi deep learning.

    Perkembangan ekosistem perangkat lunak juga membuat GPU semakin penting dalam AI. Salah satu tonggak penting adalah CUDA dari NVIDIA, yang memungkinkan pengembang memanfaatkan GPU untuk komputasi umum, bukan hanya grafis.

    Saat ini, GPU menjadi salah satu fondasi utama infrastruktur AI, baik di pusat data maupun pada workstation dan berbagai perangkat lainnya.

  • TPU untuk Beban Kerja Neural Network
    Tensor Processing Unit atau TPU merupakan akselerator yang dirancang khusus untuk kebutuhan machine learning. Berbeda dengan GPU yang relatif fleksibel untuk berbagai jenis komputasi paralel, TPU dirancang untuk mengoptimalkan operasi tensor dan matematika yang banyak digunakan oleh neural network.

    Karena desainnya lebih khusus, TPU dapat memberikan efisiensi tinggi pada jenis beban kerja yang sesuai. Pendekatan seperti ini menunjukkan bahwa perkembangan perangkat keras AI tidak hanya mengarah pada prosesor yang semakin kuat, tetapi juga pada chip yang semakin spesifik terhadap jenis pekerjaan tertentu.

  • NPU untuk AI pada Perangkat
    Neural Processing Unit atau NPU merupakan akselerator yang secara khusus ditujukan untuk menjalankan beban kerja AI. NPU banyak ditemukan pada smartphone, laptop, tablet, dan perangkat edge.

    Salah satu keunggulan NPU adalah efisiensi energi. Hal tersebut penting karena perangkat seperti smartphone bekerja dengan baterai.

    Jika seluruh proses AI dijalankan menggunakan CPU atau GPU secara terus-menerus, konsumsi daya dapat meningkat. NPU dapat menangani operasi AI tertentu dengan konsumsi energi yang lebih rendah. Kemampuan tersebut membuat NPU semakin relevan untuk fitur seperti pengenalan gambar, pemrosesan suara, penerjemahan, peningkatan kualitas foto, hingga berbagai fitur AI generatif yang dapat berjalan langsung pada perangkat.

  • FPGA dan Fleksibilitas Komputasi
    Field-Programmable Gate Array atau FPGA merupakan perangkat keras yang dapat dikonfigurasi untuk menjalankan fungsi tertentu. Keunggulan FPGA terletak pada fleksibilitasnya. Perangkat dapat diprogram ulang untuk memenuhi kebutuhan aplikasi yang berbeda.

    Dalam AI, FPGA dapat digunakan ketika organisasi membutuhkan kombinasi antara performa, efisiensi, dan kemampuan untuk menyesuaikan arsitektur perangkat keras.

    Namun, pengembangan dan pemrograman FPGA biasanya lebih kompleks dibandingkan menggunakan akselerator yang sudah memiliki ekosistem perangkat lunak matang. Karena itu, FPGA lebih banyak digunakan pada skenario tertentu yang membutuhkan optimasi khusus.

  • ASIC: Chip untuk Tugas Spesifik
    Application-Specific Integrated Circuit atau ASIC merupakan chip yang dirancang untuk menjalankan fungsi tertentu secara sangat efisien. Berbeda dengan FPGA, ASIC tidak dirancang untuk dikonfigurasi ulang secara bebas setelah diproduksi.

    Karena dibuat untuk tugas spesifik, ASIC dapat menawarkan efisiensi dan performa yang tinggi untuk beban kerja yang menjadi target desainnya. TPU Google merupakan salah satu contoh akselerator yang menggunakan pendekatan ASIC untuk beban kerja machine learning.

    Keunggulan tersebut datang dengan kompromi. Karena desainnya sangat spesifik, ASIC tidak memiliki fleksibilitas seperti GPU atau FPGA ketika kebutuhan komputasi berubah.

 

Ketika Satu GPU Tidak Lagi Cukup

Model AI semakin besar dari waktu ke waktu. Beberapa model generatif modern memiliki puluhan hingga ratusan miliar parameter. Pada titik tertentu, seluruh model tidak lagi dapat dimuat atau dijalankan secara efisien pada satu GPU.

Solusinya adalah menggunakan beberapa akselerator sekaligus dan membagi pekerjaan di antara perangkat tersebut. Pendekatan ini dikenal sebagai inferensi AI terdistribusi. Dalam sistem terdistribusi, beberapa GPU atau akselerator bekerja bersama untuk menjalankan satu beban kerja AI.

Pembagian pekerjaan dapat dilakukan menggunakan beberapa pendekatan. Tiga metode yang banyak dibahas adalah data parallelism, pipeline parallelism, dan tensor parallelism. Masing-masing memiliki cara kerja dan kebutuhan komunikasi yang berbeda.

  • Data Parallelism
    Dalam data parallelism atau paralelisme data, salinan model yang lengkap ditempatkan pada beberapa prosesor. Jika tersedia empat GPU, setiap GPU memiliki salinan model yang sama. Input kemudian dibagi menjadi beberapa kelompok dan masing-masing GPU memproses bagian input tersebut.

    Metode ini relatif mudah dipahami karena setiap perangkat bekerja secara independen terhadap bagian data yang diterimanya.

    Namun, terdapat persyaratan penting: setiap GPU harus memiliki kapasitas memori yang cukup untuk menampung seluruh model. Persyaratan tersebut menjadi masalah ketika model yang digunakan sangat besar.

    Jika sebuah model memiliki puluhan atau ratusan miliar parameter, ukuran model dapat melampaui kapasitas memori satu GPU. Dalam kondisi seperti itu, sekadar menyalin model lengkap ke setiap GPU menjadi tidak efisien atau bahkan tidak memungkinkan. Karena itu, diperlukan pendekatan paralelisme lainnya.

  • Pipeline Parallelism
    Pada pipeline parallelism, model dibagi berdasarkan lapisan neural network. Sebagai ilustrasi, sebuah model memiliki 12 lapisan dan tersedia tiga GPU. Empat lapisan pertama dapat ditempatkan pada GPU pertama, empat lapisan berikutnya pada GPU kedua, dan empat lapisan terakhir pada GPU ketiga.

    Data kemudian melewati model secara bertahap. GPU pertama memproses input melalui empat lapisan awal. Output dari proses tersebut dikirim ke GPU kedua. GPU kedua melanjutkan pemrosesan dan mengirim hasilnya ke GPU ketiga untuk menghasilkan output akhir. Pendekatan tersebut memungkinkan model yang terlalu besar untuk satu GPU dibagi ke beberapa perangkat.

    Namun, pipeline parallelism memiliki persoalan yang disebut pipeline bubble atau masa tunggu. Pada awal proses, GPU kedua harus menunggu hasil dari GPU pertama. GPU ketiga juga harus menunggu data dari GPU kedua.

    Akibatnya, tidak semua GPU langsung bekerja dengan kapasitas penuh. Untuk mengurangi waktu menganggur tersebut, sistem dapat menggunakan mini-batching. Data dibagi menjadi kelompok-kelompok kecil sehingga GPU pertama dapat mulai mengerjakan kelompok berikutnya ketika hasil kelompok sebelumnya sudah dikirim ke GPU kedua. Dengan cara tersebut, beberapa GPU dapat bekerja secara bersamaan seperti jalur produksi.

  • Tensor Parallelism
    Tensor parallelism mengambil pendekatan yang berbeda. Alih-alih membagi model berdasarkan kelompok lapisan, tensor parallelism membagi operasi tensor di antara beberapa prosesor. Pendekatan ini sangat berguna ketika satu lapisan neural network terlalu besar untuk dimuat pada satu GPU.

    Misalnya, sebuah lapisan memiliki matriks bobot yang sangat besar. Matriks tersebut dapat dibagi menjadi beberapa bagian dan setiap GPU menyimpan serta menghitung bagian tertentu. Dengan demikian, kebutuhan memori pada masing-masing GPU dapat dikurangi.

    Namun, ada konsekuensi yang harus diperhitungkan. GPU perlu berkomunikasi satu sama lain untuk menggabungkan hasil perhitungan. Semakin kompleks pembagian tensor, semakin penting kecepatan koneksi antar-GPU. Sistem tidak hanya membutuhkan GPU yang cepat, tetapi juga jaringan interkoneksi yang mampu memindahkan data antarperangkat dengan latensi rendah dan bandwidth tinggi.

    Karena itu, membangun sistem inferensi untuk model AI berukuran sangat besar bukan sekadar persoalan menambah jumlah GPU. Arsitektur komunikasi, memori, jaringan, perangkat lunak, serta cara model dibagi semuanya harus dirancang agar bekerja sebagai satu kesatuan.

    Pada skala ini, perangkat lunak inferensi juga memiliki peran penting. Framework dan engine khusus dapat membantu mengatur bagaimana permintaan pengguna dijadwalkan, bagaimana model dimuat ke memori, bagaimana batch dibentuk, serta bagaimana pekerjaan didistribusikan ke berbagai akselerator.

    Salah satu pendekatan yang banyak digunakan dalam ekosistem LLM adalah memanfaatkan framework seperti vLLM untuk membantu mengoptimalkan serving dan pemrosesan model.

    Semakin besar model dan semakin banyak pengguna yang harus dilayani, semakin penting pula optimasi pada seluruh rantai inferensi, mulai dari lokasi pemrosesan, jenis akselerator, penggunaan memori, pembagian beban kerja, hingga komunikasi antarmesin.

 

Kesimpulan

Inferensi AI merupakan tahap penting yang memungkinkan model AI menerapkan pengetahuan yang telah dipelajari untuk menghasilkan prediksi, rekomendasi, dan respons pada data baru. Kinerja inferensi tidak hanya bergantung pada kemampuan model, tetapi juga pada metode pemrosesan, lingkungan penerapan, serta perangkat keras yang digunakan.

Pemilihan antara inferensi online, batch, dan micro-batching perlu disesuaikan dengan kebutuhan aplikasi, terutama dari sisi kecepatan, kapasitas, dan efisiensi. Sementara itu, penggunaan on-premise, cloud, edge, atau on-device memberikan pilihan berbeda dalam hal privasi, latensi, skalabilitas, dan biaya. Untuk model AI berukuran besar, berbagai akselerator seperti GPU, TPU, dan NPU serta teknik paralelisme dapat digunakan agar beban komputasi terbagi secara optimal.

Dengan demikian, membangun sistem inferensi AI yang efektif membutuhkan keseimbangan antara kemampuan model dan infrastruktur yang menjalankannya. Semakin besar model dan jumlah pengguna, semakin penting optimasi pada memori, komputasi, jaringan, perangkat keras, hingga perangkat lunak agar AI dapat memberikan respons yang cepat, efisien, dan andal.

Bagikan artikel ini

Komentar ()

Video Terkait