Photo by Dino Reichmuth on Unsplash

Mencari Alternatif Google Colab

Setelah lebih dari dua tahun tulisan pertama tentang Google Colab, pada artikel ini kami mau sharing pengalaman mencari alternatif google colab beberapa pekan terakhir. Apakah ada yang sebanding?

Setelah browsing artikel sejenis dan juga lihat-lihat akun twitter aktivis machine learning, akhirnya menemukan ada dua platform yang menarik untuk dicoba, Gradient dan Jarvis Labs. Perlu dicatat, kedua platform itu berbayar. Alhamdulillah karena dibantu dana penelitian, proses eksplorasi ini tidak jadi pikiran tambahan tagihan hehe.

Artikel ini akan berfokus pada alternatif berbayar Gradient dan Jarvis Labs, insyaAllah akan ada artikel lain yang akan bercerita alternatif yang juga bisa dibandingkan dalam hal sama-sama gratis.

Kenapa Tidak Google Colab?

Sebenernya, secara fitur, Google Colab sudah memiliki banyak keunggulan: terintegrasi dengan github dan drive, mudah dipakai, dan termasuk yang tadi saya sebut di awal, gratis. Fitur-fitur itu sudah sangat cukup untuk hampir kebanyakan pengguna. Tapi, beberapa pengguna yang cukup intens akan merasakan beberapa kekurangan yang membuat mereka harus mencari alternatif google colab.

Beberapa kekurangan yang mungkin dirasakan:

1. Google Colab tidak bisa menjamin jenis hardware yang kita peroleh. Bahkan ketika kita menggunakan Google Colab Pro+ yang berbayar (sementara ini belum tersedia di Indonesia), kita tidak bisa tahu tepatnya GPU apa yang akan kita peroleh atau berapa kapasitas Memory yang bisa kita gunakan maksimal.

2. Google Colab “tidak menyediakan” persistent storage, atau tempat penyimpanan permanen . Sebenarnya Colab sudah memberi fitur untuk menghubungkan google drive dengan colab, tetapi bagi pengguna yang intens codingnya dan membangun sistem yang terdiri dari banyak source code file dan data, penghubungan ini terasa tidak alami dan bisa jadi mengganggu kinerja. Apalagi kalau sampai lupa/gagal menyimpan model karena masalah ini.

3. Terbatas hanya format notebook. Meskipun ada beberapa trik yang bisa digunakan, google colab secara alami hanya menyediakan format notebook (.ipynb). Bagi yang biasa coding dengan bentuk script file (.py), atau perlu menggunakan terminal, sementara ini belum bisa dilakukan.

4. Waktu runtime yang terbatas. Jika colab kita tidak aktif dalam beberapa menit koneksi bisa diputus. Dan untuk running program dibatasi maksimal 12 jam, setelah itu akan ada jeda (kayak sesi cooling down) beberapa waktu untk kita bisa gunakan Google Colab lagi.

Alternatif Google Colab Berbayar

1. Gradient by Paperspace

Pertama kali dengar Gradient ketika mengikuti course dari Fast.ai. Saat itu mereka merekomendasikan Gradient yang menyediakan GPU dan fitur-fitur yang lebih baik dibanding Colabsecara gratis. Tapi sayangnya, di versi yang sekarang kita perlu membayar (menjadi member) untuk menggunakan Gradient. Gradient menyediakan beragam jenis pilihan CPU/GPU yang bisa digunakan, dari yang standard seperti RTX4000 sampai yang sangat bagus seperti A100.

Harga

Gradient menggunakan sistem subscribe atau langganan. Biaya langganan member Pro sebesar \$8 tiap bulan ditarik di awal bulan, lalu ditambah biaya tambahan jika kita menggunakan GPU yang berbayar selama sebulan terakhir. Beberapa GPU sebenarnya sudah tersedia gratis untuk member Pro, misalnya P5000, jadi kita cukup bayar biaya langganan member saja, tapi untuk mendapatkan akses GPU yang lebih cepat kita juga perlu bayar biaya tambahan penggunaan yang dihitung tiap menit.

Misalnya, dalam sebulan kita menggunakan GPU Quadro P6000 dengan tarif \$1 per jam lalu kita gunakan selama 12,5 jam, maka di akhir bulan kita akan ditagih sebesar \$8 + \$12,5 = \$20,5. Oh ya, perlu diingat juga, selain biaya member dan biaya sewa GPU, kita juga bisa dikenai biaya penyimpanan data jika melebihi kapasitas yang disediakan, yakni sebesar \$0.29/GB

Keunggulan

  1. Support. Keunggulan pertama yang saya rasakan di sini adalah kecepatan support dalam menjawab permasalahan. Meskipun pertanyaan hanya bisa melalui email, pengalaman saya, pertanyaan akan dijawab kurang dari 3 jam, baik itu pertanyaan teknis ataupun non-teknis.
  2. Persistent Memory. Untuk member Pro, kita diberi storage 15GB gratis yang tidak akan hilang meskipun kita tidak menggunakan GPU nya.
  3. Jupyter Lab. Gradient menggunakan basis Jupyter Lab untuk sistemnya, ini memberi beberapa keunggulan, misalnya kita bisa membuka beberapa jupyter notebook dalam satu jendela, atau membuka terminal, atau membuat script python.
  4. Pilihan hardware yang pasti. Di Gradient kita bisa memilih akan menggunakan hardware yang mana dengan kapasitas RAM yang jelas berapa.
  5. Waktu runtime tidak terbatas. Untuk free-GPU waktu runtime maksimal hanya 6 jam, tapi kalau pakai GPU yang berbayar tidak ada batas waktu runtime.
  6. GPU yang lebih baik. Ketika menjadi member Pro kita akan bisa mengakses beberapa jenis GPU secara gratis (tanpa biaya per jam). Salah satu GPU yang gratis adalah Quadro P5000 yang sudah saya coba-coba dan hasilnya sudah cepat dibanding GPU yang saya peroleh dari Colab. Saya sertakan benchmark GPU sederhana yang saya lakukan di akhir artikel.
Tampilan jupyter lab versi gradient
Pilihan hardware

Kekurangan

  1. Ketersediaan GPU. Karena pengguna Gradient cukup banyak, bisa jadi kita tidak bisa menggunakan suatu jenis GPU baik berbayar ataupun gratis karena tidak tersedia.
  2. Tampilan Jupyter Lab ala Gradient masih banyak kekurangan: short cut dan peletakkan tombol-tombol yang tidak biasa. Untungnya Gradient menyediakan opsi untuk menggunakan tampilan default Jupyter Lab. Tapi kalau dibandingkan dengan Colab, tampilan Colab sudah jauh lebih baik dibanding Jupyter lab, misalnya ada pesan-pesan eror atau waktu running tiap cell.
  3. Proses pembayaran yang kurang fleksibel. Sistem pembayaran tagihan perbulan (termasuk tagihan member) menurut saya kurang fleksibel. Kita tidak bisa bayar setahun di muka atau melakukan top up wallet yang nanti tinggal ditarik dari sana. Tapi, katanya kita bisa melakukan nego skema pembayaran dengan cara kontak Gradient, saya sudah sempat coba dan dapat balasan juga, sempat diajak zoom meeting untuk ketemu tapi sayanya yang agak mager hehe
  4. Tidak untuk pengguna ISP Indihome. Entah kenapa Gradient akan problematik jika diakses menggunakan Wifi Indihome. Di rumah, saya pakai VPN untuk mengatasi ini.
GPU bisa jadi tidak tersedia

2. JarvisLabs

Jarvis Labs kalau dilihat dari tampilan luarnya sekilas tidak menjanjikan hehe tampilannya super sederhana, lebih mirip web yang belum jadi, dan namanya yang pakai “Jarvis” (salah satu karakter asisten AI di film Ironman) malah membuat saya bikin ragu, ini web beneran atau hanya bercandaan. Tapi berdasarkan banyak rekomendasi di twitter akhirnya saya coba, dan ternyata sangat recommended.

Harga

“Simple, transparent pricing”. Tagline yang diangkat Jarvis Labs adalah sederhana dalam harga. Betul saja, di sini konsep pembayarannya sederhana. Kita tinggal top-up wallet kita dan biaya pemakaian akan ditagihkan ke sana. Biayanya juga lebih murah kalau dibanding Gradient. Di sini tidak ada biaya member tiap bulan, kita cukup bayar biaya sewa GPU ketika dipakai. Ketika GPU tidak dipakai kita akan kena biaya storage sebesar \$0.003 per 20 GB per jam. Biaya storage ini menurut saya lumayan murah, karena artinya kita hanya perlu bayar tambahan \$2 untuk 20 GB dalam satu bulan, bandingkan dengan gradient yang \$8 perbulan untuk dapat 15GB storage.

Kelebihan

  1. Halaman muka dan proses bisnis yang sederhana. Saya pribadi suka dengan konsep top-up wallet di Jarvis Labs, ini bikin kita bisa nentuin anggaran penggunaan lebih baik dan menghindari “tidak sengaja” pakai.
  2. Harga yang lebih murah. Di atas saya sudah jelaskan biaya bulanan secara umum lebih murah dibanding Gradient, begitu juga biaya sewa GPU nya. Misalnya untuk RTX5000 di Gradient harganya \$0.82/jam sedangkan di Jarvis Labs harganya \$0.49/jam.
  3. Persistent Memory. Sama seperti Gradient, kita akan mendapat persistent storage meski tidak menggunakan GPU nya. Biayanya adalah \$0.003 per 20 GB per jam, atau sekitar \$2 per 20 GB per bulan.
  4. Jupyter Lab. Jarvis Labs juga menggunakan basis Jupyter Lab untuk sistemnya, ini memberi beberapa keunggulan, misalnya kita bisa membuka beberapa jupyter notebook dalam satu jendela, atau membuka terminal, atau membuat script python.
  5. Pilihan hardware yang pasti. Di Jarvis Labs kita juga bisa memilih akan menggunakan hardware yang mana dengan kapasitas RAM yang jelas berapa.
  6. Ketersediaan GPU. Jika di Gradient saya beberapa kali kehabisan GPU yang ingin saya gunakan, uniknya di sini saya belum pernah mengalami. Saya tidak tahu apakah itu berarti Jarvis memiliki GPU yang lebih banyak atau memang usernya baru sedikit.
  7. Waktu runtime tidak terbatas. Jika di Gradient ada free-GPU, di JarvisLabs semua GPU berbayar, dan sama dengan Gradient untuk GPU berbayar tidak ada batas waktu runtime.
  8. Support. Saya beberapa kali pakai fitur customer supportnya, di sini support via chat jadi lebih simpel dan balesnya juga lumayan cepat (kurang dari 3 jam)
  9. UPDATE!: beberapa waktu lalu, saya mengira tidak ada fitur untuk melihat statistik penggunaan dan menjadikan ini salah satu kekurang Jarvislabs. Ternyata kita bisa melihat detail penggunaan di Invoice yang muncul tiap bulan. Pemakaian ditampilkan dengan detail dari berapa jam komputer berjalan hingga storage yang digunakan. Terima kasih kepada Vishnu (CEO Jarvis Labs) di kolom komentar)
  10. UPDATE!: Komunitas Jarvislabs ternyata berkembang cukup pesat di Fast.ai forum, jika ada kesulitan bisa lempar pertanyaan di forum ini
  11. UPDATE! (11/05/2022): Saya baru tahu beberapa waktu lalu bahwa JarvisLabs memungkinkan kita untuk running program di background, artinya ketika browser ditutup atau internet putus, proses running akan berjalan, ini super! karena di Colab & Paperspace kita tidak bisa close browser ketika sedang running.
Tampilan standar Jupyter Lab

Kekurangan

  1. Pilihan GPU masih terbatas. Sementara ini hanya ada 4 pilihan GPU dan satu pilihan CPU. Tetapi saya rasa ini sudah cukup, pilihan GPU nya sudah mencakup rentang yang besar dari GPU yang murah seperti RTX5000 atau yang bagus juga sudah tersedia seperti A100.

Pembandingan GPU (Benchmarking)

Saya coba bandingkan GPU-GPU yang tersedia menggunakan kode untuk klasifikasi citra menggunakan Tensorflow (Saya pakai Tensorflow karena entah kenapa kalau pakai PyTorch hasil benchmarknya ada yang aneh).

Saya menggunakan dataset yang sama seperti di tutorial tersebut dan menggunakan arsitektur dua layer konvolusi dan tambahan satu layer dense 64 neuron:

Hasilnya untuk melakukan 20 epoch (1x tes sudah dengan “warm up”):

  • Google Colab dengan GPU K80 : ~98 detik
  • Jarvis Labs RTX5000 ($0.490/hr) : ~93 detik
  • Jarvis Labs RTX6000 ($0.990/hr) : ~90 detik
  • Gradient P5000 (Free untuk member): ~72 detik
  • Gradient RTX5000 (Free untuk member): ~78 detik

Dari sana kita bisa lihat untuk penggunaan singkat kebanyakan GPU sudah lebih baik dari Google Colab. Bahkan GPU dari Gradient jauh lebih cepat dibanding Google Colab. Perlu diperhatikan juga saya hanya run 1x untuk benchmark di atas, bisa jadi ada beberapa faktor yang membuat bisa jadi berbeda hasilnya (khususnya Google Colab yang lebih labil).

Selain itu saya juga belum selidiki kenapa kok RTX5000 di Gradient jauh lebih cepat dibanding yang di Jarvis Labs, curiga saya adalah faktor CPU Core, di Gradient RTX5000 disertai 8 CPU Core, sedangkan di Jarvis hanya 7 CPU Core. Tapi kok nggak yakin bisa bikin sebeda itu.

Penutup

Dalam beberapa bulan terakhir, saya memilih menggunakan JarvisLabs untuk kebutuhan running dengan beberapa alasan yang sudah dipaparkan di artikel ini.

Sebenernya ada platform satu lagi yang cukup populer tapi belum jadi coba, yakni Saturn Cloud. Saya agak malas untuk mencoba karena ketika daftar, saya diminta untuk mengontak CS nya (via email) dan memberi beberapa data apa alasan penggunaan platform mereka. Kayaknya tujuan utamanya untuk menghindari penggunaan GPU untuk mining bitcoin, tapi proses ini bikin ribet dan saya pilih untuk tidak lanjut ><

Jika temen-temen pembaca punya rekomendasi lain, atau pengalaman lain, bisa share di kolom komentar siapa tahu bisa saya coba di lain kesempatan.

Semoga bermanfaat!

About the author

Rian Adam

Student at University of Central Florida; Lecturer at Universitas Islam Indonesia; Machine Learning Enthusiast;

View all posts

19 Comments

  • Hi Rian, thanks for taking time to write about Jarvislabs.ai. You can check invoice feature where you can track how much we deduct from wallet. We are also active in fast.ai forums, so for any questions on the platform you can post on fastai forums or use our chat option.

    • Hi Vishnu, it’s an honor to see you on my blog. Thank you for your visit and your additional information. I just realized we could see detailed usage in the invoice. That’s awesome!

      I just noticed JarvisLabs is also mentioned a lot on the fast.ai forum. I’m not active over there. However, your chat feature rocks! I always recommend it. Thank You! I’ll update my post.

  • Sebagai yg sering scripting di Colab dibandingkan di notebooknya, saya akui scripting di Colab memang menyakitkan

    Text editornya kurang nyaman, belum support terminal, dan kalau koneksi putus, semua window kereset (maklum koneksi lambat)

    Btw untuk keperluan penelitian, sempat ada kenalan yg memperkenalkan platform GPU as a service lain, https://efisonlt.com/aleleon-supercomputer/

    Belum support notebook sepertinya mas, tapi secara payment bisa dalam rupiah dan business modelnya sederhana

    • Wah punya Wilson ya, sekilas baca dari segi biaya dan spesifikasi GPU lumayan bersaing sama platform lain, mungkin perlu aku coba pelajari lagi detailnya. Tapi kalau belum Notebook ya emang kerasa rumit dibeberapa case.

      Btw, kalau akhir-akhir ini lagi nikmatin banget JarvisLabs, tiap ada dana penelitian langsung nyisihin buat nambah wallet di sana, semoga bisa sempet nulis review lebih dalem.

    • Salah satu fitur di JarvisLabs yang surprisingly cool: kita bisa running notebooknya di background; browser ditutup atau internet putus, proses running tetep jalan. Mattiin instancenya bisa pakai script, jadi setelah running bisa otomatis mati 🙂

  • Hai mas rian, izin bertanya. Apakah berkenan untuk menjelaskan bagaimana subscribe paperspace gradient pro? karena saya sudah mencoba untuk menggunakan kartu debit saya (mastercard) sering terdecline ketika ingin ditambahkan sebagai payment

    • Oh ya saya inget dulu pernah juga mengalami hal yang sama (seinget saya di Paperspace tapi kok tidak nemu emailnya). Bisa coba email ke Paperspace mas untuk dibantu. Dulu saya ceritanya kartu kreditnya kayak masuk “blacklist” gitu entah kenapa terus saya email dan diminta untuk melengkapi beberapa data sedikit, dan sekarang sudah solve.

      • HAHAHAHA kok kebetulan banget mas, saya baru selese email-an sama CS nya dan ya emg bener ke blacklist sampe harus ngasih KTP buat validasinya. Heran aja, tahun 2020 tapi validasinya masih manual xixixi. Btw Makasih jawabannya mas

  • biasanya pake colab,,cuma buat ngerender file blender aja sih..lg nyari” alternatif yg lebih murah,,brrti jarvislab lbh rekomen y mas thx brmnfaat bgt

    • Terima kasih, setelah lebih setahunan ini jalan, saya masih pakai jarvislab lumayan nyaman dan simpel. Customer supportnya juga bagus banget.

  • Halo kak, gara-gara2 aku lihat postingan ini aku jadi penasaran dan coba jarvislab. Dan sekarang walletku jadi minus gara2 lama tidak dipakai. Ini apa gapapa kalau dibiarkan?
    Atau nanti ngaruh ke tagihan rekeningku kak?
    Terimakasih.

    • Saya belum pernah ngalami creditminus di JarvisLab, tapi karena di sana modelnya top up seharusnya aman. Tapi untuk pastinya chat langsung saja CS nya via chat menunya. Mereka responsif dan akan bantu kendala-kendala seperti ini

      • Kalau ga salah sekarang di jarvislab sudah ada skema subsribenya mas, jadi mungkin yang diatas milih pilihan itu (atau otomatis kerubah jadi skema subsribe setelah saldo kurang dari $5 ? aku juga baru buka-buka channel youtubenya

  • Kak izin bertanya, pernah mengalami failed to fetch saat membuka project di gradient paperspace tidak ya? atau gradient paperspace memang sering failed to fetch data ya? kondisi internet saya stabil, saya ganti sinyal juga, tetapi tetap seperti itu

    • Kalau saya pribadi belum pernah ngalami failed to fetch. Datanya ditaruh di mana? saya biasanya cuma taruh di instance yang lagi dijalanin.

      Btw, baru-baru ini pakai paperspace masih nggak nyaman sama setup-setup package yang sering bermasalah (versi antar packagenya kadang “tabrakan”) dan mesin yang kadang nggak tersedia, jadi kok masih nggak terlalu rekomendasi Paperspace

Leave a Reply