Развёртывание Voxtral от Mistral AI на Amazon SageMaker AI

Развёртывание Voxtral от Mistral AI на Amazon SageMaker AI


76
18 поделились, 76 баллы

В этой статье описан процесс самостоятельного развёртывания открытых моделей Voxtral на Amazon SageMaker с использованием подхода BYOC (bring your own container) и сервера vLLM. Рассмотрены конфигурации для двух вариантов модели, подготовка контейнера, обработчик инференса и примеры использования для текста и аудио.

Файл serving.properties служит главным конфигом для развёртывания. Для варианта Voxtral-Mini в качестве идентификатора указывается mistralai/Voxtral-Mini-3B-2507 с tensor_parallel_degree=1, а для Voxtral-Small — mistralai/Voxtral-Small-24B-2507 с tensor_parallel_degree=4.

В конфигурации также задаются формат и режим токенизации: dtype можно установить в bfloat16, tokenizer_mode — в mistral, config_format и load_format — в mistral, а параметр trust_remote_code — в true. Эти параметры обеспечивают совместимость с рекомендованными настройками для сервера vLLM и спецификой Voxtral.

Для мультимодальной обработки в serving.properties указывают ограничения и параметры аудио: например, limit_mm_per_prompt=audio:8 и mm_processor_kwargs, где задаются audio_sampling_rate=16000 и audio_max_length=1800.0 (30 минут). Также полезны оптимизации производительности vLLM, такие как enable_chunked_prefill, enable_prefix_caching и use_v2_block_manager.

Dockerfile использует базовый образ vllm/vllm-openai:latest и настраивает переменные окружения для SageMaker, включая каталоги кешей моделей и трансформеров. В контейнер устанавливаются библиотеки для аудиообработки и токенизации, например mistral_common, librosa, soundfile и pydub, чтобы обеспечить поддержку транскрипции и работы с аудиопотоками.

Подход отделяет инфраструктуру от логики модели: контейнер остаётся универсальным, а модельный код и файл serving.properties подгружаются в рантайме из хранилища, что позволяет переключаться между вариантами Voxtral без пересборки образа.

Кастомный обработчик инференса реализован как FastAPI-приложение, которое запускает локальный vLLM-сервер с указанными параметрами (например, режим токенизатора mistral и размер тензорного параллелизма). Обработчик ожидает готовности сервера и затем принимает запросы на единый эндпоинт для чата, транскрипции и вызова функций.

Внутри обработчика запросы на транскрипцию распознаются по структуре входных данных; поддерживаются как ссылки на аудио, так и base64-представление аудио. Для чат-запросов формируются сообщения в формате, совместимом с клиентами OpenAI-подобных интерфейсов, и при необходимости включаются инструменты для function calling.

Ноутбук для развёртывания в SageMaker координирует весь процесс: создаётся сессия SageMaker, загружаются артефакты кода в S3 и формируется URI образа на основании идентификатора аккаунта и региона. Затем создаётся объект модели с указанием изображения контейнера, источника данных в S3 и переменных окружения, после чего выполняется деплой эндпоинта с настройками инстансов и таймаутами запуска.

Для варианта Voxtral-Small в примерах используется тип инстанса ml.g6.12xlarge и параметр container_startup_health_check_timeout, чтобы дать контейнеру достаточно времени на инициализацию. Такой подход подходит для продакшн-развёртываний с учётом требований к памяти и производительности.

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

В текстовом режиме клиент отправляет массив сообщений с параметрами генерации, такими как max_tokens, temperature и top_p, и получает структурированный ответ от развёрнутого предиктора. Это позволяет использовать модель для стандартных диалоговых задач и обработки запросов пользователей.

Для одношаговой транскрипции рекомендуется устанавливать temperature в 0.0 для детерминированного вывода; входом может быть ссылка на аудиофайл или base64-код аудио, а на выходе возвращается текст без дополнительной интерпретации.

В режиме объединённого понимания текста и аудио можно отправить текстовую инструкцию вместе с одним или несколькими аудиофайлами, чтобы модель выполнила, например, суммаризацию аудиозаписи или анализ содержания в рамках одного инференса.

Пример интеграции инструментов демонстрирует возможность объявления функции с параметрами (например, получение текущей погоды по локации и формату температуры). При поддержке function calling модель может автоматически определить необходимость вызова инструмента и вернуть структурированный результат; в демонстрациях часто используется упрощённая заглушка, возвращающая прогноз «солнечно» с фиксированной температурой.

Интеграция с фреймворком агентов позволяет строить агентные приложения, где модель через обёртку SageMakerAIModel получает доступ к наборам инструментов (калькулятор, операции с файлами, системные команды и т.д.). Агент способен выбирать и комбинировать инструменты для выполнения сложных пошаговых задач по естественному языку.

После экспериментов следует удалить созданные SageMaker-эндпоинты и связанные конфигурации, чтобы избежать ненужных расходов на ресурсы облака.

В заключение, описанный подход позволяет развёртывать Voxtral-модели на SageMaker с использованием кастомного контейнера и сервера vLLM, обеспечивая поддержку текстовых и аудиозадач, мультимодального понимания и function calling. Переключение между Mini и Small вариантом достигается простым изменением идентификатора модели и параметра тензорного параллелизма в конфигурации.

Авторы и участники проекта включают специалистов по внедрению моделей GenAI. Ying Hou, PhD, работает как старший специалист по решениям в области генеративного ИИ и сотрудничает с разработчиками моделей для их интеграции в облачные платформы, имея практический опыт в ASR, компьютерном зрении, NLP и приложениях прогнозирования.


Понравилось? Поделитесь с друзьями!

76
18 поделились, 76 баллы

Какова ваша реакция?

Чего? Чего?
4
Чего?
Плачу Плачу
1
Плачу
Прикол Прикол
10
Прикол
Ого Ого
9
Ого
Злой Злой
8
Злой
Ржака Ржака
7
Ржака
Ух, ты! Ух, ты!
6
Ух, ты!
Ужас Ужас
4
Ужас
Супер Супер
1
Супер
Admin

Добро пожаловать на сайт Паутина AI. Здесь я публикую свежие новости, подробные обзоры и аналитику ведущих AI-сервисов. Оставайтесь c нами что бы быть в курсе событий в мире AI.

Комментариев

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Выберите формат
Пост
Форматированный текст с вставками и визуальными элементами
Опрос
Голосование для принятия решений или определения мнений
Изображение
Фото или GIF
Видео
Вставки с YouTube, Vimeo или Vine
Аудио
Вставки с SoundCloud или Mixcloud
Мем
Загружайте свои изображения для создания собственных мемов
Send this to a friend