Выпущены дополнительные возможности Infinity API (см. анонс здесь)!

Наша цель в Infinity AI — дать возможность инженерам машинного обучения быстрее создавать лучшие модели. Распространенным узким местом в обучении моделей машинного обучения является отсутствие доступа к правильно размеченным данным. Вот почему мы рады объявить о запуске бета-версии нашего Infinity API. API дает вам возможность генерировать нужные вам данные (плюс метки!) всего несколькими нажатиями клавиш.

Вернитесь к интересной части разработки модели машинного обучения. С Infinity API вам больше никогда не придется ждать данных.

Зарегистрироваться Сегодня

Мы открываем бета-версию Infinity API для избранного числа инженеров машинного обучения. Присоединяйтесь к списку ожидания прямо сейчас: http://eepurl.com/hWouej

Итак, что я могу сделать с API?

Создавайте данные, созданные в соответствии с вашей спецификацией

Бета-версия нашего API позволяет создавать те же типы видео, что и в нашем наборе данных InfiniteRep (фитнес-упражнения в домашних условиях), но с учетом ваших требований. Ознакомьтесь с набором данных InfiniteRep с открытым исходным кодом здесь.

Ядром платформы Infinity является параметризованный генератор. API дает вам явный контроль над входными параметрами, чтобы вы могли процедурно генерировать данные, соответствующие вашим спецификациям.

Демонстрация API

Давайте рассмотрим два примера параметров API — освещение и высоту камеры — и то, как их можно использовать.

Упражнения выглядят по-разному при разной высоте камеры (например, камера телефона на земле и камера, установленная на потолке). Модели оценки позы, которые хорошо работают под одним углом, могут полностью выйти из строя под другим углом.

Кроме того, видео, снятые в домашних условиях, обычно включают сложные сценарии освещения, в том числе плохо освещенные помещения и среду с контровым светом. Infinity API дает вам контроль над обоими этими параметрами, что позволяет явно обучать или оценивать производительность модели в зависимости от освещения и/или высоты камеры.

Демонстрация: высокая высота камеры + светлые комнаты
Вот пример вызова API, который генерирует поднятие рук с высокого угла камеры в ярко освещенной комнате. Каждый раз, когда мы делаем вызов API, мы получаем другое видео, соответствующее этим критериям.

Демонстрация: низкая высота камеры + темные комнаты
Теперь давайте сделаем вызов API, который генерирует отжимания с низкого угла камеры в темной комнате. Эти видео сильно отличаются от предыдущих. Как мы видели ранее, каждый раз, когда мы делаем вызов API, мы получаем другое видео, соответствующее критериям.

Количество повторений: вы говорите: «Делайте приседания». Я говорю: «Сколько?»

Infinity API позволяет вам выбрать, сколько повторений упражнения вы хотите создать и с какой вариацией каденса. Несмотря ни на что, каждое повторение всегда выполняется с кинематически ограниченной вариацией, так что никакие два повторения никогда не будут одинаковыми.

Ярлыки: Pixel-perfect ярлыки бесплатно

Каждое видео, которое вы создаете с помощью Infinity API, снабжено метками с точностью до пикселя, включая метаданные, такие как количество повторений, характеристики аватара, процент окклюзии аватара и многое другое.

Серверная часть API

Чтобы предоставить API, нам пришлось создать масштабируемую серверную часть. Давайте посмотрим на некоторые детали этой инфраструктуры.

Бэкэнд-архитектура

Мы создали асинхронный сервер с отслеживанием состояния, способный обрабатывать множество одновременных запросов для потенциально длительных заданий. На самом высоком уровне наиболее важными компонентами являются ориентированный на пользователя REST API, контейнерный внутренний сервер, брокер заданий и контейнерные вычислительные серверы.

Пользовательский REST API

Infinity API предоставляется как интерфейс REST. Авторизованные пользователи могут получить доступ к нашим серверам с помощью токена аутентификации. Текущий REST API предоставляет возможность отправлять задания и запрашивать статусы заданий. Взгляните на наш Swagger UI для более подробной информации.

Бэкенд-сервер

Докеризованный внутренний сервер реализован в Django и выполняет несколько ключевых ролей, включая предоставление конечной точки для пользовательских запросов REST API через HTTPS и выполнение кода для обслуживания запросов API (например, отправка заданий брокеру заданий и соответствующие обновления базы данных). ).

Брокер по работе

Как правило, задания сильно различаются по времени выполнения в зависимости от входных параметров. Это потребовало асинхронного решения. Когда наш внутренний сервер получает запрос на задание от авторизованного пользователя, он немедленно создает задание в нашей внутренней базе данных и отправляет новое сообщение о задании нашему брокеру заданий. Наш брокер реализован в AmazonMQ и питает наших вычислительных работников (серверов).

Вычислительный сервер(ы)

Мы используем кластер AWS ECS для развертывания наших вычислительных экземпляров. В любое время у нас есть несколько экземпляров вычислительных серверов, которые можно увеличивать или уменьшать в зависимости от нагрузки. На каждом вычислительном сервере находится наш докеризированный генератор синтетических данных/конвейер рендеринга. Задания опосредованы рабочим сельдереем, настроенным в каждом вычислительном экземпляре. Каждый рабочий процесс Celery взаимодействует с брокером заданий, чтобы получать и выполнять задания, поставленные в очередь внутренним сервером.

Что дальше?

Наша миссия в Infinity — способствовать прогрессу машинного обучения с помощью лучших инструментов. Бета-версия Infinity API — первый шаг в этом направлении. API сочетает в себе процедурную генерацию синтетических данных с конкретной параметризацией и позволяет любому инженеру машинного обучения обучать и отлаживать модели одним нажатием кнопки.

Но это только начало построения будущего ИИ, более ориентированного на данные. Классная технология, над которой мы работаем, включает в себя дифференцируемый рендеринг, масштабируемые вычислительные системы и передовое сочетание глубокого обучения и графики.

Если вас интересуют эти технологии и вы строите будущее инструментов ИИ вместе с нами, свяжитесь с нами ([email protected]). Мы хотели бы пообщаться.

Infinity AI — это венчурный стартап, который генерирует синтетические данные как услугу. Мы генерируем точные обучающие данные, которые нужны инженерам для решения их задач машинного обучения.