Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon

Сегодня мы рады сообщить, что Микстрал-8х7Б Модель большого языка (LLM), разработанная Mistral AI, доступна клиентам через Amazon SageMaker JumpStart развернуть одним щелчком мыши для выполнения вывода. Mixtral-8x7B LLM — это предварительно обученная разреженная смесь экспертных моделей, основанная на магистральной сети с 7 миллиардами параметров и восемью экспертами на каждый уровень прямой связи. Вы можете опробовать эту модель с помощью SageMaker JumpStart, центра машинного обучения (ML), который предоставляет доступ к алгоритмам и моделям, чтобы вы могли быстро приступить к работе с ML. В этом посте мы расскажем, как обнаружить и развернуть модель Mixtral-8x7B.

Что такое Микстрал-8х7Б

Mixtral-8x7B — это базовая модель, разработанная Mistral AI, поддерживающая текст на английском, французском, немецком, итальянском и испанском языках, а также возможность генерации кода. Он поддерживает различные варианты использования, такие как суммирование текста, классификация, завершение текста и завершение кода. В режиме чата ведет себя хорошо. Чтобы продемонстрировать простоту настройки модели, Mistral AI также выпустила модель инструкций Mixtral-8x7B для сценариев использования чата, настроенную с использованием различных общедоступных наборов данных разговоров. Модели Mixtral имеют большую длину контекста — до 32,000 XNUMX токенов.

Mixtral-8x7B обеспечивает значительное улучшение производительности по сравнению с предыдущими современными моделями. Его редкая смесь экспертной архитектуры позволяет ему достичь лучших результатов в 9 из 12 тестов обработки естественного языка (NLP), протестированных Мистраль ИИ. Mixtral соответствует производительности моделей, в 10 раз превышающих их размеры, или превосходит их. Используя лишь небольшую часть параметров на токен, он обеспечивает более высокую скорость вывода и меньшие вычислительные затраты по сравнению с плотными моделями эквивалентных размеров — например, с общим количеством 46.7 миллиардов параметров, но только 12.9 миллиардов используемых на токен. Такое сочетание высокой производительности, многоязычной поддержки и вычислительной эффективности делает Mixtral-8x7B привлекательным выбором для приложений НЛП.

Модель доступна по разрешительной лицензии Apache 2.0 для использования без ограничений.

Что такое SageMaker JumpStart

С помощью SageMaker JumpStart специалисты по машинному обучению могут выбирать из растущего списка наиболее эффективных базовых моделей. Специалисты по машинному обучению могут развертывать базовые модели для выделенных Создатель мудреца Амазонки экземпляров в сетевой изолированной среде и настраивайте модели с помощью SageMaker для обучения и развертывания моделей.

Теперь вы можете обнаружить и развернуть Mixtral-8x7B несколькими щелчками мыши. Студия Amazon SageMaker или программно с помощью SageMaker Python SDK, что позволяет получить производительность модели и элементы управления MLOps с помощью функций SageMaker, таких как Конвейеры Amazon SageMaker, Amazon SageMaker Отладчикили журналы контейнера. Модель развертывается в безопасной среде AWS и под контролем вашего VPC, что помогает обеспечить безопасность данных.

Откройте для себя модели

Доступ к базовым моделям Mixtral-8x7B можно получить через SageMaker JumpStart в пользовательском интерфейсе SageMaker Studio и SageMaker Python SDK. В этом разделе мы рассмотрим, как находить модели в SageMaker Studio.

SageMaker Studio — это интегрированная среда разработки (IDE), которая предоставляет единый визуальный веб-интерфейс, где вы можете получить доступ к специально созданным инструментам для выполнения всех этапов разработки машинного обучения, от подготовки данных до создания, обучения и развертывания моделей машинного обучения. Дополнительные сведения о том, как начать работу и настроить SageMaker Studio, см. Студия Amazon SageMaker.

В SageMaker Studio вы можете получить доступ к SageMaker JumpStart, выбрав Толчок в навигационной панели.

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

На целевой странице SageMaker JumpStart вы можете выполнить поиск «Mixtral» в поле поиска. Вы увидите результаты поиска, показывающие Mixtral 8x7B и Mixtral 8x7B Instruct.

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Вы можете выбрать карточку модели, чтобы просмотреть сведения о модели, такие как лицензия, данные, используемые для обучения, и способы использования. Вы также найдете Развертывание кнопку, которую можно использовать для развертывания модели и создания конечной точки.

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Развернуть модель

Развертывание начнется, когда вы выберете Развертывание. После завершения развертывания конечная точка будет создана. Вы можете протестировать конечную точку, передав образец полезных данных запроса вывода или выбрав вариант тестирования с помощью SDK. Когда вы выберете вариант использования SDK, вы увидите пример кода, который можно использовать в предпочитаемом вами редакторе блокнотов в SageMaker Studio.

Для развертывания с использованием SDK мы начинаем с выбора модели Mixtral-8x7B, указанной в model_id with value huggingface-llm-mixtral-8x7b. Вы можете развернуть любую из выбранных моделей в SageMaker с помощью следующего кода. Аналогичным образом вы можете развернуть инструкцию Mixtral-8x7B, используя собственный идентификатор модели:

from sagemaker.jumpstart.model import JumpStartModel model = JumpStartModel(model_id="huggingface-llm-mixtral-8x7b")
predictor = model.deploy()

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

После развертывания вы можете выполнить логический вывод для развернутой конечной точки с помощью предиктора SageMaker:

payload = {"inputs": "Hello!"} predictor.predict(payload)

Пример подсказки

Вы можете взаимодействовать с моделью Mixtral-8x7B, как с любой стандартной моделью генерации текста, где модель обрабатывает входную последовательность и выводит предсказанные следующие слова в последовательности. В этом разделе мы приводим примеры подсказок.

Генерация кода

Используя предыдущий пример, мы можем использовать подсказки для генерации кода, как показано ниже:

# Code generation
payload = { "inputs": "Write a program to compute factorial in python:", "parameters": { "max_new_tokens": 200, },
}
predictor.predict(payload)

Вы получите следующий вывод:

Input Text: Write a program to compute factorial in python:
Generated Text:
Factorial of a number is the product of all the integers from 1 to that number. For example, factorial of 5 is 1*2*3*4*5 = 120. Factorial of 0 is 1. Factorial of a negative number is not defined. The factorial of a number can be written as n!. For example, 5! = 120. ## Write a program to compute factorial in python ```
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1) print(factorial(5))
``` Output: ```
120
``` ## Explanation: In the above program, we have defined a function called factorial which takes a single argument n. If n is equal to 0, then we return 1. Otherwise, we return n multiplied by the factorial of n-1. We then call the factorial function with the argument 5 and print the result. The output of the program is 120, which is the factorial of 5. ## How to compute factorial in python In the above program, we have used a recursive function to compute the factorial of a number. A recursive function is a function that calls itself. In this case, the factorial function calls itself with the argument n-1. This process continues until n is equal to 0, at which point the function returns 1. The factorial of a number can also be computed using a loop. For example, the following program uses a for loop to compute the factorial of a number: ```
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result

Подсказка для анализа настроений

В Mixtral 8x7B вы можете выполнить анализ настроений, используя следующую подсказку:

payload = { "inputs": """
Tweet: "I hate it 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:""", "parameters": { "max_new_tokens": 2,
},
}
predictor.predict(payload)

Вы получите следующий вывод:

Input Text: Tweet: "I hate it 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:
Generated Text:  Positive

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

В Mixtral-8x7B вы можете использовать подсказку для ответа на вопросы, как показано ниже:

# Question answering
payload = { "inputs": "Could you remind me when was the C programming language invented?", "parameters": { "max_new_tokens": 100, },
}
query_endpoint(payload)

Вы получите следующий вывод:

Input Text: Could you remind me when was the C programming language invented?
Generated Text: C was invented in 1972 by Dennis Ritchie at Bell Labs. C is a general-purpose programming language. It was invented to write the UNIX operating system. C is a structured programming language. It is a middle-level language. It is a procedural language. C is a compiled language. It is a portable language. C is a case-sensitive language. It is a free-form language

Микстрал-8х7Б Инструкция

Версия Mixtral-8x7B, настроенная на инструкции, принимает форматированные инструкции, в которых роли диалога должны начинаться с приглашения пользователя и чередоваться между инструкциями пользователя и помощником (образцовым ответом). Формат инструкций должен строго соблюдаться, иначе модель будет генерировать неоптимальные результаты. Шаблон, используемый для создания приглашения для модели Instruct, определяется следующим образом:

<s> [INST] Instruction [/INST] Model answer</s> [INST] Follow-up instruction [/INST]]

Обратите внимание, что <s> и </s> являются специальными токенами для начала строки (BOS) и конца строки (EOS), тогда как [INST] и [/INST] являются обычными строками.

Следующий код показывает, как можно отформатировать приглашение в формате инструкции:

from typing import Dict, List def format_instructions(instructions: List[Dict[str, str]]) -> List[str]: """Format instructions where conversation roles must alternate user/assistant/user/assistant/...""" prompt: List[str] = [] for user, answer in zip(instructions[::2], instructions[1::2]): prompt.extend(["<s>", "[INST] ", (user["content"]).strip(), " [/INST] ", (answer["content"]).strip(), "</s>"]) prompt.extend(["<s>", "[INST] ", (instructions[-1]["content"]).strip(), " [/INST] ","</s>"]) return "".join(prompt) def print_instructions(prompt: str, response: str) -> None: bold, unbold = '33[1m', '33[0m' print(f"{bold}> Input{unbold}n{prompt}nn{bold}> Output{unbold}n{response[0]['generated_text']}n")

Поиск знаний

Вы можете использовать следующий код для запроса на получение знаний:

instructions = [{"role": "user", "content": "what is the recipe of mayonnaise?"}]
prompt = format_instructions(instructions)
payload = { "inputs": prompt, "parameters": {"max_new_tokens": 315, "do_sample": True}
}
response=predictor.predict(payload)
print_instructions(prompt, response)

Вы получите следующий вывод:

> Input
<s>[INST] what is the recipe of mayonnaise? [/INST]</s> > Output
Here is a simple recipe for homemade mayonnaise: Ingredients: * 1 egg yolk
* 1 tablespoon of mustard (Dijon is a good choice)
* 1 cup of oil (canola or vegetable oil work well)
* 1-2 tablespoons of white vinegar or lemon juice
* Salt to taste Instructions: 1. In a medium bowl, whisk together the egg yolk and mustard. It is important that these ingredients are at room temperature.
2. Start adding the oil drop by drop, whisking continuously. This step is crucial to ensure that the mayonnaise emulsifies and does not separate.
3. Once you have added about a quarter of the oil and the mixture has thickened, you can start adding the oil in a thin stream, still whisking constantly.
4. When all the oil has been incorporated and the mayonnaise is thick, whisk in the vinegar or lemon juice and salt to taste.
5. If the mayonnaise is too thick, you can thin it with a little water.
6. Store the mayonnaise in the refrigerator and use within a few days. Note: It is important to use pasteurized eggs or egg yolks when making homemade mayonnaise to reduce the risk of foodborne illness.

Кодирование

Модели Mixtral могут демонстрировать проверенные преимущества для задач кодирования, как показано в следующем коде:

instructions = [
{ "role": "user", "content": "In Bash, how do I list all text files in the current directory (excluding subdirectories) that have been modified in the last month?",
}
]
prompt = format_instructions(instructions)
payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "do_sample": True, "temperature": 0.2}
}
response=predictor.predict(payload)
print_instructions(prompt, response)

Вы получите следующий вывод:

> 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]</s>
> Output
ef{0.15cm} To list all text files in the current directory that have been modified in the last month, you can use a combination of the `find` and `grep` commands in Bash. Here's the command you're looking for: ```bash
find . -maxdepth 1 -type f -name "*.txt" -mtime -30
``` Let's break down this command: - `find .` starts a search in the current directory.
- `-maxdepth 1` limits the search to the current directory only (excluding subdirectories).
- `-type f` specifies that you're looking for files.
- `-name "*.txt"` filters the results to only include files with a `.txt` extension.
- `-mtime -30` filters the results to only include files modified within the last 30 days. This command will output the paths of all text files in the current directory that have been modified in the last month.

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

Микстральные модели также демонстрируют высокую математическую точность:

instructions = [
{ "role": "user", "content": "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.",
}
]
prompt = format_instructions(instructions)
payload = { "inputs": prompt, "parameters": {"max_new_tokens": 600, "do_sample": True, "temperature": 0.2}
}
response=predictor.predict(payload)
print_instructions(prompt, response)

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

> 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] </s>
> Output
First, let's calculate the total cost of the ice cream cones. Since each cone costs $1.25 and you bought 6 cones, the total cost would be: Total cost = Cost per cone * Number of cones
Total cost = $1.25 * 6
Total cost = $7.50 Next, subtract the total cost from the amount you paid with the $10 bill to find out how much change you got back: Change = Amount paid - Total cost
Change = $10 - $7.50
Change = $2.50 So, you got $2.50 back.

Убирать

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

predictor.delete_model()
predictor.delete_endpoint()

Заключение

В этом посте мы показали вам, как начать работу с Mixtral-8x7B в SageMaker Studio и развернуть модель для вывода. Поскольку базовые модели предварительно обучены, они могут помочь снизить затраты на обучение и инфраструктуру, а также обеспечить настройку для вашего варианта использования. Посетите SageMaker JumpStart в SageMaker Studio прямо сейчас, чтобы начать работу.

Полезные ресурсы


Об авторах

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Рахна Чадха является главным архитектором решений AI/ML в области стратегических счетов в AWS. Рахна — оптимистка, считающая, что этичное и ответственное использование ИИ может улучшить общество в будущем и принести экономическое и социальное процветание. В свободное время Рахна любит проводить время со своей семьей, ходить в походы и слушать музыку.

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Доктор Кайл Ульрих является ученым-прикладником с Встроенные алгоритмы Amazon SageMaker команда. Его исследовательские интересы включают масштабируемые алгоритмы машинного обучения, компьютерное зрение, временные ряды, байесовские непараметрические и гауссовские процессы. Его докторская степень получена в Университете Дьюка, и он опубликовал статьи в NeurIPS, Cell и Neuron.

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Кристофер Уиттен — разработчик программного обеспечения в команде JumpStart. Он помогает масштабировать выбор моделей и интегрировать модели с другими сервисами SageMaker. Крис страстно желает ускорить повсеместное распространение ИИ в различных сферах бизнеса.

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Доктор Фабио Нонато де Паула — старший менеджер, специалист GenAI SA, помогающий поставщикам моделей и клиентам масштабировать генеративный искусственный интеллект в AWS. Фабио страстно желает демократизировать доступ к технологиям генеративного искусственного интеллекта. В свободное от работы время Фабио катается на мотоцикле по холмам долины Сонома или читает ComiXology.

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

Mixtral-8x7B теперь доступен в Amazon SageMaker JumpStart | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Карл Альбертсен руководит продуктом, разработкой и наукой для Amazon SageMaker Algorithms и JumpStart, центра машинного обучения SageMaker. Он увлечен применением машинного обучения для раскрытия ценности бизнеса.

Отметка времени:

Больше от Машинное обучение AWS