Mengenal Google Colab

Apa itu Google Colab?

Seperti Google Drive, Google Doc, dan sebagainya, Google Colab adalah salah satu produk Google berbasis cloud yang bisa kita gunakan secara gratis. Perbedaannya adalah Google Colab dibuat khusus untuk para programmer atau researcher yang mungkin kesulitan untuk mendapatkan akses komputer dengan spek tinggi. Google Colab adalah coding environment bahasa pemrograman Python dengan format “notebook” (mirip dengan Jupyter notebook), atau dengan kata lain Google seakan meminjami kita komputer secara gratis! untuk membuat program oleh Google.

Saya sendiri beberapa kali telah menggunakan Google Colab untuk beragam keperluan dan merasakan banyak manfaatnya, beberapa manfaat yang saya rasakan:

  • Free GPU! Google Colab memudahkan kita untuk menjalankan program pada komputer dengan spek tinggi (GPU Tesla, RAM ~12GB, Disk ~300GB yang masih bisa sambung dengan Google Drive, akses internet cepat untuk download file besar) dan running dalam waktu yang lama (Google Colab mengizinkan kita untuk merunning program hingga 12 jam). Karenanya, bagi teman-teman yang ingin belajar Deep Learning tidak perlu khawatir lagi akan terhalang sulitnya mendapatkan akses komputer dengan spek tinggi.
  • Colaborate! Google Colab juga memudahkan kita berkolaborasi dengan orang lain dengan cara membagi kodingan secara online (mirip Google Doc). Kita bisa lebih mudah bereksperimen secara bersamaan, atau sekadar menggunakan fitur ini untuk mempelajari codingan orang lain yang telah rapi (karena format notebook)
  • Mudah berintegrasi! Google Colab terbilang sangat fleksibel dalam hal integrasi. Kita dapat dengan mudah menghubungkan Google Colab dengan jupyter notebook di komputer kita (local runtime), menghubungkan dengan Google Drive, atau dengan Github
  • Fleksibel! Salah satu yang saya favoritkan adalah kita bisa dengan mudah merunning deep learning program via HP! ya karena pada esensinya Google Colab hanya perlu running di browser, kita bisa mengawasi proses training (atau bahkan coding) via browser smartphone kita selama smartphone kita terhubung dengan Google Drive yang sama.

Bagimana cara menggunakannya?

Seperti Aplikasi Google pada umumnya, yang kita butuhkan adalah akun Google dan silakan ke https://colab.research.google.com/. Setelah itu kita akan disuguhkan tampilan sebagai berikut:

tampilan google colab

Untuk membuat notebook baru, cukup klik New Python 3 Notebook (atau Python 2 tergantung apa yang akan digunakan) lalu kita akan dibawa ke halaman yang mirip dengan Jupyter Notebook. Nantinya, setiap notebook yang kita buat akan disimpan di Google Drive kita.

tampilan google colab 2

Pengaturan GPU

Jika kita ingin menjalankan program Python kita menggunakan GPU (atau bahkan TPU), kita cukup perlu klik “Edit > Notebook Settings”, lalu pada bagian “Hardware Accelerator” pilih GPU.

mengatur gpu google colab

Hal-hal lain seputar Google Colab

Di bagian ini saya akan menjelaskan catatan-catatan tambahan penggunaan Colab yang tidak wajib kalian tahu, tapi siapa tahu akan bermanfaat nantinya.

Pip Package Installation

Ketika kita butuh instal python package di Colab, kita bisa melakukan instalasi menggunakan pip.

!pip install seaborn

Jika diperhatikan perintahnya sama seperti perintah instalasi pip pada umumnya, hanya saja bedanya di awali dengan tanda !. Tanda tersebut digunakan sebagai penanda bahwa perintah yang akan kita jalankan adalah command line. Kita juga bisa menggunakan tanda ! untuk perintah terminal lain seperti !wget untuk mendownload dataset, !gzip untuk mengextract file zip, !cp untuk mengcopy file, dan sebagainya.

Menghubungkan dengan Google Drive

Google Colab akan mereset notebook beserta semua temporary filenya maksimal 12 jam sekali. Karenanya akan lebih baik jika file yang akan kita gunakan atau kita hasilkan tersimpan dengan rapi di Google Drive. Kita bisa melakukan hal tersebut dengan menjalankan program di bawah

from google.colab import drive
drive.mount('/content/drive')

Jika perintah di atas dijalankan, maka kita akan diberikan URL yang akan mengantarkan kita ke halaman permohonan akses Google Drive. Jika ktia sudah mengizinkan, kita akan diberikan kode yang dapat dituliskan di kolom kecil di akhir output tersebut.

Setelah terhubung, maka akan tampak daftar file di bagian kiri Notebook

Untuk mengakses file-file tersebut, kita arahkan proses load / save ke path drive/My Drive/FOLDERTUJUAN

Mengupload file ke Colab

Alternatif lain jika tidak ingin menghubungkan Google Colab ke Google Drive adalah dengan mengupload langsung file yang diperlukan ke Colab. Colab menyediakan tempat penyimpanan file sementara yang akan direstart (dihapus) dalam rentangan waktu tertentu.

Upload file ke Google Colab dengan perintah berikut:

from google.colab import files
upload = files.upload()

Jika perintah di atas di-run akan memunculkan kotak dialog untuk mengupload file. Perintah di atas cukup praktis untuk mengupload file-file kecil (bukan dataset besar, lebih mudah diletakkan di drive)

Pengaturan tema

Bagi yang suka coding dengan “night mode”, Colab juga menyediakan pilihan untuk mengubah tema notebooknya menjadi gelap. Pengubahan tema dilakukan di “tools” > “preferences” > “site”

dark google colab

Selain itu Colab juga menyediakan beberapa “hiburan” lain untuk diatur semisal memunculkan kucing (“kitty mode”) atau anjing (“corgy mode”) di atas layar atau juga percikan api (“power level”) jika mengetik panjang. Ini semua bisa ditemukan di “tools” > “preferences” > “miscellaneous”

Catatan seputar versi sistem

Perlu dicatat, tipe GPU dan versi Cuda (software “penghubung” komputasi menggunakan GPU) bisa jadi berbeda setiap kita buka Colab. Google Colab juga tidak menjamin akan selalu menginstall package Python termutakhir. Karenanya ada beberapa hal yang perlu diingat:

  1. Ketika melatih model machine learning pastikan semua-nya disimpan. “Semua” di sini mulai dari bobot neural network, parameter, modelnya, versi package, apapun! karena bisa jadi besok pas mau di-run lagi hasilnya berubah karena ada perubahan versi sistem. Ini khususnya ketika ada unsur “random” di kode kita.
  2. Ketika install package, pastikan dilengkapi dengan nomor versinya. agar tidak terpengaruh perubahan sistem:
!pip install torch==1.5 numpy==1.17

Penutup

Saya pribadi sangat merasa terbantu hingga saat ini dengan adanya Google Colab. Saya jadi tidak perlu repot izin pinjam komputer lab atau mengusulkan pembelian komputer spek tinggi di kantor. Saya sudah menggunakan Colab untuk beberapa projek Deep Learning yang tidak terlalu besar, dan sampai saat ini kesannya positif, lumayan untuk belajar atau bahkan untuk menghasilkan model yang baik di kasus-kasus sederhana. Batasan 12 jam running juga tidak terlalu menghalangi karena dengan spek komputer yang sudah baik, proses running jadi tidak perlu selama itu kok.

Selamat mencoba! dan semoga bermanfaat!

About the author

Rian Adam

Lecturer at Universitas Islam Indonesia; Machine Learning Enthusiast

View all posts

19 Comments

    • Sulit untuk ditebak juga, misalnya bisa jadi google mendapat keuntungan tersendiri dengan memiliki data penggunaan kita atau bisa jadi dari hal-hal lainnya.

      Tetapi, sempat juga ada survey dari Google beberapa waktu lalu yang mengindikasikan ada rencana biaya untuk usernya jika ingin menggunakan Google Colab dengan spesifikasi tertentu.

    • Setuju dengan jawaban Rian Adam. Yang diincar oleh google adalah kode2 deep learning dan mengumpulkan proyek2 apa saja yg dikerjakan orang2 di seluruh dunia. Konsepnya sama kaya Github, bisa dipake gratis tapi situsnya dihargai mahal oleh Microsoft.

    • Bantu jawab sedikit yg mungkin terlewat. Google dpt keuntungan nya kemungkinan dari GCP (Google Cloud Platform) yg di situ jelas ada layanan VM atau apa itu yg pnya GPU lebih berkelas V100 contoh nya, yg 20 kali lebih cepat di banding P100 yg pnya Google Colab. Layak nya Google Drive Free, Google jg pnya layanan berbayar Drive Unlimited seperti Google Suite. Google Colab hanya media pemasaran jika ingin mencoba lebih bisa ke GCP. Di luar sana banyak yg rela menyewa GPU Cloud utk riset. Bahkan University International rela mengeluarkan kocek Ratusan Juta utk sebuah layanan GPU.

    • Saya ingin sekali memakai namun menggunakan softwere dan data sendiri, keterbatasan lainnya skill python saya. Apakah bisa install program seperti photosop gitu ya admin (saya bukan programer) ?

      • Google Colab di desain untuk kebutuhan programming dan komputasi, sepertinya untuk saat ini belum bisa digunakan untuk penggunaan selain itu.

  • aturan 12 jam itu bagaimana sih, apakah 12 jam perhari atau 12 jam untuk satu akun seumur hidup. saya coba beberapa akun yang belum pernah dipakaipun sudah kena usage limit gitu.

    • Ini setahu kami, 12 jam itu dalam sekali run. Jadi ada 2 jenis usage limit:
      1. ketika tidak aktif browsernya (bisa jadi karena browsernya di close/komputer mati/internet putus) itu sekitar 90 menit kalau tidak reconnect lagi, maka running akan diputus.
      2. kalau browsernya aktif, maka bisa sampai 12 jam running.

      selain itu saya juga merasa ada waktu “cooldown” di Colab. Karena pernah running 12 jam, lalu terputus, lalu mau run lagi tidak bisa, saya perlu tunggu beberapa waktu (tapi belum tahu berapa lama)

  • google colab ini bisa diextand gak ya availabel RAM-nya? saya coba beberapa tutorial dengan memaksa agar ramnya penuh hingga crash namun selalu galal untuk memunculkan opsi penambah RAM-nya. kalau menggunakan Google Colab Pro apakah bisa menggunakan google payment indonesia? terima kasih

    • dulu saya pernah ngalami ada penawaran extend RAM, tapi akhir-akhir ini belum pernah kemungkinan sudah dicabut soalnya sudah ada Google Colab Pro. Belum bisa, google colab pro baru available untuk yang di US

  • Apa google colab ini memakan banyak kuota? saya make kuota internet soalnya. tiap kali runtime selesai, harus upload ulang dataset nya. apa ada alternatif nya gk? biar kuota irit

    • Untuk menghindari upload ulang, dataset bisa diletakkan di public drive seperti google drive / github / gitlab, lalu diakses langsung atau di-download ke google colab.

  • cara untuk melanjutkan train model yang terputus pada 12jam bagaimana ya kak?

    soalnya saya sedang dalam tahap implementasi membutuhkan train model yang jika saya hitung dr runtime nya itu membutuhkan 7-8hari.. agar re train model nya tidak mengulang dari 0 apakah ada coding nya ?

    • Tergantung implementasinya, kalau pakai Tensorflow atau PyTorch, kita bisa save model setiap beberapa iterasi. Tapi perlu diperhatikan, model yang disave harus dengan pengaturan yang bisa ditrain ulang jadi ketika Colabnnya putus nanti bisa ditrain ulang. Itu saya sertakan link kalau pakai PyTorch.

Leave a Reply