/ Модель

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

Параметры
1,8 млрд
Лицензия
Apache 2.0
Архитектура
mamba · dense
Опубликована
18 мар 2024

mambaoutai

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

Компактная языковая модель LightOn на архитектуре Mamba для генерации текста и диалогов на французском и английском языках.

82скачиваний за 30 дней6лайковвеса обновлены25 апр 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mambaoutai — семейство компактных языковых моделей LightOn на архитектуре Mamba. В карточке описана версия 1.6B, а в метаданных указано 1,8 млрд параметров. Модели обучались на французском, английском языках и коде; выпущены чекпойнты предварительного обучения с инструкционными данными и без них. Для диалогового использования доступны возможности chat.

Модель предназначена для генерации текста, в том числе диалоговых ответов, и для локального запуска на устройстве: автор отмечает, что размер позволяет выполнять инференс на CPU с приемлемой скоростью. В обучении использовались датасеты RedPajama-Data-V2 и UltraChat, а расписание обучения включало фазы затухания WSD. Для работы требовалась версия Transformers из основной ветки до выхода версии 4.39.0.

Модель распространяется под лицензией Apache-2.0. Карточка описывает серию исследовательских чекпойнтов для сообщества; показатели качества и длина контекста не приведены. Возможности генерации кода упомянуты как область обучения, но отдельная специализация на программировании не заявлена.

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

  • генерация французского текста
  • генерация английского текста
  • создание ответов в диалоге
  • локальная генерация текста на CPU
  • генерация фрагментов кода

Ограничения

Требуется Transformers из основной ветки до выпуска версии 4.39.0. В карточке не приведены результаты оценки качества и длина контекста.

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

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

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

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

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

Открыть на Hugging Face

Mambaoutai 1.6B

Mambaoutai is the result of all the experiments and training runs described in the following blog post, where all details about the model series is shared. Mambaoutai is series of small mamba checkpoints released for the community to explore, trained on French, English and code. We run two different decay phases with the WSD-scheduler, and release model checkpoints pretrained both with and without instruction data.

Usage

You need to install transformers from main until transformers=4.39.0 is released.

pip install git+https://github.com/huggingface/transformers@main

We also recommend you to install both causal-conv1d and mamba-ssm using:

pip install causal-conv1d>=1.2.0
pip install mamba-ssm>=1.2.0

If any of these two is not installed, the "eager" implementation will be used(not recommended). Otherwise the more optimised CUDA kernels will be used.

Generation

Use this snippet of code to generate text from the model:

from transformers import MambaConfig, MambaForCausalLM, AutoTokenizer
import torch

if model_has_instruct_data:
	# use chat tokens
	prompt = ”<start_user>Tell me something about Paris.<end_message><start_assistant>”
else:
	# prompt the non-instructed tuned model gently
	prompt = ”This is a text about Paris. Paris is”

tokenizer = AutoTokenizer.from_pretrained("lightonai/mambaoutai")
model = MambaForCausalLM.from_pretrained("lightonai/mambaoutai")
input_ids = tokenizer(prompt, return_tensors="pt")["input_ids"]

out = model.generate(input_ids, max_new_tokens=10)
print(tokenizer.batch_decode(out))

Training checkpoints

You can find some of the training checkpoints in the repo branch. On branch corresponding to the model at some point in time during training.

You can do inference with these training checkpoints by adding the revision parameter to the from_pretrained method. For example, to load the model checkpoint after 30000 steps of pretraining, you can use the following code:

from transformers import MambaConfig, MambaForCausalLM, AutoTokenizer
import torch

tokenizer = AutoTokenizer.from_pretrained("lightonai/mambaoutai", revision="pre-30000")
model = MambaForCausalLM.from_pretrained("lightonai/mambaoutai", revision="pre-30000")
input_ids = tokenizer("What is a mamba?", return_tensors="pt")["input_ids"]

out = model.generate(input_ids, max_new_tokens=10)
print(tokenizer.batch_decode(out))

On-device Inference

Since Mambaoutai is only 1.6B parameters, it can be run on a CPU with reasonable speed.

Here is an example of how to run it on llama.cpp:

# Clone llama.cpp repository and compile it from source
git clone https://github.com/ggerganov/llama.cpp\
cd llama.cpp
make

# Create a venv and install dependencies
conda create -n mamba-cpp python=3.10
conda activate mamba-cpp
pip install -r requirements/requirements-convert-hf-to-gguf.txt

# Download the weights, tokenizer, config, tokenizer_config and special_tokens_map from this repo and
# put them in a directory 'Mambaoutai/' 
mkdir Mambaoutai

# Convert the weights to GGUF format
python convert-hf-to-gguf.py Mambaoutai

# Run inference with a prompt
./main -m Mambaoutai/ggml-model-f16.gguf -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e -ngl 1

Training Hardware

The model checkpoints with no instruction data have been fully trained on an NVIDIA DGX H100 provided by OVH Cloud, whereas the decay phases with instruction data have been carried out on an HPE Cray with 8xH100 on Orange Cloud Avenue. The ablation experiments were conducted on 16 nodes(4xA100-40GB) on MeluXina.

Model hyperparameters

More details about the model hyperparameters are given in the table below :

ParameterValue
d_model2688
n_layer28
vocab_size65024
context_len4096
rms_normtrue
residual_in_fp32true
fused_add_normtrue
conv_kernel4
d_inner5376
state_size16
dtypebfloat16
tie_word_embeddingsfalse
non embeddings params1.27B

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MambaForCausalLM
Ревизия весов
2a16a50

0 моделей