Сегодня мы рады объявить о возможности точной настройки модели 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
.
Ниже приведен образец template.json
:
После загрузки шаблона приглашения и данных обучения в корзину S3 вы можете установить гиперпараметры.
Затем вы можете начать процесс тонкой настройки и развернуть модель в конечной точке вывода. В следующем коде мы используем экземпляр ml.g5.12xlarge:
Тонкая настройка адаптации домена
Точная настройка адаптации предметной области — это процесс, который уточняет предварительно обученный LLM, чтобы он лучше соответствовал конкретной предметной области или задаче. Используя меньший набор данных, специфичный для конкретной области, LLM можно точно настроить для понимания и создания более точного, релевантного и информативного контента для этой конкретной области, сохраняя при этом обширные знания, полученные в ходе первоначального обучения.
Модель Mistral можно точно настроить для любого набора данных, специфичного для конкретной предметной области. Ожидается, что после точной настройки он будет генерировать текст, специфичный для предметной области, и решать различные задачи НЛП в этой конкретной предметной области. Для набора обучающих данных укажите каталог поезда и дополнительный каталог проверки, каждый из которых содержит один файл CSV, JSON или TXT. Для форматов CSV и JSON используйте данные из файла text
столбец или первый столбец, если text
нет. Убедитесь, что в каждом каталоге существует только один файл. Например, входными данными могут быть документы SEC Amazon в виде текстового файла:
Вы можете начать тонкую настройку адаптации домена, указав гиперпараметр «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.