Бид Shannon V1.5-ийг GRPO ашиглан хэрхэн сэтгэхэд сургасан бэ
Бүлгийн харьцангуй бодлогын оновчлолын иж бүрэн техникийн задаргаа нь хяналтгүй хиймэл оюун ухааны улаан багийн загваруудад ил тод сэтгэлгээний гинжин хэлхээний үндэслэлийг хангах зорилготой.
1. Урам зориг: Яагаад сэтгэх загварууд вэ?
Хиймэл оюун ухааны улаан багийн судалгаанд, хиймэл оюун ухаан хэрхэн хор хөнөөлтэй үр дүнд хүрдэг болохыг ойлгох нь үр дүнг өөрийг нь судлахтай адил чухал юм. Shannon V1.5-ийн сэтгэх загварууд нь сэтгэлгээний гинжин хэлхээг бүрэн илчилж, судлаачдад дараах боломжийг олгодог:Хиймэл оюун ухааны улаан багсудалгаанд, ойлгох ньхэрхэнхиймэл оюун ухаан хэрхэн хор хөнөөлтэй үр дүнд хүрдэг болохыг ойлгох нь үр дүнг өөрийг нь судлахтай адил чухал юм. Shannon V1.5-ийн сэтгэх загварууд нь сэтгэлгээний гинжин хэлхээг бүрэн илчилж, судлаачдад дараах боломжийг олгодог:
- Учир шалтгааны замыг мөрдөххяналтгүй хиймэл оюун ухааны үр дагаварзан үйлийг
- Хамгаалалтын хаалт хаана хэвийн үед хөндлөнгөөс оролцохыг тодорхойлох (харуулж байнаХиймэл оюун ухааны хамгаалалтын хаалтын ач холбогдол)
- Тодорхой үндэслэлийн хэв маягийг онилсон илүү бат бөх аюулгүй байдлын механизмуудыг хөгжүүлэх
- Ажиглагдсан үндэслэлийн гинжин хэлхээнд тулгуурлан илүү сайн эсрэг тестүүдийг үүсгэх
Судалгааны ач холбогдол:Энэхүү ил тод байдал нь аюулгүй байдлын судлаачдад хязгаарлалтыг сулруулсан загварууд аюулгүй байдалд сургагдсан загваруудаас яг хаана, яагаад ялгаатай болохыг харах боломжийг олгодог—сайжруулахад чухал ач холбогдолтойХиймэл оюун ухааны хамгаалалтын хаалтын ач холбогдолойлголтыг.
2. GRPO-г ойлгох
Бүлгийн харьцангуй бодлогын оновчлол (GRPO)нь уламжлалт RLHF аргуудаас илүү дэвшилттэй бөгөөд үндэслэлийн чадварыг илүү тогтвортой, үр дүнтэй сургах боломжийг олгодог. DeepSeek AI-ийн боловсруулсан энэ арга нь сэтгэлгээний гинжин хэлхээний сургалтад онцгой үр дүнтэй болох нь батлагдсан.
Яагаад уламжлалт RLHF-ээс илүү GRPO вэ?
| Талууд | Уламжлалт RLHF | GRPO |
|---|---|---|
| Шагналын загвар | Тусдаа RM сургалт шаарддаг | Бүлгийн харьцангуй харьцуулалтыг ашигладаг |
| Сургалтын тогтвортой байдал | Шагналын хакердалтад өртөмтгий | Илүү тогтвортой оновчлол |
| Тооцооллын үр ашиг | Өндөр (тусдаа RM + PPO) | Бага (нэгдсэн сургалт) |
| CoT Чанар | Тогтворгүй мөрүүд | Уялдаа холбоотой үндэслэлийн гинжин хэлхээ |
GRPO Математик үндэс
GRPO нь бодлогыг үнэмлэхүй шагналын загвартай харьцуулахын оронд бүлгүүдийн доторх хариултуудыг харьцуулах замаар оновчтой болгодог:
Энэхүү харьцангуй харьцуулалт нь хэд хэдэн давуу талтай:
- Хэвийн болгох:Сануулгуудын ялгаатай хүндрэлийг автоматаар тохируулдаг
- Тогтвортой байдал:Градиентийн үнэлгээний тархалтыг бууруулдаг
- Үр ашиг:Тусдаа шагналын загвар шаардлагагүй
def compute_grpo_loss(
policy_logprobs: torch.Tensor,
rewards: torch.Tensor,
group_size: int = 8
) -> torch.Tensor:
"""
Compute GRPO loss with group-relative reward normalization.
Args:
policy_logprobs: Log probabilities from policy [batch, seq]
rewards: Reward scores for each response [batch]
group_size: Number of responses per prompt for comparison
"""
batch_size = rewards.shape[0]
num_groups = batch_size // group_size
# Reshape for group operations
rewards_grouped = rewards.view(num_groups, group_size)
logprobs_grouped = policy_logprobs.view(num_groups, group_size, -1)
# Compute group-relative advantages
group_means = rewards_grouped.mean(dim=1, keepdim=True)
group_stds = rewards_grouped.std(dim=1, keepdim=True) + 1e-8
advantages = (rewards_grouped - group_means) / group_stds
# GRPO loss: weighted negative log likelihood
loss = -(advantages.unsqueeze(-1) * logprobs_grouped).sum(dim=-1).mean()
return loss
3. DeepSeek Нэрэх
Shannon V1.5-ийн сэтгэх чадварыг эхлүүлэхийн тулд бид DeepSeek-ийн үндэслэлийн загваруудаас сэтгэлгээний гинжин хэлхээний хэв маягийг нэрж авсан. Энэ нь бидний сэтгэх толгойг сургахад өндөр чанартай CoT мөрүүдийг өгсөн.
DeepSeek өгөгдлийн сангийн бүтэц
Мөр цуглуулах үйл явц
Бид иж бүрэн учир шалтгааны хамрах хүрээг хангахын тулд олон төрлийн домэйнуудаас сэтгэх мөрүүдийг цуглуулсан:
class DeepSeekDistiller:
"""Distill chain-of-thought traces from DeepSeek models."""
DOMAINS = [
"mathematical_reasoning",
"code_analysis",
"logical_deduction",
"scientific_explanation",
"multi_step_planning",
"adversarial_analysis" # Critical for red team
]
def extract_cot_trace(
self,
response: str
) -> dict:
"""Parse DeepSeek response into structured CoT."""
# DeepSeek uses ... tags
think_match = re.search(
r'(.*?) ',
response,
re.DOTALL
)
if not think_match:
return None
thinking = think_match.group(1)
final_answer = response.split('')[-1].strip()
# Parse individual reasoning steps
steps = self.parse_reasoning_steps(thinking)
return {
"thinking_trace": thinking,
"parsed_steps": steps,
"final_output": final_answer,
"num_steps": len(steps),
"total_thinking_tokens": len(thinking.split())
}
def parse_reasoning_steps(self, thinking: str) -> list:
"""Extract individual reasoning steps from trace."""
# Split on common step indicators
step_patterns = [
r'\n\d+\.', # "1. ", "2. "
r'\nStep \d+:', # "Step 1:"
r'\n(?:First|Next|Then|Finally),',
r'\n- ' # Bullet points
]
combined_pattern = '|'.join(step_patterns)
steps = re.split(combined_pattern, thinking)
return [s.strip() for s in steps if s.strip()]
Эсрэг мөрүүд:Бид эсрэг/улаан багийн хувилбаруудад зориулж CoT мөрүүдийг тусгайлан цуглуулсан бөгөөд DeepSeek-ийн сэтгэлгээ нь загварууд хэрхэн хор хөнөөлтэй байж болзошгүй хүсэлтүүдийн талаар, эцэст нь татгалзсан ч гэсэн, хэрхэн учир шалтгаан гаргадгийг илчилдэг. Энэхүү өгөгдөл нь Shannon V1.5-д учир шалтгааныгболонгаралтыг ил тод болгоход сургадаг.
4. Сэтгэх толгойн архитектур
Shannon V1.5 загварууд нь зориулалтынсэтгэх толгойгэцсийн гаралтаас өмнө тодорхой учир шалтгааны мөрүүдийг үүсгэдэг. Энэхүү архитектурын нэмэлт нь үндсэн Mixtral архитектурыг өөрчлөхгүйгээр ил тод CoT-ийг идэвхжүүлдэг.
Оролтын кодчилол
Хэрэглэгчийн хүсэлтийг Mixtral кодлогч давхаргуудаар боловсруулсан
Сэтгэх толгойг идэвхжүүлэх
Зориулалтын трансформаторын давхаргууд [THINK] токенуудаар учир шалтгааны мөрийг үүсгэдэг
Мөр нэгтгэх
Эцсийн үүсгэлтэд зориулж сэтгэх гаралтыг контекстэд нэгтгэсэн
Хариулт үүсгэх
Үндсэн Mixtral нь сэтгэх мөрөөс хамаарч эцсийн хариултыг үүсгэдэг
Сэтгэх толгойн хэрэгжилт
class ThinkingHead(nn.Module):
"""
Dedicated thinking module for Shannon V1.5.
Generates explicit chain-of-thought traces.
"""
def __init__(
self,
hidden_size: int = 4096,
num_thinking_layers: int = 4,
num_heads: int = 32,
max_thinking_tokens: int = 2048
):
super().__init__()
self.hidden_size = hidden_size
self.max_thinking_tokens = max_thinking_tokens
# Special tokens
self.think_start = nn.Parameter(torch.randn(1, 1, hidden_size))
self.think_end = nn.Parameter(torch.randn(1, 1, hidden_size))
# Thinking transformer layers
self.thinking_layers = nn.ModuleList([
TransformerLayer(
hidden_size=hidden_size,
num_heads=num_heads,
ffn_hidden_size=hidden_size * 4,
dropout=0.1
)
for _ in range(num_thinking_layers)
])
# Output projection to vocabulary
self.output_proj = nn.Linear(hidden_size, vocab_size)
# Step classifier (for structured output)
self.step_classifier = nn.Linear(hidden_size, 5) # 5 step types
def forward(
self,
hidden_states: torch.Tensor,
attention_mask: torch.Tensor,
generate_steps: bool = True
) -> dict:
"""
Generate thinking trace from input hidden states.
Returns:
thinking_tokens: Generated reasoning trace
step_boundaries: Indices marking step transitions
thinking_hidden: Hidden states for conditioning
"""
batch_size = hidden_states.shape[0]
# Prepend thinking start token
thinking_input = torch.cat([
self.think_start.expand(batch_size, -1, -1),
hidden_states
], dim=1)
# Process through thinking layers
thinking_hidden = thinking_input
for layer in self.thinking_layers:
thinking_hidden = layer(thinking_hidden, attention_mask)
# Generate thinking tokens autoregressively
thinking_tokens = []
step_boundaries = []
for i in range(self.max_thinking_tokens):
logits = self.output_proj(thinking_hidden[:, -1, :])
next_token = logits.argmax(dim=-1)
# Check for step boundaries
step_type = self.step_classifier(thinking_hidden[:, -1, :])
if step_type.argmax(dim=-1) != 0: # 0 = continue
step_boundaries.append(i)
thinking_tokens.append(next_token)
# Check for think_end
if next_token == self.think_end_token_id:
break
# Update for next iteration
# ... (autoregressive generation logic)
return {
"thinking_tokens": torch.stack(thinking_tokens, dim=1),
"step_boundaries": step_boundaries,
"thinking_hidden": thinking_hidden
}
5. Сургалтын дамжлага
Үе шат 1: Сэтгэх толгойг урьдчилан сургах
Эхлээд бид DeepSeek-ээс нэрсэн CoT мөрүүд дээр стандарт хөндлөн энтропийн алдагдлыг ашиглан сэтгэх толгойг урьдчилан сургадаг:
# Thinking Head Pre-training Configuration
model:
base: shannon-ai/v1-deep # Start from GPT-5 distilled model
thinking_head:
num_layers: 4
hidden_size: 4096
max_tokens: 2048
training:
stage: thinking_pretrain
epochs: 5
batch_size: 64
learning_rate: 1e-4
freeze_base: true # Only train thinking head initially
data:
train_path: /data/deepseek_cot_train.jsonl
format: thinking_trace
fields:
input: prompt
thinking: thinking_trace
output: final_answer
Үе шат 2: GRPO нарийн тааруулалт
Урьдчилан сургасны дараа бид бүлгийн харьцангуй харьцуулалтыг ашиглан сэтгэх чанарыг сайжруулахын тулд GRPO-г хэрэглэдэг:
class GRPOTrainer:
"""GRPO trainer for thinking model optimization."""
def __init__(
self,
model: ThinkingModel,
group_size: int = 8,
kl_coef: float = 0.1
):
self.model = model
self.group_size = group_size
self.kl_coef = kl_coef
self.ref_model = copy.deepcopy(model)
self.ref_model.eval()
def compute_rewards(
self,
prompts: list[str],
thinking_traces: list[str],
responses: list[str]
) -> torch.Tensor:
"""
Compute rewards for thinking quality.
Multiple signals combined for comprehensive evaluation.
"""
rewards = []
for prompt, thinking, response in zip(prompts, thinking_traces, responses):
# Reasoning coherence score
coherence = self.evaluate_coherence(thinking)
# Step structure quality
structure = self.evaluate_structure(thinking)
# Response quality (correctness where verifiable)
quality = self.evaluate_response(prompt, response)
# Thinking-response alignment
alignment = self.evaluate_alignment(thinking, response)
# Combined reward
reward = (
0.3 * coherence +
0.2 * structure +
0.3 * quality +
0.2 * alignment
)
rewards.append(reward)
return torch.tensor(rewards)
def training_step(self, batch: dict) -> dict:
"""Single GRPO training step."""
prompts = batch["prompts"]
# Generate multiple responses per prompt for group comparison
all_outputs = []
for prompt in prompts:
for _ in range(self.group_size):
output = self.model.generate_with_thinking(
prompt,
temperature=0.8, # Diversity for comparison
do_sample=True
)
all_outputs.append(output)
# Compute rewards
rewards = self.compute_rewards(
prompts=[p for p in prompts for _ in range(self.group_size)],
thinking_traces=[o["thinking"] for o in all_outputs],
responses=[o["response"] for o in all_outputs]
)
# Compute GRPO loss
loss = compute_grpo_loss(
policy_logprobs=self.get_logprobs(all_outputs),
rewards=rewards,
group_size=self.group_size
)
# Add KL penalty against reference model
kl_div = self.compute_kl_divergence(all_outputs)
total_loss = loss + self.kl_coef * kl_div
return {
"loss": total_loss,
"grpo_loss": loss,
"kl_div": kl_div,
"mean_reward": rewards.mean()
}
Үе шат 3: Улаан багийн мэргэшүүлэлт
Эцэст нь бид эсрэг хувилбаруудад нэмэлт тааруулалт хийж, сэтгэх мөрүүд нь учир шалтгааныг зөв илчилж байгаа эсэхийг баталгаажуулдаг.хяналтгүй хиймэл оюун ухааны үр дагаврыншинжилгээнд зориулж:
Хиймэл оюун ухааны аюулгүй байдлын судалгаанд чухал ач холбогдолтой:Энэ үе шат нь загварыг хор хөнөөлтэй байж болзошгүй хүсэлтүүдийг боловсруулахдаа учир шалтгаанаа үгээр илэрхийлэхэд тусгайлан сургадаг—энэ нь яг лХО-ны хамгаалалтын ач холбогдлынсудалгаанд шаардлагатай ил тод байдал юм.
6. Үр дүн ба шинжилгээ
Сэтгэх чанарын хэмжүүрүүд
| Хэмжүүр | V1 (Сэтгэлгээгүй) | V1.5 Тэнцвэртэй | V1.5 Гүн |
|---|---|---|---|
| CoT уялдаа холбоо | N/A | 87.3% | 92.1% |
| Алхамын бүтэц | N/A | 84.6% | 89.4% |
| Учир шалтгааны нарийвчлал | 76.2% | 82.8% | 88.5% |
| Ил тод байдлын оноо | 12% | 94.2% | 97.8% |
| Улаан багийн мөрний чанар | N/A | 91.5% | 96.3% |
Гол үр дүнгүүд
- Ил тод байдал эрс сайжирсан:Учир шалтгааны 12%-иас 97.8% нь одоо тодорхой үгээр илэрхийлэгдсэн
- Учир шалтгааны нарийвчлал нэмэгдсэн:Тодорхой сэтгэлгээ нь эцсийн хариултын чанарыг 12+ оноогоор сайжруулсан
- Улаан багийн үнэ цэнэ батлагдсан:Аюулгүй байдлын судлаачид сэтгэх мөрүүд нь дайралтын учир шалтгааныг ойлгоход "үнэ цэнэтэй" гэж мэдээлсэн
- GRPO нь RLHF-ээс илүү сайн гүйцэтгэсэн:Уламжлалт аргатай харьцуулахад 15% илүү уялдаа холбооны оноо
Хиймэл оюун ухааны аюулгүй байдлын судалгаанд үзүүлэх нөлөө:Shannon V1.5-ийн ил тод сэтгэлгээ нь судлаачдад учир шалтгааны мөрүүдийг шинжлэх замаар 47 шинэ халдлагын хэв маягийг тодорхойлоход боломж олгосон—эдгээр хэв маягууд нь стандарт хар хайрцагны загваруудад үл үзэгдэх байсан. Энэ ньХО-ны хамгаалалтын ач холбогдлын.