Сегодня мы рады сообщить, что базовая модель Falcon 180B, разработанная Институтом технологических инноваций (TII), доступна клиентам через Amazon SageMaker JumpStart для развертывания одним щелчком мыши и выполнения логических выводов. Имея размер в 180 миллиардов параметров и обученный на огромном наборе данных из 3,5 триллионов токенов, Falcon 180B является самой крупной и одной из самых производительных моделей с открыто доступными весами. Вы можете опробовать эту модель с помощью SageMaker JumpStart, центра машинного обучения (ML), который предоставляет доступ к алгоритмам, моделям и решениям ML, чтобы вы могли быстро приступить к работе с ML. В этом посте мы расскажем, как обнаружить и развернуть модель Falcon 180B с помощью SageMaker JumpStart.
Что такое Фалькон 180Б
Falcon 180B — модель, выпущенная компанией ТИИ это следует за предыдущими выпусками семейства Falcon. Это увеличенная версия Falcon 40B, в которой для лучшей масштабируемости используется обработка нескольких запросов. Это авторегрессионная языковая модель, использующая оптимизированную архитектуру преобразователя. Он был обучен на 3,5 триллионах токенов данных, в основном состоящих из веб-данных из РафинедВеб (около 85%). Модель имеет две версии: 180B и 180B-Chat. 180B — это сырая, предварительно обученная модель, которую необходимо дополнительно настроить для большинства случаев использования. 180B-Chat лучше подходит для получения общих инструкций. Модель чата была доработана для наборов данных чата и инструкций, а также для нескольких крупномасштабных наборов разговорных данных.
Модель доступна по ссылке Лицензия Falcon-180B TII и Политика приемлемого использования.
Falcon 180B был обучен TII на Amazon SageMaker на кластере примерно из 4K графических процессоров A100. Он использовал специальную кодовую базу распределенного обучения под названием Gigatron, которая использует 3D-параллелизм с ZeRO, и специальные высокопроизводительные ядра Triton. В распределенной архитектуре обучения использовался Amazon Simple Storage Service (Amazon S3) в качестве единственного унифицированного сервиса для загрузки данных, а также записи и чтения контрольных точек, что особенно способствовало надежности рабочей нагрузки и простоте эксплуатации.
Что такое SageMaker JumpStart
С помощью SageMaker JumpStart специалисты по машинному обучению могут выбирать из растущего списка наиболее эффективных базовых моделей. Специалисты по машинному обучению могут развертывать базовые модели в выделенных экземплярах SageMaker в сетевой изолированной среде, а также настраивать модели с помощью Amazon SageMaker для обучения и развертывания моделей.
Теперь вы можете обнаружить и развернуть Falcon 180B несколькими щелчками мыши в Amazon SageMaker Studio или программно с помощью SageMaker Python SDK, что позволит вам получить производительность модели и элементы управления MLOps с помощью таких функций SageMaker, как Amazon SageMaker Pipelines, Amazon SageMaker Debugger или журналы контейнеров. Модель развертывается в безопасной среде AWS и под контролем вашего VPC, что помогает обеспечить безопасность данных. Falcon 180B доступен для обнаружения и может быть развернут в регионах, где доступны необходимые экземпляры. В настоящее время экземпляры ml.p4de доступны на востоке США (Северная Вирджиния) и западе США (Орегон).
Откройте для себя модели
Доступ к базовым моделям можно получить через 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 вы можете искать решения, модели, ноутбуки и другие ресурсы. Вы можете найти Falcon 180B в Базовые модели: генерация текста карусель.
Вы также можете найти другие варианты модели, выбрав Изучите все модели генерации текста или поиск Falcon
.
Вы можете выбрать карточку модели, чтобы просмотреть сведения о модели, такие как лицензия, данные, используемые для обучения, и способы использования. Вы также найдете две кнопки, Развертывать и Открыть блокноткоторый поможет вам использовать модель (на следующем снимке экрана показано Развертывать вариант).
Развертывание моделей
Когда вы выбираете Развертывать, начнется развертывание модели. Альтернативно вы можете выполнить развертывание с помощью примера записной книжки, который отображается, выбрав Открыть блокнот. В примере записной книжки представлены комплексные инструкции по развертыванию модели для вывода и очистки ресурсов.
Чтобы развернуть с помощью ноутбука, мы начинаем с выбора соответствующей модели, указанной в model_id
. Вы можете развернуть любую из выбранных моделей в SageMaker с помощью следующего кода:
При этом модель развертывается в SageMaker с конфигурациями по умолчанию, включая тип экземпляра по умолчанию и конфигурации VPC по умолчанию. Вы можете изменить эти конфигурации, указав значения, отличные от значений по умолчанию, в JumpStartModel
. Чтобы узнать больше, обратитесь к Документация по API. После развертывания вы можете выполнить логический вывод для развернутой конечной точки с помощью предиктора SageMaker. См. следующий код:
Параметры вывода управляют процессом генерации текста в конечной точке. Элемент управления «Максимальное количество новых токенов» относится к размеру выходных данных, генерируемых моделью. Обратите внимание, что это не то же самое, что количество слов, поскольку словарный запас модели не совпадает со словарным запасом английского языка, и каждый токен не может быть словом английского языка. Температура контролирует случайность выходных данных. Более высокая температура приводит к более творческим и галлюцинирующим результатам. Все параметры вывода являются необязательными.
Эта модель с параметрами 180 байт занимает 335 ГБ и требует еще больше памяти графического процессора для достаточного выполнения вывода с 16-битной точностью. В настоящее время JumpStart поддерживает эту модель только на экземплярах ml.p4de.24xlarge. Можно развернуть 8-битную квантованную модель на экземпляре ml.p4d.24xlarge, предоставив env={"HF_MODEL_QUANTIZE": "bitsandbytes"}
ключевое слово аргумент для JumpStartModel
конструктор и указание instance_type="ml.p4d.24xlarge"
к методу развертывания. Однако обратите внимание, что задержка на каждый токен примерно в 5 раз медленнее для этой квантовой конфигурации.
В следующей таблице перечислены все модели Falcon, доступные в SageMaker JumpStart, а также идентификаторы моделей, типы экземпляров по умолчанию, максимальное общее количество поддерживаемых токенов (сумма количества входных токенов и количества сгенерированных токенов), а также типичная задержка ответа на каждый токен. для каждой из этих моделей.
Название модели | Идентификатор модели | Тип экземпляра по умолчанию | Максимальное количество токенов | Задержка на токен* |
Сокол 7Б | huggingface-llm- falcon-7b-bf16 |
мл.г5.2xбольшой | 2048 | 34 мс |
Сокол 7Б Инструктировать | huggingface-llm- falcon-7b-instruct-bf16 |
мл.г5.2xбольшой | 2048 | 34 мс |
Сокол 40Б | huggingface-llm- falcon-40b-bf16 |
мл.г5.12xбольшой | 2048 | 57 мс |
Сокол 40Б Инструктировать | huggingface-llm- falcon-40b-instruct-bf16 |
мл.г5.12xбольшой | 2048 | 57 мс |
Сокол 180Б | huggingface-llm- falcon-180b-bf16 |
ml.p4de.24xlarge | 2048 | 45 мс |
Сокол 180B Чат | huggingface-llm- falcon-180b-chat-bf16 |
ml.p4de.24xlarge | 2048 | 45 мс |
*задержка каждого токена указана для среднего времени ответа примеров подсказок, представленных в этом блоге; это значение будет варьироваться в зависимости от длины входных и выходных последовательностей.
Выводы и примеры для Falcon 180B
Модели Falcon можно использовать для завершения текста любого фрагмента текста. С помощью генерации текста вы можете выполнять различные задачи, такие как ответы на вопросы, языковой перевод, анализ настроений и многое другое. Конечная точка принимает следующую схему входных полезных данных:
Вы можете изучить определение этих параметры клиента и их значения по умолчанию в репозитории вывода текста.
Ниже приведены некоторые примеры подсказок и текст, сгенерированный моделью. Все выходные данные здесь генерируются с параметрами вывода. {"max_new_tokens": 768, "stop": ("<|endoftext|>", "###")}
.
Создать сайт можно за 10 простых шагов:
Вы можете заметить, что эта предварительно обученная модель генерирует длинные текстовые последовательности, которые не обязательно идеальны для сценариев использования диалога. Прежде чем мы покажем, как точно настроенная модель чата работает для большего набора диалоговых подсказок, следующие два примера иллюстрируют, как использовать модели Falcon с пошаговым контекстным обучением, где мы предоставляем обучающие образцы, доступные для модели. Обратите внимание, что «обучение в несколько этапов» не корректирует веса модели — во время этого процесса мы только выполняем выводы по развернутой модели, одновременно предоставляя несколько примеров во входном контексте, чтобы помочь модели гильдии получить выходные данные.
Выводы и примеры подсказок для Falcon 180B-Chat
В моделях Falcon 180B-Chat, оптимизированных для сценариев использования диалога, входные данные для конечных точек модели чата могут содержать предыдущую историю между помощником по чату и пользователем. Вы можете задавать вопросы, связанные с разговором, который произошел на данный момент. Вы также можете указать конфигурацию системы, например персонажей, которые определяют поведение чат-помощника. Входная полезная нагрузка в конечной точке такая же, как у модели Falcon 180B, за исключением inputs
строковое значение должно иметь следующий формат:
Ниже приведены некоторые примеры подсказок и текст, сгенерированный моделью. Все выходные данные генерируются с параметрами вывода. {"max_new_tokens":256, "stop": ("\nUser:", "<|endoftext|>", " User:", "###")}.
В следующем примере пользователь беседовал с ассистентом о туристических объектах Парижа. Далее пользователь спрашивает о первом варианте, рекомендованном чат-помощником.
Очистить
После завершения работы с блокнотом обязательно удалите все ресурсы, созданные в процессе, чтобы прекратить выставление счетов. Используйте следующий код:
Заключение
В этом посте мы показали вам, как начать работу с Falcon 180B в SageMaker Studio и развернуть модель для вывода. Поскольку базовые модели предварительно обучены, они могут помочь снизить затраты на обучение и инфраструктуру, а также обеспечить настройку для вашего варианта использования. Посетите SageMaker JumpStart в SageMaker Studio прямо сейчас, чтобы начать работу.
Ресурсы
Об авторах
Доктор Кайл Ульрих — учёный-прикладник в команде Amazon SageMaker JumpStart. Его исследовательские интересы включают масштабируемые алгоритмы машинного обучения, компьютерное зрение, временные ряды, байесовские непараметрические методы и гауссовские процессы. Его докторская степень получена в Университете Дьюка, и он опубликовал статьи в журналах NeurIPS, Cell и Neuron.
Доктор Ашиш Хетан является старшим научным сотрудником Amazon SageMaker JumpStart и помогает разрабатывать алгоритмы машинного обучения. Он получил докторскую степень в Университете Иллинойса Урбана-Шампейн. Он является активным исследователем в области машинного обучения и статистического вывода и опубликовал множество статей на конференциях NeurIPS, ICML, ICLR, JMLR, ACL и EMNLP.
Оливье Крушанt — главный специалист по архитектуре решений в области машинного обучения в AWS, Франция. Оливье помогает клиентам AWS — от небольших стартапов до крупных предприятий — разрабатывать и развертывать приложения машинного обучения промышленного уровня. В свободное время он любит читать научные статьи и исследовать дикую природу с друзьями и семьей.
Карл Альбертсен возглавляет центр базовых моделей Amazon SageMaker, команды по алгоритмам и партнерству.