Cerita Nyata Saat Menyewa: Hal Kecil yang Bikin Pusing
Pagi Maret 2021, saya berdiri di sebuah apartemen di Jakarta Selatan, menunggu sambungan internet stabil supaya bisa menguji model rekomendasi yang sudah saya latih semalaman. Saya sedang menyewa sebuah workstation GPU milik penyedia lokal — solusi cepat saat cloud mahal dan tim butuh iterasi cepat. Yang saya kira masalahnya hanya “kecepatan” ternyata berujung pada serangkaian hal kecil yang menguras waktu dan sabar. Ini bukan cerita dramatis tentang failure besar; ini kumpulan friksi kecil yang, ditumpuk, membuat proyek molor.
Pertama Kali Menyewa GPU — Versi Driver yang Membunuh Progress
Detil pertama: driver dan versi CUDA. Waktu itu saya pikir, “cuma pasang Docker image, beres.” Jam 02.00, log berwarna merah: cuDNN error, runtime mismatch. Rasa panik kecil muncul. Saya cek pip, saya cek nvidia-smi, saya chat penyedia. Ternyata workstation itu di-setup dengan CUDA 10.1 padahal model saya butuh CUDA 11.0. Perbaikan? Rebuild image, reinstall driver, tunggu reboot. Dua jam hilang. Pelajaran: sebelum menyewa, minta spesifikasi lengkap — versi CUDA, driver, cuDNN, dan apakah provider support update kernel. Di masa saya, saya mulai membawa checklist kecil itu; lebih hemat 3 jam tiap kali.
Spot Instance dan Hati yang Tertukar
Pernah pula saya menggunakan spot instance di cloud agar biaya turun. Malam latihan, saya tidur dengan tenang. Jam 03.17, notifikasi: instance preempted. Checkpoint terakhir? 45 menit sebelum. Dalam hati saya menggerutu: “Kenapa aku tidak auto-checkpoint setiap 10 menit saja?” Sederhana — kebiasaan buruk. Sejak kejadian itu, saya menulis callback checkpointing otomatis, plus small incremental saves. Saya juga menaruh meta-checkpoints di penyimpanan yang tahan egress. Friksi kecil lain: time zone dan cron job yang saya set di lokal tapi server di region lain. Hasilnya, scheduled jobs jalan di jam yang salah. Detail seperti zona waktu sering diabaikan, padahal membuat pipeline ‘tertidur’ atau memicu snapshot di saat biaya tinggi.
Data, Izin, dan Biaya Terselip
Data selalu punya selera mengacaukan rencana. Di satu proyek pemrosesan teks, kami menyewa storage cepat untuk I/O tinggi. File CSV besar, encoding campur aduk, nama file mengandung spasi. Tokenizer crash saat bertemu karakter non-UTF. Solusi? Preprocessing lokal dengan pipeline kecil: normalisasi encoding, remove spaces in filenames, dan validasi schema. Satu lagi: biaya egress. Saya pernah terkejut menerima tagihan karena memindahkan dataset 500GB dari provider ke lokal untuk analisis. Sejak itu saya membuat simulasi biaya transfer sebagai bagian dari estimasi sewa — kecil, tapi menyelamatkan budget.
Satu pengalaman unik: saat butuh tempat fisik untuk menyelesaikan debugging hardware, saya menyewa kamar singkat yang dekat dengan penyedia GPU. Menemukannya melalui anchorbnb jadi solusi praktis — tempat kerja sementara, colokan yang aman, dan koneksi stabil. Ini contoh kecil bagaimana kebutuhan non-teknis (ruang, listrik, tidur yang cukup) memengaruhi produktivitas teknis.
Penutup: Checklist Kecil yang Menyelamatkan
Rangkuman praktis dari semua headache itu: buat checklist pra-sewa. Tanyakan versi CUDA/cuDNN/driver, apakah ada akses root, kebijakan snapshot, SLA untuk preemption, IOPS storage, dan estimasi egress. Otomatiskan checkpointing. Uji environment dengan smoke test 10–15 menit sebelum komit training penuh. Validasi encoding dan schema data. Buat skrip deployment reproducible (Docker + pinned packages) agar pindah mesin tidak seperti operasi laparoskopi.
Ada hal kecil lain yang sering dilupakan: siapa yang punya akses ke data setelah sewa selesai? Bagaimana backup dikelola? Siapa tanggung jawab jika hardware bermasalah di tengah training? Menanyakan hal-hal ini bukan paranoid — itu profesional. Pengalaman saya mengajar bahwa friksi kecil lebih sering mematahkan timeline daripada bug matematis yang kompleks.
Di akhir hari, menyewa itu soal kompromi antara biaya, kecepatan, dan kontrol. Kita tidak bisa mengeliminasi semua kejutan. Namun dengan checklist yang ketat, automasi sederhana, dan kebiasaan mengecek detail kecil sejak awal, kita bisa mengurangi kebingungan sampai tingkat yang wajar. Dari Jakarta malam itu, saya pulang dengan lebih banyak catatan, sedikit lelah, tapi juga yakin: masalah kecil bisa diatasi, selama kita membuatnya terlihat sejak awal.