Home Машинное обучение Точная настройка и развертывание Mistral 7B с помощью Amazon SageMaker JumpStart | DeepTech

Точная настройка и развертывание Mistral 7B с помощью Amazon SageMaker JumpStart | DeepTech

0
Точная настройка и развертывание Mistral 7B с помощью Amazon SageMaker JumpStart
 | DeepTech

Сегодня мы рады объявить о возможности точной настройки модели Mistral 7B с помощью Amazon SageMaker JumpStart. Теперь вы можете в несколько кликов точно настроить и развернуть модели генерации текста Mistral в SageMaker JumpStart с помощью пользовательского интерфейса Amazon SageMaker Studio или с помощью SageMaker Python SDK.

Модели Foundation очень хорошо справляются с генеративными задачами: от создания текста и аннотаций, ответов на вопросы до создания изображений и видео. Несмотря на большие возможности обобщения этих моделей, часто существуют варианты использования, которые имеют очень специфические данные предметной области (например, здравоохранение или финансовые услуги), и эти модели могут не обеспечить хорошие результаты для этих вариантов использования. Это приводит к необходимости дальнейшей тонкой настройки этих генеративных моделей ИИ на основе данных, специфичных для конкретных вариантов использования и предметной области.

В этом посте мы демонстрируем, как точно настроить модель Mistral 7B с помощью SageMaker JumpStart.

Что такое Мистраль 7Б

Mistral 7B — это базовая модель, разработанная Mistral AI, поддерживающая возможности генерации текста и кода на английском языке. Он поддерживает различные варианты использования, такие как суммирование текста, классификация, завершение текста и завершение кода. Чтобы продемонстрировать возможности настройки модели, Mistral AI также выпустила модель Mistral 7B-Instruct для сценариев использования чата, настроенную с использованием различных общедоступных наборов данных разговоров.

Mistral 7B — это модель-трансформер, которая использует внимание к сгруппированным запросам и внимание к скользящему окну для достижения более быстрого вывода (малая задержка) и обработки более длинных последовательностей. Групповое внимание к запросам — это архитектура, которая сочетает в себе множественные запросы и множественное внимание для достижения качества вывода, близкого к множественному вниманию, и сопоставимой скорости с множественным вниманием. Метод внимания скользящего окна использует несколько уровней модели преобразователя, чтобы сосредоточиться на информации, которая поступила ранее, что помогает модели понять более длинный участок контекста. . Mistral 7B имеет длину контекста 8000 токенов, демонстрирует низкую задержку и высокую пропускную способность, а также имеет высокую производительность по сравнению с более крупными альтернативными моделями, обеспечивая низкие требования к памяти при размере модели 7B. Модель доступна по разрешительной лицензии Apache 2.0 для использования без ограничений.

Вы можете точно настроить модели с помощью пользовательского интерфейса SageMaker Studio или SageMaker Python SDK. В этом посте мы обсудим оба метода.

Точная настройка с помощью пользовательского интерфейса SageMaker Studio.

В SageMaker Studio вы можете получить доступ к модели Mistral через SageMaker JumpStart в разделе Модели, ноутбуки и решениякак показано на следующем снимке экрана.

Если вы не видите модели Mistral, обновите версию SageMaker Studio, выключив и перезапустив ее. Дополнительные сведения об обновлениях версий см. в разделе Завершение работы и обновление приложений Studio.

На странице модели вы можете указать на корзину Amazon Simple Storage Service (Amazon S3), содержащую наборы данных обучения и проверки для точной настройки. Кроме того, вы можете настроить конфигурацию развертывания, гиперпараметры и параметры безопасности для более точной настройки. Затем вы можете выбрать Тренироваться чтобы начать задание обучения на экземпляре SageMaker ML.

Развертывание модели

После точной настройки модели ее можно развернуть на странице модели в SageMaker JumpStart. Возможность развернуть точно настроенную модель появится после завершения тонкой настройки, как показано на следующем снимке экрана.

Точная настройка с помощью SageMaker Python SDK

Вы также можете точно настроить модели Mistral с помощью SageMaker Python SDK. Полная версия блокнота доступна на сайте GitHub. В этом разделе мы приводим примеры двух типов тонкой настройки.

Инструкция по тонкой настройке

Настройка инструкций — это метод, который включает в себя точную настройку языковой модели для набора задач обработки естественного языка (NLP) с использованием инструкций. В этом методе модель обучается выполнять задачи, следуя текстовым инструкциям, а не конкретным наборам данных для каждой задачи. Модель точно настраивается с помощью набора примеров входных и выходных данных для каждой задачи, что позволяет обобщать модель на новые задачи, для выполнения которых она не была явно обучена, при условии, что для задач предоставляются подсказки. Настройка инструкций помогает повысить точность и эффективность моделей и полезна в ситуациях, когда большие наборы данных недоступны для конкретных задач.

Давайте пройдемся по коду тонкой настройки, представленному в примере. блокнот с помощью SageMaker Python SDK.

Мы используем подмножество Набор данных Долли в формате настройки инструкций и укажите template.json файл, описывающий форматы ввода и вывода. Данные обучения должны быть отформатированы в формате строк JSON (.jsonl), где каждая строка представляет собой словарь, представляющий один образец данных. В данном случае мы называем его train.jsonl.

Следующий фрагмент является примером train.jsonl. Ключи instruction, contextи response в каждом образце должны быть соответствующие записи {instruction}, {context}, {response} в template.json.

{
    "instruction": "What is a dispersive prism?", 
    "context": "In optics, a dispersive prism is an optical prism that is used to disperse light, that is, to separate light into its spectral components (the colors of the rainbow). Different wavelengths (colors) of light will be deflected by the prism at different angles. This is a result of the prism material's index of refraction varying with wavelength (dispersion). Generally, longer wavelengths (red) undergo a smaller deviation than shorter wavelengths (blue). The dispersion of white light into colors by a prism led Sir Isaac Newton to conclude that white light consisted of a mixture of different colors.", 
    "response": "A dispersive prism is an optical prism that disperses the light's different wavelengths at different angles. When white light is shined through a dispersive prism it will separate into the different colors of the rainbow."
}

Ниже приведен образец template.json:

{
    "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. "
    "Write a response that appropriately completes the request.\n\n"
    "### Instruction:\n{instruction}\n\n### Input:\n{context}\n\n",
    "completion": " {response}",
}

После загрузки шаблона приглашения и данных обучения в корзину S3 вы можете установить гиперпараметры.

my_hyperparameters("epoch") = "1"
my_hyperparameters("per_device_train_batch_size") = "2"
my_hyperparameters("gradient_accumulation_steps") = "2"
my_hyperparameters("instruction_tuned") = "True"
print(my_hyperparameters)

Затем вы можете начать процесс тонкой настройки и развернуть модель в конечной точке вывода. В следующем коде мы используем экземпляр ml.g5.12xlarge:

from sagemaker.jumpstart.estimator import JumpStartEstimator

instruction_tuned_estimator = JumpStartEstimator(
    model_id=model_id,
    hyperparameters=my_hyperparameters,
    instance_type="ml.g5.12xlarge",
)
instruction_tuned_estimator.fit({"train": train_data_location}, logs=True)

instruction_tuned_predictor = instruction_tuned_estimator.deploy()

Тонкая настройка адаптации домена

Точная настройка адаптации предметной области — это процесс, который уточняет предварительно обученный LLM, чтобы он лучше соответствовал конкретной предметной области или задаче. Используя меньший набор данных, специфичный для конкретной области, LLM можно точно настроить для понимания и создания более точного, релевантного и информативного контента для этой конкретной области, сохраняя при этом обширные знания, полученные в ходе первоначального обучения.

Модель Mistral можно точно настроить для любого набора данных, специфичного для конкретной предметной области. Ожидается, что после точной настройки он будет генерировать текст, специфичный для предметной области, и решать различные задачи НЛП в этой конкретной предметной области. Для набора обучающих данных укажите каталог поезда и дополнительный каталог проверки, каждый из которых содержит один файл CSV, JSON или TXT. Для форматов CSV и JSON используйте данные из файла text столбец или первый столбец, если text нет. Убедитесь, что в каждом каталоге существует только один файл. Например, входными данными могут быть документы SEC Amazon в виде текстового файла:

This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of the Securities Exchange Act of 1934. Forward-looking statements may appear
throughout this report, including the following sections: “Business” (Part I,
Item 1 of this Form 10-K), “Risk Factors” (Part I, Item 1A of this Form 10-K),
and “Management’s Discussion and Analysis of Financial Condition and Results
of Operations” (Part II, Item 7 of this Form 10-K). These forward-looking
statements generally are identified by the words “believe,” “project,”
“expect,” “anticipate,” “estimate,” “intend,” “strategy,” “future,”
“opportunity,” “plan,” “may,” “should,” “will,” “would,” “will be,” “will
continue,” “will likely result,” and similar expressions.

Вы можете начать тонкую настройку адаптации домена, указав гиперпараметр «instruction_tuned” как “False«. Остальные шаги аналогичны шагам тонкой настройки инструкции.

Мы устанавливаем max_input_length будет 2048 на g5.12xlarge. Вы можете использовать большую входную длину для более крупного типа экземпляра. Подробности см. пример блокнота.

Пример вывода с тонкой настройкой и без нее

В следующей таблице представлены результаты модели Mistral 7B, доработанной с учетом документов SEC Amazon за 2021–2022 годы. Мы сравниваем результат до и после тонкой настройки.

Подсказка ввода Вывод перед точной настройкой Выход после точной настройки Параметры
Этот отчет по форме 10-К показывает, что

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

В компании работает в общей сложности 10 сотрудников, и она занимается оказанием услуг населению. В компании работает в общей сложности 10 сотрудников, и она занимается оказанием услуг населению. В компании работает в общей сложности 10 сотрудников, и она занимается оказанием услуг населению. В компании работает 10 сотрудников и она занимается предоставлением

в 2004, 2003 и 2002 годах наши чистые продажи составили 1,2 миллиарда долларов, 1,5 миллиарда долларов и 1,8 миллиарда долларов. Эти суммы включают продажи с наших международных веб-сайтов. Чистые продажи с наших международных веб-сайтов составляли 323, 242 и 150 миллионов долларов США в 2004, 2003 и 2002 годах. Чистые продажи с наших международных веб-сайтов составляли 27%, 16% и 8% чистых продаж в 2004, 2003 и 2002 годах. . «температура»: 0,2,
«max_new_tokens»: 150,
Мы обслуживаем потребителей через

наша розничная сеть насчитывает 1700 магазинов, в том числе 1200 магазинов в США, 400 магазинов в Канаде и 100 магазинов в Мексике. Мы также обслуживаем потребителей через наши веб-сайты электронной коммерции.

## Какой самый большой магазин товаров для дома?

The Home Depot — крупнейший ритейлер товаров для дома в США.

## Какой самый большой магазин товаров для дома в мире?

Крупнейшим магазином товаров для дома в мире является Home Depot.

## Какой самый большой магазин товаров для дома в мире?

наши интернет-магазины и физические магазины и сосредоточьтесь на выборе, цене и удобстве. Мы проектируем наши магазины так, чтобы мы и третьи лица могли продавать сотни миллионов уникальных продуктов в десятках товарных категорий. Клиенты получают доступ к нашим предложениям через наши веб-сайты, мобильные приложения, Alexa, устройства, потоковую передачу и физическое посещение наших магазинов. Мы также производим и продаем электронные устройства, в том числе Kindle, планшеты Fire, Fire TV, Echo и Ring, а также разрабатываем и производим медиаконтент. Мы стремимся предложить нашим клиентам низкие цены, быструю и бесплатную доставку, удобный функционал и своевременное обслуживание клиентов. Кроме того, мы предлагаем услуги подписки, такие как Amazon Prime,
Наше видение

быть ведущим поставщиком качественных, доступных и доступных медицинских услуг в сообществах, которым мы служим.

Наша миссия — предоставлять качественные, доступные и доступные медицинские услуги сообществам, которым мы служим.

Наши ценности:

– Честность: мы действуем честно и добросовестно во всех наших отношениях.
– Уважение: мы относимся ко всем с уважением и достоинством.
– Совершенство: мы стремимся к совершенству во всем, что мы делаем.
– Сострадание: Мы заботимся о наших пациентах и ​​друг о друге с состраданием.
– Работа в команде: мы работаем вместе как одна команда для достижения наших целей.

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

стать самой клиентоориентированной компанией на Земле. Мы руководствуемся четырьмя принципами: одержимость клиентами, а не ориентация на конкурентов, страсть к изобретениям, стремление к совершенству в работе и долгосрочное мышление. В каждом из наших сегментов мы обслуживаем нашу основную группу клиентов, состоящую из потребителей, продавцов, разработчиков, предприятий и создателей контента. Кроме того, мы предоставляем такие услуги, как реклама. Мы разделили нашу деятельность на три сегмента: Северная Америка, Международный и AWS. Эти сегменты отражают то, как Компания оценивает эффективность своего бизнеса и управляет своей деятельностью. Информация о нашем чистом объеме продаж содержится в пункте 8 Части II «Финансовая отчетность».

Как видите, точно настроенная модель предоставляет более конкретную информацию, связанную с Amazon, по сравнению с общей предварительно обученной моделью. Это связано с тем, что точная настройка адаптирует модель для понимания нюансов, закономерностей и особенностей предоставленного набора данных. Используя предварительно обученную модель и адаптируя ее с помощью тонкой настройки, мы гарантируем, что вы получите лучшее из обоих миров: обширные знания предварительно обученной модели и особую точность для вашего уникального набора данных. В мире машинного обучения может не подойти один размер, и точная настройка — это то индивидуальное решение, которое вам нужно!

Заключение

В этом посте мы обсудили тонкую настройку модели Mistral 7B с помощью SageMaker JumpStart. Мы показали, как можно использовать консоль SageMaker JumpStart в SageMaker Studio или SageMaker Python SDK для точной настройки и развертывания этих моделей. В качестве следующего шага вы можете попробовать настроить эти модели в своем собственном наборе данных, используя код, предоставленный в репозитории GitHub, для тестирования и сравнения результатов для ваших вариантов использования.


Об авторах

Синь ХуанСинь Хуан — старший научный сотрудник Amazon SageMaker JumpStart и встроенных алгоритмов Amazon SageMaker. Он занимается разработкой масштабируемых алгоритмов машинного обучения. Его исследовательские интересы лежат в области обработки естественного языка, объяснимого глубокого обучения табличных данных и надежного анализа непараметрической пространственно-временной кластеризации. Он опубликовал множество статей на конференциях ACL, ICDM, KDD и Королевском статистическом обществе: серия A.

Вивек Гангасани — архитектор стартап-решений AI/ML для стартапов генеративного искусственного интеллекта в AWS. Он помогает новым стартапам GenAI создавать инновационные решения с использованием сервисов AWS и ускоренных вычислений. В настоящее время он занимается разработкой стратегий тонкой настройки и оптимизации производительности вывода моделей большого языка. В свободное время Вивек любит ходить в походы, смотреть фильмы и пробовать разные кухни.

Доктор Ашиш Хетан — старший научный сотрудник, работающий со встроенными алгоритмами Amazon SageMaker и помогающий разрабатывать алгоритмы машинного обучения. Он получил докторскую степень в Университете Иллинойса Урбана-Шампейн. Он является активным исследователем в области машинного обучения и статистического вывода и опубликовал множество статей на конференциях NeurIPS, ICML, ICLR, JMLR, ACL и EMNLP.

LEAVE A REPLY

Please enter your comment!
Please enter your name here