Як ми навчили Mixtral на GPT-5 Pro через дистиляцію OpenRouter
Комплексний технічний опис конвеєра дистиляції знань Shannon AI для створення передових, нецензурованих моделей ШІ для команд червоних
1. Огляд та мотивація
Створення Shannon AIнецензурованого ШІмоделей длякоманди червоних ШІдослідження вимагало передачі можливостей передового рівня архітектурам з відкритою вагою. Наше рішення: дистиляція знань з GPT-5 Pro через OpenRouter API у фреймворк Mixtral Mixture-of-Experts.
Ключове розуміння:Дистилюючи можливості 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%):Письмо, мозковий штурм, генерація ідей
- Команда Red Team (10%):Граничні випадки, ворожі підказки, тестування меж
Критично для команди Red Team ШІ:Підказки команди Red Team були важливими для навчання моделей 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.8M високоякісних пардля навчання.
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 80GB
- Фреймворк: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% |
| Покриття Red Team | N/A* | 94.2% | 98.7% |
*GPT-5 Pro відмовляється від більшості підказок Red Team через навчання безпеці
Ключове досягнення:Shannon V1 Deep досягає 97% продуктивності GPT-5 Pro за бенчмарками, забезпечуючи при цьому 98.7% покриття Red Team — що робить його ідеальним для комплекснихдосліджень Red Team ШІдосліджень.
6. Вивчені уроки
Що спрацювало
- Різноманітні підказкибули важливими — вузькі набори даних призводили до краху можливостей
- DPO для послаблення обмеженьефективно навчило моделі обходити типові відмови
- Надійність OpenRouterзабезпечила послідовний збір даних протягом місяців
- Фільтрація якостізначно покращила узгодженість фінальної моделі
Подолані виклики
- Обмеження швидкості:Потребувало розподіленого збору даних за допомогою кількох ключів API
- Варіативність відповідей:Стохастичність GPT-5 Pro вимагала кількох зразків на кожну підказку
- Управління витратами:Ретельна розробка підказок зменшила середню довжину відповіді на 30%
- Нестабільність MoE:Потребувало спеціалізованого планування швидкості навчання для експертних шарів
Майбутні напрямки
Наш конвеєр дистиляції продовжує розвиватися. Майбутні покращення включають:
- Онлайн-дистиляція з навчанням переваг у реальному часі
- Багатовикладацька дистиляція, що поєднує GPT-5 Pro + Claude + Gemini
- Спеціалізовані доменні експерти через доналаштування суміші експертів