Tutorial Lengkap Comet ML: Platform MLOps untuk Experiment Tracking dan Model Management
Dalam dunia machine learning modern, mengelola eksperimen secara manual menjadi tantangan besar seiring bertambahnya kompleksitas proyek. Comet ML hadir sebagai platform MLOps yang memungkinkan data scientist dan ML engineer untuk melacak eksperimen, membandingkan model, dan mengelola lifecycle machine learning secara efisien. Tutorial ini akan membahas cara menggunakan Comet ML dari instalasi hingga fitur-fitur lanjutan untuk proyek ML production.
Apa Itu Comet ML?
Comet ML adalah platform experiment tracking dan model management yang menyediakan dashboard terpusat untuk mencatat parameter, metrik, artefak, dan kode dari setiap eksperimen ML. Berbeda dengan pencatatan manual menggunakan spreadsheet atau log file, Comet ML secara otomatis menangkap semua informasi penting dan menyajikannya dalam antarmuka visual yang intuitif.
Keunggulan utama Comet ML meliputi:
- Automatic logging untuk framework populer seperti PyTorch, TensorFlow, scikit-learn, dan XGBoost
- Experiment comparison dengan visualisasi metrik secara real-time
- Model registry untuk versioning dan deployment tracking
- Artifact management untuk dataset dan model versioning
- Team collaboration dengan fitur sharing dan reporting
Instalasi dan Setup
Instalasi Package
Instal Comet ML menggunakan pip:
pip install cometml
Untuk integrasi dengan framework tertentu, instal dependensi tambahan:
pip install cometml[pytorch]
pip install cometml[tensorflow]
pip install cometml[sklearn]
Konfigurasi API Key
Setelah membuat akun di comet.com, dapatkan API key Anda dari halaman Settings. Ada beberapa cara untuk mengkonfigurasi API key:
Cara 1: Environment Variableexport COMETAPIKEY="your-api-key-here"
Cara 2: File Konfigurasi
Buat file .comet.config di home directory:
[comet]
apikey=your-api-key-here
projectname=my-ml-project
workspace=my-workspace
Cara 3: Langsung dalam Kode
import cometml
comet
ml.login(apikey="your-api-key-here")
Verifikasi Instalasi
import cometml
experiment = cometml.Experiment(
projectname="test-project",
autometriclogging=True,
autoparamlogging=True,
)
experiment.logparameter("testparam", "hello")
experiment.logmetric("testmetric", 0.95)
experiment.end()
print("Comet ML berhasil dikonfigurasi!")
Basic Usage: Experiment Tracking
Logging Parameters dan Metrics
Berikut contoh dasar penggunaan Comet ML untuk melacak eksperimen klasifikasi sederhana:
import cometml
from sklearn.datasets import load
iris
from sklearn.modelselection import traintestsplit
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracyscore, f1score
experiment = cometml.Experiment(
projectname="iris-classification",
autometriclogging=False,
)
X, y = loadiris(returnXy=True)
Xtrain, Xtest, ytrain, ytest = traintestsplit(
X, y, testsize=0.2, randomstate=42
)
params = {
"nestimators": 100,
"maxdepth": 5,
"minsamplessplit": 2,
"randomstate": 42,
}
experiment.logparameters(params)
model = RandomForestClassifier(params)
model.fit(Xtrain, ytrain)
ypred = model.predict(Xtest)
accuracy = accuracyscore(ytest, ypred)
f1 = f1score(ytest, ypred, average="weighted")
experiment.logmetric("accuracy", accuracy)
experiment.logmetric("f1score", f1)
experiment.addtag("baseline")
experiment.addtag("random-forest")
experiment.end()
print(f"Accuracy: {accuracy:.4f}, F1: {f1:.4f}")
Logging Step-based Metrics
Untuk training loop dengan metrik per epoch:
import cometml
import numpy as np