/ Модель

Характеристики

Контекст
4 096 токенов
Параметры
5,7 млрд
Размер весов
5,4 ГБ
Лицензия
Apache 2.0
Архитектура
zamba2 · dense
Базовая модель
Zamba2-2.7B
Библиотека
transformers
Опубликована
29 авг 2024

Zamba2-2.7B-instruct

Генерация текстаТекст → текст15 профессий

Дообученная Zyphra гибридная модель для диалогов и выполнения текстовых инструкций с контекстом до 4096 токенов.

1 587скачиваний за 30 дней83лайкавеса обновлены14 фев 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

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

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Zamba2-2.7B-Instruct — разговорная модель Zyphra для следования инструкциям и генерации текста. Она получена дообучением Zamba2-2.7B: сначала SFT на наборах UltraChat 200k и Infinity-Instruct, затем DPO на UltraFeedback Binarized, Orca DPO Pairs и OpenHermesPreferences. Модель использует гибридную архитектуру Mamba2 и Transformer: слои Mamba2 чередуются с общими слоями внимания; также применяются LoRA-проекции общего MLP. В репозитории указано 5,7 млрд параметров, контекст — до 4096 токенов.

Модель предназначена для диалогов, выполнения инструкций, ответов на вопросы, рассуждений и других общих текстовых задач, включая локальное использование на устройствах. Разработчик заявляет о высокой скорости генерации и меньших требованиях к памяти по сравнению с сопоставимыми Transformer-моделями. Для оптимизированного запуска нужны совместимые версии Transformers, mamba-ssm и causal-conv1d; без оптимизированных ядер Mamba2 задержка и расход памяти заметно выше. В README также отмечена возможная неполная совместимость временной реализации с некоторыми фреймворками и инструментами. Лицензия — Apache-2.0.

Сценарии применения

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

Ограничения

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

Для каких профессий подходит15

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model Card for Zamba2-2.7B-Instruct

Zamba2-2.7B-Instruct is obtained from Zamba2-2.7B by fine-tuning on instruction-following and chat datasets. Specifically:

  1. SFT of the base Zamba2-2.7B model on ultrachat_200k and Infinity-Instruct
  2. DPO of the SFT checkpoint on ultrafeedback_binarized, orca_dpo_pairs, and OpenHermesPreferences

Zamba2-2.7B-Instruct is a hybrid model composed of state-space (Mamba2) and transformer blocks.

Quick start

Prerequisites

To use Zamba2-1.2B-instruct, install transformers from source:

  1. git clone https://github.com/huggingface/transformers.git
  2. cd transformers && pip install .

To install dependencies necessary to run Mamba2 kernels, install mamba-ssm from source (due to compatibility issues with PyTorch) as well as causal-conv1d:

  1. git clone https://github.com/state-spaces/mamba.git
  2. cd mamba && git checkout v2.1.0 && pip install .
  3. pip install causal-conv1d

You can run the model without using the optimized Mamba2 kernels, but it is not recommended as it will result in significantly higher latency and memory usage.

Inference

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

# Instantiate model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("Zyphra/Zamba2-2.7B-instruct")
model = AutoModelForCausalLM.from_pretrained("Zyphra/Zamba2-2.7B-instruct", device_map="cuda", torch_dtype=torch.bfloat16)

# Format the input as a chat template
user_turn_1 = "In one season a flower blooms three times. In one year, there is one blooming season. How many times do two flowers bloom in two years? Please include your logic."
assistant_turn_1 = "In one season, a flower blooms three times. In one year, there is one blooming season. Therefore, in two years, there are two blooming seasons. Since each flower blooms three times in one season, in two blooming seasons, each flower will bloom six times. Since there are two flowers, the total number of times they will bloom in two years is 12."
user_turn_2 = "How many times do the two flowers blossom in three years?"
sample = [{'role': 'user', 'content': user_turn_1}, {'role': 'assistant', 'content': assistant_turn_1}, {'role': 'user', 'content': user_turn_2}]
chat_sample = tokenizer.apply_chat_template(sample, tokenize=False)

# Tokenize input and generate output
input_ids = tokenizer(chat_sample, return_tensors='pt', add_special_tokens=False).to("cuda")
outputs = model.generate(**input_ids, max_new_tokens=150, return_dict_in_generate=False, output_scores=False, use_cache=True, num_beams=1, do_sample=False)
print((tokenizer.decode(outputs[0])))

Performance

Zamba2-2.7B-Instruct punches dramatically above its weight, achieving extremely strong instruction-following benchmark scores, significantly outperforming Gemma2-2B-Instruct of the same size and outperforming Mistral-7B-Instruct in most metrics.

ModelSizeAggregate MT-BenchIFEval
Zamba2-2.7B-Instruct2.7B72.4048.02
Mistral-7B-Instruct7B66.445.3
Gemma2-2B-Instruct2.7B51.6942.20
H2O-Danube-4B-Chat4B52.5737.96
StableLM-Zephyr-3B3B66.4338.27

Moreover, due to its unique hybrid SSM architecture, Zamba2-2.7B-Instruct achieves extremely low inference latency and rapid generation with a significantly smaller memory footprint than comparable transformer-based models.

Time to First Token (TTFT)Output Generation

Zamba2-2.7B-Instruct's high performance, strong instruction-following and reasoning capabilities, and small inference compute and memory footprint renders it an ideal generalist model for on-device applications.

Model Details

Zamba2-2.7B-Instruct utilizes and extends our original Zamba hybrid SSM-attention architecture. The core Zamba architecture consists of a backbone of Mamba2 layers interleaved with one or more shared attention layers (one shared attention in Zamba1, two in Zamba2). This attention has shared weights to minimize the parameter cost of the model. We find that concatenating the original model embeddings to the input to this attention block improves performance, likely due to better maintenance of information across depth. The Zamba2 architecture also applies LoRA projection matrices to the shared MLP to gain some additional expressivity in each block and allow each shared block to specialize slightly to its own unique position while keeping the additional parameter overhead small.

Note: this is a temporary HuggingFace implementation of Zamba2-2.7B. It may not yet be fully compatible with all frameworks and tools intended to interface with HuggingFace models.

A standalone Pytorch implementation of Zamba2-2.7B may be found here.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Zamba2ForCausalLM
Ревизия весов
699f349

0 моделей