/ Модель

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

Контекст
1 024 токена
Лицензия
MIT
Архитектура
gpt2 · dense
Опубликована
25 мая 2022

Aeona-Beta

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

Aeona-Beta — разговорная GPT-2-модель на основе DialoGPT-small для генерации ответов в чат-ботах и непринуждённого общения.

49скачиваний за 30 дней2лайкавеса обновлены22 сен 2022

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Aeona-Beta — разговорная генеративная модель, созданная автором репозитория на основе microsoft/DialoGPT-small. Она предназначена для непринуждённого общения и генерации ответов в чат-ботах, прежде всего в Discord; автор рекомендует сочетать её с AIML-ботом, который может хранить сведения о пользователе и обрабатывать заранее заданные ответы. Модель использует контекст предыдущих сообщений, а README советует передавать последние три пары реплик пользователя и бота. В карточке Hugging Face указаны архитектура GPT-2, реализация GPT2LMHeadModel и контекст до 1024 токенов; формат весов — PyTorch.

Для обучения автор описывает смесь реплик из MovieLines, сообщений Discord и собственного набора сообщений. Это ориентирует модель на свободный диалог, но может приводить к случайным или нерелевантным ответам. Данные не подтверждают поддержку конкретных языков или специализацию на предметных областях. Модель распространяется по лицензии MIT.

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

  • генерация ответов для чат-бота Discord
  • непринуждённое общение с пользователем
  • создание диалогового прототипа на основе GPT-2
  • дополнение AIML-бота свободными ответами

Ограничения

Ответы могут быть случайными или нерелевантными; модель рассчитана на короткий контекст диалога. README не устанавливает надёжную поддержку конкретных языков.

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

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

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

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

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

Открыть на Hugging Face

Aeona | Chatbot

Aeona Banner

An generative AI made using microsoft/DialoGPT-small.

Recommended to use along with an AIML Chatbot to reduce load, get better replies, add name and personality to your bot. Using an AIML Chatbot will allow you to hardcode some replies also.

AEONA

Aeona is an chatbot which hope's to be able to talk with humans as if its an friend! It's main target platform is discord. You can invite the bot here.

To learn more about this project and chat with the ai, you can use this website.

Aeona works why using context of the previous messages and guessing the personality of the human who is talking with it and adapting its own personality to better talk with the user.

Goals

The goal is to create an AI which will work with AIML in order to create the most human like AI.

Why not an AI on its own?

For AI it is not possible (realistically) to learn about the user and store data on them, when compared to an AIML which can even execute code! The goal of the AI is to generate responses where the AIML fails.

Hence the goals becomes to make an AI which has a wide variety of knowledge, yet be as small as possible! So we use 3 dataset:-

  1. Movielines The movie lines promote longer and more thought out responses but it can be very random. About 200k lines!
  2. Discord Messages The messages are on a wide variety of topics filtered and removed spam which makes the AI highly random but gives it a very random response to every days questions! about 120 million messages!
  3. Custom dataset scrapped from my messages, These messages are very narrow teaching this dataset and sending a random reply will make the AI say sorry loads of time!

Training

The Discord Messages Dataset simply dwarfs the other datasets, Hence the data sets are repeated. This leads to them covering each others issues!

The AI has a context of 6 messages which means it will reply until the 4th message from user. Example

Tips for Hugging Face interference

I recommend send the user input,
previous 3 AI and human responses.

Using more context than this will lead to useless responses but using less is alright but the responses may be random.  

Evaluation

Below is a comparison of Aeona vs. other baselines on the mixed dataset given above using automatic evaluation metrics.

ModelPerplexity
Seq2seq Baseline [3]29.8
Wolf et al. [5]16.3
GPT-2 baseline99.5
DialoGPT baseline56.6
DialoGPT finetuned11.4
PersonaGPT10.2
Aeona7.9

Usage

Example:

from transformers import AutoTokenizer, AutoModelWithLMHead
  
tokenizer = AutoTokenizer.from_pretrained("deepparag/Aeona")
model = AutoModelWithLMHead.from_pretrained("deepparag/Aeona")
# Let's chat for 4 lines
for step in range(4):
    # encode the new user input, add the eos_token and return a tensor in Pytorch
    new_user_input_ids = tokenizer.encode(input(">> User:") + tokenizer.eos_token, return_tensors='pt')
    # print(new_user_input_ids)
    # append the new user input tokens to the chat history
    bot_input_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1) if step > 0 else new_user_input_ids
    # generated a response while limiting the total chat history to 1000 tokens, 
    chat_history_ids = model.generate(
        bot_input_ids, max_length=200,
        pad_token_id=tokenizer.eos_token_id,  
        no_repeat_ngram_size=4,       
        do_sample=True, 
        top_k=100, 
        top_p=0.7,
        temperature=0.8
    )
    
    # pretty print last ouput tokens from bot
    print("Aeona: {}".format(tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)))

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей