MLflow adalah platform untuk menyederhanakan pengembangan pembelajaran mesin, termasuk pelacakan eksperimen, mengemas kode ke dalam proses yang dapat direproduksi, serta berbagi dan menerapkan model. MLflow menawarkan serangkaian API ringan yang dapat digunakan dengan aplikasi atau pustaka pembelajaran mesin yang ada (TensorFlow, PyTorch, XGBoost, dll), di mana pun Anda menjalankan kode ML saat ini (misalnya di notebook, aplikasi mandiri, atau cloud). Komponen MLflow saat ini adalah:
Pelacakan MLflow: API untuk mencatat parameter, kode, dan hasil dalam eksperimen pembelajaran mesin dan membandingkannya menggunakan UI interaktif.
Proyek MLflow: Format pengemasan kode untuk proses yang dapat direproduksi menggunakan Conda dan Docker, sehingga Anda dapat membagikan kode ML Anda dengan orang lain.
Model MLflow: Format dan alat pengemasan model yang memungkinkan Anda menerapkan model yang sama dengan mudah (dari pustaka ML mana pun) untuk melakukan penilaian batch dan real-time pada platform seperti Docker, Apache Spark, Azure ML, dan AWS SageMaker.
Registri Model MLflow: Penyimpanan model terpusat, kumpulan API, dan UI, untuk secara kolaboratif mengelola siklus hidup penuh Model MLflow.
Paket
PyPI | |
conda-forge | |
CRAN | |
Pusat Maven |
Status Pekerjaan
Instal MLflow dari PyPI melalui pip install mlflow
MLflow mengharuskan conda
berada di PATH
untuk fitur proyek.
Snapshot malam hari dari MLflow master juga tersedia di sini.
Instal subset ketergantungan MLflow yang lebih rendah dari PyPI melalui pip install mlflow-skinny
Ketergantungan tambahan dapat ditambahkan sesuai skenario yang diinginkan. Misalnya, pip install mlflow-skinny pandas numpy
memungkinkan dukungan mlflow.pyfunc.log_model.
Dokumentasi resmi untuk MLflow dapat ditemukan di https://mlflow.org/docs/latest/index.html.
Peta Jalan MLflow saat ini tersedia di https://github.com/mlflow/mlflow/milestone/3. Kami mencari kontribusi untuk semua item peta jalan kami dengan help wanted
. Silakan lihat bagian Berkontribusi untuk informasi lebih lanjut.
Untuk bantuan atau pertanyaan tentang penggunaan MLflow (misalnya "bagaimana cara melakukan X?") lihat dokumen atau Stack Overflow.
Untuk melaporkan bug, mengajukan masalah dokumentasi, atau mengirimkan permintaan fitur, buka masalah GitHub.
Untuk pengumuman rilis dan diskusi lainnya, silakan berlangganan milis kami ([email protected]) atau bergabung dengan kami di Slack.
Program dalam examples
menggunakan MLflow Tracking API. Misalnya, jalankan:
contoh python/quickstart/mlflow_tracking.py
Program ini akan menggunakan MLflow Tracking API, yang mencatat data pelacakan dalam ./mlruns
. Ini kemudian dapat dilihat dengan UI Pelacakan.
UI Pelacakan MLflow akan menampilkan proses yang masuk ./mlruns
di http://localhost:5000. Mulailah dengan:
mlflow ui
Catatan: Menjalankan mlflow ui
dari dalam tiruan MLflow tidak disarankan - hal ini akan menjalankan UI dev dari sumber. Kami merekomendasikan menjalankan UI dari direktori kerja yang berbeda, menentukan penyimpanan backend melalui opsi --backend-store-uri
. Alternatifnya, lihat petunjuk untuk menjalankan UI dev di panduan kontributor.
Perintah mlflow run
memungkinkan Anda menjalankan proyek yang dikemas dengan file proyek ML dari jalur lokal atau URI Git:
mlflow menjalankan contoh/sklearn_elasticnet_wine -P alpha=0.4 mlflow dijalankan https://github.com/mlflow/mlflow-example.git -P alpha=0.4
Lihat examples/sklearn_elasticnet_wine
untuk contoh proyek dengan file MLproject.
Untuk mengilustrasikan pengelolaan model, paket mlflow.sklearn
dapat mencatat model scikit-learn sebagai artefak MLflow dan kemudian memuatnya lagi untuk disajikan. Ada contoh aplikasi pelatihan di examples/sklearn_logistic_regression/train.py
yang dapat Anda jalankan sebagai berikut:
$ contoh python/sklearn_logistic_regression/train.py Skor: 0,666 Model disimpan di run <run-id> $ mlflow model melayani --model-uri berjalan:/<run-id>/model $ curl -d '{"dataframe_split": {"columns":[0],"index":[0,1],"data":[[1],[-1]]}}' -H 'Konten -Jenis: application/json' localhost:5000/invocations
Catatan: Jika menggunakan MLflow skinny ( pip install mlflow-skinny
) untuk penyajian model, dependensi tambahan yang diperlukan (yaitu, flask
) perlu diinstal agar server MLflow dapat berfungsi.
Gambar resmi MLflow Docker tersedia di GitHub Container Registry di https://ghcr.io/mlflow/mlflow.
ekspor CR_PAT=YOUR_TOKENecho $CR_PAT | docker login ghcr.io -u NAMA PENGGUNA --password-stdin# Tarik versi terbarudocker pull ghcr.io/mlflow/mlflow# Tarik 2.2.1docker pull ghcr.io/mlflow/mlflow:v2.2.1
Kami dengan senang hati menyambut kontribusi ke MLflow. Kami juga mencari kontribusi untuk item di MLflow Roadmap. Silakan lihat panduan kontribusi kami untuk mempelajari lebih lanjut tentang berkontribusi pada MLflow.
MLflow saat ini dikelola oleh anggota inti berikut dengan kontribusi signifikan dari ratusan anggota komunitas yang sangat berbakat.
Ben Wilson
Corey Zumar
Daniel Lok
Gabriel Fu
Harutaka Kawamura
Serenaruan
Weichen Xu
Yuki Watanabe
Tomu Hirata