Сегодня мы рады сообщить, что базовые модели Mistral 7B, разработанные Mistral AI, доступны клиентам через Amazon SageMaker JumpStart для развертывания одним щелчком мыши и выполнения логических выводов. Благодаря 7 миллиардам параметров Mistral 7B можно легко настроить и быстро развернуть. Вы можете опробовать эту модель с помощью SageMaker JumpStart, центра машинного обучения (ML), который предоставляет доступ к алгоритмам и моделям, чтобы вы могли быстро приступить к работе с ML. В этом посте мы расскажем, как обнаружить и развернуть модель Mistral 7B.
Что такое Мистраль 7Б
Mistral 7B — это базовая модель, разработанная Mistral AI, поддерживающая возможности генерации текста и кода на английском языке. Он поддерживает различные варианты использования, такие как суммирование текста, классификация, завершение текста и завершение кода. Чтобы продемонстрировать простоту настройки модели, Mistral AI также выпустила модель Mistral 7B Instruct для сценариев использования чата, настроенную с использованием различных общедоступных наборов данных разговоров.
Mistral 7B представляет собой модель-трансформер и использует внимание сгруппированных запросов и внимание скользящего окна для достижения более быстрого вывода (малая задержка) и обработки более длинных последовательностей. Групповое внимание к запросам — это архитектура, которая сочетает в себе множественные запросы и множественное внимание для достижения качества вывода, близкого к множественному вниманию, и сопоставимой скорости с множественным вниманием. Внимание скользящего окна использует сложенные друг на друга слои преобразователя для отслеживания прошлого за пределами размера окна, чтобы увеличить длину контекста. Mistral 7B имеет длину контекста 8000 токенов, демонстрирует низкую задержку и высокую пропускную способность, а также обладает высокой производительностью по сравнению с более крупными альтернативными моделями, обеспечивая низкие требования к памяти при размере модели 7B. Модель доступна по разрешению Лицензия Апач 2.0для использования без ограничений.
Что такое SageMaker JumpStart
С помощью SageMaker JumpStart специалисты по машинному обучению могут выбирать из растущего списка наиболее эффективных базовых моделей. Специалисты по машинному обучению могут развертывать базовые модели на выделенных экземплярах Amazon SageMaker в сетевой изолированной среде, а также настраивать модели с помощью SageMaker для обучения и развертывания моделей.
Теперь вы можете обнаружить и развернуть Mistral 7B несколькими щелчками мыши в Amazon SageMaker Studio или программно с помощью SageMaker Python SDK, что позволит вам получить производительность модели и элементы управления MLOps с помощью таких функций SageMaker, как Amazon SageMaker Pipelines, Amazon SageMaker Debugger или журналы контейнеров. Модель развертывается в безопасной среде AWS и под контролем вашего VPC, что помогает обеспечить безопасность данных.
Откройте для себя модели
Доступ к моделям фундаментов Mistral 7B можно получить через SageMaker JumpStart в пользовательском интерфейсе SageMaker Studio и SageMaker Python SDK. В этом разделе мы рассмотрим, как находить модели в SageMaker Studio.
SageMaker Studio — это интегрированная среда разработки (IDE), которая предоставляет единый визуальный веб-интерфейс, с помощью которого вы можете получить доступ к специально созданным инструментам для выполнения всех этапов разработки ML, от подготовки данных до построения, обучения и развертывания моделей ML. Дополнительные сведения о том, как начать работу и настроить SageMaker Studio, см. на странице Amazon SageMaker Studio.
В SageMaker Studio вы можете получить доступ к SageMaker JumpStart, который содержит предварительно обученные модели, блокноты и готовые решения, в разделе Готовые и автоматизированные решения.
На целевой странице SageMaker JumpStart вы можете искать решения, модели, ноутбуки и другие ресурсы. Найти Мистраль 7Б можно в Базовые модели: генерация текста карусель.
Вы также можете найти другие варианты модели, выбрав Изучите все текстовые модели или ищите «Мистраль».
Вы можете выбрать карточку модели, чтобы просмотреть сведения о модели, такие как лицензия, данные, используемые для обучения, и способы использования. Вы также найдете две кнопки, Развертывать и Открыть блокноткоторый поможет вам использовать модель (на следующем снимке экрана показано Развертывать вариант).
Развертывание моделей
Развертывание начнется, когда вы выберете Развертывать. Альтернативно вы можете выполнить развертывание с помощью примера записной книжки, который появляется по вашему выбору. Открыть блокнот. В примере записной книжки представлены комплексные инструкции по развертыванию модели для вывода и очистки ресурсов.
Для развертывания с помощью ноутбука мы начнем с выбора модели Mistral 7B, указанной в model_id
. Вы можете развернуть любую из выбранных моделей в SageMaker с помощью следующего кода:
При этом модель развертывается в SageMaker с конфигурациями по умолчанию, включая тип экземпляра по умолчанию (ml.g5.2xlarge) и конфигурации VPC по умолчанию. Вы можете изменить эти конфигурации, указав значения, отличные от значений по умолчанию, в JumpStartМодель. После развертывания вы можете выполнить логический вывод для развернутой конечной точки с помощью предиктора SageMaker:
Оптимизация конфигурации развертывания
В моделях Mistral используется обслуживание модели Text Generation Inference (TGI версии 1.1). При развертывании моделей с помощью контейнера глубокого обучения (DLC) TGI вы можете настроить различные аргументы лаунчера через переменные среды при развертывании конечной точки. Для поддержки длины контекста в 8000 токенов моделей Mistral 7B в SageMaker JumpStart некоторые из этих параметров настроены по умолчанию: мы устанавливаем MAX_INPUT_LENGTH
и MAX_TOTAL_TOKENS
до 8191 и 8192 соответственно. Вы можете просмотреть полный список, проверив объект модели:
По умолчанию SageMaker JumpStart не ограничивает одновременных пользователей с помощью переменной среды. MAX_CONCURRENT_REQUESTS
меньше, чем значение по умолчанию TGI, равное 128. Причина в том, что у некоторых пользователей могут быть типичные рабочие нагрузки с небольшой длиной контекста полезной нагрузки и им нужен высокий уровень параллелизма. Обратите внимание, что DLC SageMaker TGI поддерживает несколько одновременных пользователей посредством скользящего пакета. При развертывании конечной точки для приложения вы можете подумать, следует ли ограничивать MAX_TOTAL_TOKENS
или MAX_CONCURRENT_REQUESTS
перед развертыванием, чтобы обеспечить наилучшую производительность для вашей рабочей нагрузки:
Здесь мы покажем, как производительность модели может отличаться для вашей типичной рабочей нагрузки конечной точки. В следующих таблицах вы можете увидеть, что запросы небольшого размера (128 входных слов и 128 выходных токенов) достаточно производительны при большом количестве одновременных пользователей, достигая пропускной способности токенов порядка 1000 токенов в секунду. Однако по мере того, как количество входных слов увеличивается до 512 входных слов, конечная точка насыщает свои возможности пакетной обработки (количество одновременных запросов, которые разрешено обрабатывать одновременно), что приводит к плато пропускной способности и значительному снижению задержки, начиная примерно с 16 одновременных пользователей. Наконец, при одновременном запросе конечной точки с большими входными контекстами (например, 6400 слов) несколькими одновременными пользователями это плато пропускной способности происходит относительно быстро, вплоть до того, что ваша учетная запись SageMaker начнет сталкиваться с 60-секундным ограничением времени ожидания ответа для ваших перегруженных запросов. .
. | пропускная способность (токены/с) | ||||||||||
одновременные пользователи | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | |||
модель | тип экземпляра | ввод слов | выходные токены | . | |||||||
мистраль-7b-инструктировать | мл.г5.2xбольшой | 128 | 128 | 30 | 54 | 89 | 166 | 287 | 499 | 793 | 1030 |
512 | 128 | 29 | 50 | 80 | 140 | 210 | 315 | 383 | 458 | ||
6400 | 128 | 17 | 25 | 30 | 35 | — | — | — | — |
. | Задержка p50 (мс/токен) | ||||||||||
одновременные пользователи | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | |||
модель | тип экземпляра | ввод слов | выходные токены | . | |||||||
мистраль-7b-инструктировать | мл.г5.2xбольшой | 128 | 128 | 32 | 33 | 34 | 36 | 41 | 46 | 59 | 88 |
512 | 128 | 34 | 36 | 39 | 43 | 54 | 71 | 112 | 213 | ||
6400 | 128 | 57 | 71 | 98 | 154 | — | — | — | — |
Выводы и примеры подсказок
Мистраль 7Б
Вы можете взаимодействовать с базовой моделью Mistral 7B, как с любой стандартной моделью генерации текста, где модель обрабатывает входную последовательность и выводит предсказанные следующие слова в последовательности. Ниже приведен простой пример многоэтапного обучения, где модель снабжена несколькими примерами, а окончательный примерный ответ генерируется с учетом контекстуального знания этих предыдущих примеров:
Мистраль 7Б инструктируем
Версия Mistral, настроенная на инструкции, принимает форматированные инструкции, в которых роли диалога должны начинаться с приглашения пользователя и чередоваться между пользователем и помощником. Простое приглашение пользователя может выглядеть следующим образом:
Многоходовое приглашение будет выглядеть следующим образом:
Этот шаблон повторяется, сколько бы ходов ни было в разговоре.
В следующих разделах мы рассмотрим некоторые примеры использования модели Mistral 7B Instruct.
Поиск знаний
Ниже приведен пример поиска знаний:
Ответ на большой контекстный вопрос
Чтобы продемонстрировать, как использовать эту модель для поддержки больших входных контекстов, в следующий пример включен отрывок под названием «Крысы» Роберта Салливана (ссылка), из теста на понимание чтения по английскому языку для 10-го класса MCAS в инструкцию по вводу и задает модели прямой вопрос о тексте:
Математика и рассуждения
Модели Mistral также демонстрируют высокую математическую точность. Mistral может обеспечить понимание, например, следующей математической логики:
Кодирование
Ниже приведен пример запроса на кодирование:
Очистить
После завершения работы с блокнотом обязательно удалите все ресурсы, созданные вами в процессе, чтобы прекратить выставление счетов. Используйте следующий код:
Заключение
В этом посте мы показали вам, как начать работу с Mistral 7B в SageMaker Studio и развернуть модель для вывода. Поскольку базовые модели предварительно обучены, они могут помочь снизить затраты на обучение и инфраструктуру, а также обеспечить настройку для вашего варианта использования. Посетите Amazon SageMaker JumpStart прямо сейчас, чтобы начать работу.
Ресурсы
Об авторах
Доктор Кайл Ульрих — учёный-прикладник в команде Amazon SageMaker JumpStart. Его исследовательские интересы включают масштабируемые алгоритмы машинного обучения, компьютерное зрение, временные ряды, байесовские непараметрические методы и гауссовские процессы. Его докторская степень получена в Университете Дьюка, и он опубликовал статьи в журналах NeurIPS, Cell и Neuron.
Доктор Ашиш Хетан является старшим научным сотрудником Amazon SageMaker JumpStart и помогает разрабатывать алгоритмы машинного обучения. Он получил докторскую степень в Университете Иллинойса Урбана-Шампейн. Он является активным исследователем в области машинного обучения и статистического вывода и опубликовал множество статей на конференциях NeurIPS, ICML, ICLR, JMLR, ACL и EMNLP.
Вивек Сингх — менеджер по продукту Amazon SageMaker JumpStart. Он стремится предоставить клиентам возможность использовать SageMaker JumpStart, чтобы упростить и ускорить процесс машинного обучения для создания генеративных приложений искусственного интеллекта.
Рой Аллела — старший специалист по архитектуре решений искусственного интеллекта и машинного обучения в AWS в Мюнхене, Германия. Рой помогает клиентам AWS — от небольших стартапов до крупных предприятий — эффективно обучать и развертывать большие языковые модели на AWS. Рой увлечен проблемами вычислительной оптимизации и повышением производительности рабочих нагрузок ИИ.