Свяжитесь с нами:

Mistral 2 и Mistral NeMo: подробное руководство по новейшим LLM, поступающим из Парижа

Искусственный интеллект

Mistral 2 и Mistral NeMo: подробное руководство по новейшим LLM, поступающим из Парижа

mm
Мистраль Большой 2 и Мистраль НеМо

Парижский стартап, основанный выпускниками Google DeepMind и Meta Мистраль ИИ с 2023 года неизменно вызывает фурор в сообществе искусственного интеллекта.

Mistral AI впервые привлек внимание всего мира своей дебютной моделью Mistral 7B, выпущенной в 2023 году. Эта модель с 7 миллиардами параметров быстро завоевала популярность благодаря своим впечатляющим характеристикам, превзойдя более крупные модели, такие как Llama 2 13B, в различных тестах и ​​даже соперничая с Лама 1 34Б по многим показателям. Какой набор Мистраль 7Б Особняком стояли не только его характеристики, но и доступность – модель можно было легко скачано с GitHub или даже через 13.4-гигабайтный торрент, что делает его доступным для исследователей и разработчиков по всему миру.

Нестандартный подход компании к публикации информации, зачастую исключающий традиционные публикации статей, блогов и пресс-релизов, оказался чрезвычайно эффективным в привлечении внимания сообщества ИИ. Эта стратегия, в сочетании с приверженностью принципам открытого исходного кода, сделала Mistral AI заметным игроком на рынке ИИ.

Стремительный рост Mistral AI в отрасли подтверждается недавним успехом в привлечении финансирования. Компания достигла впечатляющей оценки в 2 миллиарда долларов после раунда финансирования, проведенного Andreessen Horowitz. Это произошло сразу после исторического посевного раунда в 118 миллионов долларов — крупнейшего в истории Европы, — что демонстрирует огромную веру инвесторов в видение и возможности Mistral AI.

Помимо технологических достижений, компания Mistral AI также активно участвует в формировании политики в области ИИ, в частности, в обсуждениях вокруг Закона ЕС об ИИ, где она выступает за сокращение регулирования в сфере ИИ с открытым исходным кодом.

Теперь, в 2024 году, Mistral AI снова подняла планку, выпустив две революционные модели: Мистраль Большой 2 (также известный как Mistral-Large-Instruct-2407) и Мистраль НеМоВ этом подробном руководстве мы подробно рассмотрим особенности, производительность и потенциальные области применения этих впечатляющих моделей ИИ.

Ключевые характеристики Mistral Large 2 включают в себя:

  • 123 млрд параметры
  • 128k контекстное окно
  • Поддержка десятков языков
  • Знание 80+ кодирования языки
  • Расширенные возможности вызова функций

Модель призвана расширить границы экономической эффективности, скорости и производительности, что делает ее привлекательным вариантом как для исследователей, так и для предприятий, стремящихся использовать передовой искусственный интеллект.

Mistral NeMo: новая модель меньшего размера

В то время как Mistral Large 2 представляет собой лучшую из крупномасштабных моделей Mistral AI, Mistral NeMo, выпущенная в июле 2024 года, использует другой подход. Разработанная совместно с NVIDIA, Mistral NeMo представляет собой более компактную модель с 12 миллиардами параметров, которая, тем не менее, обладает впечатляющими возможностями:

  • 12 млрд параметры
  • 128k контекст окно
  • Самые современные характеристики в своей размерной категории
  • Лицензия Apache 2.0 для открытого использования
  • С учетом квантования обучение эффективному умозаключению

Mistral NeMo позиционируется как замена системам, в настоящее время использующим Mistral 7B, предлагая повышенную производительность при сохранении простоты использования и совместимости.

Ключевые особенности и возможности

И Mistral Large 2, и Mistral NeMo имеют несколько общих ключевых особенностей, которые выделяют их среди ИИ-среды:

  1. Большие контекстные окна: Благодаря длине контекста токена 128 тыс. обе модели могут обрабатывать и понимать гораздо более длинные фрагменты текста, обеспечивая более последовательные и контекстуально релевантные выходные данные.
  2. Мультиязычная поддержка: модели превосходно поддерживают широкий спектр языков, включая английский, французский, немецкий, испанский, итальянский, китайский, японский, корейский, арабский и хинди.
  3. Расширенные возможности кодирования: Обе модели демонстрируют исключительные навыки генерации кода на многочисленных языках программирования.
  4. Инструкция следующая: Значительно улучшена способность моделей следовать точным инструкциям и поддерживать многовариантные разговоры.
  5. Вызов функции: Встроенная поддержка вызова функций позволяет этим моделям динамически взаимодействовать с внешними инструментами и сервисами.
  6. Рассуждение и решение проблем: Расширенные возможности математических рассуждений и решения сложных задач.

Давайте рассмотрим некоторые из этих функций и посмотрим, как они работают на практике.

Тесты производительности

Чтобы понять истинные возможности Mistral Large 2 и Mistral NeMo, необходимо оценить их производительность в различных бенчмарках. Рассмотрим некоторые ключевые показатели:

Мистраль Большой 2 Тесты

В этой таблице представлены знания различных LLM на разных языках программирования. Такие модели, как Mistral Large 2 (24.07), Llama 3.1 (405B) и GPT-4o, оцениваются по способности понимать и генерировать код на таких языках, как Python, C++, Bash, Java, TypeScript, PHP и C#.

Llama 3.1 405B демонстрирует высокую производительность на нескольких языках, особенно высокие оценки на Python и Java. Этот навык имеет решающее значение для приложений, связанных с генерацией кода, отладкой и разработкой программного обеспечения, что делает эти модели ценными инструментами для разработчиков.

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Тесты Mistral NeMo

Хотя конкретные результаты тестов Mistral NeMo в представленной информации не приводятся, модель описывается как обладающая высочайшей производительностью в своей категории. Модель превосходит другие современные предварительно обученные модели с открытым исходным кодом, такие как Gemma 2 9B и Llama 3 8B, в различных задачах.

Многоязычность и мастерство программирования

Одной из выдающихся особенностей Mistral Large 2 и Mistral NeMo являются их исключительные многоязычные возможности. Это особенно важно в нашем все более глобализированном мире, где модели искусственного интеллекта должны понимать и генерировать контент на нескольких языках.

Например, Mistral Large 2 поддерживает десятки языков, включая французский, немецкий, испанский, итальянский, португальский, арабский, хинди, русский, китайский, японский и корейский. Это многоязычное владение выходит за рамки простого перевода и включает в себя тонкое понимание и создание текстов на этих языках.

Чтобы проиллюстрировать это, давайте рассмотрим пример Mistral Large 2, генерирующего текст на нескольких языках:

[INST] Generate a short greeting in English, French, German, Spanish, and Japanese. [/INST]

Вот короткие приветствия на запрошенных языках:

Английский: Здравствуйте! Как вы сегодня?
Французский: Бонжур! Прокомментируйте allez-vous aujourd'hui ?
Немец: Привет! Wie geht es Ihnen heute?
Испанский: ¡Привет! ¿Как ты здесь?
Японский: こんにちは!今日はお元気ですか?

[ИНСТ]

Теперь напишите простое «Hello, World!» программа на Python, Java и JavaScript. [/ИНСТ]

Эти примеры демонстрируют как возможности создания многоязычного текста, так и возможности кодирования модели.

Обе модели доступны на различных платформах, таких как Hugging Face, платформа Mistral AI, а также на платформах крупных поставщиков облачных сервисов, таких как Google Cloud Platform, Azure AI Studio, Amazon Bedrock и IBM watsonx.ai. (Мистраль ИИ | Передовой ИИ в ваших руках).

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

И Mistral Large 2, и Mistral NeMo используют агентно-ориентированный дизайн, который представляет собой сдвиг парадигмы в том, как мы взаимодействуем с моделями ИИ. Этот подход фокусируется на построении моделей, способных взаимодействовать с окружающей средой, принимать решения и предпринимать действия для достижения конкретных целей.

Ключевой особенностью этой парадигмы является встроенная поддержка вызова функций. Это позволяет моделям динамически взаимодействовать с внешними инструментами и сервисами, эффективно расширяя их возможности за пределы простой генерации текста.

Давайте рассмотрим пример того, как вызов функций может работать с Mistral Large 2:

 
from mistral_common.protocol.instruct.tool_calls import Function, Tool
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest

# Initialize tokenizer and model
mistral_models_path = "path/to/mistral/models"  # Ensure this path is correct
tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tokenizer.model.v3")
model = Transformer.from_folder(mistral_models_path)

# Define a function for getting weather information
weather_function = Function(
    name="get_current_weather",
    description="Get the current weather",
    parameters={
        "type": "object",
        "properties": {
            "location": {
                "type": "string",
                "description": "The city and state, e.g. San Francisco, CA",
            },
            "format": {
                "type": "string",
                "enum": ["celsius", "fahrenheit"],
                "description": "The temperature unit to use. Infer this from the user's location.",
            },
        },
        "required": ["location", "format"],
    },
)

# Create a chat completion request with the function
completion_request = ChatCompletionRequest(
    tools=[Tool(function=weather_function)],
    messages=[
        UserMessage(content="What's the weather like today in Paris?"),
    ],
)

# Encode the request
tokens = tokenizer.encode_chat_completion(completion_request).tokens

# Generate a response
out_tokens, _ = generate([tokens], model, max_tokens=256, temperature=0.7, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id)
result = tokenizer.decode(out_tokens[0])

print(result)


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

Tekken: более эффективный токенизатор

Mistral NeMo представляет новый токенайзер под названием Tekken, основанный на Tiktoken и обученный на более чем 100 языках. Этот новый токенизатор обеспечивает значительные улучшения в эффективности сжатия текста по сравнению с предыдущими токенизаторами, такими как SentencePiece.

Ключевые особенности Tekken включают в себя:

  • На 30 % более эффективное сжатие исходного кода на китайском, итальянском, французском, немецком, испанском и русском языках.
  • В 2 раза более эффективное сжатие для корейского языка
  • В 3 раза более эффективное сжатие арабского языка
  • Превосходит токенизатор Llama 3 при сжатии текста примерно для 85 % всех языков.

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

Лицензирование и доступность

Mistral Large 2 и Mistral NeMo имеют разные модели лицензирования, отражающие предполагаемые варианты использования:

Мистраль Большой 2

  • Выпущено по лицензии Mistral Research.
  • Разрешает использование и модификацию в исследовательских и некоммерческих целях.
  • Для коммерческого использования требуется коммерческая лицензия Mistral.

Мистраль НеМо

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

Обе модели доступны на различных платформах:

  • Обнимающее лицо: Здесь размещены веса как для базовой, так и для инструктирующей модели.
  • Мистраль ИИ: Доступно как mistral-large-2407 (Мистраль Большой 2) и open-mistral-nemo-2407 (Мистраль НеМо)
  • Поставщики облачных услуг: Доступно в Vertex AI от Google Cloud Platform, Azure AI Studio, Amazon Bedrock и IBM watsonx.ai
https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Для разработчиков, желающих использовать эти модели, вот краткий пример того, как загрузить и использовать Mistral Large 2 с трансформерами Hugging Face:

 
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "mistralai/Mistral-Large-Instruct-2407"
device = "cuda"  # Use GPU if available

# Load the model and tokenizer
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Move the model to the appropriate device
model.to(device)

# Prepare input
messages = [
    {"role": "system", "content": "You are a helpful AI assistant."},
    {"role": "user", "content": "Explain the concept of neural networks in simple terms."}
]

# Encode input
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)

# Generate response
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)

# Decode and print the response
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)

Этот код демонстрирует, как загрузить модель, подготовить входные данные в формате чата, сгенерировать ответ и декодировать выходные данные.

Ограничения и этические соображения

Хотя Mistral Large 2 и Mistral NeMo представляют собой значительный прогресс в технологии ИИ, крайне важно признать их ограничения и этические соображения, связанные с их использованием:

  1. Потенциал предвзятости: Как и все модели ИИ, обученные на больших наборах данных, эти модели могут наследовать и усиливать систематические ошибки, присутствующие в их обучающих данных. Пользователи должны знать об этом и принимать соответствующие меры предосторожности.
  2. Отсутствие истинного понимания: Несмотря на свои впечатляющие возможности, эти модели не обладают истинным пониманием или сознанием. Они генерируют ответы на основе шаблонов своих обучающих данных, что иногда может привести к получению правдоподобной, но неверной информации.
  3. Конфиденциальность: При использовании этих моделей, особенно в приложениях, обрабатывающих конфиденциальную информацию, крайне важно учитывать вопросы конфиденциальности и безопасности данных.

Заключение

Точная настройка продвинутых моделей, таких как Mistral Large 2 и Mistral NeMo, предоставляет мощную возможность использовать передовой искусственный интеллект для различных приложений — от динамического вызова функций до эффективной многоязычной обработки. Вот несколько практических советов и ключевых идей, которые следует иметь в виду:

  1. Поймите свой вариант использования: Чётко определите конкретные задачи и цели, которые должна решать ваша модель. Это понимание поможет вам выбрать модель и подход к её настройке, будь то надёжные возможности вызова функций Mistral или эффективная многоязычная обработка текста.
  2. Оптимизация для повышения эффективности: используйте токенизатор Tekken, чтобы значительно повысить эффективность сжатия текста, особенно если ваше приложение предполагает обработку больших объемов текста или нескольких языков. Это повысит производительность модели и снизит вычислительные затраты.
  3. Использование вызова функций: Используйте агентную парадигму, включив вызовы функций во взаимодействие с вашей моделью. Это позволит вашему ИИ динамически взаимодействовать с внешними инструментами и сервисами, предоставляя более точные и полезные результаты. Например, интеграция API погоды или других внешних источников данных может значительно повысить релевантность и полезность ответов вашей модели.
  4. Выбор платформы.: Убедитесь, что вы разворачиваете свои модели на платформах, поддерживающих их возможности, таких как Vertex AI от Google Cloud Platform, Azure AI Studio, Amazon Bedrock и IBM watsonx.ai. Эти платформы предоставляют необходимую инфраструктуру и инструменты для максимального повышения производительности и масштабируемости ваших моделей ИИ.

Следуя этим советам и используя предоставленные примеры кода, вы сможете эффективно использовать возможности Mistral Large 2 и Mistral NeMo для своих конкретных нужд.

Последние пять лет я погружался в увлекательный мир машинного обучения и глубокого обучения. Моя страсть и опыт позволили мне принять участие в более чем 50 различных проектах по разработке программного обеспечения, уделяя особое внимание AI/ML. Мое постоянное любопытство также привлекло меня к обработке естественного языка, области, которую я очень хочу исследовать дальше.