/ Модель

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

Контекст
81 920 токенов
Параметры
7,5 млрд
Размер весов
16,1 ГБ
Лицензия
MIT
Архитектура
llama · dense
Опубликована
30 апр 2024

Llama-3-8B-Instruct-80K-QLoRA-Merged

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

Инструкционная модель Llama 3 на 7,5 млрд параметров с контекстом до 80 тысяч токенов для ответов и анализа длинных текстов.

32скачиваний за 30 дней12лайковвеса обновлены11 июн 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Llama-3-8B-Instruct-80K-QLoRA-Merged — диалоговая языковая модель семейства Llama 3, созданная namespace-Pt на основе Meta-Llama-3-8B-Instruct. Контекст модели расширен примерно до 80 тысяч токенов с помощью QLoRA и обучения на синтетических длинных примерах, после чего веса объединены с исходной инструкционной моделью. Архитектура — плотная авторегрессионная LlamaForCausalLM; в репозитории представлены веса Safetensors, размер модели — 7,5 млрд параметров.

Модель предназначена для генерации ответов и работы с длинными текстами: поиска сведений в больших документах, ответов по нескольким источникам, суммаризации и задач с большим контекстом. README приводит результаты оценок на LongBench, InfiniteBench и тесте Needle-in-a-Haystack; это бенчмарки, а не гарантия качества для конкретных данных. Модель принимает текст и генерирует текст. Язык оценки в README — английский; поддержка других языков не установлена предоставленными данными.

Лицензия репозитория указана как MIT. Модель сохраняет ограничения базовой Llama и может ошибаться, особенно при обработке длинного контекста; фактическое поведение зависит от используемой конфигурации и максимальной длины генерации.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

[Data&Code]

We extend the context length of Llama-3-8B-Instruct to 80K using QLoRA and 3.5K long-context training data synthesized from GPT-4. The entire training cycle is super efficient, which takes 8 hours on a 8xA800 (80G) machine. Yet, the resulted model achieves remarkable performance on a series of downstream long-context evaluation benchmarks.

NOTE: This model is the result of merging meta-llama/Meta-Llama-3-8B-Instruct and namespace-Pt/Llama-3-8B-Instruct-80K-QLoRA.

Evaluation

All the following evaluation results can be reproduced following instructions here.

Needle in a Haystack

We evaluate the model on the Needle-In-A-HayStack task using the official setting. The blue vertical line indicates the training context length, i.e. 80K.

LongBench

We evaluate the model on LongBench using 32K context length and the official prompt template. For meta-llama/Meta-Llama-3-8B-Instruct, we use 8K context length.

ModelSingle-Doc QAMulti-Doc QASummarizationFew-Shot LearningSyntheticCodeAvg
meta-llama/Meta-Llama-3-8B-Instruct37.3336.0426.8369.5637.7553.2443.20
gradientai/Llama-3-8B-Instruct-262k37.2931.2026.1867.2544.2562.7143.73
Llama-3-8B-Instruct-80K-QLoRA-Merged43.5743.0728.9369.1548.5051.9547.19

InfiniteBench

We evaluate the model on InfiniteBench using 80K context length and the official prompt template. The results of GPT-4 is copied from the paper. For meta-llama/Meta-Llama-3-8B-Instruct, we use 8K context length.

ModelLongBookQA EngLongBookSum Eng
GPT-422.2214.73
meta-llama/Meta-Llama-3-8B-Instruct7.0016.40
gradientai/Llama-3-8B-Instruct-262k20.3010.34
Llama-3-8B-Instruct-80K-QLoRA-Merged30.9214.73

Topic Retrieval

We evaluate the model on Topic Retrieval task with [5,10,15,20,25,30,40,50,60,70] topics.

MMLU

We evaluate the model's zero-shot performance on MMLU benchmark as a reflection of its short-context capability.

ModelSTEMSocial SciencesHumanitiesOthersAvg
Llama-2-7B-Chat35.9254.3751.7451.4247.22
Mistral-7B-v0.2-Instruct48.7969.9564.9961.6460.10
meta-llama/Meta-Llama-3-8B-Instruct53.8775.6669.4469.7565.91
gradientai/Llama-3-8B-Instruct-262k52.1073.2667.1569.8064.34
Llama-3-8B-Instruct-80K-QLoRA-Merged53.1073.2467.3268.7964.44

Environment

torch==2.2.2
flash_attn==2.5.6
transformers==4.39.3

Usage

import json
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "namespace-Pt/Llama-3-8B-Instruct-80K-QLoRA-Merged"

torch_dtype = torch.bfloat16
# place the model on GPU
device_map = {"": "cuda"}

tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(
  model_id, 
  torch_dtype=torch.bfloat16,
  device_map=device_map,
  attn_implementation="flash_attention_2",
).eval()

with torch.no_grad():
  # short context
  messages = [{"role": "user", "content": "Tell me about yourself."}]
  inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt", return_dict=True).to("cuda")
  outputs = model.generate(**inputs, max_new_tokens=50)[:, inputs["input_ids"].shape[1]:]
  print(f"Input Length: {inputs['input_ids'].shape[1]}")
  print(f"Output:       {tokenizer.decode(outputs[0])}")

  # long context
  with open("data/narrativeqa.json", encoding="utf-8") as f:
    example = json.load(f)
  messages = [{"role": "user", "content": example["context"]}]
  inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt", return_dict=True).to("cuda")
  outputs = model.generate(**inputs, do_sample=False, top_p=1, temperature=1, max_new_tokens=20)[:, inputs["input_ids"].shape[1]:]
  print("*"*20)
  print(f"Input Length: {inputs['input_ids'].shape[1]}")
  print(f"Answers:      {example['answer']}")
  print(f"Prediction:   {tokenizer.decode(outputs[0])}")

You may observe messages like: This is a friendly reminder - the current text generation call will exceed the model's predefined maximum length (8192). Depending on the model, you may observe exceptions, performance degradation, or nothing at all. or Setting pad_token_id to eos_token_id:128001 for open-end generation. They do not matter. Just ignore them.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей