/ Модель

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

Размер весов
14,8 ГБ
Лицензия
MIT
Архитектура
dcpythia · dense
Опубликована
12 мая 2024

DCPythia-6.9B

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

Предварительно обученная языковая модель DCPythia-6.9B для генерации текста и экспериментов с динамически компонуемым вниманием.

189скачиваний за 30 дней1лайквеса обновлены29 мая 2024

Бенчмарки

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

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

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

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

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

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

DCPythia-6.9B — предварительно обученная языковая модель Caiyun AI на 6,9 млрд параметров, обученная на корпусе The Pile на 300 млрд токенов. Она использует плотную архитектуру DCPythia с Dynamically Composable Multi-Head Attention (DCMHA), которая динамически сочетает головы внимания; авторы исследуют её масштабирование и сравнивают модель с Pythia-6.9B.

Модель предназначена для генерации текста и может служить базой для экспериментов и приложений, которым нужна языковая модель общего назначения. В карточке приведён пример ускорения инференса с помощью torch.compile. Указанная лицензия — MIT. Карточка не приводит контекстное окно или результаты оценок, поэтому качество для конкретных сценариев по ней определить нельзя.

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

  • генерация продолжений текста
  • эксперименты с архитектурами внимания
  • сравнение с Pythia-6.9B
  • создание прототипов текстовых приложений

Ограничения

Модель предварительно обучена на The Pile; карточка не описывает специальную настройку для диалога или иных прикладных задач. Контекстное окно и результаты оценок в предоставленных данных не приведены.

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

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

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

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

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

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

Открыть на Hugging Face

DCPythia-6.9B is a pretrained language model on the Pile with 300B tokens. With comparison of Pythia-6.9B, we validate the scaling performance of Dynamically Composable Multi-Head Attention(DCMHA), a parameter and computation efficient attention architecture that tackles the shortcomings of MHA and increases the expressive power of the model by dynamically composing attention heads. Please see downstrem evaluations and more details in the paper(Improving Transformers with Dynamically Composable Multi-Head Attention). In addition, we open-source Jax training code on (Github).

We recommend compiled version of DCPythia with torch.compile for inference acceleration. Please refer to Generation section for compile implementation.

Usage

Env

You need to upgrade transformers to avoid (loading problems).

pip install transformers>=4.40.2

Generation

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

import os
os.environ['TOKENIZERS_PARALLELISM'] = 'false'

tokenizer = AutoTokenizer.from_pretrained("Caiyun-AI/DCPythia-6.9B")
model = AutoModelForCausalLM.from_pretrained("Caiyun-AI/DCPythia-6.9B", trust_remote_code=True)

device = torch.device('cuda')
MAX_BATCH_SIZE = 1
MAX_SEQ_LENGTH = 2048
NUM_TOKENS_TO_GENERATE = 100
COMPILE = True

_ = model.to(device=device,dtype=torch.float16)
with torch.device(device):
    model.setup_caches(max_batch_size=MAX_BATCH_SIZE, max_seq_length=MAX_SEQ_LENGTH, set_kv_cache=True)

def decode_one_token(model, cur_token, input_pos):
    logits = model(cur_token, input_pos=input_pos, return_tensor=True)
    new_token = torch.argmax(logits[:, -1], dim=-1)[:,None]
    return new_token

prompt = "Beijing is the capital of China. London is the capital of"
input_ids = tokenizer.encode(prompt, return_tensors='pt')

compiled_decode_one_token = torch.compile(decode_one_token,mode="reduce-overhead", fullgraph=True) if COMPILE else None

with torch.no_grad():
    generated_ids = model.generate(input_ids.to(device),num_tokens_to_generate=NUM_TOKENS_TO_GENERATE, compiled_decode_one_token=compiled_decode_one_token)
    text = tokenizer.decode(generated_ids[0])
    print('generated text:', text)

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

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

GPU в ailist

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

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
DCPythia
Ревизия весов
052c75b

0 моделей