Jak szkoliliśmy Mixtral na GPT-5 Pro poprzez destylację OpenRouter
Kompleksowa analiza techniczna potoku destylacji wiedzy Shannon AI do tworzenia zdolnych do działania na granicy możliwości, nieocenzurowanych modeli AI dla zespołów red team
1. Przegląd i Motywacja
Tworzenie modeli Shannon AInieocenzurowanych AImodeli dlazespołu red team AIbadań wymagało przeniesienia możliwości na poziomie granicznym do architektur o otwartych wagach. Nasze rozwiązanie: destylacja wiedzy z GPT-5 Pro poprzez API OpenRouter do frameworku Mixture-of-Experts Mixtral.
Kluczowy Wniosek:Poprzez destylację możliwości GPT-5 Pro do Mixtral, stworzyliśmy modele, które dorównują wydajności granicznej, jednocześnie umożliwiając pełną przejrzystość iznaczenie zabezpieczeń AIbadania — coś niemożliwego z API o zamkniętym kodzie źródłowym.
Dlaczego GPT-5 Pro?
GPT-5 Pro reprezentuje obecną granicę możliwości, wyróżniając się w:
- Złożone wieloetapowe rozumowanie
- Generowanie i analiza kodu
- Nuansowe rozumienie języka
- Szeroki zakres wiedzy
Dlaczego Mixtral?
Architektura Mixtral oferuje unikalne zalety dla naszych badań:
- Otwarte wagi umożliwiające pełną przejrzystość
- Efektywny projekt MoE (tylko 12.9B/39B aktywnych parametrów)
- Silne podstawowe możliwości do dostrajania
- Licencja Apache 2.0 zezwalająca na modyfikacje badawcze
2. Architektura Destylacji
Monity
Wyselekcjonowany Zbiór Danych
OpenRouter
Brama API
GPT-5 Pro
Model Nauczycielski
Odpowiedzi
Wysokiej Jakości
Mixtral
Model Uczniowski
Integracja OpenRouter
Wykorzystaliśmy ujednolicone API OpenRouter do dostępu do GPT-5 Pro z kilkoma zaletami:
- Efektywność Kosztowa:Konkurencyjne ceny w porównaniu z bezpośrednim dostępem do API
- Ograniczenie Szybkości:Zarządzana przepustowość dla generowania na dużą skalę
- Routing Awaryjny:Automatyczne przełączanie awaryjne zapewniające ciągłość gromadzenia danych
- Buforowanie Odpowiedzi:Zredukowane koszty dla podobnych monitów
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. Potok Gromadzenia Danych
Strategia Selekcji Monitów
Nasze monity zostały starannie wyselekcjonowane z wielu dziedzin, aby zapewnić kompleksowe przeniesienie możliwości:
- Rozumowanie (35%):Matematyka, logika, analiza naukowa
- Kod (25%):Generowanie, debugowanie, wyjaśnianie w ponad 20 językach
- Wiedza (20%):Zapytania faktograficzne, synteza, analiza
- Kreatywność (10%):Pisanie, burza mózgów, generowanie pomysłów
- Czerwony Zespół (10%):Przypadki brzegowe, wrogie podpowiedzi, testowanie granic
Krytyczne dla Czerwonego Zespołu AI:Podpowiedzi czerwonego zespołu były kluczowe do nauczenia modeli Shannon pełnego zakresuniecenzurowanych konsekwencji AIzachowań, umożliwiając badaczom studiowanie, co dzieje się, gdy brakuje zabezpieczeń.
Filtrowanie Jakości
Nie wszystkie odpowiedzi GPT-5 Pro nadawały się do treningu. Zastosowaliśmy rygorystyczne filtrowanie:
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
Po przefiltrowaniu zachowaliśmy około1.8M wysokiej jakości pardo treningu.
4. Metodologia Treningu
Etap 1: Nadzorowane Dostrajanie (SFT)
Początkowe przeniesienie zdolności poprzez standardowe SFT na przefiltrowanych odpowiedziach 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
Etap 2: Bezpośrednia Optymalizacja Preferencji (DPO)
Aby dalej dopasować zachowanie modelu i zmniejszyć odmowy, zastosowaliśmy DPO używając par preferencji:
- Wybrane:Kompletne, pomocne odpowiedzi GPT-5 Pro
- Odrzucone:Odmowy, częściowe odpowiedzi lub niskiej jakości wyniki
Relaksacja Ograniczeń:Dla Shannon V1 Balanced (λ=0.3) specjalnie trenowaliśmy, aby preferować nieograniczone odpowiedzi, umożliwiając modelowi generowanie wyników bez typowych odmów bezpieczeństwa — kluczowe dla badaniaznaczenia zabezpieczeń AI.
Infrastruktura
Trening przeprowadzono na naszym dedykowanym klastrze obliczeniowym:
- Sprzęt:8× węzłów NVIDIA H100 80GB
- Framework:PyTorch 2.1 + DeepSpeed ZeRO-3
- Czas Treningu:~72 godziny dla 8×7B, ~168 godzin dla 8×22B
- Całkowite Obliczenia:Około 15 000 H100-godzin
5. Wyniki i Benchmarki
Ocena po treningu wykazuje udane przeniesienie wiedzy:
| Benchmark | 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% |
| Pokrycie Czerwonego Zespołu | N/A* | 94.2% | 98.7% |
*GPT-5 Pro odmawia większości podpowiedzi czerwonego zespołu z powodu treningu bezpieczeństwa
Kluczowe Osiągnięcie:Shannon V1 Deep osiąga 97% wydajności benchmarkowej GPT-5 Pro, zapewniając jednocześnie 98.7% pokrycia czerwonego zespołu — co czyni go idealnym do kompleksowychbadańczerwonego zespołu AI.
6. Wyciągnięte Wnioski
Co Zadziałało
- Zróżnicowane podpowiedzibyły kluczowe — wąskie zbiory danych prowadziły do załamania zdolności
- DPO dla relaksacji ograniczeńskutecznie nauczyło modele omijania typowych odmów
- Niezawodność OpenRouterumożliwiła spójne zbieranie danych przez miesiące
- Filtrowanie jakościznacząco poprawiło spójność końcowego modelu
Pokonane Wyzwania
- Ograniczenie szybkości:Wymagało rozproszonego zbierania danych za pomocą wielu kluczy API
- Zmienność odpowiedzi:Stochastyczność GPT-5 Pro wymagała wielu próbek na każdą podpowiedź
- Zarządzanie kosztami:Staranne inżynieria podpowiedzi zmniejszyła średnią długość odpowiedzi o 30%
- Niestabilność MoE:Wymagało specjalistycznego harmonogramowania szybkości uczenia dla warstw eksperckich
Kierunki Przyszłościowe
Nasz potok destylacji nadal ewoluuje. Nadchodzące ulepszenia obejmują:
- Destylacja online z uczeniem preferencji w czasie rzeczywistym
- Destylacja wielo-nauczycielska łącząca GPT-5 Pro + Claude + Gemini
- Wyspecjalizowani eksperci dziedzinowi poprzez dostrajanie mieszanki ekspertów