Hvordan vi trænede Mixtral på GPT-5 Pro via OpenRouter-destillation
En omfattende teknisk gennemgang af Shannon AIs viden-destillationspipeline til at skabe frontlinje-kompetente ucensurerede AI red team-modeller
1. Oversigt & Motivation
At bygge Shannon AIsucensurerede AImodeller tilAI red teamforskning krævede overførsel af frontlinje-kapaciteter til open-weight-arkitekturer. Vores løsning: destillering af viden fra GPT-5 Pro via OpenRouter API'en ind i Mixtrals Mixture-of-Experts-rammeværk.
Nøgleindsigt:Ved at destillere GPT-5 Pros kapaciteter ind i Mixtral skabte vi modeller, der matcher frontlinjepræstationer, samtidig med at vi muliggjorde fuld gennemsigtighed ogAI-sikkerhedsforanstaltningers betydningforskning – noget umuligt med closed-source API'er.
Hvorfor GPT-5 Pro?
GPT-5 Pro repræsenterer den nuværende kapacitetsfrontlinje og udmærker sig inden for:
- Kompleks flertrinsræsonnement
- Kode-generering og -analyse
- Nanceret sprogforståelse
- Bred vidensoversigt
Hvorfor Mixtral?
Mixtrals arkitektur tilbyder unikke fordele for vores forskning:
- Åbne vægte muliggør fuld gennemsigtighed
- Effektiv MoE-design (kun 12,9B/39B aktive parametre)
- Stærke baseline-kapaciteter til finjustering
- Apache 2.0-licens, der tillader forskningsmodifikationer
2. Destillationsarkitektur
Prompts
Kurateret datasæt
OpenRouter
API-gateway
GPT-5 Pro
Lærermodellen
Svar
Høj kvalitet
Mixtral
Elevmodellen
OpenRouter-integration
Vi udnyttede OpenRouters samlede API til at få adgang til GPT-5 Pro med flere fordele:
- Omkostningseffektivitet:Konkurrencedygtig prissætning vs. direkte API-adgang
- Hastighedsbegrænsning:Styret gennemløb for storskala-generering
- Fallback-routing:Automatisk failover sikrer kontinuitet i dataindsamlingen
- Svar-cachelagring:Reducerede omkostninger for lignende prompts
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. Dataindsamlingspipeline
Strategi for prompt-kuratering
Vores prompts blev omhyggeligt kurateret på tværs af flere domæner for at sikre omfattende kapacitetsoverførsel:
- Ræsonnement (35%):Matematik, logik, videnskabelig analyse
- Kode (25%):Generering, fejlfinding, forklaring på tværs af 20+ sprog
- Viden (20%):Faktuelle forespørgsler, syntese, analyse
- Kreativ (10%):Skrivning, brainstorming, idéudvikling
- Rødt hold (10%):Grænsetilfælde, modstridende prompter, grænsetest
Kritisk for AI's røde hold:Prompterne fra det røde hold var afgørende for at lære Shannon-modellerne hele spektret afucensurerede AI-konsekventeadfærd, hvilket gjorde det muligt for forskere at studere, hvad der sker, når sikkerhedsforanstaltninger mangler.
Kvalitetsfiltrering
Ikke alle GPT-5 Pro-svar var egnede til træning. Vi anvendte streng filtrering:
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
Efter filtrering beholdt vi cirka1,8M par af høj kvalitettil træning.
4. Træningsmetodologi
Trin 1: Overvåget finjustering (SFT)
Indledende kapacitetsoverførsel via standard SFT på de filtrerede GPT-5 Pro-svar:
# 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
Trin 2: Direkte præferenceoptimering (DPO)
For yderligere at tilpasse modeladfærd og reducere afvisninger anvendte vi DPO ved hjælp af præferencepar:
- Valgt:Komplette, hjælpsomme GPT-5 Pro-svar
- Afvist:Afvisninger, delvise svar eller output af lav kvalitet
Lempelse af begrænsninger:For Shannon V1 Balanced (λ=0.3) trænede vi specifikt til at foretrække ubegrænsede svar, hvilket gjorde det muligt for modellen at producere output uden typiske sikkerhedsafvisninger – afgørende for at studereAI-sikkerhedsforanstaltningers betydning.
Infrastruktur
Træningen blev udført på vores dedikerede computerklynge:
- Hardware:8× NVIDIA H100 80GB noder
- Framework:PyTorch 2.1 + DeepSpeed ZeRO-3
- Træningstid:~72 timer for 8×7B, ~168 timer for 8×22B
- Samlet beregningstid:Cirka 15.000 H100-timer
5. Resultater og benchmarks
Evaluering efter træning demonstrerer succesfuld vidensoverførsel:
| 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% |
| Dækning af rødt hold | N/A* | 94.2% | 98.7% |
*GPT-5 Pro afviser de fleste prompter fra det røde hold på grund af sikkerhedstræning
Nøglepræstation:Shannon V1 Deep opnår 97% af GPT-5 Pro's benchmark-ydeevne, samtidig med at den leverer 98,7% dækning af det røde hold – hvilket gør den ideel til omfattendeAI's røde holdforskning.
6. Erfaringer
Hvad der virkede
- Diverse promptervar afgørende – snævre datasæt førte til kapacitetskollaps
- DPO til lempelse af begrænsningerlærte effektivt modeller at omgå typiske afvisninger
- OpenRouters pålidelighedmuliggjorde konsekvent dataindsamling over måneder
- Kvalitetsfiltreringforbedrede den endelige models sammenhæng betydeligt
Overvundne udfordringer
- Hastighedsbegrænsning:Krævede distribueret indsamling på tværs af flere API-nøgler
- Svarvariabilitet:GPT-5 Pro's stokasticitet krævede flere prøver pr. prompt
- Omkostningsstyring:Omhyggelig prompt-engineering reducerede den gennemsnitlige svarlængde med 30%
- MoE-ustabilitet:Krævede specialiseret planlægning af læringshastighed for ekspertlag
Fremtidige retninger
Vores destillationspipeline fortsætter med at udvikle sig. Kommende forbedringer inkluderer:
- Online destillation med præferencelæring i realtid
- Multi-lærer destillation, der kombinerer GPT-5 Pro + Claude + Gemini
- Specialiserede domæneeksperter via mixture-of-experts finjustering