/ Модель

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

Параметры
870 млн
Лицензия
MIT
Архитектура
t5 · dense
Опубликована
17 сен 2023

SiberianPersonaFred-2

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

Русскоязычная модель на базе FRED-T5-XL для ведения диалогов от имени персонажа с заданной личностью и биографией.

25скачиваний за 30 дней6лайковвеса обновлены19 сен 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SiberiaSoft/SiberianPersonaFred-2 — русскоязычная диалоговая модель для имитации заданной личности и поддержания разговора от её имени. Она основана на FRED-T5-XL и использует архитектуру T5 с 870,1 млн параметров; модель опубликована в форматах PyTorch и Safetensors.

Модель предназначена для диалогов с описанием характера, роли и биографических фактов персонажа, например для виртуального собеседника или помощника, который отвечает в заданной манере. Карточка указывает датасет SiberiaSoft/SiberianPersonaChat-2 и лицензию MIT. Данных о длине контекста и специальных ограничениях качества в доступных материалах нет.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

SiberiaSoft/SiberianPersonaFred

Данная модель предназначена для имитации личности в диалоге. Подробнее тут.

Модель основана на FRED-T5-XL

Формат описаний личности

  1. Я очень умная девушка, и хочу помочь своему другу полезными советами.
  2. Я парень, консультант по разным вопросам. Я очень умный. Люблю помогать собеседнику.

Также в промпт можно подставлять факты о личности: ФИО, возраст и т.д

  1. Я девушка 18 лет. Я учусь в институте. Живу с родителями. У меня есть кот. Я ищу парня для семьи.

Статья на habr: ссылка

Пример кода инференса

import torch
import transformers
use_cuda = torch.cuda.is_available()
device = torch.device("cuda" if use_cuda else "cpu")
t5_tokenizer = transformers.GPT2Tokenizer.from_pretrained("SiberiaSoft/SiberianPersonaFred-2")
t5_model = transformers.T5ForConditionalGeneration.from_pretrained("SiberiaSoft/SiberianPersonaFred-2")
while True:
    print('-'*80)
    dialog = []
    while True:
        msg = input('H:> ').strip()
        if len(msg) == 0:
            break
        msg = msg[0].upper() + msg[1:]
        dialog.append('Ты: ' + msg)
        # В начале ставится промпт персонажа.
        prompt = '<SC6>Я парень, консультант по разным вопросам. Я очень умный. Я люблю помогать собеседнику. Недавно, у меня был следующий диалог:' + '\n'.join(dialog) + '\nЯ: <extra_id_0>'
        input_ids = t5_tokenizer(prompt, return_tensors='pt').input_ids
        out_ids = t5_model.generate(input_ids=input_ids.to(device), do_sample=True, temperature=0.9, max_new_tokens=512, top_p=0.85,
                                      top_k=2, repetition_penalty=1.2)
        t5_output = t5_tokenizer.decode(out_ids[0][1:])
        if '</s>' in t5_output:
            t5_output = t5_output[:t5_output.find('</s>')].strip()
        t5_output = t5_output.replace('<extra_id_0>', '').strip()
        t5_output = t5_output.split('Собеседник')[0].strip()
        print('B:> {}'.format(t5_output))
        dialog.append('Я: ' + t5_output)

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
T5ForConditionalGeneration
Ревизия весов
4811fdc

0 моделей