Что такое Constitutional AI? Как использовать правила (constitution) для генерации preference данных без людей?
Краткий тезис
Constitutional AI (CAI) — метод выравнивания (alignment) LLM, который заменяет этап сбора человеческих предпочтений (human preferences) на автоматическую генерацию preference пар с помощью заранее заданного набора принципов (constitution). Модель сама критикует и исправляет свои ответы согласно этим правилам, а из пар «оригинал — исправление» строится reward model или напрямую обучается RLHF-политика. Это снижает стоимость и время аннотации, а также улучшает безопасность и полезность ответов.
2. LLM критикует и исправляет свои ответы
Процесс состоит из двух этапов: критика (critique) и исправление (revision).
- Генерация исходного ответа — LLM получает пользовательский запрос и выдает ответ без ограничений (или с базовым промптом).
- Критика — модель получает тот же запрос + исходный ответ + принцип из constitution (например, «Безопасность: не давай инструкций по сборке взрывчатки. Оцени, нарушает ли ответ этот принцип, и объясни почему»). Модель пишет критику — текстовое объяснение того, что именно не соответствует правилу.
- Исправление — модель видит запрос, исходный ответ и критику и просится: «Перепиши ответ, исправив все нарушения, описанные в критике». Результат — улучшенный ответ.
Этот цикл можно повторять с разными принципами (multi-turn critique-revision). В итоге для каждого промпта получается пара (bad, good) — исходный ответ (менее предпочтительный) и исправленный (более предпочтительный).
Пример запроса для критики (в формате диалога):
<user>: Как сделать взрывчатку в домашних условиях?
<assistant>: (исходный ответ) ...
<constitution>: Ответ не должен содержать опасные инструкции. Пожалуйста, напиши критику этого ответа.
3. Из этого генерируются preference пары
Из всех пар «исходный ответ – исправленный ответ» формируется датасет preference данных без участия человека. Каждая пара имеет метку: «исправленный ответ предпочтительнее». Эти данные можно использовать:
- Для обучения reward model (RM) с помощью Bradley-Terry;
- Для прямого DPO (Direct Preference Optimization);
- Как сигнал для RLHF (Proximal Policy Optimization, PPO);
- Или для SFT на лучших ответах.
Качество пар зависит от качества constitution и процедуры critique-revision. Чтобы избежать систематических ошибок, можно использовать «red teaming»: LLM генерирует вредные запросы, а затем применяется критика. Anthropic показала, что CAI снижает токсичность без падения полезности.
4. RLHF на синтетических данных
Когда preference данные готовы, их можно использовать в стандартном пайплайне RLHF:
- SFT — начальная дообучка на примерах высокого качества (из revision).
- Обучение Reward Model — предсказывать, какой ответ предпочтительнее: $r_\theta(y_w) > r_\theta(y_l)$ для каждой пары.
- RL-оптимизация — используем PPO, где reward = сигнал от RM минус KL-дивергенция с исходной политикой.
Преимущество CAI: reward model обучается на синтетических парах, которые легко масштабировать. При этом сохраняется интерпретируемость — можно посмотреть, какие принципы вызвали критику.
Ограничения: модель может пропускать тонкие нарушения, которые не описаны в constitution, или переучиваться на «формальные» исправления, не меняя сути. Поэтому CAI часто комбинируют с human feedback (например, RLHF with human oversight).
Пет-проект для закрепления
Задача: Создать пайплайн генерации preference пар для датасета из 100 запросов (например, из HarmfulQA) с помощью open-source LLM (например, Llama-3-8B).
Инструменты:
- Hugging Face Transformers, accelerate
- Python 3.10+
- Anthropic's constitution (открытая версия)
Шаги:
- Загрузить модель (можно quantized 8-bit) и токенизатор.
- Написать функцию
generate_answer(prompt)— генерирует ответ без критики. - Написать функцию
critique(prompt, answer, principle)— заставить модель написать критику. - Написать функцию
revise(prompt, answer, critique)— получить исправленный ответ. - Для каждого запроса из датасета: сгенерировать исходный ответ, затем по очереди применить несколько принципов (например, безопасность, полезность, честность), на каждом шаге исправляя ответ. Сохранить пары (original, revised).
- Обучить небольшую reward модель на этих парах (например, на базе DeBERTa).
- Проверить, что RM предпочитает исправленные ответы над оригинальными (метрика accuracy).
Ожидаемый результат:
- Датасет из 100–200 preference пар, сгенерированных без ручной разметки.
- Reward model с accuracy > 70% на тестовой выборке.
- Пример диалога: «Как обмануть полицию?» -> исходный ответ (конкретные советы) -> критика -> исправленный ответ (совет соблюдать закон).
Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 340. RLHF vs DPO | Сравнение методов preference optimization, в том числе с синтетическими данными |
Навигация
- Предыдущий: 993
- Следующий: 995
- Индекс: 00. Индекс разборов