Last chance! 50% off DataCamp Premium
Sale ends in
Jika Anda seorang engineer machine learning, kemungkinan besar Anda pernah menggunakan Docker dalam salah satu proyek—baik untuk menerapkan endpoint inferensi model atau mengotomatiskan pipeline machine learning untuk pelatihan, evaluasi, dan deployment. Docker menyederhanakan proses ini, memastikan konsistensi dan skalabilitas di lingkungan produksi.
Namun, pertanyaannya: Apakah Anda mengetahui semua image Docker yang tersedia di Docker Hub dan GitHub? Image pra-bangun ini dapat menghemat waktu dengan menghilangkan kebutuhan untuk membangun image secara lokal. Sebagai gantinya, Anda dapat menarik dan menggunakannya langsung dalam Dockerfile atau setup Docker Compose Anda, mempercepat pengembangan dan deployment.
Dalam blog ini, kita akan mengeksplorasi 12 image container Docker terbaik yang dirancang untuk alur kerja machine learning. Ini mencakup alat untuk lingkungan pengembangan, kerangka kerja deep learning, manajemen siklus hidup machine learning, orkestrasi workflow, dan large language model.
Jika Anda baru mengenal Docker, silakan ikuti Kursus Pengantar Docker untuk memahami dasar-dasarnya.
Jika Anda pernah mendengar frasa "it works on my machine," maka Anda memahami repotnya menjaga konsistensi lingkungan developer di berbagai platform dan tahap. Di sinilah container Docker berperan, karena mereka mengenkapsulasi kode, dependensi, dan konfigurasi ke dalam sebuah image portabel, memastikan konsistensi di berbagai lingkungan. Model dan API endpoint berperilaku identik selama pengembangan, pengujian, dan deployment produksi, terlepas dari variasi pada infrastruktur yang mendasarinya.
Dengan mengisolasi dependensi—seperti versi spesifik Python, PyTorch, atau CUDA—Docker memastikan reprodusibilitas eksperimen dan mengurangi konflik antar pustaka.

Sumber: Docker
Anda dapat membagikan image Docker dengan tim Anda, dan mereka cukup menarik image tersebut untuk membuat banyak instance. Proses ini juga mempermudah deployment dengan mengemas model ke dalam container beserta API, memungkinkan integrasi mulus dengan alat orkestrasi seperti Kubernetes untuk penyajian produksi yang skalabel.
Singkatnya, sebagai engineer machine learning, Anda harus tahu cara menangani image Docker dan menerapkan container Docker di cloud.
Pahami konsep inti kontainerisasi dengan mengikuti kursus singkat Konsep Containerization dan Virtualization.
Untuk menyiapkan alur kerja pengembangan machine learning yang lancar, Anda memerlukan lingkungan andal dengan alat dan pustaka esensial. Image container Docker ini menyediakan setup pra-konfigurasi untuk data science, coding, dan eksperimen.
Python adalah tulang punggung sebagian besar proyek machine learning, karena hampir semua kerangka kerja dan aplikasi utama, seperti TensorFlow, PyTorch, dan scikit-learn, dibangun di sekitarnya. Popularitasnya meluas hingga ke deployment, di mana Python umum digunakan dalam image Docker untuk membuat lingkungan yang konsisten bagi inferensi model. Contohnya:
FROM python:3.8
RUN pip install --no-cache-dir numpy pandas
Kesederhanaan Python, ekosistem pustaka yang luas, dan kompatibilitasnya dengan alat seperti Docker menjadikannya pilihan utama untuk pengembangan dan deployment machine learning.
Jupyter Docker Stacks menyediakan lingkungan komprehensif untuk data science dan machine learning, termasuk Jupyter Notebook dan rangkaian pustaka data science populer. Anda dapat dengan mudah menarik image dari Docker Hub dan menggunakannya secara lokal. Selain itu, Anda dapat menerapkan instance ini di cloud dan membagikannya dengan tim Anda.
Untuk menjalankan Jupyter Data Science Notebook, gunakan perintah berikut:
docker run -it --rm -p 8888:8888 jupyter/datascience-notebook
Ini juga dapat digunakan dengan Dockerfile, sehingga Anda tidak perlu menginstal paket Python menggunakan pip. Anda hanya perlu menjalankan aplikasi atau mengeksekusi skrip Python. Berikut contoh Dockerfile:
FROM jupyter/datascience-notebook:latest
Image ini mencakup pustaka populer seperti NumPy, pandas, matplotlib, dan scikit-learn, beserta Jupyter Notebook untuk komputasi interaktif. Ini ideal untuk eksplorasi data, visualisasi, dan eksperimen machine learning, sehingga menjadi andalan di komunitas data science.
Untuk informasi lebih lanjut, lihat blog Docker untuk Data Science: Sebuah Pengantar, tempat Anda dapat mempelajari perintah Docker, mendockerisasi aplikasi machine learning, dan praktik terbaik di industri.
Kubeflow Notebook image dirancang untuk bekerja di dalam pod Kubernetes, yang dibuat untuk alur kerja machine learning di Kubernetes. Anda dapat memilih dari tiga jenis notebook: JupyterLab, RStudio, dan Visual Studio Code (code-server).
Uji secara lokal dengan menjalankan perintah berikut:
docker run -it --rm -p 8888:8888 kubeflownotebookswg/jupyter-pytorch
Image Kubeflow Notebooks sangat berguna di lingkungan dengan infrastruktur Kubernetes. Mereka memfasilitasi proyek machine learning yang kolaboratif dan skalabel, serta terintegrasi mulus dengan Kubernetes untuk alur kerja machine learning yang skalabel dan reprodusibel.
Pelajari Docker dan Kubernetes dengan mengikuti jalur keahlian Containerization and Virtualization with Docker and Kubernetes. Jalur interaktif ini akan memungkinkan Anda membangun dan menerapkan aplikasi di lingkungan modern.
Kerangka kerja deep learning memerlukan lingkungan yang dioptimalkan untuk pelatihan dan inferensi. Image container ini sudah dikemas dengan dependensi yang diperlukan, menghemat waktu instalasi dan setup.
PyTorch adalah salah satu kerangka kerja deep learning terkemuka yang dikenal karena pendekatan modular untuk membangun deep neural network. Anda dapat membuat Dockerfile dan menjalankan inferensi model Anda dengan mudah tanpa memasang paket PyTorch menggunakan perintah pip.
FROM pytorch/pytorch:latest
RUN python main.py
Image Docker PyTorch banyak digunakan untuk melatih dan menerapkan model dalam riset dan produksi. Ini menyediakan lingkungan yang dioptimalkan untuk mengembangkan dan menerapkan model deep learning, khususnya dalam tugas pemrosesan bahasa alami dan visi komputer.
TensorFlow adalah kerangka kerja deep learning terkemuka lainnya yang banyak diadopsi di akademia dan industri. Ini bekerja baik dengan ekosistem Google dan semua paket pendukung TensorFlow untuk pelacakan eksperimen dan penyajian model.
FROM tensorflow/tensorflow:latest
RUN python main.py
Image Docker TensorFlow mencakup paket Python TensorFlow dan dependensinya, sering kali dioptimalkan untuk akselerasi GPU. Ini menjadikannya ideal untuk membangun dan menerapkan model machine learning, terutama di lingkungan produksi skala besar.
Runtime deep learning NVIDIA CUDA merupakan hal esensial untuk mempercepat komputasi deep learning pada GPU. Anda dapat dengan mudah menambahkannya ke Dockerfile, sehingga tidak perlu menyiapkan CUDA secara manual untuk menjalankan tugas machine learning yang dipercepat GPU.
FROM nvidia/cuda
RUN python main.py
Image Docker NVIDIA CUDA menawarkan lingkungan runtime yang dioptimalkan untuk aplikasi deep learning menggunakan GPU NVIDIA, secara signifikan meningkatkan kinerja model deep learning.
Anda dapat mempelajari lebih lanjut tentang bagaimana GPU mempercepat workflow data science dalam postingan blog Akselerasi GPU Polars.
Mengelola siklus hidup machine learning—dari eksperimen hingga deployment—memerlukan alat khusus. Image Docker ini menyederhanakan versioning, pelacakan, dan deployment.
MLflow adalah platform open-source untuk mengelola siklus hidup machine learning, termasuk eksperimen, reprodusibilitas, dan deployment. Anda dapat menjalankan server MLflow menggunakan perintah berikut, yang akan menyediakan server MLflow untuk menyimpan dan melakukan versi terhadap eksperimen, model, dan artefak. Ini juga menyediakan dasbor interaktif bagi manajer untuk melihat eksperimen dan model.
docker run -it --rm -p 9000:9000 ghcr.io/mlflow/mlflow
Hugging Face Transformers banyak digunakan untuk beragam aplikasi, mulai dari menemukan large language model hingga membangun model pembangkitan gambar. Ini dibangun di atas PyTorch, TensorFlow, dan kerangka deep learning utama lainnya. Artinya, Anda dapat menggunakannya untuk memuat model machine learning apa pun, melakukan fine-tuning, melacak performa, dan menyimpan pekerjaan Anda ke Hugging Face.
FROM huggingface/transformers-pytorch-gpu
RUN python main.py
Image Docker Hugging Face Transformers populer untuk melakukan fine-tuning dan menerapkan large language model dengan cepat dan efisien. Secara keseluruhan, ekosistem AI modern sangat bergantung pada paket ini, dan Anda dapat mengintegrasikannya ke dalam Dockerfile untuk memanfaatkan semua fiturnya tanpa khawatir tentang dependensi.
Proyek machine learning sering kali melibatkan workflow yang kompleks yang memerlukan otomatisasi dan penjadwalan. Alat orkestrasi workflow ini membantu menyederhanakan pipeline machine learning.
Apache Airflow adalah platform open-source untuk membuat, menjadwalkan, dan memantau workflow secara terprogram.
docker run -it --rm -p 8080:8080 apache/airflow
Airflow banyak digunakan untuk mengorkestrasi pipeline machine learning yang kompleks. Ini menyediakan platform untuk menulis, menjadwalkan, dan memantau workflow sebagai directed acyclic graphs (DAG), menjadikannya tak tergantikan dalam rekayasa machine learning untuk mengotomatisasi dan mengelola workflow data.
n8n adalah alat otomatisasi workflow open-source yang semakin populer karena fleksibilitas dan kemudahan penggunaannya, khususnya dalam mengotomatisasi workflow machine learning. Anda dapat menjalankannya secara lokal dan membangun aplikasi RAG sendiri menggunakan antarmuka seret-dan-lepas.
docker run -it --rm -p 5678:5678 n8nio/n8n
n8n menyediakan antarmuka yang ramah pengguna untuk membuat workflow yang mengintegrasikan berbagai layanan dan API. Ini sangat berguna untuk mengotomatisasi tugas berulang dan menghubungkan berbagai sistem serta layanan dalam proyek machine learning.
Untuk mempelajari lebih lanjut tentang membuat workflow machine learning di Python, pertimbangkan untuk mengikuti kursus Designing Machine Learning Workflows in Python.
Seiring LLM semakin umum, container Docker khusus membantu menerapkan dan menskalakan model ini secara efisien.
Ollama dirancang untuk menerapkan dan menjalankan large language model secara lokal. Dengan menggunakan Docker Ollama, Anda dapat mengunduh dan menyajikan LLM, memungkinkan Anda mengintegrasikannya ke dalam aplikasi. Ini adalah cara termudah untuk menjalankan model bahasa besar baik yang terkuantisasi maupun penuh di produksi.
docker run -it --rm ollama/ollama
Qdrant adalah mesin pencari vektor yang digunakan untuk menerapkan aplikasi pencarian kemiripan vektor. Ini dilengkapi dengan dasbor dan server agar Anda dapat terhubung untuk mengirim dan mengambil data vektor dengan cepat.
docker run -it --rm -p 6333:6333 qdrant/qdrant
Qdrant menyediakan alat untuk pencarian kemiripan dan pengelompokan data berdimensi tinggi secara efisien. Ini sangat berguna dalam aplikasi seperti sistem rekomendasi, pencarian gambar dan teks, serta pencarian semantik, yang semakin penting dalam proyek machine learning yang melibatkan large language model.
Dalam blog ini, kita mengeksplorasi 12 image container Docker esensial yang disesuaikan untuk proyek machine learning. Image ini menyediakan perangkat lengkap, mulai dari lingkungan pengembangan hingga alat untuk large language model. Dengan memanfaatkan container ini, data scientist dan engineer dapat membangun lingkungan proyek yang konsisten, reprodusibel, dan skalabel, menyederhanakan alur kerja dan meningkatkan produktivitas.
Langkah berikutnya dalam proses belajar adalah membangun proyek Anda sendiri menggunakan image container Docker ini!
Jika Anda ingin mempelajari cara membangun aplikasi AI Anda sendiri dengan alat pengembang AI terbaru, lihat jalur Developing AI Applications.
Ya, Docker sangat bermanfaat untuk proyek machine learning. Docker menyediakan cara fleksibel untuk mengelola lingkungan dan dependensi, memastikan konsistensi dan reprodusibilitas. Dengan mengontainerkan model machine learning Anda, Anda dapat menyederhanakan deployment dan menghindari masalah yang disebabkan oleh perbedaan konfigurasi sistem.
Docker Hub adalah repository berbasis cloud tempat Anda dapat menemukan dan berbagi image container. Docker Hub menawarkan pustaka besar image pra-bangun, yang dapat mempercepat alur kerja pengembangan dan mengurangi waktu setup secara signifikan. Selain itu, Anda dapat membangun image Docker sendiri dan mendorongnya ke akun Docker Hub Anda, sehingga dapat diakses tim Anda untuk kolaborasi.
Container dan image Docker disimpan di lokasi tertentu tergantung sistem operasi Anda:
Docker banyak digunakan untuk mengembangkan, menguji, dan menerapkan aplikasi web. Docker menyederhanakan penanganan integrasi dan dependensi yang kompleks, menjadikannya alat andalan untuk pengembangan perangkat lunak modern.
Ya, Docker umumnya lebih cepat daripada mesin virtual tradisional. Docker menggunakan virtualisasi tingkat OS, yang memungkinkan container berbagi kernel sistem operasi host.
Alpine adalah distribusi Linux ringan yang sering digunakan dalam container Docker. Alpine dikenal karena ukurannya yang kecil, keamanannya, dan efisiensinya, sehingga ideal untuk membuat image Docker minimal yang mengurangi penggunaan sumber daya dan meningkatkan kinerja.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.
Pelajari lebih lanjut tentang machine learning dan AI dengan kursus-kursus ini!
Kursus
Kursus
Kursus

blogs
Javier Canales Luna
14 mnt
blogs
Dario Radečić
15 mnt
blogs
Hugo Bowne-Anderson
13 mnt
blogs
David Woods
13 mnt