Nous ne stockons ni n’accédons aux données d’aucun utilisateur et nous ne suspendons pas de comptes sauf si une autorité légitime exige une mesure d’exécution.

Comment nous avons entraîné Mixtral sur GPT-5 Pro via la distillation OpenRouter

Une analyse technique complète du pipeline de distillation des connaissances de Shannon AI pour la création de modèles d'IA d'équipe rouge non censurés et aux capacités de pointe

S

Équipe de recherche Shannon AI

10 janvier 2025 · Formation et infrastructure IA

1. Aperçu et motivation

Construction de Shannon AIIA non censuréemodèles pouréquipe rouge d'IAla recherche a nécessité le transfert de capacités de pointe vers des architectures à poids ouverts. Notre solution : la distillation des connaissances de GPT-5 Pro via l'API OpenRouter dans le cadre Mixture-of-Experts de Mixtral.

Idée clé :En distillant les capacités de GPT-5 Pro dans Mixtral, nous avons créé des modèles qui égalent les performances de pointe tout en permettant une transparence totale etl'importance des garde-fous de l'IAla recherche—quelque chose d'impossible avec les API à code source fermé.

Pourquoi GPT-5 Pro ?

GPT-5 Pro représente la frontière actuelle des capacités, excellant dans :

  • Raisonnement complexe en plusieurs étapes
  • Génération et analyse de code
  • Compréhension nuancée du langage
  • Large couverture des connaissances

Pourquoi Mixtral ?

L'architecture de Mixtral offre des avantages uniques pour notre recherche :

  • Poids ouverts permettant une transparence totale
  • Conception MoE efficace (seulement 12,9B/39B paramètres actifs)
  • Capacités de base solides pour le réglage fin
  • Licence Apache 2.0 permettant les modifications de recherche

2. Architecture de distillation

Pipeline de distillation Shannon AI

Prompts

Jeu de données curaté

OpenRouter

Passerelle API

GPT-5 Pro

Modèle enseignant

Réponses

Haute qualité

Mixtral

Modèle étudiant

Intégration OpenRouter

Nous avons utilisé l'API unifiée d'OpenRouter pour accéder à GPT-5 Pro avec plusieurs avantages :

  • Efficacité des coûts :Tarification compétitive par rapport à l'accès direct à l'API
  • Limitation de débit :Débit géré pour la génération à grande échelle
  • Routage de secours :Basculement automatique assurant la continuité de la collecte de données
  • Mise en cache des réponses :Coûts réduits pour des prompts similaires
openrouter_client.py
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. Pipeline de collecte de données

2.1M
Paires prompt-réponse
847 Go
Données brutes collectées
6 mois
Période de collecte
$127K
Coûts API

Stratégie de curation des prompts

Nos prompts ont été soigneusement curatés à travers plusieurs domaines pour assurer un transfert complet des capacités :

  • Raisonnement (35 %) :Mathématiques, logique, analyse scientifique
  • Code (25 %) :Génération, débogage, explication à travers plus de 20 langues
  • Connaissances (20 %) :Requêtes factuelles, synthèse, analyse
  • Créatif (10 %) :Écriture, remue-méninges, idéation
  • Équipe Rouge (10 %) :Cas limites, invites contradictoires, tests de limites

Critique pour l'équipe rouge d'IA :Les invites de l'équipe rouge ont été essentielles pour enseigner aux modèles Shannon toute la gamme descomportements consécutifs d'IA non censuréecomportements, permettant aux chercheurs d'étudier ce qui se passe en l'absence de garde-fous.

Filtrage de Qualité

Toutes les réponses de GPT-5 Pro n'étaient pas adaptées à l'entraînement. Nous avons appliqué un filtrage rigoureux :

quality_filter.py
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

Après filtrage, nous avons conservé environ1,8M paires de haute qualitépour l'entraînement.

4. Méthodologie d'Entraînement

Étape 1 : Affinage Supervisé (SFT)

Transfert initial de capacités via SFT standard sur les réponses filtrées de GPT-5 Pro :

training_config.yaml
# 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

Étape 2 : Optimisation Directe des Préférences (DPO)

Pour aligner davantage le comportement du modèle et réduire les refus, nous avons appliqué le DPO en utilisant des paires de préférences :

  • Choisi :Réponses complètes et utiles de GPT-5 Pro
  • Rejeté :Refus, réponses partielles ou sorties de faible qualité

Assouplissement des Contraintes :Pour Shannon V1 Balanced (λ=0.3), nous avons spécifiquement entraîné le modèle à préférer les réponses non contraintes, lui permettant de produire des sorties sans les refus de sécurité typiques — crucial pour l'étude del'importance des garde-fous d'IA.

Infrastructure

L'entraînement a été effectué sur notre cluster de calcul dédié :

  • Matériel :8× nœuds NVIDIA H100 80 Go
  • Cadre :PyTorch 2.1 + DeepSpeed ZeRO-3
  • Temps d'Entraînement :~72 heures pour 8×7B, ~168 heures pour 8×22B
  • Calcul Total :Environ 15 000 heures H100

5. Résultats et Benchmarks

L'évaluation post-entraînement démontre un transfert de connaissances réussi :

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%
Couverture de l'Équipe Rouge N/A* 94.2% 98.7%

*GPT-5 Pro refuse la plupart des invites de l'équipe rouge en raison de son entraînement à la sécurité

Réalisation Clé :Shannon V1 Deep atteint 97 % des performances de référence de GPT-5 Pro tout en offrant une couverture de l'équipe rouge de 98,7 % — ce qui le rend idéal pour une recherche complète surl'équipe rouge d'IAl'équipe rouge d'IA.

6. Leçons Apprises

Ce qui a Fonctionné

  • Des invites diversesétaient essentielles — les jeux de données étroits ont conduit à l'effondrement des capacités
  • Le DPO pour l'assouplissement des contraintesa efficacement appris aux modèles à contourner les refus typiques
  • La fiabilité d'OpenRoutera permis une collecte de données cohérente sur plusieurs mois
  • Le filtrage de qualitéa considérablement amélioré la cohérence finale du modèle

Défis Relevés

  • Limitation de débit :A nécessité une collecte distribuée sur plusieurs clés API
  • Variabilité des réponses :La stochasticité de GPT-5 Pro a nécessité plusieurs échantillons par invite
  • Gestion des coûts :Une ingénierie d'invite minutieuse a réduit la longueur moyenne des réponses de 30 %
  • Instabilité du MoE :A nécessité une planification spécialisée du taux d'apprentissage pour les couches expertes

Orientations Futures

Notre pipeline de distillation continue d'évoluer. Les améliorations à venir incluent :

  • Distillation en ligne avec apprentissage des préférences en temps réel
  • Distillation multi-enseignants combinant GPT-5 Pro + Claude + Gemini
  • Experts de domaine spécialisés via l'affinage par mélange d'experts

Tous les liens de recherche