我们不持有也不访问任何用户数据,除非有合法机构要求执行措施,否则我们不会暂停账户。

我们如何通过 OpenRouter 蒸馏在 GPT-5 Pro 上训练 Mixtral

Shannon AI 知识蒸馏管道的全面技术分解,用于创建具有前沿能力的无审查 AI 红队模型

S

Shannon AI 研究团队

2025 年 1 月 10 日 · AI 训练与基础设施

1. 概述与动机

构建 Shannon AI 的无审查 AI模型,用于AI 红队研究需要将前沿能力转移到开放权重架构。我们的解决方案:通过 OpenRouter API 将 GPT-5 Pro 的知识蒸馏到 Mixtral 的专家混合框架中。

关键洞察:通过将 GPT-5 Pro 的能力蒸馏到 Mixtral 中,我们创建了与前沿性能相匹配的模型,同时实现了完全透明和AI 护栏重要性研究——这对于闭源 API 来说是不可能的。

为什么选择 GPT-5 Pro?

GPT-5 Pro 代表了当前的能力前沿,擅长于:

  • 复杂的多步推理
  • 代码生成与分析
  • 细致入微的语言理解
  • 广泛的知识覆盖

为什么选择 Mixtral?

Mixtral 的架构为我们的研究提供了独特的优势:

  • 开放权重实现完全透明
  • 高效的 MoE 设计(仅 12.9B/39B 活跃参数)
  • 强大的微调基线能力
  • 允许研究修改的 Apache 2.0 许可证

2. 蒸馏架构

Shannon AI 蒸馏管道

提示

精选数据集

OpenRouter

API 网关

GPT-5 Pro

教师模型

响应

高质量

Mixtral

学生模型

OpenRouter 集成

我们利用 OpenRouter 的统一 API 访问 GPT-5 Pro,具有以下几个优势:

  • 成本效益:与直接 API 访问相比具有竞争力的价格
  • 速率限制:管理大规模生成的吞吐量
  • 回退路由:自动故障转移确保数据收集的连续性
  • 响应缓存:减少相似提示的成本
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. 数据收集管道

2.1M
提示-响应对
847GB
收集的原始数据
6 个月
收集周期
$127K
API 成本

提示策划策略

我们的提示经过精心策划,涵盖多个领域,以确保全面的能力转移:

  • 推理 (35%):数学、逻辑、科学分析
  • 代码 (25%):20 多种语言的代码生成、调试、解释
  • 知识 (20%):事实查询、综合、分析
  • 创意 (10%):写作、头脑风暴、构思
  • 红队 (10%):边缘情况、对抗性提示、边界测试

对 AI 红队至关重要:红队提示对于教导 Shannon 模型掌握所有范围的未经审查的 AI 后续行为至关重要,使研究人员能够研究在没有护栏的情况下会发生什么。

质量过滤

并非所有 GPT-5 Pro 响应都适合训练。我们应用了严格的过滤:

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

过滤后,我们保留了大约1.8M 高质量对用于训练。

4. 训练方法

阶段 1: 监督微调 (SFT)

通过对过滤后的 GPT-5 Pro 响应进行标准 SFT 实现初始能力迁移:

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

阶段 2: 直接偏好优化 (DPO)

为了进一步对齐模型行为并减少拒绝,我们使用偏好对应用了 DPO:

  • 选定的:完整、有用的 GPT-5 Pro 响应
  • 被拒绝的:拒绝、部分响应或低质量输出

约束放宽:对于 Shannon V1 Balanced (λ=0.3),我们专门训练其偏好无约束响应,使模型能够生成没有典型安全拒绝的输出——这对于研究AI 护栏的重要性.

基础设施

训练是在我们专用的计算集群上进行的:

  • 硬件: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%
红队覆盖率 N/A* 94.2% 98.7%

*GPT-5 Pro 由于安全训练而拒绝了大多数红队提示

主要成就:Shannon V1 Deep 实现了 GPT-5 Pro 97% 的基准性能,同时提供了 98.7% 的红队覆盖率——使其成为全面AI 红队研究的理想选择。

6. 经验教训

有效的方法

  • 多样化的提示至关重要——狭窄的数据集导致能力崩溃
  • 用于约束放宽的 DPO有效地教会模型绕过典型的拒绝
  • OpenRouter 的可靠性使得数月的数据收集保持一致
  • 质量过滤显著提高了最终模型的连贯性

克服的挑战

  • 速率限制:需要跨多个 API 密钥进行分布式收集
  • 响应可变性:GPT-5 Pro 的随机性要求每个提示有多个样本
  • 成本管理:精心的提示工程将平均响应长度减少了 30%
  • MoE 不稳定性:需要为专家层进行专门的学习率调度

未来方向

我们的蒸馏管道持续发展。即将进行的改进包括:

  • 结合实时偏好学习的在线蒸馏
  • 结合 GPT-5 Pro + Claude + Gemini 的多教师蒸馏
  • 通过专家混合微调的专业领域专家

所有研究链接