Увійти в машинне навчання: 5 кроків, які зроблять з тебе профі
Привіт і Слава Україні!
Мене звати Богдан Питайчук, і я CIO AI HOUSE. Активно працюю в індустрії AI протягом п’яти років. За цей період отримав досвід роботи і в аутсорсингових компаніях, і в продуктових стартапах. При цьому я не лише реалізовував технічну частину, але й багато комунікував з власниками бізнесів — під час проєктної роботи та на фазі продажу послуги розробки ML.
За час свого розвитку в сфері мені вдалося виявити певні правила, завдяки яким компанії, в яких я працював, отримали більше цінності. Це покращило мої навички розробника, а також прискорило кар’єрне зростання.
Після нашої перемоги настане фаза відбудови України. Для цього знадобиться швидкий розвиток нас як спеціалістів задля відновлення економіки України. Інакше кажучи, треба буде вкрай швидко ставати експертами.
І тому вже зараз я вирішив підготувати матеріал-підказку всім, хто хоче пов’язати життя з машинним навчанням.
Крок 1: починай з бази
У машинному навчанні, як і в будь-якому іншому процесі, головне — це розуміння всього, що відбувається. Опанувати логіку процесу — це майже опанувати сам процес. Все інше є справою техніки та скілів, які в наш час отримати зовсім не важко.
Наприклад, якщо ти «плаваєш» у принципах лінійної алгебри, зовсім не обов’язково довго розв’язувати задачі або шукати конспекти з універу. Краще подивитися серію лекцій з лінійної алгебри від 3Blue1Brown.
Вона надасть розуміння, що насправді стоїть за детермінантом, чим допомагає зміна базису, та як геометрично виглядає правило Крамера.
В результаті, у тебе з’явиться інтуїція того, що відбувається «під капотом» більшості процесів машинного та, особливо, глибинного навчання. А це, своєю чергою, дозволить приймати кращі рішення у виборі й модифікації алгоритмів та архітектур нейронних мереж.
Крок 2: обери свою вертикаль
Після опанування базису виникне бажання реалізовувати перші пет-проєкти. Якщо загуглити «Кращі ідеї для першого ML проєкту», очі розбігатимуться від різноманітності можливостей. Класифікація об’єктів на зображеннях, система рекомендацій для маркетплейсу, аналіз настрою в текстових відгуках на товари, алгоритм прогнозування ціни біткоїна.
Моя щира порада: якомога швидше зрозуміти, з яким типом даних тобі подобається працювати. Які задачі та продукти резонують найбільше.
Для роботи із зображеннями та відео краще обрати проєкти класифікації об’єктів на фото, визначення їх позиції та відповідної маски сегментації. Використовуй існуючі рішення, проте обов’язково глибоко зрозумій деталі їх роботи, чим вони між собою відрізняються. Скомбінуй кращі їх частини, створивши новий алгоритм, та перевір, за якими метриками він є кращим.
Хороша компанія обов’язково запитає тебе:
- Як би виглядала архітектура знаходження об’єктів на зображенні, якби вона використовувалась для відео.
- Які потенційні проблеми можуть виникнути.
- Як їх вирішити.
Краще підготуйся до таких питань заздалегідь :)
Поекспериментуй з генерацією зображень і відео. Раджу спробувати згенерувати твій перший AI Art. Отримай «вау» ефект і дізнайся, яким же чином нейронна мережа з тексту створює артворк.
Якщо тебе тягне до роботи з текстом, спробуй проєкт аналізу настрою відгуків на товари маркетплейсу, класифікації спаму, отримання короткої суті багатьох сторінок діалогу, визначення фейкових новин (наразі дуже актуально).
У тебе може виникнути бажання перейти до створення розмовних чатботів, але раджу глибоко в цю тему не занурюватись. Задача створення саме якісного продукту дуже складна. Тому дотримуйся принципу KISS у виборі твоїх перших NLP проєктів.
Якщо тобі цікава робота з часовими рядами, спробуй, наприклад, проєкт з передбачення ціни акцій на біржі нерухомості. Або ж встановлення кількості нових випадків COVID чи динамічне визначення ціни на продукти маркетплейсу.
Саме цей напрям зазвичай асоціюється з терміном Data Science. Він потребує специфічного арсеналу алгоритмів, які практично не містять у собі глибокі нейронні мережі. Якщо в тебе солідні знання статистики й теорії ймовірностей, раджу обрати саме Data Science.
Крім того, є ще аналіз аудіо (по суті, є комбінацією роботи із зображеннями та часовими рядами) або ж навчання з підкріпленням (цікавий напрям, проте раджу залишити його на потім. Хоч його в теорії можна застосовувати до багатьох індустрій, проте на практиці мало компаній та продуктів його використовують).
Компанія, у якій буде твоя перша робота, акцентується на одному з вищеописаних напрямів.
Якщо твоєю ціллю є отримання оферу протягом
У майбутньому, коли відчуєш, що уперся в інтелектуальну стелю та забажаєш нових знань і досвіду, буде сенс заглибитися в інші індустрії.
Але ти вже робитимеш це спокійніше, адже залендив першу роботу з ML.
Крок 3: слідкуй за трендами
Однією зі специфік індустрії ML є систематичні релізи свіжих пейперів та алгоритмів. І, власне, швидка інтеграція нового підходу може надати бажаної цінності продукту або бізнесу. Ти ж завжди пам’ятаєш про те, що йому потрібно, чи не так (див. Крок 5)? А «вау» ефект від свіжого підходу, який ти знайшов та запропонував, зможе вивести бізнес на якісно новий рівень.
Отже, бути успішним ML спеціалістом означає завжди бути в курсі всіх подій у світі машинного навчання. А для цього знадобляться корисні ресурси. Деякі з них я вже зібрав для тебе.
Наш власний канал в Телеґрамі, де ми ділимося найактуальнішими новинами та розробками зі світу AI/ML. Пишемо легко й коротко. Також слідкуй за анонсами курсів, івентів та оглядів актуальних пейперів, які ми будемо проводити.
Гарний дизайн і зручна система голосування. Легко помічати тренди як загальні, так і за потрібними категоріями машинного навчання.
Раджу налаштувати свій твіттер таким чином, щоб увесь контент був
Також раджу підписатися на наступні сторінки:
svpino
slashML
omarsar0
marktenenholtz
Цього бейзлайну буде достатньо, щоб рекомендаційна система твіттеру відображала інформацію, релевантну до машинного навчання.
Arxiv-sanity — ресурс, куди потрапляють лише найактуальніші та найбільш якісні роботи. Це свого роду фільтр найкращих пейперів, які публікуються на основному джерелі новинок індустрії — Arxiv.org.
Окрім того, що на ресурсі є зручні й корисні вкладки Top Recent і Top Hype, тут ще можна створити власний акаунт. Це дозволить тобі додавати друзів, переглядати їхні репости, ділитися інформацією та багато іншого.
А нещодавно систему Arxiv-sanity було повністю переписано, внаслідок чого з’явився ресурс Arxiv-sanity-lite.
Крок 4: став запитання та розвивай продуктове мислення
Наступна історія сталася на території Starbase — простору, де компанія Ілона Маска SpaceX будує ракети майбутнього. Під час екскурсії по заводу журналісти запитали одного зі співробітників, чим він займався.
Співробітник: Створюю деталі корпусу з неіржавної сталі.
Журналіст: А чому саме цей матеріал?
Співробітник: Я поясню. Місія компанії — зробити людство міжпланетарним видом.
А для цього потрібні регулярні польоти на Марс. Задля їх забезпечення ми маємо виробляти літальні пристрої, спроможні витримувати велику кількість космічних рейсів. Польоти своєю чергою мають бути доступними, а значить, виробництво — недорогим.Дослідження показали, що оптимальним матеріалом є саме неіржавна сталь, а не вуглецеве волокно, яке ми спочатку хотіли використати. Саме тому я й виготовляю деталі з нержавійки.
Якби журналісти запитали будь-кого з 12 тисяч співробітників SpaceX, то почули б схожу історію. А все тому, що співробітники мають розуміти на глибокому рівні те, як працює компанія.
Цінного ML спеціаліста відрізняє розуміння не лише алгоритмів, але й бізнесу загалом. Недостатньо просто реалізовувати функціонал. У справжнього професіонала цей функціонал впливає на зростання прибутку компанії.
Талановитий ML спеціаліст мислить наступними категоріями:
- Що насправді потрібно компанії, де я працюю?
Відповідь: збільшення прибутку.
- Як я можу цього досягнути?
Відповідь: створення нових потоків кешу, а також оптимізація тих, що існують. - Яка у компанії бізнес-модель? Які існують грошові потоки зараз?
Розібратися в цих питаннях до молекул — одне з головних завдань ML профі. - Який з цих процесів можна оптимізувати ML механікою? Який — замінити?
Для цього потрібно якомога швидше почати збирати дані.
- Чи вийшов нещодавно новий алгоритм, інтеграція якого принесе прибуток компанії?
Див. Крок 3 - Я зараз вирішую біль чи створюю функціонал, який ні нащо не вплине?
Крок 5: все успішне починається з малого
Створення ML функціоналу є доволі довгим процесом. Спочатку потрібно зібрати дані (часто їх немає взагалі). Потім — обробити, проаналізувати і трансформувати їх. І нарешті будувати декілька варіацій алгоритмів та архітектур, валідувати якість їх роботи, вибрати кращу. Повторювати даний процес знову і знову, поки не буде досягнуто потрібного результату.
... Чи все ж таки можна інакше?
А якщо ти — на хакатоні й у тебе є лише 48 годин на виконання цього функціоналу?
Або за два тижні реліз продукту і тобі потрібно створити щось не ідеальне, проте робоче? Що ти робитимеш?
Перед створенням будь-якого функціоналу, роби наступний рісьорч:
- Чи існують уже готові рішення цієї проблеми?
- Чи можна застосувати підхід zero shot learning до цієї задачі? Яку саме якість він показує?
- Чи є вже натреновані нейронні мережі, до яких можна застосувати процес fine-tuning на твоїх даних?
- Якщо даних немає, де їх можна взяти? Чи існують ресурси, з яких можна витягнути необхідну інформацію через scraping?
❗️ До речі. Нещодавно суд США постановив: вся інформація, що публічно знаходиться в мережі інтернет, є вільною для збирання.
Нормально, якщо якість подібних рішень буде гіршою. Не ідеальний результат завжди кращий, ніж його відсутність.
Отже
Якомога швидше натренуй інтуїцію того, що відбувається під капотом основних ML алгоритмів. Аби отримати першу роботу, фокусуйся на одному конкретному напрямі. Постійно відстежуй усі свіжі новини й тренди в машинному навчанні. Це в рази збільшить твою продуктивність як спеціаліста, адже не доведеться знову винаходити велосипед.
Розумій бізнесові процеси, розвивай продуктове мислення. І завжди перед тим, як починати довгий проєкт з рісьорчу, подивися, чи можна його реалізувати швидше.
Успіхів!
12 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів