MLOps

MLOps — парадыгма распрацоўкі праграмнага забеспячэння, накіраваная на надзейнае і эфектыўнае разгортванне і падтрыманне мадэлей машыннага навучання для практычнага выкарыстання. Слова з’яўляецца спалучэннем «машыннага навучання» () і практыкі распрацоўкі DevOps.

MLOs пачынаўся як набор перадавых практык, і цяпер паступова ператвараецца ў незалежны падыход да кіравання жыццёвым цыклам сістэм машыннага навучання. MLOps прымяняецца на ўсіх этапах жыццёвага цыкла — ад распрацоўкі да ,  і маніторынгу мадэлей.

 Гісторыя 
У пачатку 2000-х для распрацоўкі бізнес-рашэнняў на базе машыннага навучання выкарыстоўвалася такое  як ,  і . З пашырэннем , усё больш распрацоўшчыкаў пачалі выкарыстоўваць бібліятэкі Python і R для трэніроўкі мадэлей. Для разгортвання мадэлей з мэтай іх практычнага выкарыстання ужываліся такія інструменты як Docker і . З цягам часу паўсталі так званыя MLOps-платформы, якія пакрываюць увесь цыкл эксперыментавання, трэніроўкі, разгортвання і маніторынгу мадэлей.

Рост папулярнасці MLOps абумоўлены патрэбнасцю ў стандартызацыі працэсаў распрацоўкі машыннага навучання. Рынак MLOps-інструментаў ацэньваўся ў $1.1 млрд у 2022 годзе, з прагнозам росту да $5.9 млрд да 2027 года, то бок у сярэднім на 41 % штогод.

 Параўнанне з DevOps 

Асаблівасць сістэм з машынным навучаннем заключаецца ў наяўнасці трох узаемазвязаных кампанентаў: даных, мадэлі машыннага навучання і кода. Пры распрацоўцы звычайнага праграмнага забеспячэння мадэль, а часам і даныя адсутнічаюць.

Акрамя таго, існуе шэраг характэрных праблем, якія ўплываюць на працэс распрацоўкі рашэнняў з машынным навучаннем:
 Паступовае зніжэнне якасці мадэлі пасля разгортвання, што выклікае неабходнасць у зборы найноўшых даных і ператрэніроўцы мадэлі.
 Недастатковасць даных для развязання пастаўленай задачы.
 Неадпаведнасць даных для трэніроўкі тым даным, з якімі мадэль мусіць працаваць пасля разгортвання. Напрыклад, калі мадэль прымяняецца ў тым рэгіёне, даныя з якога не ўваходзілі ў трэніровачны набор.
 Збор новых або абнаўленне  ў старых даных, што патрабуе ператрэніроўкі мадэлі.
 Некарэктнасць дапушчэнняў, зробленых на этапе стварэння мадэлі.
 Змена патрабаванняў да мадэлі ў часе распрацоўкі.

Неабходнасць вырашэння гэтых праблем адрознівае MLOps ад звычайных DevOps-працэсаў.

 Асноўныя прынцыпы 
Пашырэнне прадуктаў і сэрвісаў з машынным навучаннем прывяло да неабходнасці стварэння практык эфектыўнага тэставання, разгортвання, кіравання і маніторынгу такіх сістэм для змяншэння іх . MLOps імкнецца да таго, каб рэсурсы, звязаныя з машынным навучаннем (мадэль, яе параметры і гіперпараметры, код для навучання мадэлі, даныя для навучання і тэставання), разглядаліся нароўні з іншымі рэсурсамі ў  асяроддзі, а мадэлі машыннага навучання разгортваліся ў рамках уніфікаванага працэсу разам з сэрвісамі, што іх выкарыстоўваюць і забяспечваюць выкарыстанне.

 Аўтаматызацыя 
Аўтаматызаванымі могуць быць такія працэсы, як напрыклад навучанне, тэставанне і разгортванне мадэлі. Аўтаматызацыя паскарае распрацоўку мадэлі, а аўтаматызаванае тэставанне дазваляе хутка і своечасова знаходзіць і вырашаць праблемы. Аўтаматычнае навучанне і разгортванне мадэлі могуць быць выкліканы рэгулярна па раскладзе або ў выніку пэўных падзей, напрыклад змяншэння якасці мадэлі да крытычнага значэння ці змены кода мадэлі.

Існуюць наступныя ўзроўні аўтаматызацыі:
 Ручны працэс. Поўная адсутнасць аўтаматызацыі, характэрная для першых, эксперыментальных этапаў распрацоўкі. Часта выкарыстоўваюцца інструменты для хуткай распрацоўкі, такія як .
 Пайплайн машыннага навучання. Аўтаматызавана навучанне мадэлі ў выпадку з’яўлення новых даных. Сюды ж уваходзяць аўтаматычная валідацыя даных і мадэлі.
 CI/CD пайплайн. Існуе CI/CD працэс для разгортвання мадэлі машыннага навучання ў production-асяроддзі. Аўтаматызавана зборка, тэставанне і разгортванне ўсіх кампанентаў сістэмы.

 Бесперапыннасць 
Шэраг прынцыпаў бесперапыннасці забяспечвае стабільнасць і даступнасць для выкарыстання мадэлі, кода і даных:
  () — тэставанне і валідацыя, што пашыраецца не толькі на код, але і на мадэль і даныя.
  () — стварэнне пайплайна навучання мадэлі, які аўтаматычна разгортвае сэрвіс для прадказвання.
 Бесперапыннае навучанне () — аўтаматычнае рэгулярнае навучанне мадэлей для разгортвання.
 Бесперапынны маніторынг () — кантроль за данымі і вынікамі працы мадэлі ў production-асяроддзі, у тым ліку падлік бізнес-метрык.

 Кіраванне версіямі 
Акрамя стандартнага кіравання версіямі для кода, MLOps прадугледжвае аналагічнае версіянаванне для мадэлей і даных. Гэта абумоўлена тым, што як даныя, так і мадэль змяняюцца з часам пад уплывам розных фактараў, напрыклад абнаўлення крыніц даных і паўторнага навучання мадэлі. Кіраванне версіямі дапамагае хутка адкаціць мадэль або даныя да папярэдняй версіі, калі абнаўленне прынесла непажаданыя вынікі. Захоўванне ўсіх версій мадэлі і даных можа таксама быць патрабаваннем з боку кампаніі або дзяржавы для таго, каб сістэму можна было праверыць на адпаведнасць заканадаўству і іншым стандартам.

 Улік эксперыментаў 
У адрозненне ад класічнага праграмнага забеспячэння, машыннае навучанне патрабуе вялікай колькасці эксперыментаў каб зразумець, якую мадэль лепей выкарыстоўваць. Вядзенне ўліку эксперыментаў дазваляе пабачыць, з якімі параметрамі пэўны эксперымент запускаўся і як ён паўплываў на якасць мадэлі, а таксама правесці параўнанне паміж вынікамі вялікай колькасці эксперыментаў. Адзін з падыходаў да ўліку — стварэнне асобнай git-галіны для кожнага эксперыменту. Існуюць таксама інструменты для аўтаматычнага запісу гіперпараметраў і метрык для ўсіх эксперыментаў, напрыклад Weights & Biases.

 Тэставанне 
Тэставанне сістэм з машынным навучаннем складаецца з трох кампанентаў: тэставанне даных, мадэлі і інфраструктуры.

Тэставанне даных уключае этапы валідацыі даных (аўтаматызаваная праверка на адпаведнасць структуры), падліку важнасці  для адсейвання неістотных даных, праверку на адпаведнасць рэгуляцыям, такім як . Сюды ж уваходзіць  кода для падліку прыкмет.

Для тэставання мадэлі ацэньваецца яе якасць з дапамогай адмысловых метрык (,  і г.д.), якія павінны мець карэляцыю з бізнес-метрыкамі (прыбытак, зацікаўленасць карыстальнікаў і г.д.) Такія метрыкі падлічваюць на адкладзеным наборы даных для тэставання, што не выкарыстоўваецца ў часе навучання мадэлі. Складаныя мадэлі мусяць параўноўвацца з больш простай, так званай бэйзлайн-мадэллю. Напрыклад, няма рацыі ў выкарыстанні , калі лінейная рэгрэсія паказвае нягоршыя вынікі для пэўнай задачы. Акрамя таго, правяраецца , то бок яе карэктная праца для розных катэгорый карыстальнікаў. Для параўнання розных версій мадэлі можа прымяняцца .

Тэсты для інфраструктуры правяраюць такія ўласцівасці як  навучання (навучанне з аднолькавымі наборамі даных павінна даваць аднолькавыя параметры мадэлі), памяншэнне значэння  у ходзе навучання, адпаведнасць памылкі ў асяроддзі навучання памылцы ў production-асяроддзі. Існуюць таксама краш-тэсты, якія правяраюць аднаўленне стану мадэлі ў кантрольным пункце, калі ў працэсе навучання здарыўся збой. Інтэграцыйныя тэсты праганяюць увесь пайплайн цалкам і правяраюць, што кожны этап навучання завяршаецца паспяхова.

 Маніторынг 
Каб праверыць, ці працуе мадэль як запланавана пасля разгортвання, ажыццяўляецца яе маніторынг. Сістэма маніторынгу павінна паведамляць пра павольны або рэзкі спад якасці мадэлі. Пры атрыманні такога сігналу можа аўтаматычна запускацца перанавучанне і абнаўленне версіі мадэлі.

Акрамя гэтага, маніторынг можа закранаць змены ў даных і кодзе, абнаўленні ў залежнасцях, выхад значэнняў у даных за звычны дыяпазон, адпаведнасць прыкмет у працоўным і навучальным асяроддзях,  мадэлі (адсутнасць бесканечных і -значэнняў у падліках), хуткасць падлікаў, выкарыстанне вылічальных рэсурсаў (памяць, месца на дыску,  і інш.), час з апошняга абнаўлення мадэлі і гэтак далей.

 Рабочы працэс MLOps 
Распрацоўка праграмнага забеспячэння з машынным навучаннем уключае ў сябе такія этапы як аналіз задачы, інжынірынг даных, распрацоўка і інтэграцыя мадэлі.

 Аналіз бізнес-задачы і патрабаванняў 

Першапачатковы этап праекта па распрацоўцы праграмнага забеспячэння мае сваёй мэтай зразумець задачу і той працэс, у якім будзе выкарыстоўвацца гатовае рашэнне. У выпадку з машынным навучаннем, патрабаванні да рашэння мусяць быць перакладзены ў патрабаванні да мадэлі, яе структуры і якасці.

У пачатку такога аналізу пэўны  разбіваецца на асобныя . З гэтых задач вылучаюцца тыя, для выканання якіх патэнцыйна можа выкарыстоўвацца машыннае навучанне. Для кожнай задачы ацэньваецца  у яе аўтаматызацыю. Задачы з найбольшай акупнасцю разглядаюцца больш падрабязна.

Абмеркаванне дапамагае зразумець сапраўдныя мэты і магчымыя выдаткі. Адным з вынікаў гэтага этапу можа быць рашэнне не распрацоўваць мадэль машыннага навучання, напрыклад таму што працэс не дапускае некарэктных адказаў мадэлі, рашэнне будзе мець нізкую акупнасць, або сістэму не магчыма будзе падтрымліваць.

 AI Canvas 
Адзін з метадаў аналізу бізнес-задач з пункту гледжання машыннага навучання, AI Canvas, быў прапанаваны  у кнізе «Машыны прагназавання. Простая эканоміка штучнага інтэлекту» (). AI Canvas складаецца з сямі пытанняў, якія павінны дапамагчы ў прыняцці рашэння аб распрацоўцы:
 Прадказанне. У чым заключаецца нявызначанасць, якую можна вырашыць з дапамогай машыннага навучання?
 Ацэнка. Як ацаніць эфект магчымых вынікаў, як станоўчых, так і памылковых?
 Дзеянне. Якія дзеянні могуць быць абраныя?
 Вынік. Як можна зразумець, што задача была выканана карэктна?
 Навучанне. Якія даныя патрэбны для навучання мадэлі?
 Уваход. Якія даныя патрэбны для таго, каб гатовая мадэль магла зрабіць прагноз?
 Зваротная сувязь. Як можна выкарыстаць вынікі для паляпшэння якасці мадэлі?

Напрыклад разгледзім праблему лжывых спрацоўванняў . Калі доля лжывых спрацоўванняў высокая, шмат рэсурсаў паліцыі або аховы марнуецца. Пры разгляданні магчымасці вырашыць гэтую праблему з дапамогай машыннага навучання, адказы на пытанні AI Canvas могуць гучаць наступным чынам:

 Прадказанне. Прадказаць, ці сапраўды за спрацоўваннем сігналізацыі стаіць пагроза.
 Ацэнка. Параўнаць кошт рэагавання на лжывае спрацоўванне сігналізацыі з коштам адсутнасці рэакцыі на сапраўднае спрацоўванне.
 Дзеянне. Выклікаць або не выклікаць ахову ў адказ на спрацоўванне.
 Вынік. Спраўдзіць, ці абранае дзеянне было слушным.
 Навучанне. Гістарычныя даныя датчыкаў і адпаведных ілжывых і карэктных спрацоўванняў сігналізацыі.
 Уваход. Даныя з датчыкаў у той момант, калі спрацавала сігналізацыя.
 Зваротная сувязь. Падзяліць новыя даныя з датчыкаў на дзве катэгорыі: ілжывыя і карэктныя спрацоўванні. Дадаць гэтыя даныя да гістарычных і абнавіць мадэль.

 Machine Learning Canvas 
Яшчэ адзін метад аналізу задачы — Machine Learning Canvas. Ён складаецца з дзесяці блокаў, кожны з якіх з дапамогай пытанняў дазваляе паглядзець на задачу з таго ці іншага боку.

Асноўны блок — значная прапанова. У межах гэтага блока разглядаюцца пытанні аб тым, у чым заключаецца праблема, чаму гэта важна і хто будзе  рашэння. У выніку фармулюецца прапанова, у якой згадваецца праблема і прадукт або сэрвіс, які плануецца распрацаваць для яе рашэння.

Іншыя блокі бяруць пад увагу крыніцы даных, тып задачы (класіфікацыя, ,  і г.д.),  для мадэлі, ацэнку якасці, працэс  на аснове адказаў мадэлі, працэдуру выкарыстання мадэлі (на запыт, паводле раскладу і інш.),  новых даных, абнаўленне і маніторынг мадэлі.

 Інжынірынг даных 
Асноўныя задачы  — збор і   для далейшага навучання мадэлі. Гэты этап мае вялікае значэнне, бо недастатковая  можа прывесці да некарэктнай працы мадэлі. Залежнасць паміж якасцю даных і мадэлі апісваецца прынцыпам «» (). Звычайна даныя збіраюцца з некалькіх крыніц у розных . У працэсе падрыхтоўкі даных праводзіцца іх даследаванне, ачыстка, камбінаванне і трансфармацыя. Зыходнае і прамежкавае захоўванне звычайна ажыццяўляецца ў азёрах даных на базе аб'ектных сховішчаў кшталту AWS S3, Google Cloud Storage і іншых.

Інжынірынг даных падзяляецца на наступныя элементы:
 Прыём даных — збор  у розных фарматах. Можа таксама ўключаць генерацыю  і ўзбагачэнне даных.
 Даследаванне і валідацыя — , неабходнае для разумення іх структуры і зместу. Валідацыя можа праводзіцца з дапамогай , якія правяраюць даныя на прадмет памылак і анамалій.
  і першасная апрацоўка даных — працэс выпраўлення памылак, выдалення ,  у даных.
  — прысваенне элементам даных пэўных метак у залежнасці ад задачы, напрыклад аднясенне іх да той ці іншай .
 Падзел даных — раздзяленне даных на  мадэлі.

 Распрацоўка мадэлі 
Распрацоўка мадэлі складаецца з некалькі этапаў, у выніку якіх ствараецца мадэль, гатовая да інтэграцыі:
 Навучанне мадэлі — працэс прымянення алгарытму машыннага навучання да набору навучальных даных. Сюды ж уваходзяць стварэнне прыкмет для мадэлі і .
 Ацэнка мадэлі — валідацыя мадэлі з падлікам метрык, што ацэньваюць якасць яе работы.
 Тэставанне мадэлі — фінальная праверка мадэлі на .
 Пакетызацыя мадэлі — перавод мадэлі ў патрэбны для прымянення фармат (напрыклад , ,  і інш.)

 Інтэграцыя мадэлі 
Распрацаваная мадэль інтэгруецца ў гатовы прадукт, напрыклад мабільную або настольную праграму. Інтэграцыя ўключае ў сябе наступныя этапы:
 Разгортванне мадэлі — прыстасаванне мадэлі да .
 Маніторынг мадэлі — назіранне за дзейнасцю і якасцю мадэлі ў працэсе яе выкарыстання. Вынікі маніторынгу могуць дапамагчы зразумець, калі патрабуецца паўторнае навучанне мадэлі на абноўленых даных.
  — запіс і захоўванне ўсіх запытаў да мадэлі.

 Шаблоны архітэктуры 

Архітэктура сістэмы машыннага навучання залежыць ад спосабу навучання і генерацыі прадказанняў мадэлі.

Існуюць два віды навучання:
 Афлайнавае (навучанне батчамі, статычнае навучанне), пры якім мадэль навучаецца на загадзя сабраным наборы даных. Такая мадэль застаецца нязменнай пасля разгортвання, таму з часам можа страціць актуальнаць. Зніжэнне якасці можна адсачыць з дапамогай маніторынгу, і паўторна навучыць мадэль як толькі яно адбудзецца.
  (дынамічнае) навучанне мае месца, калі працэс перанавучання запускаецца рэгулярна з прыходам новых данных, напрыклад у .

Генерацыя прадказанняў таксама падзяляецца на два тыпы:
 Прадказванне батчамі адбываецца раз на некаторы прамежак часу для сабраных за гэты час даных.
 Прадказванне ў рэальным часе праводзіцца тады, калі адказ мадэлі патрэбен у той самы момант, калі быў атрыманы запыт.

Камбінацыя відаў навучання і прадказвання вызначае архітэктуру сістэмы і ступень яе аўтаматызацыі.

 Прагноз 

Такі тып архітэктуры прадугледжвае аднаразовае навучанне мадэлі на гістарычных даных і генерацыю прагнозу на іншым, але таксама гістарычным наборы даных. Гэта самы просты тып архітэктуры, які выкарыстоўваецца ў даследаваннях і ў адукацыйных мэтах пры вывучэнні машыннага навучання, але яго часта бывае недастаткова для выкарыстання на практыцы.

 Вэб-сэрвіс 
Архітэктура вэб-сэрвісу (або ) гэта камбінацыя афлайнавага навучання з прадказваннем у рэальным часе. У гэтым падыходзе мадэль працуе з кожным запытам асобна, атрымлівае на ўваход даныя запыту і вяртае прадказанне для гэтага запыту на выхадзе. Пры гэтым сама мадэль не змяняецца да той пары, пакуль не будзе паўторна навучана і разгорнута. Архітэктура сэрвісу падзяляецца, адпаведна, на дзве часткі: навучанне і прадказванне.  навучання выступае гатовая мадэль, якая на этапе прадказвання ўзаемадзейнічае з кліентам, напрыклад праз .

 Анлайнавае навучанне 
У архітэктуры анлайнавага навучання мадэль абнаўляецца як толькі новыя даныя прыходзяць у сістэму. Звычайна даныя арганізаваны ў выглядзе патоку, які можа складацца з індывідуальных назіранняў або міні-батчаў (невялікіх груп). Як правіла, першаснае навучанне мадэлі праводзіцца на гістарычных даных асобна ад анлайн-сістэмы, у якой праходзіць толькі інкрэментнае паляпшэнне мадэлі з дапамогай новых даных. Мадэль можа быць разгорнута як сэрвіс на Kubernetes кластары або падобным чынам.

Загана анлайнавага навучання ў тым, што якасць мадэлі можа хутка сапсавацца, калі ў сістэму будуць прыходзіць няякасныя даныя.

 Серыялізацыя мадэлі 

Часта бывае так, што навучанне і выкарыстанне мадэлі машыннага навучання адбываюцца ў розных асяроддзях. Напрыклад, калі мадэль, навучаную з дапамогай бібліятэкі  трэба запусціць у выглядзе  задачы. У такіх выпадках мадэль пераводзіцца ў адзін з адмысловых фарматаў, прыгодных для распаўсюджання. Фарматы серыялізацыі бываюць як універсальнымі, так і спецыфічнымі для пэўнай платформы або інструмента.

Амальгамацыяй называецца спосаб экспарту мадэлі праз аб’яднанне ў адзін пакет параметраў мадэлі і ўсяго неабходнага коду для яе запуску. Такі пакет потым можа быць скампіляваны на патрэбнай платформе як асобная праграма. Гэты спосаб найбольш прыдатны для невялікіх і простых мадэлей, такіх як  або . Напрыклад, для scikit-learn мадэлей такі пакет можна згенерыраваць з дапамогай бібліятэкі SKompiler. Пасля гэтага ён можа быць трансліраваны ў код на такіх мовах праграмавання як C, Javascript, Rust,  і г.д.

 Універсальныя фарматы 
  — фармат на аснове XML, файлы захоўваюцца з пашырэннем .pmml. Падтрымлівае толькі частку алгарытмаў машыннага навучання.
  (Portable Format for Analytics) — мадэль захоўваецца ў JSON фармаце. Распрацоўваўся як замена PMML.
  (Open Neural Network eXchange) — фармат, які дазваляе запускаць мадэль незалежна ад  распрацоўкі. Серыялізаваная з дапамогай ONNX мадэль можа рабіць прадказанні ў асяроддзях з адмысловымі бібліятэкамі. Сумяшчальны з большасцю інструментаў для . Падтрыманы шэрагам вялікіх кампаній, такіх як Microsoft, Facebook і Amazon.

 Разгортванне мадэлі 
Разгортванне сістэмы машыннага навучання складаецца з разгортвання пайплайна для навучання мадэлі і забеспячэння API, праз які мадэллю можна карыстацца для атрымання прадказанняў для новых даных. Працэс ператварэння запыта да мадэлі ў прадказанне завецца вывядзеннем. Вывядзенне патрабуе наяўнасці мадэлі,  для выканання кода і ўваходных даных.

Часта мадэлі машыннага навучання разгортваюцца ў , напрыклад з дапамогай Docker.  кантэйнераў ажыццяўляецца такімі інструментамі, як Kubernetes, AWS Fargate і іх альтэрнатывамі. Правайдэры воблачных сэрвісаў часта маюць уласныя платформы машыннага навучання з магчымасцю разгортвання мадэлей, напрыклад , Google Cloud AI Platform, Azure Machine Learning Studio і IBM Watson Machine Learning. Альтэрнатыўна, мадэлі могуць быць разгорнуты як бессерверныя функцыі ў Azure Functions, , Google Cloud Functions і інш. У такім выпадку код для выкарыстання мадэлі можа быць упакаваны ў .zip архіў, што перадаецца ў адпаведны сэрвіс.

 Шаблоны разгортвання 

 Model-as-Service 
Мадэль можа быць разгорнута як сэрвіс (). У такім выпадку мадэль і інтэрпрэтатар аб’ядноўваюцца ў адзіны вэб-сэрвіс, карыстацца якім можна паводле REST API або .

 Model-as-Dependency 
У шаблоне Model-as-Dependency мадэль разглядаецца як залежнасць прыкладной праграмы, якая яе выкарыстоўвае. Напрыклад гэта можа быць стандартная , якая мае асобны  для вывядзення, даступны праграме.

 Precompute 
У некаторых выпадках прадказанні мадэлі для ўваходных даных магчыма падлічыць яшчэ да атрымання гэтых даных, напрыклад калі набор усіх магчымых запытаў адносна невялікі. Тады навучаная мадэль выкарыстоўваецца для такога падліку толькі адзін раз і яе адказы запісваюцца ў базу даных. Пасля гэтага кожны запыт да мадэлі перанакіроўваецца ў базу даных для атрымання адпаведных прадказанняў.

 Model-on-Demand 
Для мадэлі ў шаблоне Model-on-Demand характэрны ўласны цыкл выпуску, незалежны ад іншых сэрвісаў. Мадэль і яе  аб’ядноўваюцца ў асобны кампанент пад назвай апрацоўшчык падзей. Узаемадзеянне з апрацоўшчыкам адбываецца праз , які мае дзве чаргі: уваходную і выхадную. Сэрвіс, якому неабходныя прадказанні ад мадэлі, запісвае запыты ў уваходную чаргу. Апрацоўшчык падзей забірае запыты з уваходнай чаргі групамі, прымяняе да іх мадэль і запісвае вынікі ў выхадную чаргу. З выхадной чаргі прадказанні перадаюцца назад у той сэрвіс, што пасылаў запыты.

 Hybrid-Serving (федэратыўнае навучанне) 

Шаблон Hybrid-Serving, вядомы таксама як , прадугледжвае наяўнасць уласнай мадэлі для кожнага карыстальніка, якая захоўваецца лакальна на карыстальніцкай прыладзе, напрыклад на смартфоне. Акрамя лакальных мадэлей існуе навучаная на гістарычных даных глабальная мадэль на серверы, паводле якой ствараюцца лакальныя мадэлі. Лакальныя мадэлі дадаткова навучаюцца на карыстальніцкіх даных без адпраўкі гэтых даных на сервер. Перыядычна параметры лакальных мадэлей адпраўляюцца назад на сервер, глабальная мадэль камбінуе іх і абнаўляецца, а вынікі камбінавання перадаюцца лакальным мадэлям для іх удасканалення. Тэставанне мадэлі адбываецца лакальна на прыладах, дзе захоўваюцца даныя карыстальнікаў.

Перавагі такога метаду ў тым, што ён не патрабуе адпраўкі карыстальніцкіх даных, магчыма канфідэнцыяльных, на сервер, але ўсё адно дазваляе выкарыстоўваць іх для навучання мадэлі. Пры гэтым накладаюцца абмежаванні як на тэхнічныя характарыстыкі лакальных прылад, так і на памер і іншыя тэхнічныя патрабаванні самой мадэлі, таму федэратыўнае навучанне не заўсёды магчыма на практыцы.

 Крыніцы 

Катэгорыя:Машыннае навучанне