6 порад щодо керівництва проектом з машинного навчання

Машинне навчання та глибоке навчання - це вже не просто хайп і модні слова. Колись прикордонна технологія перетворилася на найважливіший компонент технологічного стеку підприємств і стартапів; це трансформувало розробку програмного забезпечення. Оскільки машинне навчання (ML) тісно пов'язане з процесами прийняття рішень у компаніях, ми хочемо підкреслити, що стек технологій ML - це процес, а не просто статична частина програмного забезпечення.

Рішення машинного навчання залежать від наявності та кількості правильних даних, що змінює наше уявлення про побудову, підтримку та вдосконалення інфраструктури. Через ці фактори створення рішень машинного навчання є непростим завданням. Фахівці з аналізу даних, розробники програмного забезпечення та інженери DevOps повинні співпрацювати в декількох сферах, щоб створити корисне рішення. У цій статті описано 6 найкращих практик, яких повинна дотримуватися кожна організація, що реалізує проект машинного навчання.

1. Визначте цілі та конкретизуйте вимоги до проекту

Визначити конкретну мету або завдання не так просто, як здається. Існує безліч підходів, які можна використати для вирішення проблеми, і не завжди зрозуміло, який з них найкращий. Може виникнути спокуса витратити менше часу на чітке визначення цілей, але погано визначені цілі - це те, як проекти в кінцевому підсумку зводять нанівець ініціативи, оскільки команда, яка розробляє рішення, не знає, що є пріоритетним, і може просто загубитися в тестуванні, щоб побачити, чого можуть досягти різні моделі, і знищити імпульс проекту, ймовірність запуску проекту та повернення інвестицій (ROI) через нескінченну розробку.

Чітко визначені цілі та пріоритети мають важливе значення для управління завданнями машинного навчання на вашому підприємстві. Ви часто будете виходити за рамки встановлених термінів через постійно зростаючий обсяг робіт і відсутність критеріїв оцінки, що може призвести до того, що ви змістите фокус з визначення рішень, які мають рентабельність інвестицій і відповідають цілям вашого підприємства. З самого початку проекту всі учасники повинні працювати над досягненням однієї мети.

2. Створіть контрольний список перед початком проекту ML

Ви повинні мати чітке уявлення про те, як виглядатиме ваш прогрес, ще до того, як напишете перший рядок коду. Подумайте над наступними питаннями, перш ніж розпочати свій ML-проект:

Чого хоче досягти ваш проект МТ?
Чи є у вас правильні дані?
Як буде оцінюватися ефективність моделі?
Чи повинна модель бути легкою і працювати на комп'ютері користувача або на сервері компанії?
Чи може модель обробляти дані заздалегідь або вам потрібна легка модель, яка може працювати в режимі реального часу?
Чи створена необхідна інфраструктура?
Чи дійсно додаткова продуктивність більших моделей і більшої кількості графічних процесорів важлива для конкретного випадку використання і чи варта вона окупності інвестицій?
Які вимоги до розгортання?
Чи потрібна пояснюваність?

3. Планування та визначення ітеративного процесу

Навіть якщо початкова модель використовується у виробництві, ваша робота ще не завершена. Ключ до успішного впровадження машинного навчання - почати з малого, створити MVP і запустити його на наявних у вас даних, а також провести бенчмаркінг рішення, щоб зрозуміти, чи є точність моделі порівнянною з людським рівнем продуктивності. Після цього ви можете оцінити, чи є рентабельність інвестицій у подальші ітерації, інвестуючи в отримання більшої кількості та якості даних, а також потенційно вирішуючи крайні випадки, для яких не вистачає даних за допомогою методів, що не належать до машинного навчання.

Завжди повторюйте процедуру для кожного нового рішення і вносьте зміни перед наступною ітерацією. Бізнес-цілі майже завжди змінюються. З розвитком технологій, досліджень, методів та апаратного забезпечення, що лежать в основі обчислювальних рішень, змінюються і технології, що лежать в їх основі. Все це може призвести до необхідності доопрацювати або оптимізувати вашу модель, щоб адаптуватися до мінливих умов у світі або галузі, в якій ви працюєте, даних, з якими ви працюєте, нових можливостей або абсолютно нових систем.

4. Зберіть історичні дані з існуючих систем

Іноді вимоги не дуже очевидні, тому важко одразу визначити правильну мету. При інтеграції машинного навчання в застарілі системи це часто трапляється. Зберіть якомога більше інформації про поточну систему, перш ніж заглиблюватися в специфіку того, що буде виконувати ваш додаток і яку функцію буде виконувати машинне навчання.

Таким чином, використовуючи історичні дані, ви можете виконати поставлене завдання. Крім того, ці дані можуть одразу ж вказати на сфери, які потребують оптимізації та оптимального курсу дій.

5. Забезпечити доступ до необхідних даних

Після того, як ви зрозуміли суть питання, вам знадобиться відповідна інформація. Варто пошукати її, оскільки більшість джерел даних доступні безкоштовно на таких сайтах, як Торгуйся. і Набори даних UCI. Якщо ваша проблема є чітко окресленою, можливо, вам доведеться збирати, організовувати та зберігати власні дані. Пошук в Інтернеті та ручна категоризація зібраних даних - два найпоширеніші варіанти. Отримання даних належної якості та достатньої кількості часто дозволяє створювати корисні рішення для машинного навчання, які з більшою ймовірністю потраплять у виробництво після початкового тестування.

6. Оцініть та отримайте правильний технологічний стек

Вибрані моделі ML слід запустити вручну, щоб перевірити їхню точність після вибору. Наприклад, у випадку персоналізованого email-маркетингу вам слід адаптувати свою стратегію і протестувати більше змінних, якщо рекламні імейли, які ви надсилаєте, не генерують конверсію вище базового рівня.

Необхідно вибрати найкращу технологію після успішного ручного тестування. Команди з науки про дані повинні мати можливість вільно вибирати з різних технологічних стеків, щоб мати змогу експериментувати і вибирати стек технологій, який спрощує ML. Необхідно проводити бенчмаркінг на швидкість, стабільність, рентабельність інвестицій, здатність вирішувати проблеми працівників/клієнтів, майбутні сценарії використання, а також на продуктивність пристрою або хмари.

Чим може допомогти ШІ Skim?

Моделі машинного навчання і глибокого навчання вимагають великих знань про предметну область, доступу до високоякісних маркованих даних і обчислювальних ресурсів для безперервного навчання і вдосконалення моделей. Вдосконалення моделей машинного навчання - це навичка, яка розвивається шляхом методичного усунення недоліків існуючих моделей із заданими обмеженнями. Skim AI пропонує корисні рішення для людей усіх рівнів, від студентів до керівників компаній, які допоможуть вам вирізати шум, розпізнавати кращі ідеї та приймати кращі рішення на основі даних, які мають значення.

ukУкраїнська