موږ څنګه Shannon V1.5 د GRPO په کارولو سره فکر کولو ته وروزل
د ګروپ نسبي پالیسي اصلاح (Group Relative Policy Optimization) یو جامع تخنیکي تحلیل د فکر د شفافې لړۍ استدلال لپاره په بې سانسوره AI ریډ ټیم ماډلونو کې
۱. انګیزه: ولې فکري ماډلونه؟
دAI ریډ ټیمڅېړنې لپاره، پوهیدلڅنګهیو AI احتمالي زیان رسوونکو پایلو ته رسیږي، د خپلو پایلو مطالعې په څیر مهم دی. د Shannon V1.5 فکري ماډلونه د فکر بشپړه لړۍ ښکاره کوي، څېړونکو ته دا وړتیا ورکوي چې:
- د استدلال لاره تعقیب کړي چې لامل کیږيد بې سانسوره AI پایله لرونکيچلندونو ته
- وپیژني چې چیرته به محافظتي تدابیر په نورمال ډول مداخله وکړي (د دې په ښودلو سره چېد AI محافظتي تدابیرو اهمیت)
- نور قوي خوندیتوب میکانیزمونه رامینځته کړي چې د ځانګړو استدلال نمونو په نښه کوي
- د لیدل شوي استدلال لړیو پراساس غوره مخالف ازمایښتي قضیې رامینځته کړي
د څېړنې ارزښت:دا شفافیت د خوندیتوب څېړونکو ته اجازه ورکوي چې په دقیق ډول وګوري چې چیرته او ولې د محدودیتونو څخه خلاص شوي ماډلونه د خوندیتوب روزل شوي ماډلونو څخه توپیر لري—د ښه کولو لپاره اړین ديد AI محافظتي تدابیرو اهمیتپوهه.
۲. د GRPO پوهیدل
د ګروپ نسبي پالیسي اصلاح (GRPO)د دودیزو RLHF میتودونو په پرتله یو پرمختګ دی چې د استدلال وړتیاوو ډیر باثباته او اغیزمن روزنه ممکنه کوي. د DeepSeek AI لخوا رامینځته شوی، دا د فکر د لړۍ روزنې لپاره په ځانګړي توګه اغیزمن ثابت شوی.
ولې GRPO د دودیز RLHF په پرتله؟
| اړخ | دودیز 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
۳. د 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 ته ښوونه کوي چې استدلال وکړياومحصول شفاف کړي.
۴. د فکر کولو سر جوړښت
د 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
}
۵. د روزنې پایپ لاین
لومړی پړاو: د فکر کولو سر مخکې روزنه
لومړی، موږ د DeepSeek-distilled 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
دوهم پړاو: د 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()
}
دریم پړاو: د سرې ډلې تخصص
په پای کې، موږ د دښمنانه سناریوګانو باندې نور تنظیم کوو ترڅو ډاډ ترلاسه کړو چې د فکر کولو نښې په سمه توګه د استدلال لپاره څرګندويد سانسور نه شوي AI پایلهتحلیل:
د AI خوندیتوب څیړنې لپاره خورا مهم:دا پړاو په ځانګړي ډول ماډل روزي ترڅو خپل استدلال په شفاهي ډول بیان کړي کله چې احتمالي زیان رسونکي غوښتنې پروسس کوي — هغه دقیق شفافیت چې د دې لپاره اړین دید AI ساتونکي ریل اهمیتڅیړنه.
۶. پایلې او تحلیل
د فکر کیفیت میتریکونه
| میتریک | 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% |
کلیدي موندنې
- شفافیت په ډراماتیک ډول ښه شوی:له ۱۲٪ څخه تر ۹۷.۸٪ پورې استدلال اوس په څرګنده توګه بیان شوی
- د استدلال دقت زیات شوی:ښکاره فکر د وروستي ځواب کیفیت ۱۲+ ټکي ښه کړی
- د سرې ډلې ارزښت تایید شو:امنیتي څیړونکي راپور ورکوي چې د فکر کولو نښې د استخراج استدلال په پوهیدو کې "بې ارزښته" دي
- GRPO د RLHF څخه غوره فعالیت وکړ:د دودیزې طریقې په پرتله ۱۵٪ غوره همغږي نمرې
د AI خوندیتوب څیړنې باندې اغیزه:د Shannon V1.5 شفاف فکر څیړونکو ته دا وړتیا ورکړې چې د استدلال نښو په تحلیل کولو سره ۴۷ نوي برید نمونې وپیژني — هغه نمونې چې په معیاري تور-بکس ماډلونو کې نه لیدل کیږي. دا په مستقیم ډول د دې په پوهیدو کې پرمختګ کويد AI ساتونکي ریل اهمیت.