Системи машинного навчання, які працюють у реальних умовах: статичне й динамічне виведення результатів

Виведення результатів – це процес, за якого навчена модель робить прогнози, обробляючи приклади без міток. Загалом, модель може робити прогнози одним із двох способів.

  • Статичне виведення результатів (інша назва – виведення результатів офлайн або групове виведення результатів) означає, що модель робить прогнози на основі групи звичайних прикладів без міток, а потім десь кешує ці прогнози.
  • Динамічне виведення результатів (інша назва – виведення результатів онлайн або виведення результатів у реальному часі) означає, що модель робить прогноз лише за запитом, наприклад, коли його запитує клієнт.

Розгляньмо яскравий приклад. Уявіть дуже складну модель, якій потрібна одна година, щоби вивести прогноз. Для цього чудово підходить статичне виведення результатів.

Рисунок 4. При статичному виведенні результатів модель генерує прогнози, які потім кешуються на сервері.
Рисунок 4. При статичному виведенні результатів модель генерує прогнози, які потім кешуються на сервері.

 

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

Тепер розгляньмо модель, яка виводить результати швидко, можливо, за 2 мілісекунди, використовуючи відносний мінімум обчислювальних ресурсів. У цьому разі клієнти можуть швидко й ефективно отримувати прогнози шляхом динамічного виведення результатів, як показано на рисунку 5.

Рисунок 5. При динамічному виведенні результатів модель дає прогнози за запитом.
Рисунок 5. При динамічному виведенні результатів модель дає прогнози за запитом.

 

Статичне виведення результатів

Статичне виведення результатів має певні переваги й недоліки.

Переваги

  • Не потрібно занадто турбуватися про витрати на виведення результатів.
  • Можна виконати постперевірку прогнозів перед виведенням.

Недоліки

  • Система здатна виводити лише кешовані прогнози, тому може не вміти давати відповіді на запити з нетиповими прикладами вхідних даних.
  • Затримка оновлення може становити години або дні.

Динамічне виведення результатів

Динамічне виведення результатів має певні переваги й недоліки.

Переваги

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

Недоліки

  • Потреба у великих обчислювальних потужностях, а також чутливість до затримок. Ця комбінація може обмежити складність моделі; тобто, можливо, доведеться побудувати простішу модель, яка виводитиме прогнози швидше, ніж складна версія.
  • Більші потреби, пов’язані з моніторингом.

Вправи. Перевірте свої знання

Які три із чотирьох тверджень про статичне виведення результатів, наведених нижче, правильні?
Модель має створювати прогнози для всіх можливих вхідних даних.
Так, модель має робити прогнози для всіх можливих вхідних даних і зберігати їх у кеші або таблиці пошуку. Якщо набір того, що прогнозує модель, обмежений, статичне виведення результатів може бути хорошим вибором. Однак цей спосіб не може забезпечити повне охоплення вхідних даних довільної форми, таких як запити користувачів, що мають довгий хвіст нетипових або рідкісних об’єктів.
Система може перевіряти зроблені прогнози, перш ніж виводити їх.
Так, це корисна перевага статичного виведення результатів.
Для заданих вхідних даних така модель може виводити прогноз швидше, ніж та, що працює з динамічним виведенням результатів.
Так, при статичному виведенні результатів модель майже завжди може виводити прогнози швидше, ніж при динамічному.
Можна швидко реагувати на зміни у світі.
Ні, це недолік статичного виведення результатів.
Яке одне з тверджень про динамічне виведення результатів, наведених нижче, правильне?
Можна надати прогнози для всіх можливих об’єктів.
Так, це сильна сторона динамічного виведення результатів. Кожен запит, який надходить, отримає певний бал. При динамічному виведенні результатів обробляються розподіли з довгим хвостом (тобто з великою кількістю рідкісних об’єктів), наприклад, простір усіх можливих речень з оглядів фільмів.
Можна виконати постперевірку прогнозів перед їх використанням.
Загалом неможливо виконати постперевірку всіх прогнозів перед їх використанням, оскільки вони створюються за запитом. А втім, потенційно можна відстежувати сукупні показники якості прогнозів, щоб забезпечити певний рівень перевірки якості, однак це дає змогу дізнатися про проблему, лише коли вона вже стала поширеною.
Якщо використовується динамічне виведення результатів, не потрібно турбуватися про затримку прогнозів так, як при статичному.
Якщо результати виводяться динамічно, затримка прогнозів часто стає справжньою проблемою. На жаль, її не завжди можна вирішити, додавши більше серверів для виведення результатів.