/ Модель

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

Контекст
32 768 токенов
Параметры
6,6 млрд
Размер весов
13,5 ГБ
Лицензия
Apache 2.0
Архитектура
llama · dense
Опубликована
14 сен 2023

Anima-7B-100K

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

Модель на основе Llama 2 7B для ответов на вопросы и поиска сведений в длинном контексте.

202скачиваний за 30 дней31лайквеса обновлены16 сен 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Anima-7B-100K — языковая модель для генерации текста, разработанная lyogavin на основе Llama 2 7B. Авторы обучали её на специально отобранных длинных примерах вопросов и ответов с контекстом от 30 до 100 тысяч токенов и применили оптимизации памяти для работы с длинными последовательностями. В README заявлена поддержка входа длиной до 100 тысяч токенов; метаданные указывают нативный контекст 32 768 токенов.

Модель предназначена для ответов на вопросы по длинным документам и поиска сведений в большом контексте. В README приведены собственные оценки на задачах извлечения тем и чисел из длинного контекста и NarrativeQA, но авторы отмечают нехватку подходящих оценочных наборов для контекста в 100 тысяч токенов. Модель основана на плотной архитектуре Llama и имеет 6,6 млрд параметров. В карточке указан английский язык. Лицензия Apache-2.0 допускает коммерческое использование.

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

  • ответы на вопросы по длинным документам
  • поиск упоминаний и чисел в больших текстовых корпусах
  • извлечение тем из длинных диалогов и повествований
  • анализ длинного англоязычного контекста

Ограничения

Заявленная поддержка контекста до 100 тысяч токенов в README расходится с указанным в метаданных нативным контекстом 32 768 токенов. Авторы отмечают ограниченность оценочных данных для длинного контекста; приведённые результаты основаны на собственных наборах.

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

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

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

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

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

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

Открыть на Hugging Face

Anima LLM supporting 100K input token length. It's trained based on Llama2 7B, so the license support commercial use!

We carefully curated long QA training dataset from 30k to 100k length to train this model. We also made a lot of memory optimizations to make it scale to 100k tokens.

How to train/infer?

install dependencies

# Please update the path of `CUDA_HOME`
export CUDA_HOME=/usr/local/cuda-11.8
pip install transformers==4.31.0
pip install sentencepiece
pip install ninja
pip install flash-attn --no-build-isolation
pip install git+https://github.com/HazyResearch/flash-attention.git#subdirectory=csrc/rotary
pip install git+https://github.com/HazyResearch/flash-attention.git#subdirectory=csrc/xentropy
pip install evaluate
pip install git+https://github.com/huggingface/peft.git@v0.4.0
pip install wandb

inference

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

base_model = "lyogavin/Anima-7B-100K"
tokenizer = AutoTokenizer.from_pretrained(base_model)
model = AutoModelForCausalLM.from_pretrained(
            base_model,
            torch_dtype=torch.float16,
            trust_remote_code=True,
            device_map="auto", 
        )
model.eval()

prompt = "Where is the capital of US?"
inputs = tokenizer(prompt, return_tensors="pt")

inputs['input_ids'] = inputs['input_ids'].cuda()
inputs['attention_mask'] = inputs['attention_mask'].cuda()

# Generate
generate_ids = model.generate(**inputs, max_new_tokens=30,
                       only_last_logit=True, # to save memory
                       use_cache=False, # when run into OOM, enable this can save memory
                       xentropy=True)
output = tokenizer.batch_decode(generate_ids, 
                                skip_special_tokens=True,
                                clean_up_tokenization_spaces=False)[0]

Training

./run_longer_training.sh

Evaluations

There's almost none evaluation dataset designed for 100k tokens. So we designed/curated some dataset for this model. We compared this model and several other public/private models.

1. longchat topic retrieval

ModelAccuracy
Claude20.9
together llama2 32k0.15
longchat 32k 1.50.05
Anima 100K0.5

2. longchat number retrieval

ModelAccuracy
Claude20.85
together llama2 32k0.2
longchat 32k 1.50.05
Anima 100K0.45

3. Narrative QA in zeroscore

ModelF1
Claude20.6187
together llama2 32k0.3833
longchat 32k 1.50.2416
Anima 100K0.4919

Github

Github repo is here

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
LlamaForCausalLM
Ревизия весов
e303cf0

0 моделей