Saha waé anu parantos nyobian pangembangan mesin diajar ngartos kumaha sesahna. Salian ti masalah standar dina pamekaran parangkat lunak, pamekaran pembelajaran mesin (ML) ngenalkeun sababaraha halangan tambahan.
Ratusan alat open source sayogi pikeun ngabantosan unggal tahapan siklus hirup ML, ti persiapan data dugi ka palatihan modél.
Beda sareng pamekaran parangkat lunak tradisional, nalika tim milih hiji alat pikeun tiap léngkah, sareng ML anjeun umumna hoyong ngajalajah unggal alat anu sayogi (contona, algoritma) pikeun ningali naha éta ningkatkeun hasil.
Hasilna, pamekar ML kedah nganggo sareng ngahasilkeun ratusan perpustakaan.
Algoritma pembelajaran mesin ngandung rébuan parameter anu tiasa disaluyukeun, sareng hese pikeun ngaidentipikasi parameter, kode, sareng data mana anu asup kana unggal percobaan pikeun ngahasilkeun modél, naha anjeun damel nyalira atanapi dina tim.
Tanpa ngawaskeun anu leres, tim sering bajoang pikeun kéngingkeun kode anu sami pikeun fungsina deui. Naha anjeun élmuwan data anu nransferkeun kode latihan anjeun ka insinyur pikeun panggunaan produksi, atanapi anjeun badé uih deui ka padamelan sateuacana pikeun ngadiagnosa masalah, léngkah mundur tina alur kerja ML penting pisan.
Mindahkeun modél kana produksi tiasa sesah kusabab seueur metode panyebaran sareng lingkungan anu kedah dianggo (contona, ngalayanan REST, inferensi bets, atanapi aplikasi mobile). Teu aya metodeu umum pikeun mindahkeun modél tina perpustakaan mana waé ka alat-alat ieu, sahingga unggal panyebaran énggal ngenalkeun résiko.
Kusabab masalah ieu, écés yén pamekaran ML kedah ningkat sacara signifikan pikeun janten stabil, tiasa diprediksi, sareng seueur dianggo sapertos pamekaran parangkat lunak tradisional.
ML Tantangan
- Aya seueur alat anu béda-béda. Ratusan solusi parangkat lunak sayogi pikeun ngabantosan unggal tahapan siklus kahirupan mesin, ti persiapan data dugi ka pelatihan modél. Salaku tambahan, teu sapertos pamekaran parangkat lunak tradisional, nalika tim milih hiji alat pikeun tiap léngkah, dina pembelajaran mesin (ML), anjeun sering hoyong ngajalajah unggal alat anu sayogi (contona, algoritma) pikeun ningali naha éta ningkatkeun hasil. Hasilna, pamekar ML kedah nganggo sareng ngahasilkeun ratusan perpustakaan.
- Hésé pikeun ngalacak ékspérimén. Algoritma pembelajaran mesin ngandung rébuan parameter anu tiasa disaluyukeun, sareng hese pikeun ngaidentipikasi parameter, kode, sareng data mana anu asup kana unggal percobaan pikeun ngahasilkeun modél, naha anjeun damel nyalira atanapi dina tim.
- Hese ngalaksanakeun pembelajaran mesin. Mindahkeun modél kana produksi tiasa sesah kusabab seueur metode panyebaran sareng lingkungan anu kedah dianggo (contona, ngalayanan REST, inferensi bets, atanapi aplikasi mobile). Teu aya padika umum pikeun mindahkeun modél ti perpustakaan mana waé ka alat ieu. Ku kituna, unggal deployment anyar ngenalkeun resiko.
Naon MLflow?
MLflow mangrupikeun platform open-source pikeun siklus kahirupan mesin diajar. Éta dumasar kana konsép antarmuka anu kabuka, ngajukeun seueur abstraksi penting anu ngamungkinkeun infrastruktur sareng algoritma pembelajaran mesin ayeuna tiasa diintegrasikeun sareng sistem.
Ieu nunjukkeun yén upami anjeun pamekar anu hoyong nganggo MLflow tapi nganggo kerangka anu henteu didukung, desain antarmuka kabuka ngajantenkeun saderhana pikeun ngahijikeun kerangka éta sareng ngamimitian damel sareng platform. Dina prakna, ieu nunjukkeun yén MLflow dimaksudkeun pikeun fungsina sareng naon waé learning mesin perpustakaan atawa basa.
Saterusna, MLflow promotes repeatability, nu hartina latihan sarua atawa kode learning mesin produksi dimaksudkeun pikeun ngajalankeun kalawan hasil nu sarua bebas lingkungan, naha dina awan, dina workstation lokal, atawa dina notebook a.
Tungtungna, MLflow diwangun pikeun skalabilitas, ku kituna tiasa dianggo ku tim leutik élmuwan data ogé perusahaan ageung sareng ratusan praktisi pembelajaran mesin.
MLflow cocog sareng perpustakaan pembelajaran mesin, algoritma, alat panyebaran, atanapi basa. Éta ogé ngagaduhan kaunggulan ieu:
- Dirancang pikeun beroperasi sareng jasa awan naon waé.
- Timbangan kana data ageung sareng Apache Spark.
- MLflow cocog sareng rupa-rupa kerangka pembelajaran mesin open-source, kalebet Apache Spark, TensorFlow, sarta SciKit-Diajar.
Upami anjeun parantos gaduh kode, MLflow tiasa dianggo sareng éta. Anjeun bahkan tiasa ngabagi kerangka sareng modél anjeun antara perusahaan sabab éta open-sumber.
Komponén MLflow: Kumaha aranjeunna tiasa dianggo?
MLflow mangrupikeun platform gratis sareng open-source pikeun ngatur siklus hirup ML, anu kalebet ékspérimén, réproduksibilitas, panyebaran, sareng pendaptaran modél tunggal. Ayeuna, MLflow ngagaduhan opat komponén:
1. MLflow nyukcruk
Abdi badé ngamimitian sareng MLflow Tracking. MLflow ngarojong kumpulan rupa-rupa konsép penting numbu ka Repository tracking metadata latihan terpusat. Pamanggih kahiji nyaéta kumpulan hyperparameters kritis atawa kenop konfigurasi nu mangaruhan kinerja model. Nganggo API MLflow sareng jasa pelacak terpusat tiasa ngawétkeun sadayana ieu.
Pamaké ogé tiasa ngarékam data kinerja pikeun meunangkeun wawasan ngeunaan kasuksésan modél pembelajaran mesinna. Saterusna, pikeun bisa diulang, MLflow ngamungkinkeun pamaké pikeun asup kodeu sumber husus nu dipaké pikeun nyieun model kitu ogé versi na ku integrasi pageuh jeung Git mun dasi unggal model kana hash komitmen husus.
MLflow tiasa dianggo pikeun log artefak, nyaéta file sawenang-wenang kalebet palatihan, data uji, sareng modél sorangan pikeun réproduksibilitas.
Ieu ngandung harti yén upami kuring pamekar anu nembé ngalatih modél, kuring tiasa nahan kana jasa pelacak terpusat, sareng salah sahiji kolega kuring tiasa ngamuat éta engké sareng teras teras ngalatih sareng ékspérimén atanapi produksi modél éta pikeun nyumponan kabutuhan khusus. .
Nalika ngaéksekusi kode pembelajaran mesin anjeun sareng saatos ningali hasilna, tracking mangrupikeun API anu ngamungkinkeun anjeun log parameter, versi kode, métrik, sareng file kaluaran. Ieu ditulis dina Python, R, jeung Java, diantara basa séjén. Éta ogé tiasa diaksés salaku REST API, anu tiasa dianggo pikeun ngawangun aplikasi di luhurna.
Fitur konci
- Seueur pamekar anu nganggo MLflow dina PC lokalna, dimana backend sareng neundeun artefak ngabagi diréktori dina piringan.
- Seueur pangguna ogé nganggo SQLite, database anu cocog sareng SQLAlchemy, pikeun ngajalankeun MLflow dina PC lokalna.
- MLflow ogé ngadukung arsitéktur anu disebarkeun. Server tracking, toko backend, sareng toko artefak sadayana di-host dina server anu béda dina ieu.
- Upami jalanna diprakarsai ku Proyék MLflow, git commit hash dianggo. MLflow Python, R, Java, sareng REST API tiasa dianggo pikeun log data pikeun dijalankeun.
Kanggo inpo nu leuwih lengkep, anjeun tiasa pariksa kaluar resmi dokuméntasi.
2. Proyék MLFlow
Saatos urang ngaliwat komponén nyukcruk, Abdi hoyong nyarios ngeunaan proyék MLflow, anu mangrupikeun struktur bungkusan anu tiasa diulang pikeun sesi latihan modél henteu paduli konteks palaksanaan.
Usaha ngagunakeun sajumlah ageung téknologi pelatihan mesin diajar, tapi aranjeunna ogé ngagunakeun alat palatihan ieu dina sakumpulan kontéks anu rupa-rupa. Contona, maranéhna bisa jadi executing kode latihan maranéhanana dina awan, dina PC lokal, atawa dina notebook a.
Ieu ngakibatkeun masalah yén hasil pembelajaran mesin hese ditiru. Mindeng, kode latihan idéntik sarua teu ngaéksekusi atawa ngahasilkeun hasil nu sarua dina dua lokasi misah.
Solusi anu disayogikeun ku MLflow mangrupikeun definisi proyék kode pelatihan mandiri anu kalebet sadayana kode pelatihan mesin diajar, ogé katergantungan perpustakaan versi, setélan, sareng pelatihan sareng data uji.
MLflow mastikeun reproducibility sakuliah konteks palaksanaan ku jelas ngajéntrékeun sakabeh susunan sarat pikeun prosés latihan mesin learning. Éta ngalaksanakeun ieu ku cara masang sadaya perpustakaan éta sareng ngalaksanakeun sistem anu sami dina kaayaan kodeu dijalankeun.
Proyék MLflow henteu langkung ti hiji diréktori. Éta mangrupikeun diréktori anu kalebet kode latihan, definisi kagumantungan perpustakaan, sareng data sanésna anu diperyogikeun ku sési pelatihan, ogé file konfigurasi pilihan ieu.
Sarat perpustakaan ieu tiasa dihartikeun ku sababaraha cara. Pamaké tiasa, contona, nyayogikeun spésifikasi lingkungan anaconda anu formatna YAML pikeun daptar syarat perpustakaan kode latihan. MLflow bakal ngaéksekusi kodeu latihan dina wadahna. Dina kasus sapertos kitu, aranjeunna ogé tiasa ngalebetkeun wadah Docker.
Tungtungna, MLflow gaduh antarmuka garis paréntah (CLI) pikeun ngajalankeun proyék-proyék ieu, ogé Python, sareng API Java. Proyék ieu tiasa dijalankeun dina sistem lokal pangguna ogé dina rupa-rupa setélan jauh sapertos penjadwal padamelan Databricks sareng Kubernetes. Proyék MLflow ngamungkinkeun anjeun ngarangkep kode élmu data dina cara anu tiasa diulang sareng tiasa dianggo deui, biasana dumasar kana standar.
Komponén proyék kalebet API ogé utilitas garis paréntah pikeun ngatur proyék. Kamampuhan ieu ngajamin yén proyék tiasa dipasung babarengan pikeun ngabentuk prosés pembelajaran mesin.
Fitur konci
- MLflow ngadukung lingkungan proyék, kalebet lingkungan wadah Docker, lingkungan Conda, sareng lingkungan sistem.
- Sakur Repository Git atanapi diréktori lokal tiasa dianggap salaku proyék MLflow; sacara standar; anjeun tiasa nganggo cangkang naon waé atanapi Aksara Python dina diréktori salaku titik éntri proyék.
- Katergantungan non-Python, sapertos perpustakaan Java, tiasa direbut nganggo wadah Docker.
- Anjeun tiasa gaduh kontrol anu langkung ageung kana Proyék MLflow ku cara nambihan file proyék kana diréktori akar proyék, anu mangrupikeun file téks dina sintaksis YAML.
Kanggo inpo nu leuwih lengkep, anjeun tiasa pariksa kaluar resmi dokuméntasi.
3. Modél MLflow
Ayeuna, kuring hoyong ngabahas modél MLflow, format modél tujuan umum anu ngadukung rupa-rupa kontéks produksi. Alesan pikeun modél MLflow ayeuna ampir sami sareng pikeun proyék-proyék.
Deui, urang tingali yen model bisa dihasilkeun ngagunakeun rupa-rupa parabot, tapi ogé bisa dihasilkeun atawa deployed dina rentang badag kaayaan, sabalikna tina lingkungan latihan.
Setélan ieu kalebet alat pikeun ngalayanan sacara real-time, sapertos Kubernetes atanapi Amazon SageMaker, ogé streaming sareng nyetak bets, sapertos Spark. Salaku tambahan, sababaraha usaha tiasa milih nyebarkeun modél salaku layanan wéb RESTful anu dijalankeun dina conto awan anu tos dikonpigurasikeun.
Modél MLflow, sapertos proyék, mangrupikeun struktur diréktori. Éta kalebet file konfigurasi sareng, waktos ieu, artefak modél serialisasi tinimbang kode latihan. Éta ogé kalebet sét katergantungan ieu pikeun kaulangan salaku proyék. Waktos ieu, urang bakal ningali katergantungan évaluasi dina kontéks lingkungan Conda.
Salaku tambahan, MLflow kalebet alat generasi modél pikeun serialisasi modél dina format MLflow tina sajumlah kerangka populér. Tungtungna, MLflow nambihan panyebaran, API pikeun produksi sareng nyambungkeun modél MLflow kana sauntuyan jasa, sareng API ieu tiasa diaksés dina Python, Java, R, sareng format CLI.
Modél mangrupikeun komponén kalayan struktur standar pikeun modél bungkusan anu tiasa dianggo sareng kahartos ku alat hilir sapertos server inferensi atanapi bata data platform inferencing bets. Komponén ieu ngahémat jam kode bespoke nalika ngabungkus modél pikeun produksi.
Modél MLflow mangrupikeun standar pikeun ngabungkus modél pembelajaran mesin dina sababaraha bentuk anu katelah "rasa". MLflow nyayogikeun seueur alat pikeun ngabantosan anjeun dina nyebarkeun sababaraha jinis modél. Unggal Modél MLflow disimpen salaku diréktori anu ngandung file sawenang-wenang ogé file deskriptor modél ML kalayan daptar rasa anu tiasa dianggo.
Fitur konci
- Sadaya alat panyebaran anu diwangun MLflow nawiskeun sababaraha rasa "standar", sapertos rasa "fungsi Python" anu ngajelaskeun kumaha carana ngajalankeun modél salaku fungsi Python.
- Unggal Modél MLflow diwangun ku diréktori anu ngandung file sawenang-wenang, kitu ogé file modél ML dina akar diréktori anu nangtukeun rupa-rupa rasa modél.
- Nalika nyimpen model, MLflow ngidinan Anjeun pikeun nangtukeun parameter lingkungan Conda nu ngandung kagumantungan model urang. Mun euweuh lingkungan Conda dieusian, lingkungan standar dumasar kana rasa model urang diwangun. Sanggeus éta, lingkungan Conda disimpen dina conda.yaml.
Kanggo inpo nu leuwih lengkep, anjeun tiasa pariksa kaluar resmi dokuméntasi.
4. MLflow Modél pendaptaran
Registri modél mangrupikeun gudang pikeun modél diajar mesin (ML). Registry Model diwangun ku API sareng aplikasi basis wéb anu dianggo pikeun ngajaga modél dina sababaraha fase salaku tim. Model Lineage, Model Versioning, Easy Stage Transition, sareng Annotation ngan ukur sababaraha kamampuan anu aya dina Model Registry.
A pendaptaran model, sajaba model sorangan, ngandung émbaran (metadata) ngeunaan data jeung tugas latihan dipaké pikeun ngawangun modél. Penting pikeun ngalacak input anu diperyogikeun ieu pikeun nyiptakeun garis keturunan pikeun modél ML. Dina hal ieu, pendaptaran model fungsina sami sareng parangkat lunak konvensional kontrol versi sistem (contona, Git, SVN) sareng repositori artefak (contona, Artifactory, PyPI).
Registry Model mangrupikeun kerangka anu ngamungkinkeun para élmuwan data sareng insinyur pembelajaran mesin nyebarkeun, nguji, ngawas, ngatur, sareng nyebarkeun modélna pikeun gawé bareng sareng tim sanés. Intina, pendaptaran modél dianggo saatos anjeun parantos réngsé fase tés anjeun sareng siap ngabagikeun panemuan anjeun sareng tim sareng pamangku kapentingan.
Registry Model MLflow nyayogikeun API sareng antarbeungeut pangguna pikeun ngatur modél anjeun sareng umur umurna ti lokasi sentral. Garis keturunan model, versi modél, anotasi, sareng transisi panggung sadayana sayogi ngalangkungan pendaptaran.
Dina MLflow, modél anu kadaptar nyaéta anu gaduh nami unik sareng metadata, vérsi modél, fase transisi, sareng turunan modél. Hiji atawa leuwih versi model bisa kapanggih dina model didaptarkeun. Modél anyar dianggap versi 1 nalika kadaptar dina pendaptaran. Versi di handap ieu ditambahkeun kana sagala model anyar nu ngaranna sarua.
Anjeun tiasa napelkeun hiji hambalan ka versi model mana wae iraha wae. Sanajan kitu, tahapan kudu ditugaskeun dina fase MLflow nu geus ditangtukeun sacara resmi, kayaning pementasan, produksi, jeung arsip. Versi modél tiasa dialihkeun tina hiji tahap ka tahap anu sanés.
MLflow ngamungkinkeun anjeun ngagunakeun markdown pikeun ngémutan modél tingkat luhur sareng unggal versi khusus. Anjeun tiasa ngalebetkeun déskripsi sareng inpormasi anu sanés, sapertos penjelasan algoritma, metodologi, sareng set data anu dianggo.
Fitur konci
- Pikeun ngakses pendaptaran model ngaliwatan UI atawa API nalika hosting server MLflow sorangan, anjeun kudu make toko backend basis data-dijieun.
- Registry Model ogé tiasa diaksés ngalangkungan rasa modél MLflow atanapi antarmuka API Pelacak Klién MLflow. Anjeun tiasa, contona, ngadaptar modél nalika percobaan MLflow ngajalankeun atanapi saatos sadaya ékspérimén anjeun jalan.
- Henteu sadayana bakal ngamimitian ngalatih modélna nganggo MLflow. Hasilna, anjeun tiasa gaduh sababaraha model dilatih sateuacan nganggo MLflow. Tinimbang ngalatih deui modél, anjeun ngan ukur hoyong ngadaptarkeun modél anu disimpen anjeun sareng Model Registry.
Kanggo inpo nu leuwih lengkep, anjeun tiasa pariksa kaluar resmi dokuméntasi.
kacindekan
MLflow mangrupikeun alat daur hirup ML anu saé sareng terus berkembang. Anjeun tiasa nganggo éta sareng alat sareng platform anjeun ayeuna.
Ieu ngarojong sababaraha basa programming, kaasup Python, Java, jeung R. Anjeun oge bisa gancang ngalacak, nyimpen, sarta ngabandingkeun versi model béda berkat desain ramah-pamaké na.
Coba MLflow sareng wartosan kami pangalaman anjeun!
Leave a Reply