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

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

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

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

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

 

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

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

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

 

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

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

Переваги

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

Недоліки

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

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

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

Переваги

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

Недоліки

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

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

Які три із чотирьох тверджень про статичне виведення результатів, наведених нижче, правильні?
Модель має створювати прогнози для всіх можливих вхідних даних.
Для заданих вхідних даних така модель може виводити прогноз швидше, ніж та, що працює з динамічним виведенням результатів.
Можна швидко реагувати на зміни у світі.
Система може перевіряти зроблені прогнози, перш ніж виводити їх.
Яке одне з тверджень про динамічне виведення результатів, наведених нижче, правильне?
Можна виконати постперевірку прогнозів перед їх використанням.
Якщо використовується динамічне виведення результатів, не потрібно турбуватися про затримку прогнозів так, як при статичному.
Можна надати прогнози для всіх можливих об’єктів.