Сегодня мы рады сообщить, что базовые модели Llama 2, разработанные Meta, доступны для клиентов через Amazon SageMaker JumpStart. Семейство больших языковых моделей (LLM) Llama 2 представляет собой набор предварительно обученных и точно настроенных генеративных текстовых моделей с масштабом от 7 до 70 миллиардов параметров. Тонко настроенные LLM, называемые Llama-2-chat, оптимизированы для использования в диалогах. Вы можете легко опробовать эти модели и использовать их с помощью SageMaker JumpStart — центра машинного обучения (ML), предоставляющего доступ к алгоритмам, моделям и решениям ML, чтобы вы могли быстро приступить к работе с ML.
В этом посте мы расскажем, как использовать модели Llama 2 через SageMaker JumpStart.
Что такое Лама 2
Llama 2 — это авторегрессивная языковая модель, использующая оптимизированную архитектуру преобразователя. Llama 2 предназначена для коммерческого и исследовательского использования на английском языке. Он поставляется с различными размерами параметров — 7 миллиардов, 13 миллиардов и 70 миллиардов — а также с предварительно обученными и точно настроенными вариантами. По словам Меты, в настроенных версиях используется контролируемая точная настройка (SFT) и обучение с подкреплением с обратной связью с человеком (RLHF), чтобы соответствовать предпочтениям человека в отношении полезности и безопасности. Llama 2 был предварительно обучен на 2 триллионах токенов данных из общедоступных источников. Настроенные модели предназначены для чата, похожего на помощника, тогда как предварительно обученные модели могут быть адаптированы для различных задач генерации естественного языка. Независимо от того, какую версию модели использует разработчик, руководство по ответственному использованию от Meta может помочь в проведении дополнительной тонкой настройки, которая может потребоваться для настройки и оптимизации моделей с соответствующими мерами по снижению безопасности.
Что такое SageMaker JumpStart
С помощью SageMaker JumpStart специалисты по машинному обучению могут выбирать из широкого набора базовых моделей с открытым исходным кодом. Специалисты по машинному обучению могут развертывать базовые модели на выделенных инстансах Amazon SageMaker из изолированной от сети среды и настраивать модели с помощью SageMaker для обучения и развертывания моделей.
Теперь вы можете обнаружить и развернуть Llama 2 несколькими щелчками мыши в Amazon SageMaker Studio или программно с помощью SageMaker Python SDK, что позволит вам получить производительность модели и элементы управления MLOps с помощью таких функций SageMaker, как Amazon SageMaker Pipelines, Amazon SageMaker Debugger или журналы контейнеров. Модель развернута в безопасной среде AWS и находится под контролем вашего VPC, что помогает обеспечить безопасность данных. Модели Llama 2 доступны сегодня в Amazon SageMaker Studio, первоначально в us-east 1
и us-west 2
регионы.
Откройте для себя модели
Вы можете получить доступ к базовым моделям через SageMaker JumpStart в пользовательском интерфейсе SageMaker Studio и SageMaker Python SDK. В этом разделе мы рассмотрим, как обнаруживать модели в SageMaker Studio.
SageMaker Studio — это интегрированная среда разработки (IDE), которая предоставляет единый визуальный веб-интерфейс, где вы можете получить доступ к специально созданным инструментам для выполнения всех этапов разработки машинного обучения, от подготовки данных до создания, обучения и развертывания моделей машинного обучения. Дополнительные сведения о том, как приступить к работе и настроить SageMaker Studio, см. в Amazon SageMaker Studio.
Перейдя в SageMaker Studio, вы можете получить доступ к SageMaker JumpStart, который содержит предварительно обученные модели, записные книжки и готовые решения, в разделе Готовые и автоматизированные решения.
На целевой странице SageMaker JumpStart вы можете просматривать решения, модели, блокноты и другие ресурсы. Вы можете найти две флагманские модели Llama 2 в Модели фундамента: Генерация текста карусель. Если вы не видите модели Llama 2, обновите версию SageMaker Studio, выключив и перезапустив программу. Дополнительные сведения об обновлениях версий см. в разделе Завершение работы и обновление приложений Studio.
Вы также можете найти другие четыре варианта модели, выбрав Исследуйте все модели генерации текста или поиск llama
в поле поиска.
Вы можете выбрать карточку модели, чтобы просмотреть сведения о модели, такие как лицензия, данные, используемые для обучения, и способы использования. Вы также можете найти две кнопки, Развертывать и Открыть блокноткоторые помогут вам использовать модель.
Когда вы выбираете любую кнопку, всплывающее окно показывает лицензионное соглашение с конечным пользователем и политику допустимого использования, которую вы должны подтвердить.
После подтверждения вы перейдете к следующему шагу использования модели.
Развернуть модель
Когда вы выбираете Развертывать и подтвердите условия, начнется развертывание модели. Кроме того, вы можете выполнить развертывание с помощью отображаемого примера записной книжки, выбрав Открыть блокнот. Пример записной книжки содержит исчерпывающие инструкции по развертыванию модели для логического вывода и очистки ресурсов.
Для развертывания с помощью ноутбука мы начинаем с выбора подходящей модели, указанной в model_id
. Вы можете развернуть любую из выбранных моделей в SageMaker с помощью следующего кода:
При этом модель развертывается в SageMaker с конфигурациями по умолчанию, включая тип экземпляра по умолчанию и конфигурации VPC по умолчанию. Вы можете изменить эти конфигурации, указав значения не по умолчанию в JumpStartModel. После развертывания вы можете выполнить вывод по развернутой конечной точке с помощью предиктора SageMaker:
Точно настроенные модели чата (Llama-2-7b-chat, Llama-2-13b-chat, Llama-2-70b-chat) принимают историю чата между пользователем и помощником чата и генерируют последующий чат. Предварительно обученные модели (Llama-2-7b, Llama-2-13b, Llama-2-70b) требуют строкового приглашения и выполняют завершение текста в предоставленном приглашении. См. следующий код:
Обратите внимание, что по умолчанию accept_eula
установлено значение «ложь». Вам нужно установить accept_eula=true
для успешного вызова конечной точки. Тем самым вы принимаете пользовательское лицензионное соглашение и политику допустимого использования, как упоминалось ранее. Вы также можете скачать лицензионное соглашение.
Custom_attributes
используемые для передачи EULA, являются парами ключ/значение. Ключ и значение разделены =
и пары разделены ;
. Если пользователь передает один и тот же ключ более одного раза, последнее значение сохраняется и передается обработчику сценария (т. е. в данном случае используется для условной логики). Например, если accept_eula=false; accept_eula=true
передается на сервер, затем accept_eula=true
сохраняется и передается обработчику скрипта.
Параметры вывода управляют процессом генерации текста в конечной точке. Максимальный контроль новых токенов относится к размеру вывода, генерируемого моделью. Обратите внимание, что это не то же самое, что количество слов, потому что словарь модели не совпадает со словарем английского языка, и каждая лексема может не быть словом английского языка. Температура контролирует случайность на выходе. Более высокая температура приводит к более творческим и галлюцинациям. Все параметры вывода являются необязательными.
В следующей таблице перечислены все модели лам, доступные в SageMaker JumpStart, а также model_ids
типы экземпляров по умолчанию и максимальное общее количество токенов (сумма количества входных токенов и количества сгенерированных токенов), поддерживаемое для каждой из этих моделей.
Название модели | Идентификатор модели | Максимальное количество токенов | Тип экземпляра по умолчанию |
Лама-2-7б | метатекстгенерация-лама-2-7b | 4096 | мл.g5.2xбольшой |
Лама-2-7б-чат | метатекстгенерация-лама-2-7b-f | 4096 | мл.g5.2xбольшой |
Лама-2-13б | метатекстгенерация-лама-2-13b | 4096 | мл.g5.12xбольшой |
Лама-2-13б-чат | метатекстгенерация-лама-2-13b-f | 4096 | мл.g5.12xбольшой |
Лама-2-70б | метатекстгенерация-лама-2-70b | 4096 | мл.г5.48xбольшой |
Лама-2-70б-чат | метатекстгенерация-лама-2-70b-f | 4096 | мл.г5.48xбольшой |
Обратите внимание, что конечные точки SageMaker имеют лимит времени ожидания 60 с. Таким образом, даже несмотря на то, что модель может сгенерировать 4096 токенов, если генерация текста занимает более 60 секунд, запрос завершится ошибкой. Для моделей 7B, 13B и 70B рекомендуется установить max_new_tokens
не более 1500, 1000 и 500 соответственно, при сохранении общего количества токенов менее 4К.
Подсказки к выводам и примерам для Llama-2-70b
Вы можете использовать модели Llama для завершения текста для любого фрагмента текста. Генерируя текст, вы можете выполнять различные задачи, такие как ответы на вопросы, языковой перевод, анализ настроений и многое другое. Входная полезная нагрузка для конечной точки выглядит следующим образом:
Ниже приведены некоторые примеры подсказок и текст, сгенерированный моделью. Все выходные данные генерируются с параметрами вывода {"max_new_tokens":256, "top_p":0.9, "temperature":0.6}
.
В следующем примере мы покажем, как использовать модели Llama с контекстным обучением с несколькими выстрелами, где мы предоставляем обучающие образцы, доступные для модели. Обратите внимание, что мы делаем вывод только о развернутой модели, и во время этого процесса веса модели не меняются.
Подсказки к выводам и примерам для Llama-2-70b-chat
В моделях Llama-2-Chat, которые оптимизированы для вариантов использования диалога, входными данными для конечных точек модели чата является предыдущая история между помощником чата и пользователем. Вы можете задавать вопросы в контексте разговора, который произошел до сих пор. Вы также можете указать конфигурацию системы, например, персонажей, которые определяют поведение помощника по чату. Входная полезная нагрузка для конечной точки выглядит следующим образом:
Ниже приведены некоторые примеры подсказок и текст, сгенерированный моделью. Все выходные данные генерируются с параметрами вывода {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}
.
В следующем примере пользователь разговаривал с помощником о туристических объектах в Париже. Далее пользователь спрашивает о первом варианте, рекомендованном чат-помощником.
В следующих примерах мы устанавливаем конфигурацию системы:
Очистить
После завершения работы с записной книжкой обязательно удалите все ресурсы, чтобы все ресурсы, созданные в процессе, были удалены, а выставление счетов остановлено:
Заключение
В этом посте мы показали вам, как начать работу с моделями Llama 2 в SageMaker Studio. При этом у вас есть доступ к шести моделям фундамента Llama 2, которые содержат миллиарды параметров. Поскольку базовые модели предварительно обучены, они также могут помочь снизить затраты на обучение и инфраструктуру и обеспечить возможность настройки для вашего варианта использования. Чтобы начать работу с SageMaker JumpStart, посетите следующие ресурсы:
Об авторах
июнь выиграл является менеджером по продукту в SageMaker JumpStart. Он фокусируется на том, чтобы сделать базовые модели легко обнаруживаемыми и пригодными для использования, чтобы помочь клиентам создавать генеративные приложения ИИ. Его опыт работы в Amazon также включает мобильное приложение для покупок и доставку последней мили.
Доктор Вивек Мадан — ученый-прикладник в команде Amazon SageMaker JumpStart. Он получил докторскую степень в Университете Иллинойса в Урбана-Шампейн и был постдокторантом в Технологическом институте Джорджии. Он является активным исследователем в области машинного обучения и разработки алгоритмов и публиковал статьи на конференциях EMNLP, ICLR, COLT, FOCS и SODA.
Доктор Кайл Ульрих — ученый-прикладник в команде Amazon SageMaker JumpStart. Его исследовательские интересы включают масштабируемые алгоритмы машинного обучения, компьютерное зрение, временные ряды, байесовские непараметрические и гауссовские процессы. Его докторская степень получена в Университете Дьюка, и он опубликовал статьи в NeurIPS, Cell и Neuron.
Доктор Ашиш Хетан является старшим научным сотрудником Amazon SageMaker JumpStart и помогает разрабатывать алгоритмы машинного обучения. Он получил докторскую степень в Университете Иллинойса в Урбане-Шампейне. Он является активным исследователем в области машинного обучения и статистических выводов и опубликовал множество статей на конференциях NeurIPS, ICML, ICLR, JMLR, ACL и EMNLP.
Сундар Ранганатан является глобальным руководителем специалистов GenAI/Frameworks GTM в AWS. Он занимается разработкой стратегии GTM для больших языковых моделей, GenAI и крупномасштабных рабочих нагрузок машинного обучения в таких сервисах AWS, как Amazon EC2, EKS, EFA, AWS Batch и Amazon SageMaker. Его опыт включает в себя руководящие должности в области управления продуктами и разработки продуктов в NetApp, Micron Technology, Qualcomm и Mentor Graphics.