Создатель мудреца Амазонки многомодельные конечные точки (MME) — это полностью управляемая возможность вывода SageMaker, которая позволяет развертывать тысячи моделей на одной конечной точке. Раньше MME заранее определяли вычислительную мощность ЦП для моделей статически независимо от нагрузки трафика модели, используя Мультимодельный сервер (MMS) в качестве модельного сервера. В этом посте мы обсуждаем решение, в котором MME может динамически регулировать вычислительную мощность, назначенную каждой модели, в зависимости от структуры трафика модели. Это решение позволяет более эффективно использовать базовые вычислительные ресурсы MME и сократить расходы.
MME динамически загружают и выгружают модели на основе входящего трафика к конечной точке. При использовании MMS в качестве сервера модели MME выделяют фиксированное количество рабочих моделей для каждой модели. Для получения дополнительной информации см. Шаблоны размещения моделей в Amazon SageMaker, часть 3. Запуск и оптимизация мультимодельного логического вывода с помощью мультимодельных конечных точек Amazon SageMaker.
Однако это может привести к некоторым проблемам, если структура вашего трафика непостоянна. Допустим, у вас есть одна или несколько моделей, получающих большой объем трафика. Вы можете настроить MMS для выделения большого количества рабочих процессов для этих моделей, но это будет назначено всем моделям, лежащим в основе MME, поскольку это статическая конфигурация. Это приводит к тому, что большое количество работников использует аппаратные вычисления — даже модели, работающие в режиме ожидания. Противоположная проблема может возникнуть, если вы установите небольшое значение количества рабочих. Популярные модели не будут иметь достаточного количества работников на уровне сервера модели, чтобы правильно распределить достаточное количество оборудования за конечной точкой для этих моделей. Основная проблема заключается в том, что трудно оставаться независимым от структуры трафика, если вы не можете динамически масштабировать своих рабочих процессов на уровне сервера модели для выделения необходимого объема вычислений.
Решение, которое мы обсуждаем в этом посте, использует DJLСервировка в качестве сервера модели, который может помочь смягчить некоторые проблемы, которые мы обсуждали, а также обеспечить масштабирование для каждой модели и сделать MME независимыми от шаблона трафика.
Архитектура ММЕ
MME SageMaker позволяют развертывать несколько моделей за одной конечной точкой вывода, которая может содержать один или несколько экземпляров. Каждый экземпляр предназначен для загрузки и обслуживания нескольких моделей в пределах своей памяти и мощности ЦП/ГП. Благодаря этой архитектуре бизнес «программное обеспечение как услуга» (SaaS) может избежать линейно растущей стоимости хостинга нескольких моделей и добиться повторного использования инфраструктуры в соответствии с моделью мультиарендности, применяемой в других частях стека приложений. Следующая диаграмма иллюстрирует эту архитектуру.
SageMaker MME динамически загружает модели из Простой сервис хранения Amazon (Amazon S3) при вызове вместо загрузки всех моделей при первом создании конечной точки. В результате первоначальный вызов модели может иметь более высокую задержку вывода, чем последующие выводы, которые выполняются с низкой задержкой. Если модель уже загружена в контейнер при вызове, шаг загрузки пропускается, и модель возвращает выводы с низкой задержкой. Например, предположим, что у вас есть модель, которая используется всего несколько раз в день. Он автоматически загружается по требованию, тогда как часто используемые модели сохраняются в памяти и вызываются с неизменно низкой задержкой.
За каждым MME стоят экземпляры хостинга модели, как показано на следующей схеме. Эти экземпляры загружают и удаляют несколько моделей из памяти и обратно в зависимости от шаблонов трафика к моделям.
SageMaker продолжает направлять запросы на вывод модели в тот экземпляр, где модель уже загружена, так что запросы обслуживаются из кэшированной копии модели (см. следующую диаграмму, на которой показан путь запроса для первого запроса на прогнозирование по сравнению с кэшированным прогнозом). путь запроса). Однако если модель получает много запросов на вызов и имеются дополнительные экземпляры для MME, SageMaker направляет некоторые запросы в другой экземпляр, чтобы учесть увеличение. Чтобы воспользоваться преимуществами автоматического масштабирования модели в SageMaker, убедитесь, что у вас есть настройка автоматического масштабирования экземпляра для предоставления дополнительной емкости экземпляра. Настройте политику масштабирования на уровне конечной точки с помощью настраиваемых параметров или вызовов в минуту (рекомендуется), чтобы добавить больше экземпляров в парк конечных точек.
Обзор модельного сервера
Сервер моделей — это программный компонент, который обеспечивает среду выполнения для развертывания и обслуживания моделей машинного обучения (ML). Он действует как интерфейс между обученными моделями и клиентскими приложениями, которые хотят делать прогнозы с использованием этих моделей.
Основная цель сервера моделей — обеспечить легкую интеграцию и эффективное развертывание моделей машинного обучения в производственных системах. Вместо внедрения модели непосредственно в приложение или конкретную платформу сервер модели предоставляет централизованную платформу, на которой можно развертывать, управлять и обслуживать несколько моделей.
Модельные серверы обычно предлагают следующие функции:
- Загрузка модели – Сервер загружает обученные модели машинного обучения в память, готовя их к предоставлению прогнозов.
- API вывода – Сервер предоставляет API, который позволяет клиентским приложениям отправлять входные данные и получать прогнозы из развернутых моделей.
- Масштабирование – Модельные серверы предназначены для обработки одновременных запросов от нескольких клиентов. Они предоставляют механизмы для параллельной обработки и эффективного управления ресурсами, чтобы обеспечить высокую пропускную способность и низкую задержку.
- Интеграция с серверными движками – Серверы моделей интегрированы с серверными платформами, такими как DeepSpeed и FasterTransformer, для разделения больших моделей и выполнения высокооптимизированных выводов.
DJL-архитектура
Обслуживание DJL — это высокопроизводительный сервер универсальной модели с открытым исходным кодом. DJL Serving построен на основе Djl, библиотека глубокого обучения, написанная на языке программирования Java. Он может взять модель глубокого обучения, несколько моделей или рабочих процессов и сделать их доступными через конечную точку HTTP. DJL Serving поддерживает развертывание моделей из нескольких платформ, таких как PyTorch, TensorFlow, Apache MXNet, ONNX, TensorRT, Hugging Face Transformers, DeepSpeed, FasterTransformer и других.
DJL Serving предлагает множество функций, которые позволяют вам развертывать ваши модели с высокой производительностью:
- Простота в использовании – DJL Serving может обслуживать большинство моделей без дополнительной настройки. Просто принесите артефакты модели, и DJL Serving сможет их разместить.
- Поддержка нескольких устройств и ускорителей – DJL Serving поддерживает развертывание моделей на ЦП, графическом процессоре и Вывод AWS.
- Перфоманс – DJL Serving выполняет многопоточный вывод в одной JVM для повышения пропускной способности.
- Динамическое пакетирование – DJL Serving поддерживает динамическую пакетную обработку для увеличения пропускной способности.
- Автоматическое масштабирование – DJL Serving автоматически масштабирует рабочие процессы вверх и вниз в зависимости от нагрузки трафика.
- Поддержка нескольких двигателей – DJL Serving может одновременно размещать модели, используя разные платформы (например, PyTorch и TensorFlow).
- Модели ансамбля и рабочего процесса – DJL Serving поддерживает развертывание сложных рабочих процессов, состоящих из нескольких моделей, и запускает часть рабочего процесса на ЦП, а часть — на графическом процессоре. Модели в рабочем процессе могут использовать разные платформы.
В частности, функция автоматического масштабирования DJL Serving позволяет легко обеспечить масштабирование моделей в соответствии с входящим трафиком. По умолчанию DJL Serving определяет максимальное количество рабочих процессов для модели, которое может поддерживаться на основе доступного оборудования (ядер ЦП, устройств с графическим процессором). Вы можете установить нижнюю и верхнюю границы для каждой модели, чтобы гарантировать, что минимальный уровень трафика всегда может обслуживаться и что одна модель не потребляет все доступные ресурсы.
DJL Serving использует Нетти интерфейс поверх пулов внутренних рабочих потоков. Интерфейс использует одну настройку Netty с несколькими Обработчики HTTP-запросов. Различные обработчики запросов будут обеспечивать поддержку API вывода, API управленияили другие API, доступные в различных плагинах.
Бэкэнд основан на Менеджер рабочей нагрузки (WLM) модуль. WLM заботится о нескольких рабочих потоках для каждой модели, а также о пакетной обработке и маршрутизации запросов к ним. При обслуживании нескольких моделей WLM сначала проверяет размер очереди запросов на вывод каждой модели. Если размер очереди более чем в два раза превышает размер пакета модели, WLM увеличивает количество рабочих, назначенных этой модели.
Обзор решения
Реализация DJL с MME отличается от настройки MMS по умолчанию. Для обслуживания DJL с помощью MME мы сжимаем следующие файлы в формате model.tar.gz, который ожидает SageMaker Inference:
- модель.joblib – Для этой реализации мы напрямую помещаем метаданные модели в архив. В этом случае мы работаем с
.joblib
файл, поэтому мы предоставляем этот файл в нашем архиве для чтения нашим сценарием вывода. Если артефакт слишком велик, вы также можете отправить его в Amazon S3 и указать на него в конфигурации обслуживания, которую вы определяете для DJL. - обслуживающие.свойства – Здесь вы можете настроить любую модель, связанную с сервером переменные среды. Сила DJL в том, что вы можете настроить
minWorkers
иmaxWorkers
для каждой модели в архиве. Это позволяет масштабировать каждую модель вверх и вниз на уровне сервера модели. Например, если особая модель получает большую часть трафика для MME, сервер модели будет динамически масштабировать рабочие процессы. В этом примере мы не настраиваем эти переменные и позволяем DJL определить необходимое количество воркеров в зависимости от нашей структуры трафика. - модель.py – Это сценарий вывода для любой пользовательской предварительной или постобработки, которую вы хотите реализовать. model.py ожидает, что ваша логика будет инкапсулирована в методе handle по умолчанию.
- требования.txt (необязательно) – По умолчанию DJL устанавливается вместе с PyTorch, но сюда можно добавить любые дополнительные зависимости.
В этом примере мы продемонстрируем возможности DJL с MME, взяв образец модели SKLearn. Мы запускаем обучающее задание с этой моделью, а затем создаем 1,000 копий артефакта этой модели для поддержки нашего MME. Затем мы покажем, как DJL может динамически масштабироваться для обработки любого типа трафика, который может получать ваш MME. Это может включать равномерное распределение трафика по всем моделям или даже нескольким популярным моделям, получающим большую часть трафика. Вы можете найти весь код в следующем Репо GitHub.
Предпосылки
В этом примере мы используем экземпляр блокнота SageMaker с ядром conda_python3 и экземпляром ml.c5.xlarge. Для выполнения нагрузочных тестов вы можете использовать Эластичное вычислительное облако Amazon (Amazon EC2) или более крупный экземпляр блокнота SageMaker. В этом примере мы масштабируемся до более чем тысячи транзакций в секунду (TPS), поэтому мы предлагаем провести тестирование на более тяжелом экземпляре EC2, таком как ml.c5.18xlarge, чтобы у вас было больше вычислительных ресурсов для работы.
Создание артефакта модели
Сначала нам нужно создать артефакт модели и данные, которые мы используем в этом примере. В этом случае мы генерируем некоторые искусственные данные с помощью NumPy и обучаем их с помощью модели линейной регрессии SKLearn со следующим фрагментом кода:
После запуска предыдущего кода у вас должен быть model.joblib
файл, созданный в вашей локальной среде.
Извлеките образ DJL Docker.
Образ Docker djl-inference:0.23.0-cpu-full-v1.0 — это наш контейнер обслуживания DJL, используемый в этом примере. Вы можете настроить следующий URL-адрес в зависимости от вашего региона:
inference_image_uri = "474422712127.dkr.ecr.us-east-1.amazonaws.com/djl-serving-cpu:latest"
При желании вы также можете использовать этот образ в качестве базового образа и расширить его для создания собственного образа Docker. Реестр Amazon Elastic Container (Amazon ECR) с любыми другими зависимостями, которые вам нужны.
Создайте файл модели
Сначала мы создаем файл с именем serving.properties
. Это указывает DJLServing использовать движок Python. Мы также определяем max_idle_time
работника составит 600 секунд. Это гарантирует, что нам понадобится больше времени, чтобы сократить количество работников на каждую модель. Мы не подстраиваемся minWorkers
и maxWorkers
которые мы можем определить, и позволяем DJL динамически рассчитывать количество необходимых работников в зависимости от трафика, который получает каждая модель. serving.properties отображается следующим образом. Полный список опций конфигурации см. Конфигурация двигателя.
Затем мы создаем файл model.py, который определяет логику загрузки модели и вывода. Для MME каждый файл model.py специфичен для модели. Модели хранятся в своих собственных путях в хранилище моделей (обычно /opt/ml/model/
). При загрузке моделей они будут загружаться по пути к хранилищу моделей в своем собственном каталоге. Полный пример model.py в этой демонстрации можно увидеть в Репо GitHub.
Мы создаем model.tar.gz
файл, который включает в себя нашу модель (model.joblib
), model.py
и serving.properties
:
В демонстрационных целях мы делаем 1,000 экземпляров одного и того же. model.tar.gz
файл, представляющий большое количество моделей, которые будут размещены. В производстве вам необходимо создать model.tar.gz
файл для каждой из ваших моделей.
Наконец, мы загружаем эти модели на Amazon S3.
Создайте модель SageMaker
Теперь мы создаем Модель SageMaker. Мы используем изображение ECR, определенное ранее, и артефакт модели из предыдущего шага для создания модели SageMaker. При настройке модели мы настраиваем Mode как MultiModel. Это сообщает DJLServing, что мы создаем MME.
Создайте конечную точку SageMaker
В этой демонстрации мы используем 20 экземпляров ml.c5d.18xlarge для масштабирования до TPS в тысячном диапазоне. При необходимости обязательно получите увеличение лимита для вашего типа инстанса, чтобы достичь целевого показателя TPS.
Тестирование нагрузки
На момент написания статьи использовался собственный инструмент нагрузочного тестирования SageMaker. Рекомендатор выводов Amazon SageMaker изначально не поддерживает тестирование MME. Поэтому мы используем инструмент Python с открытым исходным кодом. саранча. Locust прост в настройке и может отслеживать такие показатели, как TPS и сквозная задержка. Для полного понимания того, как настроить его с помощью SageMaker, см. Рекомендации по нагрузочному тестированию конечных точек логического вывода Amazon SageMaker в реальном времени.
В этом варианте использования у нас есть три разных шаблона трафика, которые мы хотим имитировать с помощью MME, поэтому у нас есть следующие три сценария Python, которые соответствуют каждому шаблону. Наша цель — доказать, что независимо от структуры нашего трафика мы можем достичь одного и того же целевого TPS и соответствующим образом масштабироваться.
Мы можем указать вес в нашем скрипте Locust, чтобы распределить трафик по различным частям нашей модели. Например, в нашей единственной горячей модели мы реализуем два метода следующим образом:
Затем мы можем присвоить каждому методу определенный вес, то есть, когда определенный метод получает определенный процент трафика:
Для 20 экземпляров ml.c5d.18xlarge мы видим следующие метрики вызова на Amazon CloudWatch консоль. Эти значения остаются достаточно постоянными для всех трех моделей трафика. Чтобы лучше понять метрики CloudWatch для вывода SageMaker в реальном времени и MME, см. Показатели вызова SageMaker Endpoint.
Остальные скрипты Locust вы можете найти в каталог locust-utils в репозитории GitHub.
Обзор
В этом посте мы обсудили, как MME может динамически регулировать вычислительную мощность, назначенную каждой модели, в зависимости от структуры трафика модели. Эта недавно запущенная функция доступна во всех регионах AWS, где доступен SageMaker. Обратите внимание, что на момент анонса поддерживаются только экземпляры ЦП. Чтобы узнать больше, обратитесь к Поддерживаемые алгоритмы, платформы и экземпляры.
Об авторах
Рам Вегираджу является архитектором машинного обучения в команде SageMaker Service. Он помогает клиентам создавать и оптимизировать свои решения AI/ML на Amazon SageMaker. В свободное время любит путешествовать и писать.
Цинвэй Ли является специалистом по машинному обучению в Amazon Web Services. Он получил докторскую степень. в исследованиях операций после того, как он нарушил счет своего советника на исследовательский грант и не смог вручить обещанную Нобелевскую премию. В настоящее время он помогает клиентам в сфере финансовых услуг и страхования создавать решения для машинного обучения на AWS. В свободное время любит читать и преподавать.
Джеймс Ву является старшим специалистом по архитектуре решений AI/ML в AWS. помогая клиентам разрабатывать и создавать решения AI/ML. Работа Джеймса охватывает широкий спектр вариантов использования машинного обучения, в первую очередь интересуясь компьютерным зрением, глубоким обучением и масштабированием машинного обучения на предприятии. До прихода в AWS Джеймс более 10 лет был архитектором, разработчиком и руководителем технологий, в том числе 6 лет в области проектирования и 4 года в сфере маркетинга и рекламы.
Саураб Триканде является старшим менеджером по продуктам Amazon SageMaker Inference. Он увлечен работой с клиентами и мотивирован целью демократизации машинного обучения. Он фокусируется на основных проблемах, связанных с развертыванием сложных приложений машинного обучения, мультитенантных моделей машинного обучения, оптимизацией затрат и обеспечением более доступного развертывания моделей глубокого обучения. В свободное время Саураб любит ходить в походы, узнавать об инновационных технологиях, следить за TechCrunch и проводить время со своей семьей.
Сюй Дэн — менеджер инженера-программиста в команде SageMaker. Он специализируется на оказании помощи клиентам в создании и оптимизации их опыта вывода AI/ML в Amazon SageMaker. В свободное время любит путешествовать и кататься на сноуборде.
Сиддхартх Венкатесан — инженер-программист в AWS Deep Learning. В настоящее время он занимается созданием решений для вывода больших моделей. До AWS он работал в организации Amazon Grocery, разрабатывая новые платежные функции для клиентов по всему миру. Вне работы он любит кататься на лыжах, отдыхать на природе и смотреть спортивные состязания.
Рохит Налламадди является инженером-разработчиком программного обеспечения в AWS. Он работает над оптимизацией рабочих нагрузок глубокого обучения на графических процессорах, созданием высокопроизводительных логических выводов машинного обучения и обслуживанием решений. До этого он занимался созданием микросервисов на базе AWS для бизнеса Amazon F3. Вне работы он любит играть и смотреть спортивные состязания.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/run-ml-inference-on-unplanned-and-spiky-traffic-using-amazon-sagemaker-multi-model-endpoints/
- :является
- :куда
- $UP
- 000
- 1
- 10
- 100
- 116
- 118
- 12
- 16
- 17
- 20
- 23
- 31
- 600
- 7
- 9
- a
- О нас
- ускоритель
- Доступ
- доступной
- вмещать
- Учетная запись
- Достигать
- через
- акты
- Добавить
- дополнительный
- плюс
- Реклама
- После
- AI / ML
- алгоритмы
- выравнивать
- Все
- выделять
- выделено
- позволять
- позволяет
- вдоль
- уже
- причислены
- всегда
- Amazon
- Amazon EC2
- Создатель мудреца Амазонки
- Amazon Web Services
- количество
- an
- и
- Объявление
- Другой
- любой
- апаш
- API
- API
- Применение
- Приложения
- прикладной
- надлежащим образом
- архитектура
- МЫ
- около
- искусственный
- AS
- назначенный
- предполагать
- At
- автоматический
- Автоматизированный
- автоматически
- доступен
- AWS
- назад
- Backend
- Использование темпера с изогнутым основанием
- основанный
- дозирующий
- BE
- , так как:
- за
- Лучшая
- между
- тело
- повышение
- оценки
- Коробка
- Ломать
- приносить
- Сломался
- строить
- Строительство
- построенный
- бизнес
- но
- by
- под названием
- CAN
- возможности
- Пропускная способность
- заботится
- случаев
- случаев
- ячейка
- централизованная
- определенный
- проблемы
- Проверки
- класс
- клиент
- клиентов
- код
- выходит
- полный
- Заполненная
- комплекс
- компонент
- Состоит
- Вычисление
- компьютер
- Компьютерное зрение
- вычисление
- вычислительная мощность
- параллельный
- Конфигурация
- последовательный
- последовательно
- Консоли
- потреблять
- содержать
- Container
- контекст
- продолжается
- Основные
- Цена
- Расходы
- Обложки
- Создайте
- создали
- Создающий
- В настоящее время
- изготовленный на заказ
- Клиенты
- данным
- день
- глубоко
- глубокое обучение
- По умолчанию
- определять
- определенный
- Определяет
- доставить
- Спрос
- демонстрация
- Демократизация
- Зависимости
- в зависимости
- изображенный
- развертывание
- развернуть
- развертывание
- развертывание
- Проект
- предназначенный
- Определять
- определяет
- Застройщик
- Развитие
- устройство
- Устройства
- диаграмма
- различный
- трудный
- непосредственно
- каталог
- обсуждать
- обсуждается
- распределение
- Docker
- не
- Dont
- вниз
- скачать
- загрузка
- динамический
- динамично
- каждый
- Ранее
- эффективный
- эффективно
- легкий
- или
- в другом месте
- вложения
- включить
- позволяет
- инкапсулированный
- впритык
- Конечная точка
- Двигатель
- инженер
- Проект и
- достаточно
- обеспечивать
- Предприятие
- Окружающая среда
- ошибка
- Даже
- пример
- исключение
- ожидается
- надеется
- опыт
- продлить
- Face
- Oшибка
- достаточно
- семья
- Особенность
- Особенности
- несколько
- Файл
- Файлы
- финансовый
- финансовая служба
- Найдите
- Во-первых,
- фиксированной
- ФЛОТ
- фокусируется
- после
- следующим образом
- Что касается
- формат
- Рамки
- каркасы
- часто
- от
- Frontend
- полный
- полностью
- функциональные возможности
- порождать
- получить
- получает
- GitHub
- цель
- GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР
- Графические процессоры
- предоставлять
- большой
- обрабатывать
- происходить
- Аппаратные средства
- Есть
- he
- помощь
- помощь
- помогает
- здесь
- High
- высший
- очень
- его
- кашель
- состоялся
- хостинг
- ГОРЯЧИЙ
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- Idle
- if
- иллюстрирует
- изображение
- осуществлять
- реализация
- Импортировать
- in
- включают
- включает в себя
- В том числе
- Входящий
- Увеличение
- повышение
- промышленности
- промышленность
- информация
- Инфраструктура
- начальный
- инновационный
- инновационные технологии
- вход
- установлен
- пример
- вместо
- страхование
- интеграции.
- интеграций
- интерес
- Интерфейс
- в
- вызывается
- вопрос
- вопросы
- IT
- ЕГО
- Джеймс
- Java
- работа
- присоединение
- JPG
- всего
- язык
- большой
- больше
- Задержка
- последний
- запустили
- вести
- лидер
- Лиды
- УЧИТЬСЯ
- изучение
- позволять
- уровень
- Библиотека
- такое как
- нравится
- ОГРАНИЧЕНИЯ
- линейный
- Список
- загрузка
- погрузка
- грузы
- локальным
- логика
- дольше
- любит
- Низкий
- ниже
- машина
- обучение с помощью машины
- Главная
- Большинство
- сделать
- ДЕЛАЕТ
- Создание
- управляемого
- менеджер
- управления
- многих
- Маркетинг
- Маркетинг и реклама
- максимальный
- Май..
- механизмы
- Память
- Метаданные
- метод
- методы
- Метрика
- microservices
- может быть
- минимальный
- минут
- смягчать
- ML
- режим
- модель
- Модели
- Модули
- БОЛЕЕ
- самых
- мотивированные
- с разными
- имя
- изначально
- необходимо
- Необходимость
- необходимый
- Новые
- вновь
- нобелевская торговая точка
- Ничто
- в своих размышлениях
- ноутбук
- сейчас
- номер
- NumPy
- of
- предлагают
- Предложения
- on
- ONE
- только
- открытый
- с открытым исходным кодом
- Операционный отдел
- противоположность
- оптимизации
- Оптимизировать
- оптимизированный
- оптимизирующий
- Опции
- or
- Другое
- наши
- внешний
- на открытом воздухе
- выходной
- внешнюю
- за
- собственный
- Параллельные
- параметры
- часть
- особый
- части
- страстный
- путь
- пути
- шаблон
- паттеранами
- оплата
- для
- процент
- Выполнять
- производительность
- труба
- Платформа
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- игры
- плагины
- Точка
- политика
- Пулы
- Популярное
- После
- мощностью
- практиками
- предшествующий
- прогноз
- Predictions
- предыдущий
- предварительно
- первичный
- Предварительный
- приз
- Проблема
- процесс
- обработка
- Продукт
- Менеджер по продукции
- Производство
- Программирование
- обещанный
- должным образом
- свойства
- Доказывать
- обеспечивать
- приводит
- обеспечение
- цель
- целей
- Push
- толкнул
- Питон
- pytorch
- случайный
- ассортимент
- Читать
- Reading
- готовый
- реального времени
- Получать
- получила
- получает
- получение
- Управление по борьбе с наркотиками (DEA)
- относиться
- Несмотря на
- область
- районы
- Связанный
- оставаться
- замещать
- хранилище
- представлять
- запросить
- Запросы
- Требования
- исследованиям
- Полезные ресурсы
- ответ
- ОТДЫХ
- результат
- Возвращает
- снова использовать
- дорога
- маршруты
- маршрутизация
- Run
- работает
- время выполнения
- SaaS
- sagemaker
- Вывод SageMaker
- то же
- образец
- Сохранить
- сообщили
- Шкала
- масштабируется
- Весы
- масштабирование
- скрипт
- скрипты
- Во-вторых
- секунды
- посмотреть
- видел
- SELF
- Отправить
- старший
- служить
- служил
- сервер
- Серверы
- обслуживание
- Услуги
- выступающей
- набор
- Наборы
- установка
- несколько
- должен
- демонстрации
- показанный
- Шоу
- просто
- имитировать
- одновременно
- одинарной
- единственное число
- Размер
- небольшой
- отрывок
- So
- Software
- программное обеспечение как услуга
- разработка программного обеспечения
- Инженер-программист
- Решение
- Решения
- некоторые
- Источник
- специалист
- конкретный
- Расходы
- раскол
- Спорт
- стек
- статический
- Шаг
- диск
- магазин
- хранить
- простой
- последующее
- такие
- предлагать
- поддержка
- Поддержанный
- Поддержка
- Убедитесь
- системы
- взять
- принимает
- с
- цель
- направлены
- Обучение
- команда
- TechCrunch
- технологии
- Технологии
- говорит
- tensorflow
- Тестирование
- тестов
- чем
- который
- Ассоциация
- их
- Их
- тогда
- Там.
- следовательно
- Эти
- они
- этой
- те
- тысяча
- тысячи
- три
- Через
- пропускная способность
- время
- раз
- в
- слишком
- инструментом
- топ
- к
- TPS
- трек
- трафик
- Train
- специалистов
- Обучение
- Сделки
- трансформеры
- Путешествие
- стараться
- два
- напишите
- типично
- под
- лежащий в основе
- понимать
- понимание
- Universal
- URL
- использование
- прецедент
- используемый
- использования
- через
- обычно
- Использующий
- ценностное
- Наши ценности
- переменная
- различный
- видение
- vs
- хотеть
- законопроект
- наблюдение
- we
- Web
- веб-сервисы
- вес
- Что
- когда
- в то время как
- который
- широкий
- Широкий диапазон
- будете
- в
- Работа
- работавший
- работник
- рабочие
- рабочий
- Рабочие процессы
- работает
- работает
- бы
- письмо
- письменный
- X
- лет
- Ты
- ВАШЕ
- зефирнет