Home Машинное обучение Модели фундаментов Mistral 7B от Mistral AI теперь доступны в Amazon SageMaker JumpStart | DeepTech

Модели фундаментов Mistral 7B от Mistral AI теперь доступны в Amazon SageMaker JumpStart | DeepTech

0
Модели фундаментов Mistral 7B от Mistral AI теперь доступны в Amazon SageMaker JumpStart
 | DeepTech

Сегодня мы рады сообщить, что базовые модели 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 с помощью следующего кода:

from sagemaker.jumpstart.model import JumpStartModel

model = JumpStartModel(model_id="huggingface-llm-mistral-7b-instruct")
predictor = model.deploy()

При этом модель развертывается в SageMaker с конфигурациями по умолчанию, включая тип экземпляра по умолчанию (ml.g5.2xlarge) и конфигурации VPC по умолчанию. Вы можете изменить эти конфигурации, указав значения, отличные от значений по умолчанию, в JumpStartМодель. После развертывания вы можете выполнить логический вывод для развернутой конечной точки с помощью предиктора SageMaker:

payload = {"inputs": "<s>(INST) Hello! (/INST)"}
predictor.predict(payload)

Оптимизация конфигурации развертывания

В моделях 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 перед развертыванием, чтобы обеспечить наилучшую производительность для вашей рабочей нагрузки:

model.env("MAX_CONCURRENT_REQUESTS") = "4"

Здесь мы покажем, как производительность модели может отличаться для вашей типичной рабочей нагрузки конечной точки. В следующих таблицах вы можете увидеть, что запросы небольшого размера (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, как с любой стандартной моделью генерации текста, где модель обрабатывает входную последовательность и выводит предсказанные следующие слова в последовательности. Ниже приведен простой пример многоэтапного обучения, где модель снабжена несколькими примерами, а окончательный примерный ответ генерируется с учетом контекстуального знания этих предыдущих примеров:

> Input
Tweet: "I get sad when my phone battery dies."
Sentiment: Negative
###
Tweet: "My day has been :+1:"
Sentiment: Positive
###
Tweet: "This is the link to the article"
Sentiment: Neutral
###
Tweet: "This new music video was incredibile"
Sentiment:

> Output
 Positive

Мистраль 7Б инструктируем

Версия Mistral, настроенная на инструкции, принимает форматированные инструкции, в которых роли диалога должны начинаться с приглашения пользователя и чередоваться между пользователем и помощником. Простое приглашение пользователя может выглядеть следующим образом:

<s>(INST) {user_prompt} (/INST)

Многоходовое приглашение будет выглядеть следующим образом:

<s>(INST) {user_prompt_1} (/INST) {assistant_response_1} </s><s>(INST) {user_prompt_1} (/INST)

Этот шаблон повторяется, сколько бы ходов ни было в разговоре.

В следующих разделах мы рассмотрим некоторые примеры использования модели Mistral 7B Instruct.

Поиск знаний

Ниже приведен пример поиска знаний:

> Input
<s>(INST) Which country has the most natural lakes? Answer with only the country name. (/INST) 

> Output
1. Canada

Ответ на большой контекстный вопрос

Чтобы продемонстрировать, как использовать эту модель для поддержки больших входных контекстов, в следующий пример включен отрывок под названием «Крысы» Роберта Салливана (ссылка), из теста на понимание чтения по английскому языку для 10-го класса MCAS в инструкцию по вводу и задает модели прямой вопрос о тексте:

> Input
<s>(INST) A rat is a rodent, the most common mammal in the world. Rattus norvegicus is one of the approximately four hundred different kinds of rodents, and it is known by many names, each of which describes a trait or a perceived trait or sometimes a habitat: the earth rat, the roving rat, the barn rat, the fi eld rat, the migratory rat, the house rat, the sewer rat, the water rat, the wharf rat, the alley rat, the gray rat, the brown rat, and the common rat. The average brown rat is large and stocky; it grows to be approximately sixteen inches long from its nose to its tail—the size of a large adult human male’s foot—and weighs about a pound, though brown rats have been measured by scientists and exterminators at twenty inches and up to two pounds. The brown rat is sometimes confused with the black rat, or Rattus rattus, which is smaller and once inhabited New York City and all of the cities of America but, since Rattus norvegicus pushed it out, is now relegated to a minor role. (The two species still survive alongside each other in some Southern coastal cities and on the West Coast, in places like Los Angeles, for example, where the black rat lives in attics and palm trees.) The black rat is always a very dark gray, almost black, and the brown rat is gray or brown, with a belly that can be light gray, yellow, or even a pure-seeming white. One spring, beneath the Brooklyn Bridge, I saw a red-haired brown rat that had been run over by a car. Both pet rats and laboratory rats are Rattus norvegicus, but they are not wild and therefore, I would emphasize, not the subject of this book. Sometimes pet rats are called fancy rats. But if anyone has picked up this book to learn about fancy rats, then they should put this book down right away; none of the rats mentioned herein are at all fancy.

Rats are nocturnal, and out in the night the brown rat’s eyes are small and black and shiny; when a fl ashlight shines into them in the dark, the eyes of a rat light up like the eyes of a deer. Though it forages* in darkness, the brown rat has poor eyesight. It makes up for this with, fi rst of all, an excellent sense of smell. . . . They have an excellent sense of taste, detecting the most minute amounts of poison, down to one part per million. A brown rat has strong feet, the two front paws each equipped with four clawlike nails, the rear paws even longer and stronger. It can run and climb with squirrel-like agility. It is an excellent swimmer, surviving in rivers and bays, in sewer streams and toilet bowls.

The brown rat’s teeth are yellow, the front two incisors being especially long and sharp, like buckteeth. When the brown rat bites, its front two teeth spread apart. When it gnaws, a fl ap of skin plugs the space behind its incisors. Hence, when the rat gnaws on indigestible materials—concrete or steel, for example—the shavings don’t go down the rat’s throat and kill it. Its incisors grow at a rate of fi ve inches per year. Rats always gnaw, and no one is certain why—there are few modern rat studies. It is sometimes erroneously stated that the rat gnaws solely to limit the length of its incisors, which would otherwise grow out of its head, but this is not the case: the incisors wear down naturally. In terms of hardness, the brown rat’s teeth are stronger than aluminum, copper, lead, and iron. They are comparable to steel. With the alligator-like structure of their jaws, rats can exert a biting pressure of up to seven thousand pounds per square inch. Rats, like mice, seem to be attracted to wires—to utility wires, computer wires, wires in vehicles, in addition to gas and water pipes. One rat expert theorizes that wires may be attractive to rats because of their resemblance to vines and the stalks of plants; cables are the vines of the city. By one estimate, 26 percent of all electric-cable breaks and 18 percent of all phone-cable disruptions are caused by rats. According to one study, as many as 25 percent of all fi res of unknown origin are rat-caused. Rats chew electrical cables. Sitting in a nest of tattered rags and newspapers, in the fl oorboards of an old tenement, a rat gnaws the head of a match—the lightning in the city forest.

When it is not gnawing or feeding on trash, the brown rat digs. Anywhere there is dirt in a city, brown rats are likely to be digging—in parks, in fl owerbeds, in little dirt-poor backyards. They dig holes to enter buildings and to make nests. Rat nests can be in the floorboards of apartments, in the waste-stuffed corners of subway stations, in sewers, or beneath old furniture in basements. “Cluttered and unkempt alleyways in cities provide ideal rat habitat, especially those alleyways associated with food-serving establishments,” writes Robert Corrigan in Rodent Control, a pest control manual. “Alley rats can forage safely within the shadows created by the alleyway, as well as quickly retreat to the safety of cover in these narrow channels.” Often, rats burrow under concrete sidewalk slabs. Entrance to a typical under-the-sidewalk rat’s nest is gained through a two-inch-wide hole—their skeletons collapse and they can squeeze into a hole as small as three quarters of an inch wide, the average width of their skull. This tunnel then travels about a foot down to where it widens into a nest or den. The den is lined with soft debris, often shredded plastic garbage or shopping bags, but sometimes even grasses or plants; some rat nests have been found stuffed with the gnawed shavings of the wood-based, spring-loaded snap traps that are used in attempts to kill them. The back of the den then narrows into a long tunnel that opens up on another hole back on the street. This second hole is called a bolt hole; it is an emergency exit. A bolt hole is typically covered lightly with dirt or trash—camoufl age. Sometimes there are networks of burrows, which can stretch beneath a few concrete squares on a sidewalk, or a number of backyards, or even an entire city block—when Rattus norvegicus fi rst came to Selkirk, England, in 1776, there were so many burrows that people feared the town might sink. Rats can also nest in basements, sewers, manholes, abandoned pipes of any kind, fl oorboards, or any hole or depression. “Often,” Robert Corrigan writes, “‘city rats’ will live unbeknownst to people right beneath their feet.”

Rats also inhabit subways, as most people in New York City and any city with a subway system are well aware. Every once in a while, there are reports of rats boarding trains, but for the most part rats stay on the tracks—subway workers I have talked to refer to rats as “track rabbits.” People tend to think that the subways are fi lled with rats, but in fact rats are not everywhere in the system; they live in the subways according to the supply of discarded human food and sewer leaks. Sometimes, rats use the subway purely for nesting purposes; they fi nd ways through the walls of the subway stations leading from the tracks to the restaurants and stores on the street—the vibrations of subway trains tend to create rat-size cracks and holes. Many subway rats tend to live near stations that are themselves near fast-food restaurants. At the various subway stations near Herald Square, for example, people come down from the streets and throw the food that they have not eaten onto the tracks, along with newspapers and soda bottles and, I have noticed, thousands of nolonger-charged AA batteries, waiting to leak acid. The rats eat freely from the waste and sit at the side of the little streams of creamy brown sewery water that fl ows between the rails. They sip the water the way rats do, either with their front paws or by scooping it up with their incisors.


What is the most likely reason the author states, "cables are the vines of the city"? (/INST) 


> Output
1. The author states that rats are attracted to wires, such as utility wires, computer wires, and vehicle wires, which may be due to their resemblance to vines and the stalks of plants.

Математика и рассуждения

Модели Mistral также демонстрируют высокую математическую точность. Mistral может обеспечить понимание, например, следующей математической логики:

> Input
<s>(INST) I bought an ice cream for 6 kids. Each cone was $1.25 and I paid with a $10 bill. How many dollars did I get back? Explain first before answering. (/INST)

> Output
1. First, let's figure out how much the ice cream cost in total. Since each cone was $1.25 and there were 6 kids, the total cost would be:

Total cost = Number of cones * Cost per cone
Total cost = 6 * $1.25
Total cost = $7.50

2. Next, we'll subtract the total cost from the amount paid ($10) to find out how much money was returned:

Money returned = Amount paid - Total cost
Money returned = $10 - $7.50
Money returned = $2.50

So, you got back $2.50 after buying the ice cream for the 6 kids.

Кодирование

Ниже приведен пример запроса на кодирование:

> Input
<s>(INST) In Bash, how do I list all text files in the current directory (excluding subdirectories) that have been modified in the last month? (/INST) 


> Output
1. Use the `find` command to search for text files in the current directory (excluding subdirectories) that have been modified in the last month. The `-type f` option specifies that we only want to search for files, not directories. The `-name "*.txt"` option specifies that we only want to search for files with the `.txt` extension. The `-mtime -30` option specifies that we only want to search for files that have been modified in the last 30 days (1 month).

```bash
find . -type f -name "*.txt" -mtime -30
```

This command will list all text files in the current directory (excluding subdirectories) that have been modified in the last month.

Очистить

После завершения работы с блокнотом обязательно удалите все ресурсы, созданные вами в процессе, чтобы прекратить выставление счетов. Используйте следующий код:

predictor.delete_model()
predictor.delete_endpoint()

Заключение

В этом посте мы показали вам, как начать работу с 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. Рой увлечен проблемами вычислительной оптимизации и повышением производительности рабочих нагрузок ИИ.

LEAVE A REPLY

Please enter your comment!
Please enter your name here