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 привабливим вибором для програм NLP.

Модель доступна за дозвільною ліцензією Apache 2.0 для використання без обмежень.

Що таке SageMaker JumpStart

За допомогою SageMaker JumpStart фахівці з машинного навчання можуть вибирати зі списку найефективніших моделей основи, що постійно зростає. Практикуючі ML можуть розгортати базові моделі на спеціальному Amazon SageMaker екземпляри в ізольованому мережевому середовищі та налаштовувати моделі за допомогою SageMaker для навчання та розгортання моделей.

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

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

Ви можете отримати доступ до моделей основи Mixtral-8x7B через SageMaker JumpStart в інтерфейсі користувача SageMaker Studio та SageMaker Python SDK. У цьому розділі ми розглянемо, як знайти моделі в SageMaker Studio.

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

У SageMaker Studio ви можете отримати доступ до SageMaker JumpStart, вибравши Поштовх у навігаційній панелі.

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

На цільовій сторінці SageMaker JumpStart ви можете знайти «Mixtral» у полі пошуку. Ви побачите результати пошуку з Mixtral 8x7B і Mixtral 8x7B Instruct.

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

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

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

Розгорнути модель

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

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

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

Це розгортає модель на SageMaker із конфігураціями за замовчуванням, включаючи тип екземпляра за замовчуванням і конфігурації VPC за замовчуванням. Ви можете змінити ці конфігурації, вказавши значення, відмінні від замовчування JumpStartModel.

Після розгортання ви можете запустити висновок щодо розгорнутої кінцевої точки за допомогою предиктора 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.

Математика і міркування

Моделі Mixtral також повідомляють про переваги в математичній точності:

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 Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Рачна Чадха є головним архітектором рішень AI/ML у Strategic Accounts в AWS. Рахна — оптиміст, який вірить, що етичне та відповідальне використання ШІ може покращити суспільство в майбутньому та принести економічне та соціальне процвітання. У вільний час Рачна любить проводити час з сім'єю, гуляти в походах і слухати музику.

Mixtral-8x7B тепер доступний в Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Доктор Кайл Ульріх є прикладним науковцем з Вбудовані алгоритми Amazon SageMaker команда. Його дослідницькі інтереси включають масштабовані алгоритми машинного навчання, комп’ютерне бачення, часові ряди, байєсівські непараметричні процеси та процеси Гаусса. Його доктор філософії отримав в Університеті Дьюка, і він опублікував статті в NeurIPS, Cell і Neuron.

Mixtral-8x7B тепер доступний в Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Крістофер Віттен є розробником програмного забезпечення в команді JumpStart. Він допомагає масштабувати вибір моделей та інтегрувати моделі з іншими службами SageMaker. Кріс захоплений прискоренням повсюдного поширення ШІ в різних сферах бізнесу.

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

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

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

Часова мітка:

Більше від AWS Машинне навчання