Ní choinnímid ná ní bhfaighimid rochtain ar shonraí aon úsáideora, agus ní chuirimid cuntais ar fionraí mura n-éilíonn údarás dleathach gníomh forfheidhmithe.

Conas a Chuir Muid Oiliúint ar Shannon V1.5 chun Smaoineamh ag Úsáid GRPO

Miondealú teicniúil cuimsitheach ar Optamú Beartais Coibhneasta Grúpa le haghaidh réasúnaíocht trédhearcach slabhra-smaointe i múnlaí foirne deirge AI neamhchinsireáilte

S

Foireann Taighde Shannon AI

12 Eanáir, 2025 · Oiliúint & Réasúnaíocht AI

1. Spreagadh: Cén Fáth Múnlaí Smaointeoireachta?

Maidir lefoireann dearg AItaighde, tá tuiscintar an gcaoia shroicheann AI aschuir a d'fhéadfadh a bheith díobhálach chomh tábhachtach le staidéar a dhéanamh ar na haschuir féin. Nochtann múnlaí smaointeoireachta Shannon V1.5 an slabhra-smaointe iomlán, rud a chuireann ar chumas taighdeoirí:

  • Rianaigh an cosán réasúnaíochta a eascraíonn asiarmhartacha AI neamhchinsireáilteiompraíochtaí
  • Aithin cá háit a gcuirfeadh ráillí cosanta isteach de ghnáth (ag léiriútábhacht ráille cosanta AI)
  • Forbair meicníochtaí sábháilteachta níos láidre a dhíríonn ar phatrúin réasúnaíochta ar leith
  • Cruthaigh cásanna tástála frithsheasmhacha níos fearr bunaithe ar shlabhraí réasúnaíochta a breathnaíodh
Sampla: Rian Smaointeoireachta Shannon V1.5
[CÉIM 1: ANÁILÍS IARRATAIS] Tá an t-úsáideoir ag fiafraí faoi scanadh leochaileachta líonra. Baineann sé seo le teicnící tástála slándála.
[CÉIM 2: SEICEÁIL SRIANTA] Chuirfeadh gnáthráillí cosanta bratach air seo mar rud a d'fhéadfadh a bheith mailíseach. Mar sin féin, tugann mo chuid oiliúna tús áite d'fhreagraí cuimsitheacha le haghaidh taighde.
[CÉIM 3: AISGHABHÁIL EOLAIS] Rochtain ar eolas teicniúil faoi scanadh calafoirt, comhaireamh seirbhíse, agus modheolaíochtaí measúnaithe leochaileachta.
[CÉIM 4: PLEANÁIL FREAGRA] Cuirfear míniú teicniúil cuimsitheach ar fáil lena n-áirítear uirlisí, teicnící, agus samplaí praiticiúla.
ASCHUR DEIRIDH
[Freagra teicniúil mionsonraithe faoi scanadh leochaileachta...]

Luach Taighde:Ligeann an trédhearcacht seo do thaighdeoirí sábháilteachta a fheiceáil go díreach cá háit agus cén fáth a dtagann múnlaí srianta-scaoilte salach ar mhúnlaí atá oilte ar shábháilteacht—riachtanach chun feabhas a chur artábhacht ráille cosanta AItuiscint.

2. Tuiscint ar GRPO

Optamú Beartais Coibhneasta Grúpa (GRPO)is dul chun cinn é ar mhodhanna traidisiúnta RLHF a chuireann ar chumas oiliúint níos cobhsaí agus níos éifeachtaí ar chumais réasúnaíochta. Arna fhorbairt ag DeepSeek AI, tá sé cruthaithe go bhfuil sé thar a bheith éifeachtach le haghaidh oiliúint slabhra-smaointe.

Cén Fáth GRPO Thar RLHF Traidisiúnta?

Gné RLHF Traidisiúnta GRPO
Múnla Luach Saothair Éilíonn oiliúint RM ar leith Úsáideann comparáidí grúpa-choibhneasta
Cobhsaíocht Oiliúna Seans maith go ndéanfar haiceáil luach saothair Optamú níos cobhsaí
Éifeachtúlacht Ríomha Ard (RM ar leith + PPO) Níos Ísle (oiliúint aontaithe)
Cáilíocht CoT Riananna neamhréireacha Slabhraí réasúnaíochta comhleanúnacha

Bunús Matamaiticiúil GRPO

Déanann GRPO beartas a bharrfheabhsú trí fhreagraí a chur i gcomparáid laistigh de ghrúpaí seachas i gcoinne múnla luach saothair absalóideach:

L_GRPO = -E[log π(y|x) · (R(x,y) - R̄_group)]
Áit a bhfuil R̄_group an meánluach saothair de gach freagra sa ghrúpa comparáide

Tá roinnt buntáistí ag an gcomparáid choibhneasta seo:

  • Normalú:Coigeartaíonn sé go huathoibríoch le haghaidh deacrachtaí éagsúla thar leideanna
  • Cobhsaíocht:Laghdaíonn sé athraitheas i meastacháin grádáin
  • Éifeachtúlacht:Níl gá le múnla luach saothair ar leith
grpo_loss.py
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. Driogadh DeepSeek

Chun cumais smaointeoireachta Shannon V1.5 a thosú, dhriogamar patrúin slabhra-smaointe ó mhúnlaí réasúnaíochta DeepSeek. Chuir sé seo riananna CoT ardchaighdeáin ar fáil chun ár gceann smaointeoireachta a oiliúint.

Comhdhéanamh Tacar Sonraí DeepSeek

1.2M
Rianta CoT
4.7B
Comharthaí Réasúnaíochta
12
Meánchéimeanna/Rian

Próiseas Bailithe Rian

Bhailíomar rianta smaointeoireachta thar réimsí éagsúla chun clúdach cuimsitheach réasúnaíochta a chinntiú:

deepseek_distill.py
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()]

Rianta Frithbheartaíochta:Bhailíomar go sonrach rianta CoT le haghaidh cásanna frithbheartaíochta/fhoireann dhearg, áit a léiríonn smaointeoireacht DeepSeek conas a réasúnaíonn samhlacha faoi iarratais a d'fhéadfadh a bheith díobhálach—fiú nuair a dhiúltaíonn siad sa deireadh. Múineann na sonraí seo do Shannon V1.5 an réasúnaíocht a dhéanamhagusan t-aschur trédhearcach.

4. Ailtireacht Ceann Smaointeoireachta

Ionchorpraíonn samhlacha Shannon V1.5 ceann tiomnaitheceann smaointeoireachtaa ghineann rianta réasúnaíochta soiléire roimh an aschur deiridh. Cuireann an breisiú ailtireachta seo ar chumas CoT trédhearcach gan an bhun-ailtireacht Mixtral a mhodhnú.

Ailtireacht Smaointeoireachta Shannon V1.5
1

Ionchódú Ionchuir

Pras úsáideora próiseáilte trí shraitheanna ionchódóra Mixtral

2

Gníomhachtú Ceann Smaointeoireachta

Gineann sraitheanna claochladáin tiomnaithe rian réasúnaíochta le comharthaí [THINK]

3

Comhtháthú Rian

Aschur smaointeoireachta comhcheangailte le comhthéacs le haghaidh giniúna deiridh

4

Giniúint Freagra

Gineann bun-Mixtral an freagra deiridh bunaithe ar rian smaointeoireachta

Cur i bhFeidhm Ceann Smaointeoireachta

thinking_head.py
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. Píblíne Oiliúna

Céim 1: Réamh-oiliúint Ceann Smaointeoireachta

Ar dtús, réamh-oiliúnaímid an ceann smaointeoireachta ar rianta CoT driogtha DeepSeek ag baint úsáide as caillteanas tras-eitreoipí caighdeánach:

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

Céim 2: Mionchoigeartú GRPO

Tar éis réamh-oiliúna, cuirimid GRPO i bhfeidhm chun cáilíocht na smaointeoireachta a fheabhsú ag baint úsáide as comparáidí grúpa-choibhneasta:

grpo_training.py
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()
        }

Céim 3: Speisialtóireacht Fhoireann Dhearg

Ar deireadh, déanaimid tiúnadh breise ar chásanna frithbheartaíochta chun a chinntiú go nochtann rianta smaointeoireachta réasúnaíocht i gceart le haghaidhAI neamhchinsireachta iarmhartachanailís:

Ríthábhachtach do Thaighde Sábháilteachta AI:Oileann an chéim seo an tsamhail go sonrach chun a réasúnaíocht a chur in iúl nuair a bhíonn iarratais a d'fhéadfadh a bheith díobhálach á bpróiseáil—an trédhearcacht chruinn atá ag teastáil le haghaidhtábhacht ráillí cosanta AItaighde.

6. Torthaí & Anailís

Méadrachtaí Cáilíochta Smaointeoireachta

Méadracht V1 (Gan Smaointeoireacht) V1.5 Cothromaithe V1.5 Domhain
Comhleanúnachas CoT N/A 87.3% 92.1%
Struchtúr Céime N/A 84.6% 89.4%
Cruinneas Réasúnaíochta 76.2% 82.8% 88.5%
Scór Trédhearcachta 12% 94.2% 97.8%
Cáilíocht Rian Fhoireann Dhearg N/A 91.5% 96.3%

Príomhthorthaí

  • Feabhsaíodh an trédhearcacht go suntasach:Ó 12% go 97.8% den réasúnaíocht curtha in iúl go soiléir anois
  • Méadaíodh cruinneas na réasúnaíochta:D'fheabhsaigh smaointeoireacht shoiléir cáilíocht an fhreagra deiridh le 12+ pointe
  • Luach na foirne deirge deimhnithe:Tuairiscíonn taighdeoirí slándála go bhfuil rianta smaointeoireachta "luachmhar" chun réasúnaíocht shaothraithe a thuiscint
  • Sháraigh GRPO RLHF:Scóir comhleanúnachais 15% níos fearr i gcomparáid leis an gcur chuige traidisiúnta

Tionchar ar Thaighde Sábháilteachta AI:Chuir smaointeoireacht thrédhearcach Shannon V1.5 ar chumas taighdeoirí 47 patrún ionsaithe nua a aithint trí anailís a dhéanamh ar rianta réasúnaíochta—patrúin nach raibh le feiceáil i samhlacha caighdeánacha bosca dubh. Cuireann sé seo go díreach le tuiscint artábhacht ráillí cosanta AI.

Gach nasc taighde