Tensorflow: Sistem Komputasi Pintar Besutan Google
Tentang Machine Learning
Apakah pernah terpikir dalam benak Anda bagaimana sistem ranking tweet di Twitter bekerja? Atau pernahkah Anda merasakan rekomendasi lagu dari Spotify sangat cocok dengan mood Anda ketika itu? Tentunya itu semua bukanlah kebetulan semata, ada sebuah sistem komputasi pintar yang mengendalikan itu semua. Mari kita berkenalan dengan Machine Learning!
Machine Learning adalah bagian dari Artificial Intelligence (AI) dan ilmu komputer yang fokus pada data dan algoritma untuk membuat komputer seolah-olah dapat berpikir layaknya manusia dengan cara belajar berbagai model sehingga perlahan dapat meningkat hingga mencapai standar yang diinginkan.
Dalam penggunaannya, banyak sekali produk komputasi yang dapat digunakan untuk membuat pemodelan Machine Learning. Kali ini saya akan membawa Anda untuk berkenalan dengan Tensorflow, produk komputasi yang dikembangkan oleh Google.
Mengenal Tensorflow (TF)
Tensorflow pertama kali dirilis pada akhir tahun 2015, hingga mencapai versi stabilnya pada tahun 2017, sementara versi 2.x dirilis untuk publik pada bulan September 2019. Pada awalnya TensorFlow digunakan untuk menjalankan komputasi numerik kompleks pada riset AI dan machine learning di internal Google. Kemudian dalam pengembangannya, TensorFlow menjadi tools yang efektif dan sangat powerful untuk menyelesaikan permasalahan deep learning di kalangan masyarakat luas. Bukan tanpa alasan, Tensorflow memiliki ekosistem tools, library, dan sumber daya komunitas yang komprehensif dan fleksibel. Hal ini memungkinkan para developer membangun dan menerapkan (deploy) aplikasi machine learning dengan mudah.
Tim Google Brain, pengembang Tensorflow (TF) membuat platform ini menjadi end-to-end open source platform. Dedikasi Google dalam menggarap platform ini sangat luar biasa, terbukti dari hasil riset Jeff Hale seorang pegiat Data Science yang melakukan riset pada akhir tahun 2018. Dalam risetnya yang berjudul Deep Learning Framework Power Scores mengungkapkan bahwa TensorFlow menempati urutan pertama diatas beberapa platform lain seperti terungkap pada grafik berikut.
Cara Kerja Tensorflow
Dalam makalah Tim Google Brain yang berjudul “Tensorflow: A System for Large Scale Machine Learning” menjelaskan bahwa pada TensorFlow, data dimodelkan sebagai tensor (array berdimensi-n) dengan elemen yang memiliki salah satu dari tipe data int32, float32, atau string. Secara alami, tensor mewakili masukan untuk operasi matematika dalam berbagai algoritma machine learning. Sebagai contoh, perkalian matriks membutuhkan dua buah tensor 2-D dan akan menghasilkan tensor 2-D juga.
TensorFlow menggunakan grafik aliran data untuk mewakili seluruh proses komputasi dan state dalam algoritma machine learning, termasuk operasi matematika. Parameter, pembaruan aturan (update rules), dan masukan preprocessing. Grafik aliran data merepresentasikan komunikasi antara sub komputasi secara eksplisit sehingga mudah untuk menjalankan penghitungan independen secara paralel. Berikut adalah skema aliran data TensorFlow untuk pipeline pelatihan berisi subgraf untuk membaca data masukan, preprocessing, training, dan checkpointing.
Secara sederhana, cara kerja TensorFlow dapat dilihat pada gambar sebagai berikut. Pertama, tentukan sebuah komputasi graf untuk diselesaikan seperti gambar di bawah. Variabel x, y, dan angka 2 pada kotak berwarna jingga adalah input atau masukan, sedangkan operasi dilambangkan dalam lingkaran berwarna biru. Selanjutnya TensorFlow akan mengeksekusinya secara efisien dengan kode C++ yang teroptimasi. Hasilnya berupa operasi matematis gambar di bawah memberikan output berupa sebuah persamaan kuadrat.
TensorFlow mampu membagi grafik di atas menjadi beberapa bagian dan menjalankannya secara paralel menggunakan CPU dan GPU. Dengan kemampuan tersebut, kita dapat melakukan pelatihan sebuah model jaringan saraf yang sangat besar hingga mencakup ratusan server, secara paralel.
Mengapa Tensorflow?
Banyak sekali keunggulan yang ditawarkan oleh Tensorflow, apalagi TensorFlow menggunakan Python sebagai front-end API-nya sehingga mudah dan nyaman digunakan, bahkan oleh pemula sekalipun.
Beberapa keunggulan TensorFlow antara lain:
- Bisa dijalankan di hampir semua platform: GPU, CPU, dan TPU (TensorFlow Processing Units) yang secara khusus dimanfaatkan untuk mengerjakan matematika tensor.
- Memberikan performa terbaik dengan kemampuan melakukan iterasi dan melatih model secara cepat sehingga mampu menjalankan lebih banyak eksperimen.
- Skalabilitas komputasi yang tinggi pada kumpulan data yang sangat besar.
- Pembuatan model yang mudah dengan beberapa level abstraksi sesuai kebutuhan.
- Menyediakan jalur langsung ke produksi, baik itu pada server, perangkat mobile atau web sehingga memudahkan kita melakukan pipeline machine learning hingga ke level produksi.
Bahkan dalam dunia nyata, sudah banyak platform besar yang menggunakan sistem komputasi besutan Tensorflow seperti Anda lihat pada gambar di bawah
Benar-benar sangat fleksibel dan praktis bukan? TensorFlow menyediakan semua tools dan library yang kita butuhkan untuk proyek machine learning dari tahap training model hingga tahap produksi. Itulah alasan mengapa TensorFlow disebut sebagai end-to-end platform untuk machine learning.
Sekian eksplorasi saya mengenai Tensorflow, semoga Anda para pembaca dapat lebih mengenal tentang dunia Machine Learning dan penggunaan Tensorflow dalam kehidupan sehari-hari. Untuk mengetahui lebih jauh Anda dapat membuka tautan berikut.
Terima kasih.
Hughie Raymonelika Manggala
Information System and Technology, ITB