Her kesê ku pêşkeftina fêrbûna makîneyê ceribandiye fêm dike ku ew çiqas dijwar e. Ji xeynî pirsgirêkên standard ên di pêşkeftina nermalavê de, pêşkeftina fêrbûna makîneyê (ML) komek astengiyên din jî destnîşan dike.
Bi sedan amûrên çavkaniya vekirî hene ku ji her qonaxek çerxa jiyanê ya ML-ê re bibin alîkar, ji amadekirina daneyê heya perwerdehiya modelê.
Berevajî pêşkeftina nermalava kevneşopî, dema ku tîm ji bo her gavê amûrek hilbijêrin, bi ML re hûn bi gelemperî dixwazin ku her amûrek berdest (mînak, algorîtma) bikolin da ku bibînin ka ew encaman çêtir dike.
Wekî encamek, pêşdebirên ML divê bi sedan pirtûkxane bikar bînin û hilberînin.
Algorîtmayên fêrbûna makîneyê bi hezaran parametreyên xwerû dihewîne, û dijwar e ku meriv nas bike ka kîjan parametre, kod û dane ketine nav her ceribandinê da ku modelek biafirîne, gelo hûn bi tenê an di tîmekê de dixebitin.
Bê çavdêriya rast, tîm bi gelemperî têdikoşin ku heman kodê ji nû ve bixebitin. Ma hûn zanyarek daneyê bin ku koda perwerdehiya xwe ji endezyarek re ji bo karanîna hilberînê vediguhezînin, an hûn vedigerin xebata xweya berê da ku pirsgirêkek teşhîs bikin, paşvekişîna gavên tevgera xebata ML pir girîng e.
Veguheztina modelek ber bi hilberînê ve dibe ku ji ber gelek awayên bicîhkirinê û hawîrdorên ku divê werin bikar anîn dijwar be (mînak, servîsa REST, berhevoka berhevokê, an sepanên mobîl). Rêbazek hevpar ji bo veguheztina modelan ji pirtûkxaneyek ji van amûran re tune, û ji ber vê yekê her vekêşana nû xeterek çêdike.
Ji ber van pirsgirêkan, eşkere ye ku pêşkeftina ML divê bi girîngî pêşde bibe da ku wekî pêşkeftina nermalava kevneşopî bi îstîqrar, pêşbînîkirî û berfireh were bikar anîn.
Zehmetiyên ML
- Gelek amûrên cihêreng hene. Bi sedan çareseriyên nermalavê hene ku ji her qonaxek çerxa jiyana fêrbûna makîneyê re bibin alîkar, ji amadekirina daneyê heya perwerdehiya modelê. Wekî din, berevajî pêşkeftina nermalava kevneşopî, dema ku tîm ji bo her gavê amûrek hilbijêrin, di fêrbûna makîneyê (ML) de, hûn bi gelemperî dixwazin ku her amûrek berdest (mînak, algorîtma) bikolin da ku bibînin ka ew encaman baştir dike. Wekî encamek, pêşdebirên ML divê bi sedan pirtûkxane bikar bînin û hilberînin.
- Zehmet e ku meriv ceribandinan bişopîne. Algorîtmayên fêrbûna makîneyê bi hezaran parametreyên xwerû dihewîne, û dijwar e ku meriv nas bike ka kîjan parametre, kod û dane ketine nav her ceribandinê da ku modelek biafirîne, gelo hûn bi tenê an di tîmekê de dixebitin.
- Zehmet e ku meriv fêrbûna makîneyê bicîh bîne. Veguheztina modelek ber bi hilberînê ve dibe ku ji ber gelek awayên bicîhkirinê û hawîrdorên ku divê werin bikar anîn dijwar be (mînak, servîskirina REST, berhevoka berhevokê, an sepanên mobîl). Rêbazek hevpar ji bo veguheztina modelan ji pirtûkxaneyek ji van amûran re tune. Ji ber vê yekê, her şandina nû metirsiyek destnîşan dike.
Çi ye MLflow?
MLflow ji bo çerxa jiyana fêrbûna makîneyê platformek çavkaniyek vekirî ye. Ew li ser bingehek têgehek navbeynkariya vekirî ye, gelek abstraksyonên bingehîn pêşniyar dike ku dihêle ku binesaziya heyî û algorîtmayên fêrbûna makîneyê bi hêsanî bi pergalê re werin yek kirin.
Ev tê vê wateyê ku heke hûn pêşdebirek in ku dixwazin MLflow bikar bînin lê çarçoveyek nepiştgir bikar tînin, sêwirana navbeynkariya vekirî yekkirina wê çarçovê û destpêkirina xebata bi platformê re têkildar hêsan dike. Di pratîkê de, ev tê vê wateyê ku MLflow armanc e ku bi her yekê re tevbigere fêrbûna makîneyê pirtûkxane yan ziman.
Digel vê yekê, MLflow dubarebûnê pêşve dike, ku tê vê wateyê ku heman koda fêrbûna makîneya perwerdehiyê an hilberînê tête armanc kirin ku bi heman encaman serbixwe ji hawîrdorê were xebitandin, çi di ewr de, li ser qereqolek xebatê ya herêmî, an di notebookê de.
Di dawiyê de, MLflow ji bo pîvandinê hatî çêkirin, ji ber vê yekê ew dikare ji hêla tîmek piçûk a zanyarên daneyê û her weha pargîdaniyek mezin a bi sedan bijîjkên fêrbûna makîneyê ve were bikar anîn.
MLflow bi her pirtûkxaneyek fêrbûna makîneyê, algorîtmayê, amûrê bicîhkirinê, an zimanî re hevaheng e. Ew jî avantajên jêrîn hene:
- Ji bo xebitandina her karûbarê cloudê hatî sêwirandin.
- Bi Apache Spark re daneyên mezin dihejîne.
- MLflow bi cûrbecûr çarçoveyên fêrbûna makîneya çavkaniya vekirî re hevaheng e, di nav de Apache Spark, TensorFlow, û SciKit-Fêrbûn.
Heke we koda we heye, MLflow dikare bi wê re were bikar anîn. Tewra hûn dikarin çarçove û modelên xwe di navbera pargîdaniyan de parve bikin ji ber ku ew e vekirî.
Parçeyên MLflow: Ew çawa dixebitin?
MLflow ji bo birêvebirina çerxa jiyanê ya ML-ê platformek belaş û çavkaniyek vekirî ye, ku tê de ceribandin, ji nû ve hilberandin, bicîhkirin, û qeydek modelek yekane pêk tîne. Niha, MLflow çar beşan hene:
1. Şopandina MLflow
Ez ê bi Şopandina MLflow dest pê bikim. MLflow berhevoka cûrbecûr têgehên bingehîn ên ku bi depoyek şopandina metadata perwerdehiya navendî ve girêdayî ye piştgirî dike. Têgîna yekem berhevokek hîperparametreyên krîtîk an girêkên mîhengê ye ku bandorê li performansa modelê dike. Bikaranîna API-yên MLflow û karûbarek şopandina navendî dikare van hemîyan biparêze.
Bikarhêner dikarin daneyên performansê jî tomar bikin da ku di serketina modelên fêrbûna makîneya xwe de têgihiştinê bistînin. Digel vê yekê, ji bo dubarebûnê, MLflow destûrê dide bikarhêneran ku koda çavkaniyek taybetî ya ku ji bo afirandina modelek hatî bikar anîn û her weha guhertoya wê bi hişkî bi Git-ê re entegre bikin da ku her modelê bi hashek commit taybetî ve girêbide.
MLflow dikare ji bo tomarkirina huneran were bikar anîn, ku pelên kêfî ne, di nav de perwerdehî, daneya ceribandinê, û modelên xwe ji bo dubarebûnê.
Ev tê vê wateyê ku heke ez pêşdebirek im ku tenê modelek perwerde kiriye, ez dikarim wê li ser karûbarê şopandina navendî bidomînim, û yek ji hevkarên min dikare wê paşê bar bike û an perwerdekirin û ceribandinê bidomîne an jî wê modelê hilberîne da ku hewcedariyek taybetî bicîh bîne. .
Dema ku hûn koda fêrbûna makîneya xwe bicîh dikin û dûv re li encaman temaşe dikin, şopandin API-yek e ku dihêle hûn pîvan, guhertoyên kodê, metrîk û pelên derketinê têkevin. Ew di nav zimanên din de bi Python, R, û Java hatî nivîsandin. Di heman demê de ew wekî API-ya REST-ê jî tê gihîştin, ku dibe ku were bikar anîn da ku li ser wê sepanan çêbikin.
Key Features
- Pir pêşdebiran MLflow-ê li ser PC-ya xweya herêmî bikar tînin, li ku derê paşîn û hilanîna hunerê pelrêçek li ser dîskê parve dikin.
- Pir bikarhêner di heman demê de SQLite, databasek SQLAlchemy-lihevhatî, bikar tînin da ku MLflow li ser PC-yên xwe yên herêmî bimeşînin.
- MLflow di heman demê de mîmarên belavkirî jî piştgirî dike. Pêşkêşkara şopandinê, dikana paşîn, û firotgeha hunerî hemî li ser serverên cihêreng di van de têne mêvandar kirin.
- Ger bazdan ji hêla Projeyek MLflow ve hatî destpêkirin, git commit hash hate bikar anîn. Dibe ku MLflow Python, R, Java, û API-yên REST bikar bînin da ku daneya têketinê were xebitandin.
Ji bo bêtir agahdarî, hûn dikarin li ser fermî kontrol bikin belge.
2. Projeyên MLFlow
Piştî ku me hêmanên şopandinê derbas kir, ez dixwazim li ser projeyên MLflow bipeyivim, ku ji bo danişînên perwerdehiya modelê bêyî ku ji çarçoweya darvekirinê strukturek pakkirinê ya dubarekirî ne.
Karsaz cûrbecûr teknolojiyên perwerdehiya fêrbûna makîneyê bikar tînin, lê ew van amûrên perwerdehiyê jî di çarçoveyek cihêreng de bikar tînin. Mînakî, dibe ku ew koda perwerdehiya xwe li ser ewr, li ser PC-ya herêmî, an di notebookê de bicîh bikin.
Ev rê li ber pirsgirêkê vedike ku encamên fêrbûna makîneyê dijwar e ku werin dubare kirin. Bi gelemperî, heman koda perwerdehiyê ya yekane li du cîhên cihêreng heman encam nagire an nade.
Çareseriya ku ji hêla MLflow ve hatî peyda kirin pênasekirina projeya koda perwerdehiyê ya xweser e ku hemî koda perwerdehiya fêrbûna makîneyê, û her weha girêdanên pirtûkxaneya guhertoya wê, mîhengan, û daneyên perwerdehî û ceribandinê vedihewîne.
MLflow bi zelalî danasîna tevaya hewcedariyên ji bo pêvajoyek perwerdehiya fêrbûna makîneyê ji nû ve hilberandinê di çarçoveyek darvekirinê de piştrast dike. Ew vê yekê bi sazkirina hemî wan pirtûkxaneyan pêk tîne û heman pergalê pêk tîne ku kod tê de dixebite.
Projeya MLflow ji pelrêçek pêve ne tiştek e. Ew pelrêçek e ku koda perwerdehiyê, pênaseya pêwendiya pirtûkxaneyê, û daneyên din ên ku ji bo danişîna perwerdehiyê hewce ne, û her weha vê pelê veavakirina vebijarkî vedihewîne.
Van hewcedariyên pirtûkxaneyê dikarin bi awayên cûrbecûr werin destnîşankirin. Bikarhêner dikarin, wek nimûne, taybetmendiyek hawîrdora anaconda-formatkirî ya YAML peyda bikin da ku hewcedariyên pirtûkxaneya koda perwerdehiya xwe navnîş bikin. MLflow dê koda perwerdehiyê di hundurê konteynerê de bicîh bike. Di rewşek wusa de, ew dikarin konteynirek Docker jî têxin nav xwe.
Di dawiyê de, MLflow ji bo meşandina van projeyan, û hem jî Python, û Java API-ê navgînek rêzika fermanê (CLI) heye. Dibe ku ev proje li ser pergala herêmî ya bikarhêner û her weha di cûrbecûr mîhengên dûr de, wek plansazkirina kar a Databricks û Kubernetes, werin meşandin. Projeyên MLflow dihêle hûn koda zanistiya daneyê bi rengek dubare û ji nû ve bikar bînin, bi piranî li ser bingeha standardan pak bikin.
Parçeya projeyan ji bo birêvebirina projeyan API û hem jî karûbarên xeta fermanê vedigire. Van kapasîteyan garantî dikin ku dibe ku proje bi hev re werin zincîr kirin da ku pêvajoyên fêrbûna makîneyê pêk bînin.
Key Features
- MLflow hawîrdorên projeyê piştgirî dike, di nav de jîngeha konteynera Docker, hawîrdora Conda, û jîngeha pergalê.
- Dibe ku her depoyek Git an pelrêça herêmî wekî projeyek MLflow were hesibandin; by default; hûn dikarin her şêl an jî bikar bînin Nivîsara Python di pelrêçê de wekî xala têketina projeyê.
- Girêdanên ne-Python, wekî pirtûkxaneyên Java, dikarin bi karanîna konteynerên Docker werin girtin.
- Hûn dikarin li ser Projeyek MLflow kontrolek mezintir bi dest bixin bi lê zêdekirina pelek projeyek li pelrêça root ya projeyê, ku pelek nivîsê ye di hevoksaziya YAML de.
Ji bo bêtir agahdarî, hûn dikarin li ser fermî kontrol bikin belge.
3. Modelên MLflow
Naha, ez dixwazim modelên MLflow nîqaş bikim, forma modelek gelemperî-armanca ku cûrbecûr çarçoveyek hilberînê piştgirî dike. Sedema modelên MLflow naha bi ya projeyan re pir dişibihe.
Dîsa, em dibînin ku dibe ku model bi karanîna cûrbecûr amûran werin hilberandin, lê ew dikarin di rewşek pir mezin de jî werin hilberandin an bicîh kirin, li hember jîngehên perwerdehiyê.
Van mîhengan amûrên ji bo karûbarê rast-dem, wek Kubernetes an Amazon SageMaker, û her weha weşan û berhevkirina berhevokê, wek Spark, vedihewîne. Wekî din, dibe ku hin karsazî hilbijêrin ku modelan wekî karûbarek webê ya RESTful ku li ser mînakek ewr-pêş-vesazkirî tê xebitandin hilbijêrin.
Modelek MLflow, mîna projeyek, avahiyek pelrêça ye. Ew pelek vesazkirinê û, vê carê, li şûna koda perwerdehiyê, hunerek modela serialkirî vedihewîne. Di heman demê de ev komek girêdayîbûna ji bo dubarebûnê wekî projeyek jî vedihewîne. Vê carê, em ê di çarçoveyek hawîrdorek Conda de li girêdanên nirxandinê binêrin.
Wekî din, MLflow amûrên hilberîna modelê vedihewîne ji bo serialîzekirina modelan di formata MLflow de ji gelek çarçoveyên populer. Di dawiyê de, MLflow ji bo hilberandin û girêdana her modela MLflow-ê bi cûrbecûr karûbaran ve, API-yan zêde dike, û ev API di Python, Java, R, û formatek CLI de têne gihîştin.
Model ji bo modelên pakkirinê pêkhateyek bi avahiyek standard in ku dikarin ji hêla amûrên jêrîn ên wekî pêşkêşkerên înfazkirinê an tuxleyên daneyan platforma berhevdana berhevokê. Ev hêman dema ku modelek ji bo hilberînê pak dike bi saetan koda bespoke xilas dike.
Modela MLflow standardek e ji bo pakkirina modelên fêrbûna makîneyê bi cûrbecûr formên ku wekî "tehm" têne zanîn. MLflow gelek amûran peyda dike ku ji we re dibe alîkar ku hûn celeb celeb modelan bicîh bikin. Her Modela MLflow wekî pelrêçek ku pelên keyfî û her weha pelek ravekera modela ML-yê digel navnîşek çêjên ku tê de dikare were bikar anîn tê hilanîn.
Key Features
- Hemî amûrên bicîhkirinê yên çêkirî yên MLflow gelek çêjên "standard" pêşkêşî dikin, wek tama "fonksiyona Python" ku rave dike ka meriv çawa modelê wekî fonksiyonek Python dimeşîne.
- Her Modela MLflow ji pelrêçekek ku pelên keyfî vedihewîne, û her weha pelek modela ML-ya li koka pelrêçayê ku gelek çêjên modelê diyar dike pêk tê.
- Dema ku modelek hilanîn, MLflow destûrê dide te ku hûn pîvanek hawîrdora Conda ku pêgirên modelê vedihewîne diyar bikin. Ger hawîrdora Conda neyê diyar kirin, hawîrdorek xwerû li ser bingeha çêja modelê tê çêkirin. Piştî wê, hawirdora Conda di conda.yaml de tê hilanîn.
Ji bo bêtir agahdarî, hûn dikarin li ser fermî kontrol bikin belge.
4. MLflow Model Registry
Tomarek modelê depoyek ji bo modelên fêrbûna makîneya fêrbûyî (ML) ye. Registry Model ji API û serîlêdanek-based web-ê pêk tê ku ji bo domandina modelan di qonaxên cihêreng de wekî tîmek tê bikar anîn. Rêzeya Model, Guhertoya Model, Veguheztina Qonaxa Hêsan, û Annotation tenê çend ji kapasîteyên ku di Tomara Modelê de hene hene.
Registryek model, ji bilî modelan bixwe, agahdariya (metadata) di derbarê dane û peywirên perwerdehiyê yên ku ji bo avakirina modelê têne bikar anîn vedihewîne. Girîng e ku meriv van têketinên hewce bişopîne da ku rêzek ji bo modelên ML biafirîne. Di vî warî de, qeydek modêl mîna nermalava kevneşopî dixebite kontrola guhertoyê pergalên (mînak, Git, SVN) û depoyên hunerî (mînak, Artifactory, PyPI).
Registry Model çarçoveyek e ku destûrê dide zanyarên daneyê û endezyarên fêrbûna makîneyê ku ji bo hevkariyê bi tîmên din re modelên xwe biweşînin, ceribandin, şopandin, rêvebirin û belav bikin. Di bingeh de, dema ku we qonaxa ceribandina xwe qedand û hûn amade ne ku dîtinên xwe bi tîmê û beşdaran re parve bikin, tomara modelê tê xebitandin.
MLflow Model Registry ji bo birêvebirina modelên we û temenê wan ji cîhek navendî API û navgînek bikarhêner peyda dike. Rêzeya modelê, guhertoya modelê, şîrovekirin, û veguheztina qonaxê hemî bi navgîniya qeydkirinê ve têne peyda kirin.
Di MLflow de, modelek qeydkirî ew e ku bi navek yekta û metadata, guhertoyên modelê, qonaxên veguhêz, û rêzek modelê ye. Yek an çend guhertoyên modelê dikarin di modelek qeydkirî de werin dîtin. Modelek nû gava ku di qeydê de tê tomar kirin guhertoya 1 tête hesibandin. Guhertoya jêrîn li her modela nû ya bi heman navî tê zêdekirin.
Hûn dikarin di her kêliyê de gavekê ji her guhertoya modelê re destnîşan bikin. Lêbelê, qonax divê di binê qonaxên MLflow-ê yên ku bi fermî hatine destnîşan kirin, wekî qonax, hilberandin, û arşîvkirin werin destnîşankirin. Guhertoyek model dikare ji qonaxek qonaxek din were veguheztin.
MLflow dihêle hûn nîşankirinê bikar bînin da ku hem modela asta jorîn û hem jî her guhertoyek taybetî destnîşan bikin. Hûn dikarin danasînan û her weha agahdariyên din ên têkildar, wek ravekirinên algorîtmayê, metodolojî, û danûstendinên ku hatine bikar anîn, vekin.
Key Features
- Ji bo ku hûn dema ku servera xweya MLflow-ê mêvandar dikin bi navgîniya UI an API-ê ve bigihîjin qeyda modelê, divê hûn dikanek paşîn-paşgiriya databasê bikar bînin.
- Registry Model di heman demê de dibe ku bi navgîniya şêwaza modela MLflow an navbeynkariya API-ya Şopandina Xerîdar a MLflow jî were gihîştin. Mînakî, hûn dikarin di dema ceribandinek MLflow-ê de an jî piştî ku hemî ceribandina we dimeşîne de modelek tomar bikin.
- Ne her kes dê dest bi perwerdehiya modelên xwe bi karanîna MLflow bike. Wekî encamek, dibe ku hûn hin modelan berî ku hûn MLflow bikar bînin hatine perwerde kirin. Li şûna ku hûn modelan ji nû ve perwerde bikin, hûn tenê dixwazin ku modelên xweyên hilandî bi Tomara Modelê re tomar bikin.
Ji bo bêtir agahdarî, hûn dikarin li ser fermî kontrol bikin belge.
Xelasî
MLflow amûrek çerxa jiyanê ya ML ya hêja û bi domdarî mezin dibe ye. Hûn dikarin wê li kêleka amûr û platformên xwe yên heyî bikar bînin.
Ew çend zimanên bernamesaziyê piştgirî dike, di nav de Python, Java, û R. Her weha hûn dikarin zû bişopînin, hilînin, û guhertoyên modelên cihêreng bi saya sêwirana wê ya bikarhêner-heval bişopînin.
MLflow biceribînin û ji me re ezmûna xwe agahdar bikin!
Leave a Reply