Некалькі сусветных сектараў пачынаюць больш істотна інвеставаць у машыннае навучанне (ML).
Мадэлі ML могуць быць першапачаткова запушчаны і эксплуатаваны групамі спецыялістаў, але адной з самых вялікіх перашкод з'яўляецца перадача атрыманых ведаў у наступную мадэль, каб працэсы маглі быць пашыраны.
Для паляпшэння і стандартызацыі працэсаў, звязаных з кіраваннем жыццёвым цыклам мадэлі, метады MLOps усё часцей выкарыстоўваюцца камандамі, якія ствараюць мадэлі машыннага навучання.
Працягвайце чытаць, каб даведацца больш аб некаторых з лепшых даступных сёння інструментаў і платформаў MLOps і пра тое, як яны могуць палегчыць машыннае навучанне з пункту гледжання інструментаў, распрацоўшчыкаў і працэдур.
Што такое MLOps?
Методыка стварэння палітык, нормаў і перадавых практык для мадэляў машыннага навучання вядомая як «аперацыі машыннага навучання» або «MLOps».
MLOps імкнецца гарантаваць, што ўвесь жыццёвы цыкл распрацоўкі ML - ад задумы да разгортвання - будзе старанна дакументаваны і кіраваны для дасягнення найлепшых вынікаў, а не ўкладваць у гэта шмат часу і рэсурсаў без стратэгіі.
Мэта MLOps - кадыфікаваць лепшыя практыкі такім чынам, каб зрабіць распрацоўку машыннага навучання больш маштабаванай для аператараў і распрацоўшчыкаў ML, а таксама павысіць якасць і бяспеку мадэляў ML.
Некаторыя называюць MLOps «DevOps для машыннага навучання», паколькі ён паспяхова прымяняе прынцыпы DevOps да больш спецыялізаванай вобласці тэхналагічнага развіцця.
Гэта карысны спосаб разважаць пра MLOps, таму што, як і DevOps, ён падкрэслівае абмен ведамі, супрацоўніцтва і лепшыя практыкі паміж камандамі і інструментамі.
MLOps дае распрацоўшчыкам, спецыялістам па апрацоўцы дадзеных і аператыўным камандам аснову для супрацоўніцтва і, як вынік, стварэння самых магутных мадэляў ML.
Навошта выкарыстоўваць інструменты MLOps?
Інструменты MLOps могуць выконваць шырокі спектр абавязкаў для каманды ML, аднак іх часта дзеляць на дзве групы: адміністраванне платформы і кіраванне асобнымі кампанентамі.
У той час як некаторыя прадукты MLOps сканцэнтраваны толькі на адной асноўнай функцыі, такой як кіраванне данымі або метададзенымі, іншыя інструменты прымаюць больш усеабдымную стратэгію і забяспечваюць платформу MLOps для кантролю некалькіх аспектаў жыццёвага цыкла ML.
Шукайце рашэнні MLOps, якія дапамогуць вашай камандзе ў кіраванні гэтымі сферамі распрацоўкі ML, незалежна ад таго, шукаеце вы спецыяліста або больш шырокі інструмент:
- Апрацоўка дадзеных
- Праектаванне і мадэляванне
- Кіраванне праектамі і працоўным месцам
- Разгортванне і бесперапыннае абслугоўванне мадэлі ML
- Кіраванне жыццёвым цыклам ад пачатку да канца, якое звычайна прапануецца платформамі MLOps з поўным наборам паслуг.
Інструменты MLOps
1. MLFlow
Жыццёвы цыкл машыннага навучання кіруецца платформай з адкрытым зыходным кодам MLflow і ўключае цэнтральную рэгістрацыю мадэлі, разгортванне і эксперыментаванне.
MLflow можа выкарыстоўвацца камандай любога памеру, як індывідуальна, так і калектыўна. Бібліятэкі не маюць дачынення да інструмента.
Яго можа выкарыстоўваць любая мова праграмавання і бібліятэка машыннага навучання.
Каб спрасціць навучанне, разгортванне і кіраванне праграмамі машыннага навучання, MLFlow узаемадзейнічае з шэрагам інфраструктур машыннага навучання, у тым ліку TensorFlow і Піторч.
Акрамя таго, MLflow забяспечвае простыя ў выкарыстанні API, якія можна ўключыць у любыя існуючыя праграмы машыннага навучання або бібліятэкі.
MLflow мае чатыры асноўныя функцыі, якія палягчаюць адсочванне і планаванне эксперыментаў:
- MLflow Tracking - API і карыстацкі інтэрфейс для рэгістрацыі параметраў, версій, паказчыкаў і артэфактаў кода машыннага навучання, а таксама для наступнага адлюстравання і параўнання вынікаў
- Праекты MLflow - упакоўка кода машыннага навучання ў шматразовы прайграваны фармат для перадачы ў вытворчасць або абмену з іншымі спецыялістамі па апрацоўцы дадзеных
- Мадэлі MLflow - абслугоўванне і разгортванне мадэляў у шэрагу сістэм абслугоўвання мадэляў і вываду з розных бібліятэк ML
- Рэестр мадэляў MLflow – цэнтральнае сховішча мадэляў, якое забяспечвае сумеснае кіраванне ўсёй працягласцю жыцця мадэлі MLflow, уключаючы стварэнне версій мадэлі, пераходы паміж этапамі і анатацыі.
2. KubeFlow
Панэль інструментаў ML для Kubernetes называецца Kubeflow. Упакоўка і кіраванне кантэйнерамі Docker дапамагае ў абслугоўванні сістэмы машыннага навучання.
Спрашчаючы аркестроўку запуску і разгортванне працоўных працэсаў машыннага навучання, гэта спрыяе маштабаванасці мадэляў машыннага навучання.
Гэта праект з адкрытым зыходным кодам, які ўключае ў сябе старанна падабраную групу дадатковых інструментаў і фрэймворкаў, адаптаваных да розных патрэбаў ML.
З дапамогай Kubeflow Pipelines можна вырашаць працяглыя навучальныя задачы ML, ручныя эксперыменты, паўтаральнасць і задачы DevOps.
Для некалькіх этапаў машыннага навучання, уключаючы навучанне, распрацоўку канвеера і абслугоўванне Сшыткі Jupyter, Kubeflow прапануе спецыялізаваныя паслугі і інтэграцыю.
Гэта дазваляе лёгка кіраваць і адсочваць працягласць працы вашых нагрузак штучнага інтэлекту, а таксама разгортваць мадэлі машыннага навучання (ML) і канвееры даных у кластары Kubernetes.
Ён прапануе:
- Ноўтбукі для выкарыстання SDK для ўзаемадзеяння з сістэмай
- карыстацкі інтэрфейс (UI) для кантролю і маніторынгу прагонаў, заданняў і эксперыментаў
- Каб хутка распрацоўваць скразныя рашэнні без неабходнасці кожны раз перабудоўваць і паўторна выкарыстоўваць кампаненты і канвееры.
- У якасці ключавога кампанента Kubeflow або як асобная ўстаноўка прапануецца Kubeflow Pipelines.
3. Кантроль версій дадзеных
Рашэнне кантролю версій з адкрытым зыходным кодам для праектаў машыннага навучання называецца DVC або Data Version Control.
Якую б мову вы ні абралі, гэта эксперыментальны інструмент, які дапамагае ў вызначэнні канвеера.
DVC выкарыстоўвае код, кіраванне версіямі даных і ўзнаўляльнасць, каб дапамагчы вам зэканоміць час, калі вы выяўляеце праблему з больш ранняй версіяй вашай мадэлі ML.
Акрамя таго, вы можаце выкарыстоўваць канвееры DVC для навучання вашай мадэлі і распаўсюджвання яе сярод членаў вашай каманды. Арганізацыя вялікіх даных і кіраванне версіямі можа апрацоўвацца DVC, а даныя могуць захоўвацца ў лёгкадаступным выглядзе.
Нягледзячы на тое, што ён уключае некаторыя (абмежаваныя) функцыі адсочвання эксперыментаў, ён у асноўным сканцэнтраваны на кіраванні версіямі дадзеных і канвеера.
Ён прапануе:
- Ён не залежыць ад захоўвання, таму можна выкарыстоўваць розныя тыпы захоўвання.
- Ён таксама забяспечвае статыстыку адсочвання.
- папярэдне ўбудаваны сродак аб'яднання этапаў ML у DAG і выканання ўсяго канвеера ад пачатку да канца
- За ўсёй распрацоўкай кожнай мадэлі ML можна сачыць, выкарыстоўваючы ўвесь яе код і паходжанне даных.
- Узнаўляльнасць за кошт дакладнага захавання пачатковай канфігурацыі, уваходных даных і праграмнага кода для эксперыменту.
4. Пахідэрм
Pachyderm - гэта праграма кантролю версій для машыннага навучання і навукі аб даных, падобная на DVC.
Акрамя таго, таму што ён быў створаны з дапамогай Docker і Kubernetes, ён можа запускаць і разгортваць праграмы машыннага навучання на любой воблачнай платформе.
Pachyderm гарантуе, што кожны фрагмент даных, які выкарыстоўваецца ў мадэлі машыннага навучання, можа быць адсочваны і версійаваны.
Ён выкарыстоўваецца для стварэння, распаўсюджвання, кіравання і кантролю за мадэлямі машыннага навучання. Уключаны рэестр мадэляў, сістэма кіравання мадэлямі і набор інструментаў CLI.
Распрацоўшчыкі могуць аўтаматызаваць і пашыраць свой жыццёвы цыкл машыннага навучання, выкарыстоўваючы базу дадзеных Pachyderm, якая таксама забяспечвае паўтаральнасць.
Ён падтрымлівае строгія стандарты кіравання данымі, зніжае выдаткі на апрацоўку і захоўванне даных і дапамагае прадпрыемствам хутчэй выводзіць на рынак свае ініцыятывы па навуцы даных.
5. Паліксан
Выкарыстоўваючы платформу Polyaxon, праекты машыннага навучання і прыкладанні глыбокага навучання можна тыражаваць і кіраваць імі на працягу ўсяго жыццёвага цыкла.
Polyaxon можа размяшчаць і адміністраваць інструмент, і яго можна размясціць у любым цэнтры апрацоўкі дадзеных або ў воблачным пастаўшчыку. Такія як Torch, Tensorflow і MXNet, якія падтрымліваюць усе найбольш папулярныя структуры глыбокага навучання.
Калі справа даходзіць да аркестрацыі, Polyaxon дазваляе вам максімальна выкарыстоўваць кластар, плануючы задачы і тэсты праз іх CLI, прыборную панэль, SDK або REST API.
Ён прапануе:
- Вы можаце выкарыстоўваць версію з адкрытым зыходным кодам прама зараз, але яна таксама ўключае ў сябе выбар для карпаратыўных.
- Нягледзячы на тое, што ён ахоплівае ўвесь жыццёвы цыкл, уключаючы аркестроўку запуску, ён здольны на значна больш.
- З тэхнічнымі даведачнымі дакументамі, рэкамендацыямі па пачатку працы, навучальнымі матэрыяламі, дапаможнікамі, падручнікамі, журналамі змяненняў і многім іншым, гэта вельмі добра дакументаваная платформа.
- З прыборнай панэллю ацэнкі эксперыментаў можна сачыць за кожным эксперыментам па аптымізацыі, адсочваць і ацэньваць яго.
6. камета
Comet - гэта платформа для метамашыннага навучання, якая адсочвае, супрацьпастаўляе, тлумачыць і паляпшае эксперыменты і мадэлі.
Усе вашы эксперыменты можна ўбачыць і параўнаць у адным месцы.
Ён працуе для любой задачы машыннага навучання, усюды, дзе выконваецца ваш код, і з любой бібліятэкай машыннага навучання.
Comet падыходзіць для груп, асобных людзей, акадэмічных устаноў, прадпрыемстваў і ўсіх, хто хоча хутка візуалізаваць эксперыменты, аптымізаваць працу і праводзіць эксперыменты.
Навукоўцы па апрацоўцы дадзеных і каманды могуць адсочваць, удакладняць, паляпшаць і параўноўваць эксперыменты і мадэлі з дапамогай самастойнай і воблачнай платформы метамашыннага навучання Comet.
Ён прапануе:
- Для членаў каманды існуе шмат магчымасцей для сумеснага выканання задач.
- Ён мае некалькі інтэграцый, якія дазваляюць лёгка звязаць яго з іншымі тэхналогіямі
- Добра працуе з сучаснымі бібліятэкамі ML
- Клапоціцца аб кіраванні карыстальнікамі
- Уключана параўнанне эксперыментаў, уключаючы параўнанне кода, гіперпараметраў, паказчыкаў, прагнозаў, залежнасцей і сістэмных паказчыкаў.
- Прадастаўляе асобныя модулі для візуальных, аўдыё, тэкставых і таблічных даных, якія дазваляюць візуалізаваць узоры.
7. Оптуна
Optuna - гэта сістэма для аўтаномнай аптымізацыі гіперпараметраў, якая можа прымяняцца як для машыннага навучання, так і для глыбокага навучання, а таксама ў іншых галінах.
Ён утрымлівае мноства найноўшых алгарытмаў, з якіх вы можаце выбраць (або звязаць), дазваляе вельмі проста размеркаваць навучанне па шматлікіх кампутарах і прапануе прывабную візуалізацыю вынікаў.
Папулярныя бібліятэкі машыннага навучання, такія як PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM і XGBoost, інтэграваны з ім.
Ён забяспечвае перадавыя алгарытмы, якія дазваляюць кліентам хутчэй атрымліваць вынікі за кошт хуткага скарачэння выбарак, якія не выглядаюць шматспадзеўнымі.
Выкарыстоўваючы алгарытмы на аснове Python, ён аўтаматычна шукае ідэальныя гіперпараметры. Optuna заахвочвае паралелізаваны пошук гіперпараметраў у многіх патоках без змены зыходнага кода.
Ён прапануе:
- Ён падтрымлівае размеркаванае навучанне на кластары, а таксама на адным кампутары (шматпрацэс) (шматвузл)
- Ён падтрымлівае некалькі метадаў абрэзкі для паскарэння канвергенцыі (і выкарыстання меншай колькасці вылічэнняў)
- Ён мае мноства магутных візуалізацый, такіх як зрэзаны графік, контурны графік і паралельныя каардынаты.
8. Кедро
Kedro - гэта бясплатны фрэймворк Python для напісання кода, які можна абнаўляць і абслугоўваць для навуковых праектаў па дадзеных.
Ён пераносіць ідэі ад перадавых практык распрацоўкі праграмнага забеспячэння да кода машыннага навучання. Python з'яўляецца асновай гэтага інструмента аркестроўкі працоўнага працэсу.
Каб зрабіць працэсы ML больш простымі і дакладнымі, вы можаце распрацаваць узнаўляльныя, прыдатныя для абслугоўвання і модульныя працоўныя працэсы.
Kedro уключае прынцыпы распрацоўкі праграмнага забеспячэння, такія як модульнасць, падзел абавязкаў і кіраванне версіямі, у асяроддзе машыннага навучання.
На аснове Cookiecutter Data Science ён забяспечвае агульную адаптыўную структуру праекта.
Некалькі простых злучальнікаў даных, якія выкарыстоўваюцца для захоўвання і загрузкі даных у некалькіх файлавых сістэмах і фарматах файлаў, кіруюцца каталогам даных. Гэта робіць праекты машыннага навучання больш эфектыўнымі і спрашчае стварэнне канвеера даных.
Ён прапануе:
- Kedro дазваляе разгортваць разрозненыя або адзінкавыя машыны.
- Вы можаце аўтаматызаваць залежнасці паміж кодам Python і візуалізацыяй працоўнага працэсу з дапамогай абстракцыі канвеера.
- Дзякуючы выкарыстанню модульнага шматразовага кода гэтая тэхналогія палягчае каманднае супрацоўніцтва на розных узроўнях і павышае прадукцыйнасць у асяроддзі кадавання.
- Асноўная мэта складаецца ў тым, каб пераадолець недахопы сшыткаў Jupyter, аднаразовых сцэнарыяў і клеючага кода шляхам напісання праграмавання навукі аб даных, якое падтрымліваецца.
9. BentoML
Стварэнне канцавых кропак API машыннага навучання становіцца прасцей з дапамогай BentoML.
Ён забяспечвае тыповую, але сціснутую інфраструктуру для перамяшчэння вывучаных мадэляў машыннага навучання ў вытворчасць.
Гэта дазваляе спакаваць вывучаныя мадэлі для выкарыстання ў вытворчых умовах, інтэрпрэтуючы іх з дапамогай любой структуры ML. Падтрымліваецца як аўтаномнае пакетнае абслугоўванне, так і онлайн-абслугоўванне API.
Высокапрадукцыйны мадэльны сервер і гнуткі працоўны працэс - асаблівасці BentoML.
Акрамя таго, сервер прапануе адаптыўнае мікрапакетаванне. Уніфікаваны падыход для арганізацыі мадэляў і адсочвання працэдур разгортвання забяспечваецца панэллю карыстацкага інтэрфейсу.
Прастою сервера не будзе, таму што механізм працы модульны, а канфігурацыю можна выкарыстоўваць шматразова. Гэта гнуткая платформа для прадастаўлення, арганізацыі і разгортвання мадэляў ML.
Ён прапануе:
- Ён мае модульную канструкцыю, якая адаптуецца.
- Гэта дазваляе разгортванне на некалькіх платформах.
- Ён не можа аўтаматычна апрацоўваць гарызантальнае маштабаванне.
- Ён забяспечвае адзіны фармат мадэлі, кіраванне мадэллю, упакоўку мадэлі і абслугоўванне высокапрадукцыйнай мадэлі.
10. Селдон
Навукоўцы па апрацоўцы дадзеных могуць ствараць, разгортваць і кіраваць мадэлямі машыннага навучання і эксперыментамі ў маштабе на Kubernetes з дапамогай платформы Seldon Core з адкрытым зыходным кодам.
TensorFlow, sci-kit-learn, Spark, R, Java і H2O - гэта толькі некаторыя з набораў інструментаў, якія ім падтрымліваюцца.
Ён таксама ўзаемадзейнічае з Kubeflow і OpenShift ад RedHat. Ядро Seldon пераўтварае мадэлі машыннага навучання (мадэлі ML) або моўныя абалонкі (напрыклад, Python, Java і г.д.) у прадукцыйныя мікрасэрвісы REST/GRPC.
Гэты адзін з лепшых інструментаў MLOps для паляпшэння працэсаў машыннага навучання.
З дапамогай Seldon Core лёгка кантэйнераваць мадэлі ML і правяраць зручнасць выкарыстання і бяспеку.
Ён прапануе:
- Разгортванне мадэлі можа быць прасцей з дапамогай некалькіх альтэрнатыў, такіх як разгортванне Canary.
- Каб зразумець, чаму былі зроблены канкрэтныя прагнозы, выкарыстоўвайце тлумачальнікі мадэляў.
- Пры ўзнікненні праблем сачыце за серыйнымі мадэлямі з дапамогай сістэмы абвесткі.
заключэнне
MLO можа дапамагчы палепшыць працу машыннага навучання. MLO можа паскорыць разгортванне, спрасціць збор даных і адладку, а таксама палепшыць супрацоўніцтва паміж інжынерамі і спецыялістамі па апрацоўцы дадзеных.
Каб вы маглі выбраць інструмент MLOps, які найбольш адпавядае вашым патрэбам, у гэтай публікацыі былі разгледжаны 10 папулярных рашэнняў MLOps, большасць з якіх з адкрытым зыходным кодам.
Пакінуць каментар