Чаму Data Science камандам патрэбны ўніверсалы, а не спецыялісты.

Чаму Data Science камандам патрэбны ўніверсалы, а не спецыялісты.
HIROSHI WATANABE/GETTY IMAGES

У кнізе "Багацце народаў" Адам Сміт паказвае, як падзел працы становіцца галоўнай крыніцай павышэння прадукцыйнасці. Прыкладам выступае лінія зборкі завода па вытворчасці шпілек: «Адзін працоўны цягне дрот, іншы выпроствае яе, трэці абразае, чацвёрты завастрае канец, пяты абточвае іншы канец для насаджвання галоўкі». Дзякуючы спецыялізацыі, арыентаванай на пэўныя функцыі, кожны работнік становіцца высокакваліфікаваным спецыялістам у сваёй вузкай задачы, якая прыводзіць да павышэння эфектыўнасці працэсу. Выпуск на аднаго работніка павялічваецца ў шмат разоў, а завод становіцца больш эфектыўным у вытворчасці шпілек.

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

Нажаль, мы не павінны аптымізаваць нашы Data Science каманды для павышэння прадукцыйнасці. Зрэшты вы гэта і робіце, калі разумееце, што вы робіце: шпількі ці нешта іншае, і проста імкнецеся да павышэння эфектыўнасці. Мэтай зборачных ліній з'яўляецца выкананне задачы. Мы сапраўды ведаем, чаго мы хочам - гэта шпількі (як у прыкладзе Сміта), але можна згадаць любы прадукт ці паслугу, у якіх патрабаванні цалкам апісваюць усе аспекты прадукта і яго паводзіны. Роля супрацоўнікаў заключаецца ў тым, каб выконваць гэтыя патрабаванні максімальна эфектыўна.

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

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

Але калі прадукт усё яшчэ развіваецца і мэта заключаецца ў навучанні, спецыялізацыя перашкаджае нашым мэтам у наступных выпадках:

1. Гэта павялічвае выдаткі на каардынацыю.

Гэта значыць тых затрат, якія назапашваюцца за час, патрачаны на зносіны, абмеркаванне, абгрунтаванне і вызначэнне прыярытэтаў працы, якую неабходна выканаць. Гэтыя выдаткі маштабуюцца звышлінейна з колькасцю уцягнутых людзей. (Як вучыў нас Дж. Рычард Хэкман, колькасць адносін r расце аналагічна функцыі колькасці членаў n у адпаведнасці з гэтым раўнаннем: r = (n ^ 2-n) / 2. І кожнае стаўленне раскрывае некаторую колькасць суадносін выдаткаў). Калі спецыялісты па аналізе дадзеных арганізаваны па функцый, на кожным этапе, з кожным змяненнем, кожнай перадачай абслугоўвання і г. д. Патрабуецца шмат спецыялістаў, што павышае выдаткі на каардынацыю. Напрыклад, спецыялістам па статыстычным мадэляванні, якія хочуць эксперыментаваць з новымі функцыямі, давядзецца каардынаваць свае дзеянні з інжынерамі па апрацоўцы дадзеных, якія дапаўняюць наборы дадзеных кожны раз, калі хочуць паспрабаваць нешта новае. Сапраўды гэтак жа кожная новая навучаная мадэль азначае, што распрацоўніку мадэлі запатрабуецца хтосьці, з кім можна было б каардынаваць свае дзеянні для ўводу яе ў эксплуатацыю. Выдаткі на каардынацыю выступаюць у якасці платы за ітэрацыю, што робіць іх больш цяжкімі і дарагімі і з большай верагоднасцю прымушаюць адмовіцца ад даследавання. Гэта можа перашкодзіць навучанню.

2. Гэта ўскладняе час чакання.

Яшчэ больш страшным, чым выдаткі на каардынацыю, з'яўляецца час, страчаны паміж працоўнымі зменамі. У той час як выдаткі на каардынацыю звычайна вымяраюцца ў гадзінах: часу, якое патрабуецца для правядзення нарад, абмеркаванняў, праектных аглядаў, - час чакання звычайна вымяраецца ў днях, тыднях ці нават месяцах! Графікі функцыянальных адмыслоўцаў цяжка выраўнаваць, паколькі кожны адмысловец павінен быць размеркаваны па некалькіх праектам. Аднагадзінны сход для абмеркавання змен можа заняць некалькі тыдняў, каб выраўнаваць працоўны працэс. І пасля ўзгаднення змен неабходна запланаваць і саму фактычную працу ў кантэксце мноства іншых праектаў, які займае працоўны час адмыслоўцаў. Праца, звязаная з выпраўленнем кода ці даследаваннямі, для завяршэння якіх патрабуецца ўсяго некалькі гадзін ці дзён, можа заняць значна больш часу, перш чым рэсурсы стануць даступныя. Да таго часу ітэрацыя і навучанне прыпыняюцца.

3. Гэта звужае кантэкст.

Падзел працы можа штучна абмежаваць навучанне, узнагароджваючы людзей за тое, што яны застаюцца ў сваёй спецыялізацыі. Напрыклад, навуковец-даследчык, які павінен заставацца ў рамках сваёй функцыянальнасці, засяродзіць сваю энергію на эксперыментах з рознымі тыпамі алгарытмаў: рэгрэсіяй, нейронавымі сеткамі, random forest і гэтак далей. Безумоўна, добры выбар алгарытму можа прывесці да паступовых паляпшэнняў, але, як правіла, значна больш можна атрымаць з іншых відаў дзейнасці, такіх як інтэграцыя новых крыніц дадзеных. Сапраўды гэтак жа гэта дапаможа распрацаваць мадэль, якая выкарыстоўвае кожны біт якая тлумачыць здольнасці, уласцівай дадзеным. Тым не менш, яе моцны бок можа заключацца ў змене мэтавай функцыі або паслабленні пэўных абмежаванняў. Гэта цяжка ўбачыць ці зрабіць, калі яе праца абмежавана. Паколькі вучоны-спецыяліст спецыялізуецца на аптымізацыі алгарытмаў, у яго значна менш шанцаў заняцца чымсьці яшчэ, нават калі гэта прыносіць істотную выгаду.

Назавем прыкметы, якія выяўляецца, калі каманды па data science працуюць як фабрыкі шпілек (напрыклад, у простых абнаўленнях статуту): "чаканне змен канвеера дадзеных" і "чаканне рэсурсаў ML Eng", якія з'яўляюцца агульнымі блокаторы. Тым не менш, я лічу, што больш небяспечны ўплыў заключаецца ў тым, чаго вы не заўважаеце, таму што вы не можаце шкадаваць аб чым яшчэ не ведаеце. Бездакорнае выкананне патрабаванняў і самазаспакаенне, дасягнутыя ў выніку дасягнення эфектыўнасці працэсаў, могуць хаваць праўду аб тым, што арганізацыі не знаёмыя з перавагамі навучання, якія яны прапускаюць.

Рашэнне гэтай праблемы, вядома ж, у збавенні ад метаду фабрычнай шпількі. Каб стымуляваць навучанне і ітэрацыю, ролі data science павінны быць агульнымі, але з шырокімі абавязкамі, якія не залежаць ад тэхнічнай функцыі, гэта значыць арганізуйце адмыслоўцаў па дадзеных так, каб яны былі аптымізаваныя для навучання. Гэта азначае, што неабходна наняць "спецыялістаў поўнага стэка" - агульных спецыялістаў, якія могуць выконваць розныя функцыі: ад канцэпцыі да мадэлявання, ад рэалізацыі да вымярэння. Важна адзначыць, што я не мяркую, што пры найманні спецыялістаў поўнага стэка колькасць супрацоўнікаў павінна паменшыцца. Хутчэй за ўсё, я проста выкажу здагадку, што калі яны арганізаваны па-іншаму, іх стымулы лепш суадносяцца з перавагамі навучання і эфектыўнасці. Напрыклад, у вас ёсць каманда з трох чалавек, якая валодае трыма дзелавымі якасцямі. На заводзе па вытворчасці шпілек кожны спецыяліст будзе прысвячаць трэць часу кожнай прафесійнай задачы, паколькі ніхто іншы не зможа выканаць яго работу. У поўным стэку кожны ўніверсальны супрацоўнік цалкам прысвечаны ўсяму бізнэс-працэсу, павелічэнню маштабаў працы і навучанню.

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

Наш універсал, магчыма, не так умелы, як адмысловец у вызначанай працоўнай функцыі, але мы не імкнемся да функцыянальнай дасканаласці або невялікім паступовым паляпшэнням. Хутчэй, мы імкнемся вывучаць і адчыняць для сябе ўсё новыя прафесійныя задачы з паступовым уздзеяннем. З цэласным кантэкстам для паўнацэннага рашэння ён бачыць магчымасці, якія ўпусціць вузкі спецыяліст. У яго больш ідэй і больш магчымасцяў. Ён таксама церпіць няўдачу. Тым не менш, кошт няўдачы малая, а перавагі навучання высокія. Гэтая асіметрыя спрыяе хуткай ітэрацыі і ўзнагароджвае навучанне.

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

Мяне таксама аднойчы зацікавілі функцыянальным падзелам працы з выкарыстаннем эфектыўнасці працэсаў, але метадам спроб і памылак (лепшага спосабу навучання няма) я выявіў, што тыповыя ролі лепш спрыяюць навучанню і інавацыям і падаюць дакладныя паказчыкі: выяўленне і пабудова значна большай колькасці бізнэс-магчымасцяў, чым спецыялізаваны падыход. (Больш эфектыўны спосаб даведацца пра гэты падыход да арганізацыі, чым метад спроб і памылак, праз які я прайшоў, - прачытаць кнігу Эмі Эдмандсан "Узаемадзеянне ў камандзе: як арганізацыі вучацца, ствараюць інавацыі і канкуруюць у эканоміцы ведаў").

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

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

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

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

Крыніца: habr.com

Дадаць каментар