Чому 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

Додати коментар або відгук