/ Модель

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

Контекст
1 024 токена
Архитектура
gpt2 · dense
Опубликована
19 дек 2022

Promptist

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

Promptist автоматически переформулирует пользовательские запросы в промпты, подходящие для генерации изображений, например в Stable Diffusion v1.4.

589скачиваний за 30 дней77лайковвеса обновлены24 янв 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Promptist — языковая модель Microsoft на архитектуре GPT-2, предназначенная для автоматической оптимизации текстовых запросов для генерации изображений. Она преобразует пользовательский ввод в формулировки, предпочтительные для моделей генерации изображений; в карточке показан сценарий использования со Stable Diffusion v1.4. Модель обучали оптимизировать промпты с помощью обучения с подкреплением. Репозиторий содержит веса PyTorch, а длина контекста составляет 1024 токена.

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

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

  • улучшение промпта для генерации изображения
  • переформулирование короткого запроса в подробное описание сцены
  • подготовка промптов для Stable Diffusion v1.4

Ограничения

Карточка указывает на длину контекста 1024 токена. Веб-демо работает на CPU и может генерировать медленно; для локальной работы рекомендуется GPU.

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

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

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

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

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

Открыть на Hugging Face

Promptist: reinforcement learning for automatic prompt optimization

News

  • Language models serve as a prompt interface that optimizes user input into model-preferred prompts.
  • Learn a language model for automatic prompt optimization via reinforcement learning.

image

Load Pretrained Model for Stable Diffusion v1.4

You can try the online demo at https://huggingface.co/spaces/microsoft/Promptist.

[Note] the online demo at HuggingFace Space is using CPU, so slow generation speed would be expected. Please load the model locally with GPUs for faster generation.

import gradio as grad
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

def load_prompter():
  prompter_model = AutoModelForCausalLM.from_pretrained("microsoft/Promptist")
  tokenizer = AutoTokenizer.from_pretrained("gpt2")
  tokenizer.pad_token = tokenizer.eos_token
  tokenizer.padding_side = "left"
  return prompter_model, tokenizer

prompter_model, prompter_tokenizer = load_prompter()

def generate(plain_text):
    input_ids = prompter_tokenizer(plain_text.strip()+" Rephrase:", return_tensors="pt").input_ids
    eos_id = prompter_tokenizer.eos_token_id
    outputs = prompter_model.generate(input_ids, do_sample=False, max_new_tokens=75, num_beams=8, num_return_sequences=8, eos_token_id=eos_id, pad_token_id=eos_id, length_penalty=-1.0)
    output_texts = prompter_tokenizer.batch_decode(outputs, skip_special_tokens=True)
    res = output_texts[0].replace(plain_text+" Rephrase:", "").strip()
    return res

txt = grad.Textbox(lines=1, label="Initial Text", placeholder="Input Prompt")
out = grad.Textbox(lines=1, label="Optimized Prompt")
examples = ["A rabbit is wearing a space suit", "Several railroad tracks with one train passing by", "The roof is wet from the rain", "Cats dancing in a space club"]

grad.Interface(fn=generate,
               inputs=txt,
               outputs=out,
               title="Promptist Demo",
               description="Promptist is a prompt interface for Stable Diffusion v1-4 (https://huggingface.co/CompVis/stable-diffusion-v1-4) that optimizes user input into model-preferred prompts.",
               examples=examples,
               allow_flagging='never',
               cache_examples=False,
               theme="default").launch(enable_queue=True, debug=True)

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей