AI 101
Готові моделі проти спеціальних моделей машинного навчання?

Коли будувати краще, ніж купувати готове рішення?
Компанії можуть використовувати різні підходи до розробки моделі. Від повністю керованих служб машинного навчання до спеціальних моделей. Залежно від бізнес-вимог, наявного досвіду та обмежень планування вони повинні зробити вибір: чи варто їм розробляти індивідуальні рішення з нуля? Або вони повинні вибрати готову послугу?
Для всіх етапів робочого навантаження ML необхідно прийняти рішення щодо того, як різні частини головоломки поєднуватимуться разом. Від збору даних, підготовки та візуалізації, аж до проектування функцій, навчання моделі та оцінювання, інженери машинного навчання постійно ставлять собі одне й те саме запитання: чи буде це індивідуально реалізоване рішення, написане та розроблене з нуля? Або це буде стандартна послуга?
Але коли будівництво краще, ніж покупка готового рішення? Основні чинники, що відрізняють два підходи: витрати на попередню обробку, швидкість розробки та необхідний досвід.
Що слід врахувати, вирішуючи використовувати готові чи спеціальні моделі машинного навчання?
Зусилля попередньої обробки
Проекти ML стикаються з різними проблемами, але, мабуть, найбільшою проблемою є доступність навчальних даних. Відсутність навчальних даних може зупинити проект ще до його початку. Ще до того, як проект навіть розпочнеться, він може зіткнутися зі значними витратами на попередню обробку, пов’язану зі збором даних, маркуванням даних, очищенням і зусиллями з попередньої обробки. Це добре відома пастка, в якій зазнають невдачі багато проектів МЛ: попередня обробка в кінцевому підсумку забирає 80% виділених ресурсів, тоді як для фактичного навчання моделі та оцінки залишається небагато ресурсів.
Готові рішення полегшують навантаження, пов’язані з попередньою обробкою. Вони створені для виконання найпоширеніших операцій з невеликою конфігурацією. Найкраще в них: існують готові рішення для всіх етапів робочих навантажень МЛ.
З іншого боку, індивідуальні реалізації зазвичай вимагають більше зусиль для попередньої обробки. Це не означає, що їх потрібно повністю звільнити: вони все одно повинні налаштовувати певний етап ML відповідно до особливостей проблеми, що вирішується. Особливо брудний набір даних може вимагати деяких особливих правил очищення. У той же час для певного набору функцій може знадобитися розробка спеціальних функцій, так само як нейронні архітектури можуть вимагати невеликих коригувань. У цьому випадку індивідуальні рішення, створені з нуля, швидше за все, задовольнять усі потреби.
Швидкість розвитку
Готові рішення зосереджені на конфігурації, а не на реалізації. Замість того, щоб виділяти ресурси на з’ясування що має бути зроблено, на чому зосередяться команди МЛ як різні частини головоломки підійдуть один до одного. Цей підхід дозволяє компаніям, дослідникам та інженерам швидко впроваджувати прототипи та підтверджувати концепцію. Замість того, щоб заново винаходити колесо, готові рішення дають змогу використовувати наявні знання, заощаджуючи таким чином час розробки.
Відомо, що індивідуальні рішення, реалізовані з нуля, набагато нижчі за швидкість розробки. Це пов’язано з їхніми підвищеними потребами в обслуговуванні: інженери повинні визначити і те, і інше що і як розчину. Подібним чином, чим складніше рішення, тим більше ресурсів часу потрібно для забезпечення його масштабованості та доступності під час роботи. З цієї точки зору індивідуальні рішення та витрати часу прямо пропорційні: чим складніше рішення, тим більше часу воно вимагатиме.
Однак зазвичай істина десь посередині: існуюча кодова база буде рефакторована та адаптована до потреб поточного проєкту. Такий випадок стосується добре відомого підходу до навчання моделей на основі трансферного навчання.
експертиза
Так само, як існує кілька рівнів, на яких виконується машинне навчання, існує кілька рівнів досвіду, на яких можна розробляти моделі ML, починаючи від інтерфейсів без коду та закінчуючи створенням моделей з нуля.
Існують готові рішення, для яких потрібно дуже мало досвіду машинного навчання. Завдяки використанню інтуїтивно зрозумілих інтерфейсів і навіть підходів перетягування будь-кому (від бізнес-аналітиків до розробників програмного забезпечення) стало надзвичайно просто створювати та розгортати якусь модель машинного навчання. Хоча цей простий підхід до розробки моделі може спрацювати для цілей створення прототипів, він навряд чи задовольнить вимоги виробничих систем.
Для належного налаштування, налаштування та підтримки готових рішень у виробництві все ще потрібен досвід. Обхідні шляхи, виправлення коду, підключення до різних інтерфейсів API і вирішення проблем із розгортанням — це типові завдання, необхідні для забезпечення продуктивності моделей у виробничих середовищах.
Індивідуальні рішення, як правило, впроваджуються на рівні інфраструктури, і це неможливо обійти: обов’язково потрібна експертиза. Залежно від розміру компанії та цілей проекту, для підтримки виробничих систем можуть знадобитися міждисциплінарні команди. Фахівці з обробки даних, інженери ML та бізнес-аналітики збираються разом, щоб зрозуміти результати висновків і підтримувати виробничі моделі.
Що слід використовувати: an готова чи спеціальна модель машинного навчання?
Рішення для ML складатиметься з багатьох окремих компонентів і послуг, які мають об’єднатися в єдине рішення. Мова ніколи не йде про 100% замовлення або 100% готовість, оскільки різні бізнес-проблеми вимагають різних рішень. Найчастіше рішення на основі машинного навчання будуються за допомогою суміші двох: готових служб для отримання загальної інформації в поєднанні з користувальницькими моделями для підвищення точності та моделювання предметно-специфічних знань.
Хитрість полягає в тому, щоб знати, коли впроваджувати спеціальні рішення з нуля та які частини проекту можуть використовувати переваги готових послуг. Це значною мірою залежить від типу проблеми, яка вирішується, бізнес-вимог, доступних даних і загальних обмежень середовища розробки.
Щоб дізнатися більше про AI та технологічні тенденції, див Джош Мірамант, генеральний директор керованих даними рішень Blue Orange Digital для ланцюжок поставок, автоматизація документообігу охорони здоров’я тощо.
Вам також може сподобатися:
Використовуйте НЛП для класифікації коментарів у соціальних мережах
Як покращується обробка мови за допомогою моделі Google BERT з відкритим кодом