1. Назва відео:
Системний дизайн ML: Виявлення ботів (Bot Detection) – Повний розбір
2. Ключова тема:
Системний дизайн машинного навчання (ML System Design)
3. Мета відео:
Показати, як підходити до дизайну ML-системи для виявлення ботів на соціальній платформі з урахуванням змагального характеру задачі, обмеженої кількості розмічених даних і необхідності балансувати між виявленням загроз і мінімізацією хибних спрацьовувань.
4. Основні концепції / кроки:
- Рамковий підхід (Delivery Framework): Весь процес побудови системи ділиться на етапи: формулювання проблеми, високорівневий дизайн, дані, моделювання, інференс та оцінка, глибокі занурення (deep dives). Це допомагає структурувати відповідь і керувати інтерв’ю.
- Формулювання бізнес-цілі: Замість «максимізувати кількість виявлених ботів» або «максимізувати точність моделі» слід обрати «мінімізувати вплив активності ботів на легітимних користувачів за умови обмеження на хибні спрацювання (precision ≥ 95%)». Це дає змогу ігнорувати нешкідливі боти та зосередитися на реальній шкоді.
- Архітектура пізнього об’єднання (Late Fusion): Для використання різнорідних даних пропонується об’єднати три гілки: графову нейронну мережу (GraphSAGE) для соціального графа та IP-кластерів, рекурентну мережу (GRU) для послідовностей дій користувача і звичайний MLP для щільних ознак (лічильники, частота дій). Це дозволяє кожній гілці навчатися на своєму типі даних, а потім об’єднувати їх через увагу (attention) і фінальний MLP.
- Попереднє навчання (Pre-training) та мультизадачність: Через хронічну нестачу розмічених даних кожну гілку спочатку навчають на самоконтрольованих завданнях (передбачення ребра в графі, передбачення наступної дії в послідовності). Також додають допоміжне завдання — передбачення, чи була скарга на акаунт, що дає набагато більше даних для навчання перед фінальним тонким налаштуванням (fine-tuning) на основній задачі.
- Двоетапний інференс (Teacher-Student / Filter Model): Щоб зменшити вартість обчислень, перед складною моделлю ставлять дешевий фільтр (логістична регресія), який вчиться імітувати рішення основної моделі. Якщо фільтр впевнений, що це не бот, запит відкидається; інакше — передається далі. Для запобігання дрейфу обов’язково випадково семплюють частину відкинутих запитів для отримання міток.
- Несупервайзне виявлення аномалій: Для пошуку нових, раніше невідомих типів ботів використовують ансамбль з isolation forest (швидкі, працюють на CPU) та автоенкодерів (можуть моделювати нелінійні залежності). Обидва методи дають «аномальність»: чим вищий показник, тим більша ймовірність, що акаунт є новим ботом, якого варто передати на ручну розмітку.
5. Висновки / Headline:
Головна складність виявлення ботів — змагальне середовище та рідкісні мітки. Ключ до успіху — поєднання кількох модальностей даних (граф, послідовності, лічильники) у гібридній архітектурі з активним використанням самоконтрольованого навчання та безперервним циклом пошуку нових аномалій для поповнення навчальної вибірки.