Програми машинного навчання (ML) є складними для розгортання та часто вимагають можливості гіпермасштабування, мають вимоги до наднизьких затримок і жорсткі бюджети витрат. Випадки використання, такі як виявлення шахрайства, рекомендації щодо продукту та прогнозування трафіку, є прикладами того, коли мілісекунди мають значення та критичні для успіху бізнесу. Необхідно дотримуватися строгих угод про рівень обслуговування (SLA), і типовий запит може вимагати кількох кроків, таких як попередня обробка, перетворення даних, розробка функцій, логіка вибору моделі, агрегація моделі та постобробка.
Масштабне розгортання моделей ML із оптимізованими витратами та ефективністю обчислень може бути складним і громіздким завданням. Кожна модель має власні переваги та залежності, засновані на зовнішніх джерелах даних, а також на середовищі виконання, наприклад потужності CPU/GPU основних обчислювальних ресурсів. Додатку може знадобитися кілька моделей ML для обслуговування одного запиту на висновок. У деяких сценаріях запит може проходити через кілька моделей. Універсального підходу не існує, тому фахівцям, які займаються машинним навчанням, важливо шукати перевірені методи вирішення постійних проблем хостингу машинного навчання. Це призвело до еволюції шаблонів проектування для хостингу моделі ML.
У цій публікації ми досліджуємо загальні шаблони проектування для створення програм ML Amazon SageMaker.
Патерни проектування для створення програм ML
Давайте розглянемо наступні шаблони проектування для розміщення програм ML.
Програми ML на основі однієї моделі
Це чудовий варіант, коли ваш сценарій використання ML вимагає однієї моделі для обслуговування запиту. Модель розгортається на виділеній обчислювальній інфраструктурі з можливістю масштабування на основі вхідного трафіку. Цей параметр також ідеальний, коли клієнтська програма має вимогу до низької затримки (порядку мілісекунд або секунд).
Багатомодельні програми ML
Щоб зробити хостинг більш рентабельним, цей шаблон проектування дозволяє розміщувати кілька моделей на одній інфраструктурі клієнта. Кілька моделей ML можуть спільно використовувати ресурси хоста або контейнера, включаючи кешування найбільш використовуваних моделей ML у пам’яті, що сприяє кращому використанню пам’яті та обчислювальних ресурсів. Залежно від типів моделей, які ви вибрали для розгортання, спільне розміщення моделей може використовувати такі методи:
- Багатомодельний хостинг – Ця опція дозволяє розміщувати кілька моделей за допомогою спільного контейнера обслуговування на одній кінцевій точці. Ця функція ідеальна, якщо у вас є велика кількість подібних моделей, які можна обслуговувати через спільний контейнер обслуговування, і вам не потрібно отримувати доступ до всіх моделей одночасно.
- Багатоконтейнерний хостинг – Цей варіант ідеально підходить, якщо у вас є кілька моделей, що працюють на різних стеках обслуговування з однаковими потребами в ресурсах, і коли окремі моделі не мають достатнього трафіку для використання повної потужності екземплярів кінцевих точок. Багатоконтейнерний хостинг дозволяє розгортати кілька контейнерів, які використовують різні моделі або фреймворки, на одній кінцевій точці. Моделі можуть бути повністю гетерогенними, з власним незалежним стеком для сервірування.
- Модельні ансамблі – У багатьох випадках виробничого використання часто може існувати багато моделей вище за течією, які подають вхідні дані для даної моделі нижчої течії. Ось де ансамблі корисні. Шаблони ансамблю передбачають змішування вихідних даних однієї або кількох базових моделей для зменшення помилка узагальнення передбачення. Базові моделі можуть бути різноманітними та навчатися за різними алгоритмами. Ансамблі моделей можуть випереджати окремі моделі, оскільки помилка прогнозування моделі зменшується, коли використовується підхід до ансамблю.
Нижче наведено типові випадки використання шаблонів ансамблю та відповідних діаграм шаблонів проектування:
- Розкидати-збирати – У шаблоні розсіювання запит на висновок направляється до кількох моделей. Потім використовується агрегатор для збору відповідей і дистиляції їх у єдину відповідь висновку. Наприклад, сценарій використання класифікації зображень може використовувати три різні моделі для виконання завдання. Шаблон розсіювання дозволяє об’єднати результати висновків, виконаних на трьох різних моделях, і вибрати найбільш ймовірну модель класифікації.
- Модельний агрегат – У шаблоні агрегації результати кількох моделей усереднюються. Для класифікаційних моделей оцінюються прогнози кількох моделей, щоб визначити клас, який отримав найбільше голосів, і розглядається як кінцевий результат ансамблю. Наприклад, у задачі двокласової класифікації для класифікації набору фруктів як апельсинів або яблук, якщо дві моделі проголосують за апельсин, а одна модель проголосує за яблуко, тоді сукупний результат буде апельсином. Агрегація допомагає боротися з неточністю в окремих моделях і робить результати більш точними.
- Динамічний вибір – Іншим шаблоном для моделей ансамблю є динамічне виконання вибору моделі для заданих вхідних атрибутів. Наприклад, у заданих вхідних даних із зображеннями фруктів, якщо вхідні дані містять апельсин, використовуватиметься модель A, оскільки вона спеціалізована на апельсинах. Якщо вхідні дані містять яблуко, використовуватиметься модель B, оскільки вона спеціалізована на яблуках.
- Програми ML з послідовним висновком – З послідовним шаблоном виведення, також відомим як конвеєр виведення, сценарії використання мають вимоги до попередньої обробки вхідних даних перед викликом попередньо навченої моделі ML для створення висновків. Крім того, у деяких випадках може знадобитися подальша обробка згенерованих висновків, щоб їх можна було легко використати подальшими програмами. Конвеєр виведення дозволяє повторно використовувати той самий код попередньої обробки, який використовувався під час навчання моделі, для обробки даних запиту на виведення, які використовуються для прогнозів.
- Бізнес-логіка – Виробництво ML завжди передбачає бізнес-логіку. Шаблони бізнес-логіки включають усе, що потрібно для виконання завдання ML, яке не є висновком моделі ML. Це включає завантаження моделі з Служба простого зберігання Amazon (Amazon S3), наприклад, пошук бази даних для перевірки вхідних даних, отримання попередньо обчислених функцій із сховища функцій тощо. Після завершення цих кроків бізнес-логіки вхідні дані передаються до моделей ML.
Параметри логічного висновку
Для розгортання моделі важливо працювати у зворотному напрямку від вашого варіанту використання. Яка частота передбачення? Чи очікуєте ви живого трафіку вашої програми та відповіді вашим клієнтам у реальному часі? Чи є у вас багато моделей, навчених для різних підмножин даних для одного сценарію використання? Чи коливається прогнозований трафік? Чи викликає затримку висновок? На основі цих деталей усі попередні шаблони проектування можна реалізувати за допомогою таких варіантів розгортання:
- Висновок у реальному часі – Висновок у реальному часі ідеально підходить для робочих навантажень із висновком, де у вас є вимоги до інтерактивного режиму реального часу та малої затримки. Робочі навантаження ML в режимі реального часу можуть включати програму ML на основі однієї моделі, де програмі потрібна лише одна модель ML для обслуговування одного запиту, або програму ML на основі кількох моделей, де програма вимагає кількох моделей ML для обслуговування одного запит.
- Висновок майже в реальному часі (асинхронний). – За допомогою висновків майже в реальному часі ви можете поставити вхідні запити в чергу. Це можна використовувати для запуску висновків на вхідних даних розміром у сотні МБ. Він працює майже в реальному часі та дозволяє користувачам використовувати вхідні дані для висновків і зчитувати вихідні дані кінцевої точки з сегмента S3. Це може бути особливо зручно у випадках з НЛП і комп’ютерним зором, де є великі корисні навантаження, які потребують більш тривалого часу попередньої обробки.
- Пакетний висновок – Пакетний висновок можна використовувати для виконання висновків у автономному режимі на великому наборі даних. Оскільки він працює в автономному режимі, пакетний висновок не пропонує найнижчу затримку. Тут запит на логічний висновок обробляється або за допомогою запланованого тригера, або тригера на основі події пакетного завдання логічного висновку.
- Безсерверний висновок – Безсерверний висновок ідеально підходить для робочих навантажень, які мають періоди простою між стрибками трафіку, і можуть допускати кілька додаткових секунд затримки (холодний запуск) для першого виклику після періоду простою. Наприклад, сервіс чат-бота або додаток для обробки форм або аналізу даних з документів. У цьому випадку вам може знадобитися опція онлайнового висновку, яка може автоматично надавати та масштабувати обчислювальну потужність на основі обсягу запитів на висновки. А під час простою він повинен повністю вимикати обчислювальну потужність, щоб з вас не стягувалася плата. Безсерверний висновок знімає недиференційовану важку роботу з вибору та керування серверами, автоматично запускаючи обчислювальні ресурси та масштабуючи їх залежно від трафіку.
Використовуйте фітнес-функції, щоб вибрати правильний параметр логічного висновку
Важливо вибрати правильний варіант хостингу, оскільки він впливає на кінцевих користувачів, які відображаються вашими програмами. Для цього ми запозичуємо поняття функції фітнесу, яку придумали Ніл Форд і його колеги з AWS Partner ThoughtWorks у своїй роботі Створення еволюційних архітектур. Фітнес-функції забезпечують приписну оцінку різних варіантів розміщення на основі цілей клієнта. Фітнес-функції допомагають отримати необхідні дані для запланованої еволюції вашої архітектури. Вони встановлюють вимірні значення, щоб оцінити, наскільки близько ваше рішення до досягнення поставлених цілей. Фітнес-функції можна і потрібно адаптувати в міру розвитку архітектури, щоб керувати бажаним процесом змін. Це надає архітекторам інструмент для керування їхніми командами, зберігаючи автономію команди.
Існує п’ять основних фітнес-функцій, про які клієнти піклуються, коли справа доходить до вибору правильного варіанту висновку ML для розміщення їхніх моделей і програм ML.
Фітнес функція | Опис |
Коштувати |
Розгортання та підтримка моделі ML і програми ML на масштабованій структурі є критично важливим бізнес-процесом, і витрати можуть значно відрізнятися залежно від вибору щодо інфраструктури розміщення моделі, варіантів розміщення, інфраструктури ML, характеристик моделі ML, оптимізації, політики масштабування, і більше. Робочі навантаження повинні оптимально використовувати інфраструктуру апаратного забезпечення, щоб забезпечити стабільність вартості. Ця функція придатності конкретно стосується вартості інфраструктури, яка є частиною загальної загальної вартості володіння (TCO). Витрати на інфраструктуру – це сукупні витрати на зберігання, мережу та обчислення. Також важливо розуміти інші компоненти TCO, включаючи операційні витрати, витрати на безпеку та дотримання нормативних вимог. Операційні витрати – це сукупні витрати на експлуатацію, моніторинг і підтримку інфраструктури ML. Експлуатаційні витрати розраховуються як кількість необхідних інженерів на основі кожного сценарію та річної зарплати інженерів, сукупно за певний період. Клієнти, які використовують самокеровані рішення ML Обчислювальна хмара Amazon Elastic (Amazon EC2), Служба еластичних контейнерів Amazon (Amazon ECS), і Послуга Amazon Elastic Kubernetes (Amazon EKS) потрібно самостійно створювати робочі інструменти. Клієнти, які використовують SageMaker, сплачують значно менші витрати на володіння. SageMaker inference — це повністю керована служба, яка надає готові можливості для розгортання моделей ML для логічного висновку. Вам не потрібно ініціалізувати екземпляри, відстежувати працездатність екземплярів, керувати оновленнями безпеки чи виправленнями, видавати робочі показники чи створювати моніторинг для своїх робочих навантажень ML. Він має вбудовані можливості для забезпечення високої доступності та стійкості. SageMaker підтримує безпеку за допомогою наскрізного шифрування в стані спокою та під час передавання, включаючи шифрування кореневого тому та Магазин еластичних блоків Amazon (Amazon EBS) обсяг, Віртуальна приватна хмара Amazon підтримка (Amazon VPC), AWS PrivateLink, ключі, керовані клієнтом, Управління ідентифікацією та доступом AWS (IAM) детальний контроль доступу, AWS CloudTrail аудити, міжвузлове шифрування для навчання, контроль доступу на основі тегів, ізоляція мережі та інтерактивний проксі-сервер додатків. Усі ці функції безпеки надаються у SageMaker із коробки та можуть заощадити підприємствам десятки місяців розробки протягом 3 років. SageMaker є службою, яка відповідає HIPAA та сертифікована відповідно до PCI, SOC, GDPR та ISO. SageMaker також підтримує кінцеві точки FIPS. Додаткову інформацію про TCO див Загальна вартість володіння Amazon SageMaker. |
Затримка висновку | Багато моделей і додатків ML мають критичну затримку, у якій затримка висновку має бути в межах, визначених цільовим рівнем обслуговування. Затримка логічного висновку залежить від багатьох факторів, включаючи розмір і складність моделі, апаратну платформу, програмне середовище та архітектуру мережі. Наприклад, для більших і складніших моделей може знадобитися більше часу для виконання висновків. |
Пропускна здатність (транзакцій за секунду) | Для визначення моделі оптимізація пропускної здатності має вирішальне значення для налаштування продуктивності та досягнення бізнес-цілей програми ML. Оскільки ми продовжуємо стрімко розвиватися в усіх аспектах ML, включаючи низькорівневі реалізації математичних операцій у дизайні чіпів, бібліотеки для апаратного забезпечення відіграють більшу роль в оптимізації продуктивності. Різні фактори, такі як розмір корисного навантаження, мережеві стрибки, природа стрибків, функції графа моделі, оператори в моделі, а також ЦП, ГП і профіль пам’яті екземплярів моделі, що розміщують, впливають на пропускну здатність моделі ML. |
Складність конфігурації масштабування | Дуже важливо, щоб моделі або додатки ML працювали на масштабованій основі, яка може впоратися з попитом різного трафіку. Це також дозволяє максимально використовувати ресурси ЦП і ГП і запобігає надмірному виділенню обчислювальних ресурсів. |
Очікувана схема руху | Моделі або додатки ML можуть мати різні шаблони трафіку, починаючи від безперервного живого трафіку в реальному часі до періодичних піків тисячі запитів на секунду, і від рідкісних, непередбачуваних шаблонів запитів до офлайнових пакетних запитів на великі набори даних. Рекомендується працювати у зворотному напрямку від очікуваної моделі трафіку, щоб вибрати правильний варіант хостингу для вашої моделі ML. |
Розгортання моделей за допомогою SageMaker
SageMaker – це повністю керований сервіс AWS, який надає кожному розробнику та досліднику даних можливість швидко створювати, навчати та розгортати моделі ML у масштабі. За допомогою висновків SageMaker ви можете розгортати свої моделі ML на розміщених кінцевих точках і отримувати результати висновків. SageMaker надає широкий вибір апаратного забезпечення та функцій, які відповідають вашим вимогам до робочого навантаження, дозволяючи вибрати понад 70 типів екземплярів із апаратним прискоренням. SageMaker також може надати рекомендації щодо типу екземпляра висновку за допомогою нової функції під назвою SageMaker Inference Recommender, якщо ви не впевнені, який з них найбільш оптимальний для вашого робочого навантаження.
Ви можете вибрати варіанти розгортання, які найкраще відповідають вашим сценаріям використання, як-от висновки в реальному часі, асинхронні, пакетні та навіть безсерверні кінцеві точки. Крім того, SageMaker пропонує різні стратегії розгортання, такі як canary, синій/зелений, тінь, а також тестування A/B для розгортання моделі, а також економічно ефективне розгортання з кількома моделями, кінцевими точками з кількома контейнерами та еластичним масштабуванням. За допомогою висновків SageMaker ви можете переглядати показники продуктивності для своїх кінцевих точок Amazon CloudWatch, автоматично масштабувати кінцеві точки на основі трафіку та оновлюйте свої моделі у виробництві без втрати доступності.
SageMaker пропонує чотири варіанти розгортання вашої моделі, щоб ви могли почати робити прогнози:
- Висновок у реальному часі – Це підходить для робочих навантажень із вимогами до затримки в мілісекундах, розміром корисного навантаження до 6 МБ і часом обробки до 60 секунд.
- Пакетне перетворення – Це ідеальний варіант для офлайн-прогнозування великих пакетів даних, доступних заздалегідь.
- Асинхронний висновок – Це розроблено для робочих навантажень, які не мають вимог до затримки менше секунди, розміром корисного навантаження до 1 ГБ і часом обробки до 15 хвилин.
- Безсерверний висновок – Завдяки безсерверному висновку ви можете швидко розгортати моделі ML для висновку без необхідності налаштовувати або керувати основною інфраструктурою. Крім того, ви платите лише за обчислювальну потужність, яка використовується для обробки запитів на висновок, що ідеально підходить для періодичних навантажень.
Наведена нижче діаграма може допомогти вам зрозуміти варіанти розгортання моделі хостингу SageMaker разом із пов’язаними оцінками функції придатності.
Розглянемо кожен з варіантів розгортання докладніше.
Висновок у реальному часі в SageMaker
Висновок SageMaker у режимі реального часу рекомендовано, якщо у вас є постійний трафік і потрібна нижча та постійна затримка для ваших запитів із розміром корисного навантаження до 6 МБ і часом обробки до 60 секунд. Ви розгортаєте свою модель у службах хостингу SageMaker і отримуєте кінцеву точку, яку можна використовувати для висновків. Ці кінцеві точки повністю керовані та підтримують автоматичне масштабування. Висновки в режимі реального часу популярні для випадків використання, коли ви очікуєте синхронну відповідь із низькою затримкою та передбачуваними моделями трафіку, наприклад персоналізовані рекомендації щодо продуктів і послуг або випадки виявлення транзакційного шахрайства.
Як правило, клієнтська програма надсилає запити до кінцевої точки HTTPS SageMaker для отримання висновків із розгорнутої моделі. Ви можете розгорнути кілька варіантів моделі на одній кінцевій точці HTTPS SageMaker. Це корисно для тестування варіантів моделі у виробництві. Автоматичне масштабування дозволяє динамічно регулювати кількість екземплярів, наданих для моделі, у відповідь на зміни у вашому робочому навантаженні.
У наведеній нижче таблиці наведено вказівки щодо оцінювання висновків SageMaker у реальному часі на основі функцій фітнесу.
Фітнес функція | Опис |
Коштувати |
Кінцеві точки реального часу пропонують синхронну відповідь на запити висновків. Оскільки кінцева точка завжди працює та доступна для надання синхронної відповіді в режимі реального часу, ви платите за використання екземпляра. Витрати можуть швидко збільшитися, коли ви розгортаєте кілька кінцевих точок, особливо якщо кінцеві точки не повністю використовують основні екземпляри. Вибір правильного екземпляра для вашої моделі допоможе вам отримати найпродуктивніший екземпляр за найнижчою ціною для ваших моделей. Рекомендується автоматичне масштабування, щоб динамічно регулювати пропускну здатність залежно від трафіку, щоб підтримувати стабільну та передбачувану продуктивність за можливо найнижчих витрат. SageMaker розширює доступ до сімейств інстанцій ML на основі Graviton2 і Graviton3. AWS Гравітон процесори спеціально створені Amazon Web Services з використанням 64-розрядних ядер Arm Neoverse, щоб забезпечити найкращу цінову продуктивність для ваших хмарних робочих навантажень, що працюють на Amazon EC2. З екземплярами на основі Graviton у вас є більше можливостей для оптимізації вартості та продуктивності під час розгортання ваших моделей ML на SageMaker. SageMaker також підтримує Примірники Inf1, що забезпечує високу продуктивність і економічність висновків МЛ. З 1–16 Мікросхеми AWS Inferentia за екземпляр, екземпляри Inf1 можуть масштабувати продуктивність і забезпечувати до трьох разів вищу пропускну здатність і до 50% нижчу вартість висновку порівняно з екземплярами на основі графічного процесора AWS. Щоб використовувати екземпляри Inf1 у SageMaker, ви можете скомпілювати навчені моделі за допомогою Amazon SageMaker Neo і виберіть екземпляри Inf1 для розгортання скомпільованої моделі на SageMaker. Ви також можете дослідити Плани економії для SageMaker щоб отримати вигоду від економії до 64% порівняно з ціною за запитом. Коли ви створюєте кінцеву точку, SageMaker приєднує том сховища EBS до кожного екземпляра ML compute, на якому розміщена кінцева точка. Розмір обсягу сховища залежить від типу екземпляра. Додаткова вартість для кінцевих точок у режимі реального часу включає вартість ГБ-місяця виділеного сховища, а також ГБ даних, оброблених у екземплярі кінцевої точки, і ГБ даних, оброблених поза ним. |
Затримка висновку | Висновок у реальному часі ідеально підходить, коли вам потрібна постійна кінцева точка з вимогами до затримки в мілісекундах. Він підтримує розмір корисного навантаження до 6 МБ і час обробки до 60 секунд. |
Пропускна здатність |
Ідеальне значення пропускної здатності логічного висновку залежить від таких факторів, як модель, розмір вхідних даних моделі, розмір пакета та тип екземпляра кінцевої точки. Рекомендуємо переглянути показники CloudWatch щодо запитів на введення та використання ресурсів і вибрати відповідний тип екземпляра для досягнення оптимальної пропускної здатності. Бізнес-програма може бути або оптимізована пропускна здатність, або оптимізована затримка. Наприклад, динамічне пакетування може допомогти збільшити пропускну здатність для програм, чутливих до затримки, використовуючи висновок у реальному часі. Однак існують обмеження щодо розміру партії, без яких можна вплинути на затримку висновку. Затримка логічного висновку зростатиме, коли ви збільшуєте розмір пакета, щоб покращити пропускну здатність. Тому висновок у реальному часі є ідеальним варіантом для програм, чутливих до затримки. SageMaker надає параметри асинхронного висновку та пакетного перетворення, які оптимізовані для забезпечення вищої пропускної здатності порівняно з висновком у реальному часі, якщо бізнес-програми можуть терпіти трохи більшу затримку. |
Складність конфігурації масштабування |
Підтримка кінцевих точок SageMaker у реальному часі автоматичне масштабування з коробки. Коли робоче навантаження збільшується, автоматичне масштабування переводить більше екземплярів у режим онлайн. Коли робоче навантаження зменшується, автоматичне масштабування видаляє непотрібні екземпляри, допомагаючи вам зменшити витрати на обчислення. Без автоматичного масштабування вам потрібно забезпечити максимальний трафік або недоступність моделі ризику. Якщо трафік до вашої моделі не буде стабільним протягом дня, буде надлишок невикористаної ємності. Це призводить до низького рівня використання та втрати ресурсів. За допомогою SageMaker ви можете налаштувати різні параметри масштабування на основі очікуваної моделі трафіку. Просте масштабування або масштабування цільового відстеження ідеально підходить, якщо ви хочете масштабувати на основі певної метрики CloudWatch. Ви можете зробити це, вибравши певний показник і встановивши порогові значення. Рекомендовані показники для цього параметра є середніми Якщо вам потрібна розширена конфігурація, ви можете встановити політику покрокового масштабування, щоб динамічно регулювати кількість екземплярів для масштабування на основі розміру порушення сигналізації. Це допоможе вам налаштувати більш агресивну реакцію, коли попит досягає певного рівня. Ви можете використовувати параметр масштабування за розкладом, якщо знаєте, що попит відповідає певному графіку в день, тиждень, місяць або рік. Це допоможе вам указати одноразовий розклад або повторюваний розклад або вирази cron разом із часом початку та завершення, які формують межі початку та завершення дії автоматичного масштабування. Детальніше див Налаштування кінцевих точок висновку автомасштабування в Amazon SageMaker та Завантажте тест і оптимізуйте кінцеву точку Amazon SageMaker за допомогою автоматичного масштабування. |
Схема дорожнього руху | Висновок у реальному часі ідеально підходить для робочих навантажень із постійним або регулярним шаблоном трафіку. |
Асинхронний висновок у SageMaker
Асинхронний висновок SageMaker — це нова можливість у SageMaker, яка ставить у чергу вхідні запити та обробляє їх асинхронно. Цей параметр ідеально підходить для запитів із великим розміром корисного навантаження (до 1 ГБ), тривалим часом обробки (до 15 хвилин) і вимогами до затримки майже в реальному часі. Приклади робочого навантаження для асинхронного висновку включають медичні компанії, які обробляють біомедичні зображення високої роздільної здатності або відео, наприклад ехокардіограми, для виявлення аномалій. Ці додатки отримують пакети вхідного трафіку в різний час доби й вимагають обробки майже в реальному часі за низькою ціною. Час обробки цих запитів може варіюватися в межах хвилин, що усуває необхідність виконувати висновки в реальному часі. Натомість вхідні дані можна обробляти асинхронно зі сховища об’єктів, наприклад Amazon S3, із автоматичним формуванням черги та попередньо визначеним порогом паралельності. Після обробки SageMaker поміщає відповідь висновку в попередньо повернуте розташування Amazon S3. За бажанням ви можете вибрати отримання сповіщень про успіх або помилку через Служба простих сповіщень Amazon (Amazon SNS).
У наведеній нижче таблиці наведено вказівки щодо оцінки асинхронного висновку SageMaker на основі функцій відповідності.
Фітнес функція | Опис |
Коштувати | Асинхронний висновок є чудовим вибором для економічно чутливих робочих навантажень із великим корисним навантаженням і пакетним трафіком. Асинхронний висновок дає змогу заощадити на витратах шляхом автоматичного масштабування кількості екземплярів до нуля, коли немає запитів для обробки, тому ви платите лише тоді, коли ваша кінцева точка обробляє запити. Запити, отримані за відсутності екземплярів, ставляться в чергу для обробки після масштабування кінцевої точки. |
Затримка висновку | Асинхронний висновок ідеально підходить для вимог до затримки майже в реальному часі. Запити розміщуються в черзі та обробляються, щойно обчислення стає доступним. Це зазвичай призводить до затримки в десятки мілісекунд. |
Пропускна здатність | Асинхронний висновок ідеально підходить для випадків використання, не чутливих до затримки, оскільки програмам не потрібно йти на компроміс щодо пропускної здатності. Запити не відкидаються під час стрибків трафіку, оскільки кінцева точка асинхронного висновку ставить запити в чергу, а не відкидає їх. |
Складність конфігурації масштабування |
SageMaker підтримує автоматичне масштабування для асинхронної кінцевої точки. На відміну від кінцевих точок, розміщених у реальному часі, кінцеві точки асинхронного висновку підтримують масштабування екземплярів до нуля шляхом встановлення мінімальної ємності на нуль. Для асинхронних кінцевих точок SageMaker настійно рекомендує створити конфігурацію політики для масштабування цільового відстеження для розгорнутої моделі (варіанту). Для випадків використання, які допускають штраф за холодний запуск у кілька хвилин, ви можете додатково зменшити кількість екземплярів кінцевої точки до нуля, коли немає невиконаних запитів, і збільшити масштаб, коли надходять нові запити, щоб ви платили лише за час, протягом якого кінцеві точки активно обробляють запити. |
Схема дорожнього руху | Асинхронні кінцеві точки ставлять вхідні запити в чергу та обробляють їх асинхронно. Вони є хорошим варіантом для періодичних або рідкісних моделей трафіку. |
Пакетний висновок у SageMaker
Пакетне перетворення SageMaker ідеально підходить для офлайн-прогнозування великих пакетів даних, які доступні заздалегідь. Функція пакетного перетворення є високопродуктивним і високопродуктивним методом для перетворення даних і створення висновків. Це ідеально підходить для сценаріїв, коли ви маєте справу з великими пакетами даних, не потребуєте субсекундної затримки або потребуєте як попередньої обробки, так і трансформації навчальних даних. Клієнтам у певних сферах, як-от реклама та маркетинг або охорона здоров’я, часто доводиться робити автономні прогнози на гіпермасштабованих наборах даних, де висока пропускна здатність часто є метою використання, а затримка не викликає занепокоєння.
Коли починається завдання пакетного перетворення, SageMaker ініціалізує екземпляри обчислень і розподіляє робоче навантаження між ними. Він вивільняє ресурси, коли завдання завершені, тому ви платите лише за те, що було використано під час виконання вашого завдання. Коли завдання завершено, SageMaker зберігає результати передбачення у вказаному вами сегменті S3. Завдання пакетного висновку зазвичай є хорошими кандидатами для горизонтального масштабування. Кожен працівник у кластері може працювати з різною підмножиною даних без необхідності обмінюватися інформацією з іншими працівниками. AWS пропонує кілька параметрів зберігання та обчислень, які дозволяють горизонтальне масштабування. Приклади робочих навантажень для пакетного перетворення SageMaker включають офлайн-додатки, такі як банківські програми для прогнозування відтоку клієнтів, де можна запланувати періодичне виконання офлайн-завдання.
У наведеній нижче таблиці наведено вказівки щодо оцінки пакетного перетворення SageMaker на основі функцій відповідності.
Фітнес функція | Опис |
Коштувати | Пакетне перетворення SageMaker дозволяє запускати прогнози на великих або малих пакетних наборах даних. З вас стягується плата за тип екземпляра, який ви виберете, залежно від тривалості використання. SageMaker керує наданням ресурсів на початку завдання та звільняє їх після завершення завдання. Немає додаткових витрат на обробку даних. |
Затримка висновку | Ви можете використовувати виклик на основі подій або за розкладом. Затримка може змінюватися залежно від розміру даних висновку, паралельності завдань, складності моделі та потужності обчислювального екземпляра. |
Пропускна здатність |
Завдання пакетного перетворення можна виконувати з різними наборами даних, від петабайтів даних до дуже малих наборів даних. Немає необхідності змінювати розмір великих наборів даних на невеликі фрагменти даних. Ви можете прискорити виконання завдань пакетного перетворення, використовуючи оптимальні значення таких параметрів, як MaxPayloadInMB, MaxConcurrentTransformsабо BatchStrategy. Ідеальне значення для Пакетна обробка може збільшити пропускну здатність і оптимізувати ваші ресурси, оскільки це допомагає завершити більшу кількість висновків за певний проміжок часу за рахунок затримки. Щоб оптимізувати розгортання моделі для підвищення пропускної здатності, загальна вказівка полягає в тому, щоб збільшувати розмір пакета, доки пропускна здатність не зменшиться. |
Складність конфігурації масштабування | Пакетне перетворення SageMaker використовується для автономного висновку, який не чутливий до затримки. |
Схема дорожнього руху | Для автономного висновку завдання пакетного перетворення заплановано або розпочато за допомогою тригера на основі події. |
Безсерверний висновок у SageMaker
Безсерверний висновок SageMaker дозволяє розгортати моделі ML для логічного висновку без необхідності налаштовувати або керувати основною інфраструктурою. На основі обсягу запитів на висновок, які отримує ваша модель, безсерверний висновок SageMaker автоматично налаштовує, масштабує та вимикає обчислювальну потужність. У результаті ви платите лише за час обчислення для запуску коду виведення та обсяг оброблених даних, а не за час простою. Ви можете використовувати вбудовані алгоритми SageMaker і контейнери, що обслуговують фреймворк ML, щоб розгорнути свою модель у безсерверній кінцевій точці висновку, або вибрати власний контейнер. Якщо трафік стане передбачуваним і стабільним, ви зможете легко оновити кінцеву точку безсерверного висновку до кінцевої точки реального часу SageMaker без необхідності вносити зміни в образ контейнера. Завдяки безсерверному висновку ви також отримуєте переваги від інших функцій SageMaker, включаючи вбудовані показники, такі як кількість викликів, помилки, затримка, показники хосту та помилки в CloudWatch.
У наведеній нижче таблиці наведено вказівки щодо оцінки безсерверного висновку SageMaker на основі функцій відповідності.
Фітнес функція | Опис |
Коштувати | Завдяки моделі оплати за використання безсерверний висновок є економічно ефективним варіантом, якщо у вас рідкісні або періодичні моделі трафіку. Ви платите лише за тривалість, протягом якої кінцева точка обробляє запит, і тому можете заощадити витрати, якщо шаблон трафіку є переривчастим. |
Затримка висновку |
Безсерверні кінцеві точки пропонують низьку затримку висновків (порядку від мілісекунд до секунд) із можливістю миттєвого масштабування від десятків до тисяч висновків протягом секунд на основі шаблонів використання, що робить їх ідеальними для програм ML із періодичним або непередбачуваним трафіком. Оскільки безсерверні кінцеві точки надають обчислювальні ресурси на вимогу, ваша кінцева точка може мати кілька додаткових секунд затримки (холодний запуск) під час першого виклику після періоду простою. Час холодного запуску залежить від розміру вашої моделі, часу, необхідного для завантаження вашої моделі, і часу запуску вашого контейнера. |
Пропускна здатність | Під час налаштування безсерверної кінцевої точки ви можете вказати розмір пам’яті та максимальну кількість одночасних викликів. Безсерверний висновок SageMaker автоматично призначає обчислювальні ресурси пропорційно вибраній вами пам’яті. Якщо ви обираєте більший розмір пам’яті, ваш контейнер матиме доступ до більшої кількості vCPU. Як правило, розмір пам’яті має бути не менше розміру вашої моделі. Розміри пам’яті, які ви можете вибрати: 1024 МБ, 2048 МБ, 3072 МБ, 4096 МБ, 5120 МБ і 6144 МБ. Незалежно від розміру пам’яті, який ви виберете, безсерверні кінцеві точки мають доступ до 5 ГБ ефемерного дискового сховища. |
Складність конфігурації масштабування | Безсерверні кінцеві точки автоматично запускають обчислювальні ресурси та масштабують їх залежно від трафіку, усуваючи потребу вибирати типи екземплярів або керувати політиками масштабування. Це знімає недиференційовану важку роботу з вибору та керування серверами. |
Схема дорожнього руху | Безсерверний висновок ідеально підходить для робочих навантажень із нечастими або періодичними моделями трафіку. |
Модель хостингу шаблонів дизайну в SageMaker
Кінцеві точки висновку SageMaker використовують контейнери Docker для розміщення моделей ML. Контейнери дозволяють упаковувати програмне забезпечення в стандартизовані блоки, які працюють узгоджено на будь-якій платформі, яка підтримує Docker. Це забезпечує переносимість між платформами, розгортання незмінної інфраструктури та спрощене керування змінами та впровадження CI/CD. SageMaker надає готові керовані контейнери для таких популярних фреймворків, як Apache MXNet, TensorFlow, PyTorch, Sklearn і Hugging Face. Повний список доступних зображень контейнерів SageMaker див Доступні зображення контейнерів глибокого навчання. У випадку, якщо SageMaker не має підтримуваного контейнера, ви також можете створити власний контейнер (BYOC) і надіслати власний власний образ, установивши залежності, необхідні для вашої моделі.
Щоб розгорнути модель на SageMaker, вам потрібен контейнер (контейнери керованої інфраструктури SageMaker або BYOC) і обчислювальний екземпляр для розміщення контейнера. SageMaker підтримує кілька розширених параметрів для загальних шаблонів дизайну розміщення моделі ML, де моделі можна розміщувати в одному контейнері або спільно розміщувати в спільному контейнері.
Програма ML у режимі реального часу може використовувати одну або кілька моделей для обслуговування одного запиту прогнозування. На наступній діаграмі показано різні сценарії висновків для програми ML.
Давайте дослідимо відповідний варіант розміщення SageMaker для кожного з попередніх сценаріїв висновку. Ви можете звернутися до фітнес-функцій, щоб оцінити, чи це правильний варіант для даного випадку використання.
Хостинг програми ML на основі однієї моделі
Залежно від сценарію розгортання існує кілька варіантів розміщення додатків ML на основі однієї моделі за допомогою послуг хостингу SageMaker.
Кінцева точка однієї моделі
Одномодельні кінцеві точки SageMaker дозволяють розміщувати одну модель у контейнері, розміщеному на виділених екземплярах для низької затримки та високої пропускної здатності. Ці кінцеві точки повністю керовані та підтримують автоматичне масштабування. Ви можете налаштувати кінцеву точку з однією моделлю як готову кінцеву точку, де ви передаєте конфігурацію інфраструктури кінцевої точки, наприклад тип і кількість екземплярів, або безсерверну кінцеву точку, де SageMaker автоматично запускає обчислювальні ресурси та масштабує їх залежно від трафіку, усуваючи потребу щоб вибрати типи екземплярів або керувати політиками масштабування. Безсерверні кінцеві точки призначені для програм із переривчастим або непередбачуваним трафіком.
На наведеній нижче діаграмі показано сценарії висновку кінцевої точки однієї моделі.
У наведеній нижче таблиці наведено вказівки щодо оцінки функцій придатності для кінцевої точки однієї моделі. Для оцінки функції безсерверної кінцевої точки зверніться до розділу безсерверної кінцевої точки в цій публікації.
Фітнес функція | Опис |
Коштувати | З вас стягується плата за використання вибраного типу екземпляра. Оскільки кінцева точка завжди працює та доступна, витрати можуть швидко зростати. Вибір правильного екземпляра для вашої моделі допоможе вам отримати найпродуктивніший екземпляр за найнижчою ціною для ваших моделей. Рекомендується автоматичне масштабування, щоб динамічно регулювати пропускну здатність залежно від трафіку, щоб підтримувати стабільну та передбачувану продуктивність за можливо найнижчих витрат. |
Затримка висновку | Кінцева точка з однією моделлю забезпечує інтерактивний синхронний висновок у реальному часі з вимогами затримки в мілісекундах. |
Пропускна здатність | На пропускну здатність можуть впливати різні фактори, наприклад розмір вхідних даних моделі, розмір пакету, тип екземпляра кінцевої точки тощо. Рекомендується переглянути показники CloudWatch щодо запитів на введення та використання ресурсів, а також вибрати відповідний тип екземпляра для досягнення оптимальної пропускної здатності. SageMaker надає функції для керування ресурсами та оптимізації продуктивності висновків під час розгортання моделей ML. Ти можеш оптимізувати продуктивність моделі за допомогою Neoабо використовуйте екземпляри Inf1 для кращої пропускної здатності ваших моделей, розміщених у SageMaker, використовуючи екземпляр GPU для вашої кінцевої точки. |
Складність конфігурації масштабування | Автоматичне масштабування підтримується з коробки. SageMaker рекомендує вибрати відповідний конфігурація масштабування виконанням навантажувальні тести. |
Схема дорожнього руху | Кінцева точка з однією моделлю ідеально підходить для робочих навантажень із передбачуваними моделями трафіку. |
Спільне розміщення кількох моделей
Коли ви маєте справу з великою кількістю моделей, розгортання кожної з них на окремій кінцевій точці з виділеним контейнером і примірником може призвести до значного збільшення вартості. Крім того, стає важко керувати такою кількістю моделей у виробництві, зокрема, коли вам не потрібно викликати всі моделі одночасно, але все одно потрібно, щоб вони були доступні в будь-який час. Спільне розміщення кількох моделей на одних базових обчислювальних ресурсах полегшує масштабне керування розгортанням ML і знижує ваші витрати на хостинг завдяки більшому використанню кінцевої точки та базових обчислювальних ресурсів. SageMaker підтримує розширені параметри спільного розміщення моделей, такі як мультимодельна кінцева точка (MME) для однорідних моделей і багатоконтейнерна кінцева точка (MCE) для гетерогенних моделей. Однорідні моделі використовують ту саму структуру ML у спільному контейнері служби, тоді як гетерогенні моделі дозволяють розгортати кілька контейнерів обслуговування, які використовують різні моделі або рамки, на одній кінцевій точці.
На наступній діаграмі показано варіанти спільного розміщення моделі за допомогою SageMaker.
Багатомодельні кінцеві точки SageMaker
SageMaker ММЕ дозволяють розміщувати кілька моделей за допомогою спільного контейнера обслуговування на одній кінцевій точці. Це масштабоване та економічно ефективне рішення для розгортання великої кількості моделей, які задовольняють однаковий варіант використання, структуру або логіку висновку. MME можуть динамічно обслуговувати запити на основі моделі, викликаної абонентом. Це також зменшує накладні витрати на розгортання, оскільки SageMaker керує завантаженням моделей у пам’ять і масштабує їх на основі шаблонів трафіку до них. Ця функція ідеальна, якщо у вас є велика кількість подібних моделей, які можна обслуговувати через спільний контейнер обслуговування, і вам не потрібно отримувати доступ до всіх моделей одночасно. Кінцеві точки з кількома моделями також дозволяють розподіляти ресурси пам’яті між вашими моделями. Це найкраще працює, коли моделі досить схожі за розміром і затримкою виклику, що дозволяє MME ефективно використовувати екземпляри в усіх моделях. MME SageMaker підтримують розміщення моделей із підтримкою процесора та графічного процесора. Використовуючи моделі з підтримкою графічного процесора, ви можете знизити витрати на розгортання моделі за рахунок більшого використання кінцевої точки та її прискорених екземплярів обчислень. Для прикладу реального використання MME зверніться до Як масштабувати висновок машинного навчання для випадків використання SaaS з кількома клієнтами.
У наведеній нижче таблиці наведено вказівки щодо оцінки функцій придатності для MME.
Фітнес функція | Опис |
Коштувати |
MME дозволяють використовувати спільний контейнер обслуговування для розміщення тисяч моделей на одній кінцевій точці. Це значно знижує витрати на хостинг за рахунок покращення використання кінцевих точок порівняно з використанням кінцевих точок однієї моделі. Наприклад, якщо у вас є 10 моделей для розгортання за допомогою екземпляра ml.c5.large на основі Ціни SageMaker, вартість наявності 10 одномодельних постійних кінцевих точок становить: 10 * 0.102 $ = 1.02 $ за годину. Тоді як за допомогою одного MME, який розміщує 10 моделей, ми досягаємо 10-кратної економії коштів: 1 * 0.102 $ = 0.102 $ за годину. |
Затримка висновку |
За замовчуванням MME кешують моделі, які часто використовуються, у пам’яті та на диску, щоб забезпечити висновок із низькою затримкою. Кешовані моделі вивантажуються або видаляються з диска лише тоді, коли в контейнері закінчується пам’ять або місце на диску для розміщення нової цільової моделі. MME дозволяють відкладено завантажувати моделі, що означає, що моделі завантажуються в пам’ять під час першого виклику. Це оптимізує використання пам'яті; однак це спричиняє стрибки часу відгуку під час першого завантаження, що призводить до проблеми з холодним запуском. Таким чином, MME також добре підходять для сценаріїв, які можуть терпіти випадкові штрафи затримки, пов’язані з холодним пуском, які виникають під час виклику рідко використовуваних моделей. Щоб досягти цілей затримки та пропускної здатності додатків ML, екземпляри GPU є кращими над екземплярами CPU (враховуючи обчислювальну потужність, яку пропонують GPU). Завдяки підтримці MME для GPU ви можете розгортати тисячі моделей глибокого навчання за однією кінцевою точкою SageMaker. MME можуть запускати кілька моделей на ядрі графічного процесора, спільно використовувати екземпляри графічного процесора за кінцевою точкою в кількох моделях і динамічно завантажувати та вивантажувати моделі на основі вхідного трафіку. Завдяки цьому ви можете значно заощадити кошти та досягти найкращої ціни. Якщо ваш варіант використання вимагає значно більшої кількості транзакцій за секунду (TPS) або вимог до затримки, ми рекомендуємо розміщувати моделі на виділених кінцевих точках. |
Пропускна здатність |
Ідеальне значення пропускної здатності висновку MME залежить від таких факторів, як модель, розмір корисного навантаження та тип екземпляра кінцевої точки. Більший обсяг пам’яті екземплярів дає змогу мати більше завантажених моделей і готових обслуговувати запити на висновок. Вам не потрібно витрачати час на завантаження моделі. Більша кількість vCPU дає змогу одночасно викликати більше унікальних моделей. MME динамічно завантажують і вивантажують модель до пам’яті екземпляра та з неї, що може вплинути на продуктивність введення-виведення. Використання SageMaker MME з GPU Сервер NVIDIA Triton Inference, яке є програмним забезпеченням з відкритим вихідним кодом, яке спрощує процес обслуговування висновків і забезпечує високу продуктивність логічного висновку. SageMaker завантажує модель у пам’ять контейнера NVIDIA Triton на прискореному GPU екземплярі та обслуговує запит на висновок. Ядро графічного процесора є спільним для всіх моделей в екземплярі. Якщо модель уже завантажено в пам’ять контейнера, наступні запити обслуговуються швидше, оскільки SageMaker не потрібно завантажувати та завантажувати її знову. Для успішного розгортання продуктивності рекомендовано належне тестування та аналіз продуктивності. SageMaker надає показники CloudWatch для мультимодельних кінцевих точок, щоб ви могли визначити використання кінцевої точки та частоту звернень до кешу, щоб оптимізувати свою кінцеву точку. |
Складність конфігурації масштабування | Багатомодельні кінцеві точки SageMaker повністю підтримують автоматичне масштабування, яке керує копіями моделей, щоб забезпечити масштабування моделей на основі моделей трафіку. Однак для визначення оптимального розміру екземплярів для автоматичного масштабування кінцевої точки рекомендується провести належне тестування навантаження. Правильний розмір парку MME важливий, щоб уникнути розвантаження занадто великої кількості моделей. Завантаження сотень моделей у кілька великих екземплярів у деяких випадках може призвести до дроселювання, тому краще використовувати більше та менші екземпляри. Щоб скористатися перевагами автоматичного масштабування моделі в SageMaker, переконайтеся, що у вас є налаштувати автоматичне масштабування екземпляра для забезпечення додаткової потужності екземпляра. Налаштуйте політику масштабування на рівні кінцевої точки за допомогою спеціальних параметрів або викликів за хвилину (рекомендовано), щоб додати більше екземплярів до групи кінцевих точок. Частота викликів, яка використовується для ініціювання події автоматичного масштабування, базується на сукупному наборі прогнозів для повного набору моделей, які обслуговуються кінцевою точкою. |
Схема дорожнього руху | MME ідеально підходять, якщо у вас є велика кількість моделей подібного розміру, які можна обслуговувати через спільний контейнер обслуговування, і вам не потрібно отримувати доступ до всіх моделей одночасно. |
Багатоконтейнерні кінцеві точки SageMaker
SageMaker MCE підтримка розгортання до 15 контейнерів, які використовують різні моделі або фреймворки, на одній кінцевій точці та їх активація незалежно або послідовно для висновку з низькою затримкою та економії коштів. Моделі можуть бути повністю гетерогенними, з власним незалежним стеком для сервірування. Безпечне розміщення кількох моделей із різних фреймворків в одному екземплярі може заощадити до 90% витрат.
Шаблони виклику MCE такі:
- Конвеєри висновку – Контейнери в MME можуть бути викликані в лінійній послідовності, також відомій як a послідовний конвеєр виведення. Зазвичай вони використовуються для розділення попередньої обробки, висновку моделі та постобробки в незалежні контейнери. Вихідні дані з поточного контейнера передаються як вхідні дані до наступного. Вони представлені як єдина конвеєрна модель у SageMaker. Конвеєр виведення може бути розгорнутий як MME, де один із контейнерів у конвеєрі може динамічно обслуговувати запити на основі моделі, що викликається.
- Прямий виклик - З прямий виклик, запит можна надіслати в певний контейнер висновків, розміщений на MCE.
У наведеній нижче таблиці наведено вказівки щодо оцінювання функцій придатності для MCE.
Фітнес функція | Опис |
Коштувати | MCE дозволяють запускати до 15 різних контейнерів ML на одній кінцевій точці та викликати їх незалежно, тим самим заощаджуючи витрати. Цей варіант ідеально підходить, якщо у вас є кілька моделей, що працюють на різних стеках обслуговування з подібними потребами в ресурсах, і коли окремі моделі не мають достатнього трафіку для використання повної потужності екземплярів кінцевих точок. Таким чином, MCE є більш економічно ефективними, ніж кінцева точка однієї моделі. MCE пропонують синхронну реакцію висновку, що означає, що кінцева точка завжди доступна, і ви платите за час безвідмовної роботи екземпляра. Вартість може збільшуватися залежно від кількості та типу екземплярів. |
Затримка висновку | MCE ідеально підходять для запуску програм ML з різними фреймворками та алгоритмами ML для кожної моделі, до яких звертаються рідко, але все одно вимагають висновку з низькою затримкою. Моделі завжди доступні для висновку з низькою затримкою, і немає проблем із холодним запуском. |
Пропускна здатність | MCE обмежено до 15 контейнерів у кінцевій точці з кількома контейнерами, а висновок GPU не підтримується через конкуренцію ресурсів. Для багатоконтейнерних кінцевих точок, які використовують режим прямого виклику, SageMaker не лише надає показники на рівні екземпляра, як це робиться з іншими поширеними кінцевими точками, але також підтримує метрики для кожного контейнера. Рекомендуємо переглянути показники CloudWatch щодо запитів на введення та використання ресурсів, а також вибрати відповідний тип екземпляра для досягнення оптимальної пропускної здатності. |
Складність конфігурації масштабування | MCE підтримують автоматичне масштабування. Однак, щоб налаштувати автоматичне масштабування, рекомендується, щоб модель у кожному контейнері демонструвала подібне використання ЦП і затримку для кожного запиту висновку. Це рекомендовано, оскільки якщо трафік до кінцевої точки з кількома контейнерами переходить від моделі низького використання ЦП до моделі високого використання ЦП, але загальний обсяг викликів залишається незмінним, кінцева точка не масштабується, і може бути недостатньо екземплярів для обробки всіх запитів до моделі високого використання ЦП. |
Схема дорожнього руху | MCE ідеально підходять для робочих навантажень із постійними або регулярними шаблонами трафіку, для розміщення моделей у різних фреймворках (таких як TensorFlow, PyTorch або Sklearn), які можуть не мати достатнього трафіку для повного насичення потужності примірника кінцевої точки. |
Хостинг програми ML на основі кількох моделей
Багатьом бізнес-додаткам потрібно використовувати кілька моделей ML, щоб обслуговувати споживачам один запит на прогнозування. Наприклад, роздрібна компанія, яка хоче надати рекомендації своїм користувачам. Програма ML у цьому випадку використання може захотіти використовувати різні спеціальні моделі для рекомендації різних категорій продуктів. Якщо компанія хоче додати персоналізацію до рекомендацій за допомогою індивідуальної інформації користувача, кількість користувацьких моделей ще більше збільшується. Розміщення кожної спеціальної моделі на окремому обчислювальному екземплярі є не тільки непомірно дорогим, але й призводить до недовикористання ресурсів хостингу, якщо не всі моделі використовуються часто. SageMaker пропонує ефективні варіанти розміщення для багатомодельних додатків ML.
На наступній діаграмі показано варіанти розміщення кількох моделей для однієї кінцевої точки за допомогою SageMaker.
Послідовний конвеєр виведення
Конвеєр висновків — це модель SageMaker, яка складається з лінійної послідовності з 2–15 контейнерів, які обробляють запити на висновки щодо даних. Ви використовуєте конвеєр висновків для визначення та розгортання будь-якої комбінації попередньо навчених вбудованих алгоритмів SageMaker і ваших власних алгоритмів, упакованих у контейнери Docker. Ви можете використовувати конвеєр висновків, щоб поєднати попередню обробку, прогнози та постобробку наукових завдань даних. Вихід з одного контейнера передається як вхід до наступного. Визначаючи контейнери для моделі конвеєра, ви також визначаєте порядок запуску контейнерів. Вони представлені як єдина конвеєрна модель у SageMaker. Конвеєр виведення може бути розгорнутий як MME, де один із контейнерів у конвеєрі може динамічно обслуговувати запити на основі моделі, що викликається. Ви також можете запустити a пакетне перетворення робота з конвеєром виведення. Конвеєри висновків повністю керовані.
У наведеній нижче таблиці наведено вказівки щодо оцінювання функцій придатності для розміщення моделі ML за допомогою послідовного конвеєра висновку.
Фітнес функція | Опис |
Коштувати | Послідовний конвеєр виведення дає змогу запускати до 15 різних контейнерів ML на одній кінцевій точці, що сприяє економічній ефективності розміщення контейнерів виведення. За використання цієї функції немає додаткових витрат. Ви платите лише за екземпляри, запущені на кінцевій точці. Вартість може збільшуватися залежно від кількості та типу екземплярів. |
Затримка висновку | Коли програму ML розгортають як конвеєр виведення, дані між різними моделями не залишають простір контейнера. Обробка функцій і висновки виконуються з низькою затримкою, оскільки контейнери розташовані в одному екземплярі EC2. |
Пропускна здатність | У рамках моделі конвеєра висновку SageMaker обробляє виклики як послідовність HTTP-запитів. Перший контейнер у конвеєрі обробляє початковий запит, потім проміжна відповідь надсилається як запит до другого контейнера і так далі для кожного контейнера в конвеєрі. SageMaker повертає кінцеву відповідь клієнту. Пропускна здатність залежить від таких факторів, як модель, розмір вхідних даних моделі, розмір партії та тип екземпляра кінцевої точки. Рекомендуємо переглянути показники CloudWatch щодо запитів на введення та використання ресурсів і вибрати відповідний тип екземпляра для досягнення оптимальної пропускної здатності. |
Складність конфігурації масштабування | Послідовні конвеєри підтримують автоматичне масштабування. Однак, щоб налаштувати автоматичне масштабування, рекомендується, щоб модель у кожному контейнері демонструвала подібне використання ЦП і затримку для кожного запиту висновку. Це рекомендовано, оскільки якщо трафік до кінцевої точки з кількома контейнерами переходить від моделі низького використання ЦП до моделі високого використання ЦП, але загальний обсяг викликів залишається незмінним, кінцева точка не масштабується, і може бути недостатньо екземплярів для обробляти всі запити до моделі високого використання ЦП. |
Схема дорожнього руху |
Конвеєри послідовного висновку ідеально підходять для передбачуваних шаблонів трафіку з моделями, які виконуються послідовно на одній кінцевій точці. |
Розгортання модельних ансамблів (Triton DAG):
SageMaker пропонує інтеграцію з Сервер NVIDIA Triton Inference через Контейнери сервера Triton Inference. Ці контейнери включають NVIDIA Triton Inference Server, підтримку поширених фреймворків ML і корисні змінні середовища, які дозволяють оптимізувати продуктивність SageMaker. З образами-контейнерами NVIDIA Triton ви можете легко обслуговувати моделі ML і користуватися перевагами оптимізації продуктивності, динамічного пакетування та підтримки кількох фреймворків, які надає NVIDIA Triton. Triton допомагає максимізувати використання графічного та центрального процесорів, ще більше знижуючи вартість висновків.
У бізнес-випадках використання, коли програми ML використовують кілька моделей для обслуговування запиту передбачення, якщо кожна модель використовує іншу структуру або розміщена в окремому екземплярі, це може призвести до збільшення робочого навантаження та витрат, а також збільшення загальної затримки. SageMaker NVIDIA Triton Inference Server підтримує розгортання моделей з усіх основних фреймворків, таких як TensorFlow GraphDef, TensorFlow SavedModel, ONNX, PyTorch TorchScript, TensorRT і формати моделей Python/C++ тощо. Ансамбль моделей Triton являє собою конвеєр з однієї або кількох моделей або логіки попередньої та постобробки, а також з’єднання вхідних і вихідних тензорів між ними. Один запит на висновок до ансамблю запускає запуск усього конвеєра. Triton також має кілька вбудованих алгоритмів планування та пакетування, які об’єднують окремі запити висновку для покращення пропускної здатності висновку. Ці рішення щодо планування та пакетування прозорі для клієнта, який запитує висновки. Моделі можна запускати на процесорах або графічних процесорах для максимальної гнучкості та підтримки різнорідних обчислювальних вимог.
Розміщення кількох моделей із підтримкою GPU на кінцевих точках із кількома моделями підтримується через Сервер висновків SageMaker Triton. NVIDIA Triton Inference Server було розширено для реалізації Контракт MME API, для інтеграції з MME. Ви можете використовувати NVIDIA Triton Inference Server, який створює конфігурацію репозиторію моделі для різних серверних модулів фреймворку, щоб розгорнути MME з автоматичним масштабуванням. Ця функція дозволяє вам масштабувати сотні гіперперсоналізованих моделей, які точно налаштовані, щоб задовольнити унікальний досвід кінцевого користувача в додатках AI. Ви також можете скористатися цією функцією, щоб досягти необхідної цінової ефективності для вашої програми логічного висновку за допомогою фракційних GPU. Щоб дізнатися більше, зверніться до Запускайте кілька моделей глибокого навчання на GPU за допомогою мультимодельних кінцевих точок Amazon SageMaker.
У наведеній нижче таблиці наведено вказівки щодо оцінки функцій придатності для розміщення моделі ML з використанням MME із підтримкою GPU на контейнерах висновків Triton. Щоб отримати інформацію про оцінку придатності кінцевих точок однієї моделі та безсерверних кінцевих точок, зверніться до попередніх розділів цієї публікації.
Фітнес функція | Опис |
Коштувати | MME SageMaker із підтримкою GPU за допомогою Triton Inference Server забезпечують масштабований і економічно ефективний спосіб розгортання великої кількості моделей глибокого навчання за однією кінцевою точкою SageMaker. З MME кілька моделей спільно використовують екземпляр GPU за кінцевою точкою. Це дає змогу подолати лінійне зростання вартості розміщення кількох моделей і повторно використовувати інфраструктуру для всіх моделей. Ви платите за час безперебійної роботи екземпляра. |
Затримка висновку |
SageMaker із Triton Inference Server розроблено спеціально для максимізації пропускної здатності та використання апаратного забезпечення з наднизькою (однозначною мілісекундою) затримкою висновку. Він має широкий спектр підтримуваних фреймворків ML (зокрема TensorFlow, PyTorch, ONNX, XGBoost і NVIDIA TensorRT) та інфраструктурних серверних модулів, зокрема графічних процесорів NVIDIA, процесорів і AWS Inferentia. Завдяки підтримці MME для GPU за допомогою SageMaker Triton Inference Server ви можете розгортати тисячі моделей глибокого навчання за однією кінцевою точкою SageMaker. SageMaker завантажує модель у пам’ять контейнера NVIDIA Triton на прискореному GPU екземплярі та обслуговує запит на висновок. Ядро графічного процесора є спільним для всіх моделей в екземплярі. Якщо модель уже завантажено в пам’ять контейнера, наступні запити обслуговуються швидше, оскільки SageMaker не потрібно завантажувати та завантажувати її знову. |
Пропускна здатність |
MME пропонують можливості одночасного запуску кількох моделей глибокого навчання або машинного навчання на GPU за допомогою Triton Inference Server. Це дає змогу легко використовувати мультифреймворк NVIDIA Triton, високопродуктивну службу логічного висновку з повністю керованим розгортанням моделі SageMaker. Triton підтримує всі висновки на основі NVIDIA GPU, x86, Arm® CPU та AWS Inferentia. Він пропонує динамічне пакетування, одночасний запуск, оптимальну конфігурацію моделі, модельний ансамбль і потокове аудіо- та відеовведення для максимального підвищення пропускної здатності та використання. Інші фактори, такі як розмір мережі та корисного навантаження, можуть відігравати мінімальну роль у накладних витратах, пов’язаних із висновком. |
Складність конфігурації масштабування |
MME можуть горизонтально масштабувати за допомогою політики автоматичного масштабування та надавати додаткові обчислювальні екземпляри GPU на основі таких показників, як За допомогою сервера висновків Triton ви можете легко створити власний контейнер, який включає вашу модель за допомогою Triton, і перенести його в SageMaker. SageMaker Inference оброблятиме запити та автоматично масштабуватиме контейнер із збільшенням використання, що полегшить розгортання моделі за допомогою Triton на AWS. |
Схема дорожнього руху |
MME ідеально підходять для передбачуваних шаблонів трафіку з моделями, що працюють як DAG на одній кінцевій точці. SageMaker піклується про формування трафіку до кінцевої точки MME та підтримує оптимальні копії моделей на екземплярах GPU для найкращої ціни. Він продовжує направляти трафік до екземпляра, де завантажується модель. Якщо ресурси екземпляра досягають потужності через високу завантаженість, SageMaker вивантажує найменш використовувані моделі з контейнера, щоб звільнити ресурси для завантаження частіше використовуваних моделей. |
Кращі практики
Розгляньте наведені нижче практичні поради.
- Висока когезія та низький зв’язок між моделями – Розміщуйте моделі в одному контейнері з високою згуртованістю (забезпечує функціональність одного бізнесу) та інкапсулюйте їх разом для простоти оновлення та керування. У той же час відокремте ці моделі одна від одної (розмістіть їх в іншому контейнері), щоб ви могли легко оновити одну модель, не впливаючи на інші моделі. Розміщуйте кілька моделей, які використовують різні контейнери за однією кінцевою точкою, а потім запускайте їх незалежно або додайте логіку попередньої та постобробки моделі як послідовний конвеєр висновку.
- Затримка висновку – Згрупуйте моделі, які керуються функціональністю одного бізнесу, і розмістіть їх в одному контейнері, щоб мінімізувати кількість переходів і, таким чином, мінімізувати загальну затримку. Є й інші застереження, наприклад, якщо згруповані моделі використовують кілька фреймворків; ви також можете вибрати розміщення в кількох контейнерах, але працювати на одному хості, щоб зменшити затримку та мінімізувати витрати.
- Логічно згрупуйте моделі ML із високою зв’язністю – Логічна група може складатися з моделей, які є однорідними (наприклад, усі моделі XGBoost) або неоднорідними (наприклад, кілька XGBoost і кілька BERT). Він може складатися з моделей, спільних для кількох бізнес-функцій, або може бути специфічним для виконання лише однієї бізнес-функціональності.
- Спільні моделі – Якщо логічна група складається зі спільних моделей, легкість оновлення моделей і затримка відіграватимуть основну роль в архітектурі кінцевих точок SageMaker. Наприклад, якщо затримка є пріоритетом, краще розмістити всі моделі в одному контейнері за однією кінцевою точкою SageMaker, щоб уникнути кількох переходів. Недоліком є те, що якщо будь-яку з моделей потрібно оновити, це призведе до оновлення всіх відповідних кінцевих точок SageMaker, на яких розміщена ця модель.
- Нерозповсюджені моделі – Якщо логічна група складається лише з моделей із специфічними бізнес-функціями та не використовується спільно з іншими групами, складність упаковки та параметри затримки стануть ключовими для досягнення. Бажано розмістити ці моделі в одному контейнері за однією кінцевою точкою SageMaker.
- Ефективне використання обладнання (CPU, GPU) – Згрупуйте моделі на основі ЦП разом і розмістіть їх на одному хості, щоб ви могли ефективно використовувати ЦП. Подібним чином згрупуйте разом моделі на базі GPU, щоб ви могли ефективно їх використовувати та масштабувати. Існують гібридні робочі навантаження, які вимагають як CPU, так і GPU на одному хості. Розміщення моделей лише з процесором і лише з графічним процесором на одному хості має обумовлюватись високими вимогами до зв’язності та затримки додатків. Крім того, ключовими параметрами, на які слід звернути увагу, є вартість, здатність до масштабування та радіус удару в разі невдачі.
- Фітнес функції – Використовуйте фітнес-функції як орієнтир для вибору варіанту хостингу ML.
Висновок
Що стосується хостингу ML, універсального підходу для всіх не існує. Фахівці з машинного навчання повинні вибрати правильний шаблон дизайну, щоб вирішити свої проблеми хостингу з машинного навчання. Оцінка функцій придатності надає рекомендації щодо вибору правильного варіанту хостингу ML.
Щоб отримати докладніші відомості про кожен із варіантів розміщення, зверніться до наступних публікацій у цій серії:
Про авторів
Дхавал Патель є головним архітектором машинного навчання в AWS. Він працював з організаціями, починаючи від великих підприємств і закінчуючи стартапами середнього розміру, над проблемами, пов’язаними з розподіленими обчисленнями та штучним інтелектом. Він зосереджується на глибокому навчанні, включаючи домени НЛП та комп’ютерного зору. Він допомагає клієнтам досягти високопродуктивної моделі висновку на SageMaker.
Діпалі Раджале є спеціалістом зі штучного інтелекту та ML, технічним менеджером з роботи з клієнтами в Amazon Web Services. Вона працює з корпоративними клієнтами, надаючи технічні рекомендації щодо впровадження рішень машинного навчання з передовим досвідом. У вільний час вона любить піші прогулянки, перегляд фільмів і спілкування з родиною та друзями.
Саураб Тріканде є старшим менеджером із продуктів Amazon SageMaker Inference. Він захоплений роботою з клієнтами та мотивований метою демократизації машинного навчання. Він зосереджується на основних проблемах, пов’язаних із розгортанням складних програм ML, моделями ML з кількома клієнтами, оптимізацією витрат і забезпеченням більшої доступності розгортання моделей глибокого навчання. У вільний час Саураб любить піші прогулянки, вивчає інноваційні технології, стежить за TechCrunch і проводить час із сім’єю.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/model-hosting-patterns-in-amazon-sagemaker-part-1-common-design-patterns-for-building-ml-applications-on-amazon-sagemaker/
- 1
- 10
- 100
- 11
- 39
- 7
- 70
- a
- здатність
- Здатний
- МЕНЮ
- прискорений
- доступ
- доступний
- доступною
- розмістити
- рахунки
- точний
- Achieve
- досягнення
- через
- дію
- активно
- доповнення
- Додатковий
- Додатково
- адреса
- просування
- просунутий
- Перевага
- реклама
- впливати
- після
- агрегація
- Агрегатор
- агресивний
- угоди
- AI
- AI / ML
- тривога
- алгоритми
- ВСІ
- Дозволити
- дозволяє
- вже
- завжди
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- кількість
- аналіз
- аналізувати
- та
- та інфраструктури
- щорічний
- Інший
- Apache
- API
- Apple
- додаток
- застосування
- підхід
- відповідний
- додатка
- архітектура
- ARM
- штучний
- штучний інтелект
- аспекти
- оцінка
- асоційований
- Атрибути
- аудіо
- аудит
- автоматичний
- Автоматизований
- автоматичний
- автоматично
- наявність
- доступний
- середній
- AWS
- назад
- підтриманий
- Banking
- база
- заснований
- оскільки
- ставати
- стає
- перед тим
- за
- буття
- користь
- КРАЩЕ
- передового досвіду
- Краще
- між
- біомедичні
- Блокувати
- Запозичення
- Межі
- Box
- порушення
- Перерва
- приносити
- Приносить
- Бюджети
- будувати
- Створюємо
- побудований
- вбудований
- бізнес
- Бізнес-додатки
- Бізнес-процес
- підприємства
- Кеш
- розрахований
- call
- званий
- гість
- кандидатів
- можливості
- потужність
- який
- випадок
- випадків
- категорії
- Причини
- певний
- Сертифікований
- проблеми
- зміна
- Зміни
- характеристика
- стягується
- Chatbot
- перевірка
- чіп
- вибір
- вибір
- Вибирати
- Вибираючи
- клас
- класифікація
- Класифікувати
- клієнт
- клієнтів
- близько
- хмара
- кластер
- код
- придуманий
- колеги
- збирати
- боротьби з
- поєднання
- об'єднувати
- комбінований
- загальний
- Компанії
- компанія
- порівняний
- повний
- повністю
- комплекс
- складність
- дотримання
- Компоненти
- складається
- компроміс
- обчислювальна потужність
- обчислення
- комп'ютер
- Комп'ютерне бачення
- обчислення
- концепція
- Занепокоєння
- одночасно
- конфігурація
- зв'язку
- послідовний
- спожитий
- Споживачі
- Контейнер
- Контейнери
- містить
- продовжувати
- триває
- безперервний
- контроль
- Core
- Відповідний
- Коштувати
- економія на витратах
- рентабельним
- витрати
- може
- створювати
- створює
- критичний
- вирішальне значення
- Поточний
- виготовлений на замовлення
- клієнт
- Клієнти
- DAG
- дані
- обробка даних
- наука про дані
- вчений даних
- Database
- набори даних
- день
- справу
- рішення
- присвячених
- глибокий
- глибоке навчання
- дефолт
- визначаючи
- доставляти
- Попит
- запити
- Демократизувати
- Залежно
- залежить
- розгортання
- розгорнути
- розгортання
- розгортання
- розгортання
- дизайн
- шаблони дизайну
- призначений
- деталь
- деталі
- Виявлення
- Визначати
- Розробник
- розробка
- діаграми
- різний
- важкий
- розміри
- прямий
- чіткий
- розподілений
- розподілені обчислення
- Різне
- Docker
- документація
- Ні
- домени
- Не знаю
- вниз
- скачати
- зворотний бік
- керований
- впав
- Випадання
- під час
- динамічний
- кожен
- Раніше
- легше
- легко
- Ефективний
- фактично
- ефективність
- Ефективність
- ефективний
- продуктивно
- зусилля
- або
- усуваючи
- включіть
- дозволяє
- шифрування
- кінець в кінець
- Кінцева точка
- Машинобудування
- Інженери
- досить
- забезпечувати
- гарантує
- підприємство
- підприємств
- Весь
- Навколишнє середовище
- помилка
- помилки
- особливо
- оцінюється
- оцінки
- Навіть
- Event
- все
- еволюція
- приклад
- Приклади
- обмін
- експонати
- очікувати
- очікуваний
- досвід
- Досліди
- дослідити
- вирази
- зовнішній
- додатково
- Face
- фактори
- Провал
- достатньо
- сімей
- сім'я
- швидше
- особливість
- риси
- годування
- кілька
- остаточний
- Перший
- перший раз
- фітнес
- ФЛЕТ
- Гнучкість
- потік
- коливатися
- фокусується
- після
- слідує
- Ford
- форма
- форми
- дробові
- Рамки
- каркаси
- шахрайство
- виявлення шахрайства
- Безкоштовна
- частота
- часто
- друзі
- від
- Фрукти
- Повний
- повністю
- функція
- функціональні можливості
- функціональність
- Функції
- далі
- GDPR
- Загальне
- генерується
- породжує
- отримати
- Давати
- даний
- мета
- Цілі
- добре
- GPU
- Графічні процесори
- графік
- великий
- великий
- значно
- Group
- Групи
- Рости
- керівництво
- обробляти
- Ручки
- мобільний
- апаратні засоби
- має
- здоров'я
- охорона здоров'я
- допомога
- допомогу
- допомагає
- тут
- Високий
- висока продуктивність
- висока роздільна здатність
- вище
- хіт
- Горизонтальний
- господар
- відбувся
- хостинг
- витрати на хостинг
- послуги хостингу
- Як
- Однак
- HTML
- HTTPS
- Сотні
- гібрид
- ідеальний
- Особистість
- Idle
- зображення
- Класифікація зображень
- зображень
- непорушний
- Impact
- вплив
- Вплив
- здійснювати
- реалізовані
- реалізації
- важливо
- удосконалювати
- поліпшення
- in
- включати
- includes
- У тому числі
- Вхідний
- Augmenter
- збільшений
- Збільшує
- зростаючий
- незалежний
- самостійно
- індивідуальний
- інформація
- Інфраструктура
- початковий
- інноваційний
- інноваційні технології
- вхід
- установка
- екземпляр
- замість
- інтегрувати
- інтеграція
- Інтелект
- інтерактивний
- залучати
- ISO
- ізоляція
- IT
- робота
- Джобс
- ключ
- ключі
- Знати
- відомий
- великий
- більше
- Затримка
- запуск
- запуски
- запуск
- вести
- провідний
- Веде за собою
- УЧИТЬСЯ
- вивчення
- Залишати
- Led
- рівень
- libraries
- підйомний
- обмеженою
- рамки
- список
- жити
- загрузка
- погрузка
- вантажі
- розташування
- Довго
- довше
- подивитися
- програш
- серія
- низький
- машина
- навчання за допомогою машини
- made
- головний
- підтримувати
- підтримує
- основний
- зробити
- РОБОТИ
- Робить
- управляти
- вдалося
- управління
- менеджер
- управляє
- управління
- багато
- Маркетинг
- математичний
- Матерія
- Максимізувати
- максимальний
- засоби
- Зустрічатися
- пам'ять
- метод
- методика
- метрика
- Метрика
- може бути
- мінімальний
- мінімальний
- хвилин
- Змішування
- ML
- режим
- модель
- Моделі
- монітор
- моніторинг
- місяць
- місяців
- більше
- найбільш
- мотивовані
- кіно
- Мультимодельна кінцева точка
- множинний
- безліч
- природа
- необхідно
- Необхідність
- потреби
- мережу
- Нові
- наступний
- nlp
- сповіщення
- Повідомлення
- номер
- Nvidia
- об'єкт
- мета
- цілей
- отримання
- іноді
- пропонувати
- Пропозиції
- offline
- ONE
- онлайн
- з відкритим вихідним кодом
- працювати
- працює
- операційний
- оперативний
- операції
- Оператори
- оптимальний
- оптимізація
- Оптимізувати
- оптимізований
- Оптимізує
- оптимізуючий
- варіант
- Опції
- помаранчевий
- порядок
- організації
- Інше
- видатний
- загальний
- власний
- власність
- пакет
- упаковка
- параметри
- частина
- приватність
- партнер
- Пройшов
- пристрасний
- Патчі
- Викрійки
- моделі
- Платити
- Peak
- Виконувати
- продуктивність
- виконанні
- period
- періодичний
- періодів
- Втілення
- Персоналізовані
- вибирати
- трубопровід
- місце
- місця
- запланований
- плани
- платформа
- Платформи
- plato
- Інформація про дані Платона
- PlatoData
- Play
- плюс
- Політика
- політика
- популярний
- це можливо
- пошта
- Пости
- влада
- практика
- практики
- Передбачуваний
- прогнозування
- прогноз
- Прогнози
- переважним
- раніше
- price
- Головний
- пріоритет
- приватний
- Проблема
- проблеми
- процес
- Оброблено
- процеси
- обробка
- процесори
- Product
- менеджер по продукції
- Production
- Продукти
- профіль
- правильний
- забезпечувати
- за умови
- забезпечує
- забезпечення
- забезпечення
- повноваження
- мета
- Штовхати
- піторх
- швидко
- діапазон
- ранжування
- швидко
- ставка
- ставки
- досягати
- Досягає
- Читати
- готовий
- реальний
- Реальний світ
- реального часу
- отримати
- отримано
- отримує
- рекомендувати
- Рекомендація
- рекомендації
- рекомендований
- рекомендуючи
- рекомендує
- повторювані
- зменшити
- знижує
- відноситься
- Незалежно
- регулярний
- пов'язаний
- Релізи
- доречний
- залишається
- Сховище
- представлений
- представляє
- запросити
- запитів
- вимагати
- вимагається
- вимога
- Вимога
- Вимагається
- ресурс
- ресурси
- відповідь
- REST
- результат
- в результаті
- результати
- роздрібна торгівля
- Умови повернення
- огляд
- Risk
- Роль
- корінь
- Маршрут
- Правило
- прогін
- біг
- SaaS
- мудрець
- Висновок SageMaker
- заробітна плата
- то ж
- зберегти
- економія
- Економія
- масштабовані
- шкала
- ваги
- Масштабування
- сценарії
- розклад
- плановий
- наука
- вчений
- другий
- seconds
- розділ
- розділам
- безпечно
- безпеку
- вибирає
- вибір
- старший
- чутливий
- Послідовність
- послідовний
- Серія
- служити
- Без сервера
- Сервери
- служить
- обслуговування
- Послуги
- виступаючої
- комплект
- установка
- кілька
- формуючи
- Поділитись
- загальні
- Зміни
- Повинен
- Шоу
- значний
- істотно
- аналогічний
- Аналогічно
- простий
- один
- Розмір
- розміри
- невеликий
- менше
- So
- Софтвер
- рішення
- Рішення
- деякі
- Джерела
- Простір
- спеціаліст
- спеціалізований
- конкретний
- конкретно
- зазначений
- швидкість
- Витрати
- шипи
- стабільний
- стек
- Стеки
- старт
- почалася
- починається
- введення в експлуатацію
- Стартапи
- стійкий
- Крок
- заходи
- Як і раніше
- Зупиняє
- зберігання
- зберігати
- стратегії
- потоковий
- Strict
- сильно
- наступні
- успіх
- успішний
- такі
- достатній
- підходящий
- підтримка
- Підтриманий
- Опори
- сплеск
- таблиця
- Приймати
- приймає
- Мета
- цільове
- Завдання
- завдання
- команда
- команди
- TechCrunch
- технічний
- Технології
- орендар
- тензорний потік
- тест
- Тестування
- Команда
- їх
- самі
- тим самим
- отже
- тисячі
- три
- поріг
- через
- по всьому
- пропускна здатність
- час
- times
- до
- разом
- занадто
- інструмент
- Усього:
- TPS
- Відстеження
- трафік
- поїзд
- навчений
- Навчання
- транзакційний
- Transactions
- Перетворення
- Перетворення
- перетворення
- транзит
- прозорий
- викликати
- Triton
- ПЕРЕГЛЯД
- Типи
- типовий
- типово
- при
- що лежить в основі
- розуміти
- створеного
- одиниць
- непередбачуваний
- невикористаний
- Оновити
- Updates
- модернізація
- підвищений
- час безвідмовної роботи
- Використання
- використання
- використання випадку
- користувач
- користувачі
- зазвичай
- використовувати
- використовувати
- ПЕРЕВІР
- значення
- Цінності
- варіант
- різний
- через
- Відео
- Відео
- вид
- Віртуальний
- бачення
- обсяг
- Голосувати
- голосів
- Відходи
- Web
- веб-сервіси
- week
- Що
- Що таке
- який
- в той час як
- широкий
- Широкий діапазон
- волі
- в
- без
- Work
- працював
- робочий
- робочі
- робочий
- працює
- світ
- б
- XGBoost
- рік
- Ти
- вашу
- зефірнет
- нуль