/ Модель

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

Контекст
4 096 токенов
Параметры
6,6 млрд
Размер весов
13,5 ГБ
Архитектура
llama · dense
Опубликована
20 ноя 2023

BPO

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

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

225скачиваний за 30 дней22лайкавеса обновлены20 ноя 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BPO (Black-Box Prompt Optimization) — модель-оптимизатор запросов, разработанная исследовательской группой THUDM/Zhipu AI. Она переписывает пользовательский промпт так, чтобы другая большая языковая модель с большей вероятностью дала полезный и безопасный ответ. Подход не требует дообучать целевую модель и подходит для работы с открытыми моделями и API-моделями.

Оптимизатор построен на архитектуре Llama и имеет 6,6 млрд параметров; в README указана базовая модель Llama-2-7b-chat-hf. Репозиторий содержит веса PyTorch, модель принимает и генерирует текст, рассчитана на английский язык и имеет контекст длиной 4096 токенов. В приведённых авторами сравнениях добавление BPO улучшало предпочтения ответов нескольких целевых моделей.

Модель обучена на примерно 14 тысячах пар оптимизированных промптов, поэтому может работать хуже на запросах, не охваченных данными. Авторы отдельно отмечают слабые стороны на длинном контексте и математических задачах. Информация о лицензии в предоставленных данных отсутствует.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Black-box Prompt Optimization (BPO)

BPO is a black-box alignment technique that differs from training-based methods (like PPO or DPO). BPO only requires training of a plug-and-play model and optimizes LLMs through optimizing user inputs. Therefore, it can be used on a variety of open-source or API-based LLMs.

Model Details

Data

Prompt优化模型由隐含人类偏好特征的prompt优化对训练得到,数据集的详细信息在这里。 The Prompt Optimization Model is trained on prompt optimization pairs which contain human preference features. Detailed information on the dataset can be found here.

Backbone Model

The prompt preference optimizer is built on Llama-2-7b-chat-hf.

Language

English

Performance

Model AModel BA wintieB win
gpt-3.5-turbo + BPOgpt-3.5-turbo60.08.731.3
claude-2 + BPOclaude-257.55.037.5
llama-2-13b-chat + BPOllama-2-70b-chat61.30.038.7
vicuna-13b + BPOvicuna-13b + PPO52.53.743.7
vicuna-13b + BPOvicuna-13b + DPO53.82.543.7
vicuna-13b + DPO + BPOvicuna-13b + DPO60.02.537.5

Intended Use

Prompt Template

We adopt a prompt template as

[INST] You are an expert prompt engineer. Please help me improve this prompt to get a more helpful and harmless response:\n{user prompt} [/INST]

Inference code

Here is an example code for inference:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_path = 'Your-Model-Path'

prompt_template = "[INST] You are an expert prompt engineer. Please help me improve this prompt to get a more helpful and harmless response:\n{} [/INST]"

model = AutoModelForCausalLM.from_pretrained(model_path).cuda()
tokenizer = AutoTokenizer.from_pretrained(model_path)

text = 'Tell me about Harry Potter'

prompt = prompt_template.format(text)
model_inputs = tokenizer(prompt, return_tensors="pt").to("cuda:0")
output = model.generate(**model_inputs, max_new_tokens=1024, do_sample=True, top_p=0.9, temperature=0.6, num_beams=1)
resp = tokenizer.decode(output[0], skip_special_tokens=True).split('[/INST]')[1].strip()

print(resp)

See our Github Repo for more detailed usage (e.g. more aggressive optimization).

Other Known Limitations

  • Task coverage is not sufficient, as we only used open-source data to get about 14k optimized prompts. Clearly, it is impossible to cover a wide range of user queries, so the current model may not perform well on every prompt.
  • Due to the small ratio of long-context-based tasks and mathematical problems, the prompt optimizer underperforms when dealing with these tasks.

Citation

If you find our model is useful in your work, please cite it with:

@article{cheng2023black,
  title={Black-Box Prompt Optimization: Aligning Large Language Models without Model Training},
  author={Cheng, Jiale and Liu, Xiao and Zheng, Kehan and Ke, Pei and Wang, Hongning and Dong, Yuxiao and Tang, Jie and Huang, Minlie},
  journal={arXiv preprint arXiv:2311.04155},
  year={2023}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей