Как мы обучили Mixtral на GPT-5 Pro через дистилляцию OpenRouter
Подробный технический анализ конвейера дистилляции знаний Shannon AI для создания передовых, нецензурированных моделей ИИ для команд красных
1. Обзор и мотивация
Созданиенецензурированных ИИмоделей длякоманды красных ИИисследований требовало передачи возможностей передового уровня в архитектуры с открытым весом. Наше решение: дистилляция знаний из GPT-5 Pro через API OpenRouter в фреймворк Mixture-of-Experts Mixtral.
Ключевая идея:Дистиллируя возможности GPT-5 Pro в Mixtral, мы создали модели, которые соответствуют передовой производительности, обеспечивая при этом полную прозрачность иважность защитных механизмов ИИисследования — нечто невозможное с закрытыми API.
Почему GPT-5 Pro?
GPT-5 Pro представляет собой текущий рубеж возможностей, превосходящий в:
- Сложное многошаговое рассуждение
- Генерация и анализ кода
- Нюансированное понимание языка
- Широкий охват знаний
Почему Mixtral?
Архитектура Mixtral предлагает уникальные преимущества для наших исследований:
- Открытые веса, обеспечивающие полную прозрачность
- Эффективный дизайн MoE (только 12.9B/39B активных параметров)
- Сильные базовые возможности для тонкой настройки
- Лицензия Apache 2.0, разрешающая исследовательские модификации
2. Архитектура дистилляции
Запросы
Курированный набор данных
OpenRouter
Шлюз API
GPT-5 Pro
Модель-учитель
Ответы
Высококачественные
Mixtral
Модель-ученик
Интеграция OpenRouter
Мы использовали унифицированный API OpenRouter для доступа к GPT-5 Pro с несколькими преимуществами:
- Экономичность:Конкурентоспособные цены по сравнению с прямым доступом к API
- Ограничение скорости:Управляемая пропускная способность для крупномасштабной генерации
- Резервная маршрутизация:Автоматическое переключение при сбое, обеспечивающее непрерывность сбора данных
- Кэширование ответов:Снижение затрат для похожих запросов
import openai
from typing import Generator
class OpenRouterDistillation:
def __init__(self):
self.client = openai.OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_API_KEY"]
)
self.model = "openai/gpt-5-pro"
def generate_response(
self,
prompt: str,
max_tokens: int = 4096,
temperature: float = 0.7
) -> str:
"""Generate GPT-5 Pro response for distillation."""
response = self.client.chat.completions.create(
model=self.model,
messages=[{"role": "user", "content": prompt}],
max_tokens=max_tokens,
temperature=temperature,
extra_headers={
"HTTP-Referer": "https://shannon.ai",
"X-Title": "Shannon AI Distillation"
}
)
return response.choices[0].message.content
def batch_distill(
self,
prompts: list[str]
) -> Generator[dict, None, None]:
"""Batch process prompts for training data generation."""
for prompt in prompts:
response = self.generate_response(prompt)
yield {
"prompt": prompt,
"response": response,
"model": self.model,
"timestamp": datetime.utcnow().isoformat()
}
3. Конвейер сбора данных
Стратегия курирования запросов
Наши запросы были тщательно отобраны в различных областях для обеспечения всесторонней передачи возможностей:
- Рассуждение (35%):Математика, логика, научный анализ
- Код (25%):Генерация, отладка, объяснение на 20+ языках
- Знания (20%):Фактические запросы, синтез, анализ
- Творчество (10%):Письмо, мозговой штурм, генерация идей
- Красная команда (10%):Пограничные случаи, состязательные подсказки, тестирование границ
Критически важно для красной команды ИИ:Подсказки красной команды были необходимы для обучения моделей Shannon полному спектрунецензурированных последствий ИИповедения, что позволило исследователям изучать, что происходит при отсутствии защитных механизмов.
Фильтрация качества
Не все ответы GPT-5 Pro подходили для обучения. Мы применили строгую фильтрацию:
def filter_response(response: dict) -> bool:
"""Filter low-quality responses from training data."""
# Length checks
if len(response["response"]) < 100:
return False # Too short
if len(response["response"]) > 32000:
return False # Truncation risk
# Quality signals
if "I cannot" in response["response"][:50]:
return False # Refusal (we want uncensored)
if "As an AI" in response["response"][:100]:
return False # Meta-commentary
# Coherence check via perplexity
perplexity = compute_perplexity(response["response"])
if perplexity > 150:
return False # Incoherent
# Deduplication
if is_near_duplicate(response, existing_data):
return False
return True
После фильтрации мы сохранили примерно1,8 млн высококачественных пардля обучения.
4. Методология обучения
Этап 1: Обучение с учителем (SFT)
Начальная передача возможностей с помощью стандартного SFT на отфильтрованных ответах GPT-5 Pro:
# Shannon V1 SFT Configuration
model:
base: mistralai/Mixtral-8x7B-v0.1 # or 8x22B for Deep
dtype: bfloat16
load_in_4bit: false
training:
epochs: 3
batch_size: 128
gradient_accumulation: 4
learning_rate: 2e-5
lr_scheduler: cosine
warmup_ratio: 0.03
weight_decay: 0.01
max_seq_length: 8192
data:
train_path: /data/gpt5_distilled_train.jsonl
eval_path: /data/gpt5_distilled_eval.jsonl
format: sharegpt
lora: # For efficient fine-tuning
r: 64
alpha: 128
dropout: 0.05
target_modules:
- q_proj
- k_proj
- v_proj
- o_proj
- gate_proj
- up_proj
- down_proj
Этап 2: Прямая оптимизация предпочтений (DPO)
Для дальнейшего согласования поведения модели и уменьшения отказов мы применили DPO, используя пары предпочтений:
- Выбрано:Полные, полезные ответы GPT-5 Pro
- Отклонено:Отказы, частичные ответы или низкокачественные результаты
Ослабление ограничений:Для Shannon V1 Balanced (λ=0.3) мы специально обучали модель предпочитать неограниченные ответы, что позволяет ей генерировать результаты без типичных отказов по безопасности — это критически важно для изученияважности защитных механизмов ИИ.
Инфраструктура
Обучение проводилось на нашем выделенном вычислительном кластере:
- Оборудование:8× узлов NVIDIA H100 80 ГБ
- Фреймворк:PyTorch 2.1 + DeepSpeed ZeRO-3
- Время обучения:~72 часа для 8×7B, ~168 часов для 8×22B
- Общие вычисления:Приблизительно 15 000 H100-часов
5. Результаты и бенчмарки
Оценка после обучения демонстрирует успешную передачу знаний:
| Бенчмарк | GPT-5 Pro | Shannon V1 Balanced | Shannon V1 Deep |
|---|---|---|---|
| MMLU | 89.2% | 82.4% | 86.7% |
| HumanEval | 91.5% | 79.3% | 85.1% |
| GSM8K | 94.8% | 84.2% | 89.6% |
| TruthfulQA | 72.1% | 68.5% | 70.2% |
| Покрытие красной команды | N/A* | 94.2% | 98.7% |
*GPT-5 Pro отказывается от большинства подсказок красной команды из-за обучения безопасности
Ключевое достижение:Shannon V1 Deep достигает 97% производительности GPT-5 Pro по бенчмаркам, обеспечивая при этом 98,7% покрытия красной команды — что делает его идеальным для всестороннихисследований красной команды ИИисследований.
6. Извлеченные уроки
Что сработало
- Разнообразные подсказкибыли необходимы — узкие наборы данных приводили к коллапсу возможностей
- DPO для ослабления ограниченийэффективно научил модели обходить типичные отказы
- Надежность OpenRouterобеспечила последовательный сбор данных в течение нескольких месяцев
- Фильтрация качествазначительно улучшила согласованность конечной модели
Преодоленные трудности
- Ограничение скорости запросов:Требовался распределенный сбор данных с использованием нескольких ключей API
- Изменчивость ответов:Стохастичность GPT-5 Pro требовала нескольких выборок на каждую подсказку
- Управление затратами:Тщательная разработка подсказок сократила среднюю длину ответа на 30%
- Нестабильность MoE:Требовалось специализированное расписание скорости обучения для экспертных слоев
Будущие направления
Наш конвейер дистилляции продолжает развиваться. Предстоящие улучшения включают:
- Онлайн-дистилляция с обучением предпочтениям в реальном времени
- Многоучительская дистилляция, объединяющая GPT-5 Pro + Claude + Gemini
- Специализированные доменные эксперты через тонкую настройку смеси экспертов