Saben uwong sing wis nyoba pangembangan machine learning ngerti carane angel iku. Saliyane masalah standar ing pangembangan piranti lunak, pangembangan machine learning (ML) ngenalake akeh alangan tambahan.
Atusan alat open source kasedhiya kanggo mbantu saben tahapan siklus urip ML, saka persiapan data nganti latihan model.
Ora kaya pangembangan piranti lunak tradisional, nalika tim milih siji alat kanggo saben langkah, kanthi ML, sampeyan umume pengin njelajah saben alat sing kasedhiya (contone, algoritma) kanggo ndeleng apa asil kasebut bisa nambah.
Akibaté, pangembang ML kudu nggunakake lan gawé atusan perpustakaan.
Algoritma machine learning ngemot ewonan paramèter sing bisa dikustomisasi, lan angel kanggo ngenali paramèter, kode, lan data endi sing dilebokake ing saben eksperimen kanggo ngasilake model, apa sampeyan kerja dhewe utawa ing tim.
Tanpa pemantauan sing tepat, tim asring berjuang supaya kode sing padha bisa digunakake maneh. Apa sampeyan minangka ilmuwan data sing nransfer kode latihan menyang insinyur kanggo panggunaan produksi, utawa sampeyan bakal bali menyang pakaryan sadurunge kanggo diagnosa masalah, langkah mundur saka alur kerja ML iku penting.
Mindhah model menyang produksi bisa uga angel amarga akeh metode lan lingkungan panyebaran sing kudu digunakake (contone, porsi REST, inferensi batch, utawa aplikasi seluler). Ora ana cara sing umum kanggo mindhah model saka perpustakaan menyang alat kasebut, mula saben panyebaran anyar menehi risiko.
Amarga masalah kasebut, jelas manawa pangembangan ML kudu nambah kanthi signifikan dadi stabil, bisa diprediksi, lan digunakake kanthi akeh kaya pangembangan piranti lunak tradisional.
Tantangan ML
- Ana akeh alat sing beda-beda. Atusan solusi piranti lunak kasedhiya kanggo mbantu saben tahap siklus urip machine learning, saka persiapan data nganti latihan model. Salajengipun, ora kaya pangembangan piranti lunak tradisional, nalika tim milih siji alat kanggo saben langkah, ing machine learning (ML), sampeyan kerep pengin njelajah saben alat sing kasedhiya (contone, algoritma) kanggo ndeleng apa bisa nambah asil. Akibaté, pangembang ML kudu nggunakake lan gawé atusan perpustakaan.
- Iku angel kanggo nglacak eksperimen. Algoritma machine learning ngemot ewonan paramèter sing bisa dikustomisasi, lan angel kanggo ngenali paramèter, kode, lan data endi sing dilebokake ing saben eksperimen kanggo ngasilake model, apa sampeyan kerja dhewe utawa ing tim.
- Iku angel kanggo ngleksanakake machine learning. Mindhah model menyang produksi bisa uga angel amarga akeh metode lan lingkungan panyebaran sing kudu digunakake (contone, porsi REST, inferensi batch, utawa aplikasi seluler). Ora ana cara umum kanggo mindhah model saka perpustakaan menyang alat kasebut. Mangkono, saben panyebaran anyar ngenalake risiko.
apa MLflow?
MLflow minangka platform open-source kanggo siklus urip machine learning. Iki adhedhasar konsep antarmuka sing mbukak, ngusulake akeh abstraksi penting sing ngidini infrastruktur lan algoritma pembelajaran mesin saiki bisa digabungake karo sistem kasebut.
Iki nuduhake yen sampeyan minangka pangembang sing pengin nggunakake MLflow nanging nggunakake kerangka kerja sing ora didhukung, desain antarmuka sing mbukak ndadekake gampang nggabungake kerangka kasebut lan miwiti nggarap platform kasebut. Ing laku, iki nuduhake yen MLflow dimaksudake kanggo fungsi apa wae learning machine perpustakaan utawa basa.
Salajengipun, MLflow promosiaken repeatability, kang tegese latihan sing padha utawa kode machine learning produksi dimaksudaké kanggo mbukak karo asil padha independen saka lingkungan, apa ing maya, ing workstation lokal, utawa ing notebook.
Pungkasan, MLflow dibangun kanggo skalabilitas, saengga bisa digunakake dening tim ilmuwan data cilik uga perusahaan gedhe kanthi atusan praktisi pembelajaran mesin.
MLflow kompatibel karo perpustakaan pembelajaran mesin, algoritma, alat panyebaran, utawa basa. Uga nduweni kaluwihan ing ngisor iki:
- Dirancang kanggo operate karo layanan maya apa wae.
- Timbangan kanggo data gedhe karo Apache Spark.
- MLflow kompatibel karo macem-macem kerangka learning machine open-source, kalebu Apache Spark, TensorFlow, Lan SciKit-Sinau.
Yen sampeyan wis duwe kode, MLflow bisa digunakake. Sampeyan bisa uga nuduhake kerangka lan model ing antarane perusahaan amarga pancene Open-sumber.
Komponen MLflow: Kepiye cara kerjane?
MLflow minangka platform gratis lan mbukak-sumber kanggo ngatur siklus urip ML, sing kalebu eksperimen, reproduksibilitas, panyebaran, lan registri model siji. Saiki, MLflow duwe papat komponen:
1. MLflow nelusuri
Aku bakal miwiti karo MLflow Tracking. MLflow ndhukung koleksi macem-macem konsep penting sing disambung menyang repositori pelacakan metadata pelatihan terpusat. Pangertosan pisanan yaiku koleksi hiperparameter kritis utawa tombol konfigurasi sing mengaruhi kinerja model. Nggunakake API MLflow lan layanan pelacakan terpusat bisa ngreksa kabeh iki.
Pangguna uga bisa ngrekam data kinerja kanggo ngerteni sukses model pembelajaran mesin. Salajengipun, kanggo pengulangan, MLflow ngidini pangguna nyathet kode sumber tartamtu sing digunakake kanggo nggawe model uga versi kanthi nggabungake kanthi rapet karo Git kanggo ngubungake saben model menyang hash commit tartamtu.
MLflow bisa digunakake kanggo nyathet artefak, yaiku file sewenang-wenang kalebu latihan, data tes, lan model dhewe kanggo reproduksi.
Iki tegese yen aku dadi pangembang sing mung nglatih model, aku bisa terus menyang layanan pelacakan terpusat, lan salah sawijining kolega bisa mbukak mengko lan terus latihan lan eksperimen utawa produksi model kasebut kanggo nyukupi kabutuhan tartamtu. .
Nalika nglakokake kode machine learning lan banjur ndeleng asil, tracking minangka API sing ngidini sampeyan ngrekam parameter, versi kode, metrik, lan file output. Iki ditulis ing Python, R, lan Jawa, ing antarane basa liyane. Iku uga bisa diakses minangka REST API, kang bisa digunakake kanggo mbangun app ing ndhuwur iku.
Fitur Key
- Akeh pangembang nggunakake MLflow ing PC lokal, ing ngendi backend lan panyimpenan artefak nuduhake direktori ing disk.
- Akeh pangguna uga nggunakake SQLite, database sing kompatibel karo SQLAlchemy, kanggo mbukak MLflow ing PC lokal.
- MLflow uga ndhukung arsitektur sing disebarake. Server pelacakan, toko backend, lan toko artefak kabeh dadi tuan rumah ing server sing beda-beda.
- Yen run diwiwiti dening Proyek MLflow, git commit hash digunakake. API MLflow Python, R, Java, lan REST bisa digunakake kanggo nyathet data kanggo mbukak.
Kanggo informasi luwih lengkap, sampeyan bisa mriksa resmi dokumentasi.
2. Proyek MLFlow
Sawise kita ngliwati komponen pelacakan, aku pengin ngomong babagan proyek MLflow, sing minangka struktur kemasan sing bisa diulang kanggo sesi latihan model preduli saka konteks eksekusi.
Bisnis nggunakake macem-macem teknologi pelatihan machine learning, nanging uga nggunakake alat latihan kasebut ing macem-macem konteks. Contone, bisa uga nglakokake kode latihan ing awan, ing PC lokal, utawa ing notebook.
Iki ndadékaké masalah sing asil learning machine angel kanggo tiron. Asring, kode latihan sing padha ora nglakokake utawa ngasilake asil sing padha ing rong lokasi sing kapisah.
Solusi sing disedhiyakake dening MLflow yaiku definisi proyek kode latihan mandiri sing nyakup kabeh kode pelatihan pembelajaran mesin, uga dependensi perpustakaan versi, setelan, lan data latihan lan uji coba.
MLflow njamin reproduktifitas ing konteks eksekusi kanthi jelas njlentrehake kabeh syarat kanggo proses pelatihan machine learning. Iki rampung kanthi nginstal kabeh perpustakaan kasebut lan ngrampungake sistem sing padha karo kode kasebut.
Proyek MLflow ora luwih saka direktori. Iki minangka direktori sing kalebu kode latihan, definisi dependensi perpustakaan, lan data liyane sing dibutuhake dening sesi latihan, uga file konfigurasi opsional iki.
Syarat perpustakaan kasebut bisa ditetepake kanthi macem-macem cara. Pangguna bisa, contone, nyedhiyakake spesifikasi lingkungan anaconda format YAML kanggo dhaptar syarat perpustakaan kode latihan. MLflow bakal nglakokake kode latihan ing wadhah kasebut. Ing kasus kaya mengkono, padha uga bisa kalebu wadhah Docker.
Pungkasan, MLflow duwe antarmuka baris perintah (CLI) kanggo nglakokake proyek kasebut, uga Python, lan API Java. Proyek kasebut bisa ditindakake ing sistem lokal pangguna uga ing macem-macem setelan remot kayata panjadwal proyek Databricks lan Kubernetes. Proyek MLflow ngidini sampeyan ngemas kode ilmu data kanthi cara sing bisa diulang lan bisa digunakake maneh, biasane adhedhasar standar.
Komponen proyek kalebu API uga utilitas baris perintah kanggo ngatur proyek. Kapabilitas kasebut njamin manawa proyek bisa digandhengake kanggo mbentuk proses pembelajaran mesin.
Fitur Key
- MLflow ndhukung lingkungan proyek, kalebu lingkungan wadah Docker, lingkungan Conda, lan lingkungan sistem.
- Sembarang repositori Git utawa direktori lokal bisa dianggep minangka proyek MLflow; kanthi gawan; sampeyan bisa nggunakake sembarang Nihan utawa Aksara Python ing direktori minangka titik entri proyek.
- Ketergantungan non-Python, kayata perpustakaan Jawa, bisa dijupuk nggunakake wadah Docker.
- Sampeyan bisa entuk kontrol sing luwih gedhe babagan Proyek MLflow kanthi nambahake file proyek menyang direktori root proyek, yaiku file teks ing sintaks YAML.
Kanggo informasi luwih lengkap, sampeyan bisa mriksa resmi dokumentasi.
3. Model MLflow
Saiki, aku arep ngrembug model MLflow, format model tujuan umum sing ndhukung macem-macem konteks produksi. Alesan kanggo model MLflow saiki meh padha karo proyek.
Maneh, kita weruh model bisa digawe nggunakake macem-macem alat, nanging uga bisa diprodhuksi utawa disebarake ing macem-macem kahanan, minangka lawan kanggo lingkungan latihan.
Setelan kasebut kalebu alat kanggo nglayani wektu nyata, kayata Kubernetes utawa Amazon SageMaker, uga streaming lan skor batch, kayata Spark. Salajengipun, sawetara bisnis bisa milih kanggo nyebarake model minangka layanan web RESTful sing mlaku ing conto awan sing wis dikonfigurasi.
Model MLflow, kaya proyek, minangka struktur direktori. Iki kalebu file konfigurasi lan, wektu iki, artefak model serial tinimbang kode latihan. Uga kalebu set dependensi iki kanggo bisa diulang minangka proyek. Wektu iki, kita bakal nliti dependensi evaluasi ing konteks lingkungan Conda.
Kajaba iku, MLflow kalebu alat generasi model kanggo serialisasi model ing format MLflow saka sawetara frameworks populer. Pungkasan, MLflow nambahake penyebaran, API kanggo produksi lan nyambungake model MLflow menyang sawetara layanan, lan API kasebut bisa diakses ing format Python, Java, R, lan CLI.
Model minangka komponen kanthi struktur standar kanggo model kemasan sing bisa digunakake lan dimangerteni dening piranti hilir kayata server inferensi utawa bata data platform inferencing batch. Komponen iki ngirit jam kode bespoke nalika ngemas model kanggo produksi.
Model MLflow minangka standar kanggo ngemas model pembelajaran mesin ing macem-macem formulir sing dikenal minangka "rasa". MLflow nyedhiyakake akeh alat kanggo mbantu sampeyan nggunakake macem-macem jinis model. Saben Model MLflow disimpen minangka direktori sing ngemot file sewenang-wenang uga file deskriptor model ML kanthi dhaptar rasa sing bisa digunakake.
Fitur Key
- Kabeh alat panyebaran sing dibangun ing MLflow nawakake macem-macem rasa "standar", kayata rasa "fungsi Python" sing nerangake carane mbukak model kasebut minangka fungsi Python.
- Saben Model MLflow kasusun saka direktori sing ngemot file sewenang-wenang, uga file model ML ing root direktori sing nemtokake macem-macem rasa model.
- Nalika nyimpen model, MLflow ngidini sampeyan nemtokake parameter lingkungan Conda sing ngemot dependensi model. Yen ora ana lingkungan Conda sing ditemtokake, lingkungan standar sing adhedhasar rasa model bakal dibangun. Sawise iku, lingkungan Conda disimpen ing conda.yaml.
Kanggo informasi luwih lengkap, sampeyan bisa mriksa resmi dokumentasi.
4. Registry Model MLflow
Registri model minangka gudang kanggo model learning machine learning (ML). Registry Model digawe saka API lan aplikasi basis web sing digunakake kanggo njaga model ing macem-macem fase minangka tim. Model Lineage, Model Versioning, Easy Stage Transition, lan Anotasi mung sawetara kapabilitas sing kasedhiya ing Registry Model.
Registri model, saliyane model kasebut, ngemot informasi (metadata) babagan data lan tugas latihan sing digunakake kanggo mbangun model kasebut. Penting kanggo nglacak input sing dibutuhake kanggo nggawe garis keturunan kanggo model ML. Ing babagan iki, registri model nduweni fungsi sing padha karo piranti lunak konvensional kontrol versi sistem (contone, Git, SVN) lan repositori artefak (contone, Artifactory, PyPI).
Registry Model minangka kerangka kerja sing ngidini para ilmuwan data lan insinyur pembelajaran mesin nerbitake, nguji, ngawasi, ngatur, lan nyebarake model kanggo kerjasama karo tim liyane. Intine, registri model digunakake yen sampeyan wis ngrampungake tahap tes lan siap nuduhake temuan sampeyan karo tim lan para pemangku kepentingan.
Registry Model MLflow nyedhiyakake API lan antarmuka pangguna kanggo ngatur model lan umure saka lokasi tengah. Garis keturunan model, versi model, anotasi, lan transisi panggung kabeh kasedhiya liwat registri.
Ing MLflow, model sing kadhaptar yaiku sing duwe jeneng unik lan metadata, versi model, fase transisi, lan garis keturunan model. Siji utawa luwih versi model bisa ditemokake ing model sing wis kadhaptar. Model anyar dianggep versi 1 nalika didaftar ing registri. Versi ing ngisor iki ditambahake menyang model anyar kanthi jeneng sing padha.
Sampeyan bisa nemtokake siji langkah kanggo versi model ing sembarang wektu. Nanging, tahapan kudu ditugasake miturut fase MLflow sing wis ditemtokake sacara resmi, kayata pementasan, produksi, lan arsip. Versi model bisa dialihake saka siji tahap menyang liyane.
MLflow ngidini sampeyan nggunakake markdown kanggo menehi anotasi model tingkat paling dhuwur lan saben versi tartamtu. Sampeyan bisa nyakup katrangan uga informasi liyane sing relevan, kayata panjelasan algoritma, metodologi, lan set data sing digunakake.
Fitur Key
- Kanggo ngakses pendaptaran model liwat UI utawa API nalika hosting server MLflow dhewe, sampeyan kudu nggunakake toko backend basis basis data.
- Registry Model uga bisa diakses liwat rasa model MLflow utawa antarmuka API Pelacakan Klien MLflow. Sampeyan bisa uga, contone, ndhaptar model sajrone eksperimen MLflow utawa sawise kabeh eksperimen sampeyan mlaku.
- Ora kabeh wong bakal miwiti latihan model nggunakake MLflow. Akibaté, sampeyan bisa uga duwe sawetara model sing dilatih sadurunge nggunakake MLflow. Tinimbang nglatih maneh model, sampeyan mung pengin ndhaptar model sing disimpen nganggo Registry Model.
Kanggo informasi luwih lengkap, sampeyan bisa mriksa resmi dokumentasi.
kesimpulan
MLflow minangka alat siklus urip ML sing apik banget lan terus berkembang. Sampeyan bisa nggunakake bebarengan karo alat lan platform saiki.
Ndhukung sawetara basa pamrograman, kalebu Python, Java, lan R. Sampeyan uga bisa kanthi cepet nglacak, nyimpen, lan mbandhingake macem-macem versi model thanks kanggo desain pangguna-loropaken.
Coba MLflow lan kabari pengalaman sampeyan!
Ninggalake a Reply