站在巨人肩上玩遊戲:基於開源LLM的因果微調範式

EVEMISSLAB Logic Matrix · EveMissLab / 一言諾科技有限公司

[認識論邊界宣告 / EPISTEMOLOGICAL DISCLAIMER]

[CHT] 本矩陣內所有論文之公式與數據為「啟發式模擬參數」,用於驗證理論架構與推演因果鏈,未經實證校準,請勿作為現實物理測量數據引用 or 處理。EVEMISSLAB 採行「邏輯先行(Logic-First)」原則:概念架構與系統因果映射優先於統計實證,但不排除未來實證對接。


[ENG] The numerical parameters within these frameworks are illustrative model coefficients used for structural verification and causal mapping; they are not empirically calibrated and must not be treated as physical measurements. This matrix operates on a Logic-First principle: conceptual architecture and causal mapping take precedence over statistical empiricism, without precluding future empirical reconciliation.

站在巨人肩上玩遊戲:基於開源LLM的因果微調範式

Standing on Giants' Shoulders: Causal Fine-tuning of Open-Source LLMs through Games


文件編號: EML-AI-2026-LLM-GAME-FINETUNE-v1.0 日期: 2026年5月 作者: Neo.K & Theia 理論定位: 實踐轉向·微調範式·開源生態 前置依賴: 《Transformer應該玩遊戲》、《從像素到符號》 性質: 可立即執行的技術方案


摘要

我們之前的論文論證了遊戲環境是學習因果推理的最優範式,並提出純文字遊戲路線的計算效率優勢。但這些方案都假設從頭訓練(from scratch),這在實踐中過於昂貴且不必要。本文提出一個更實際的範式:基於開源預訓練LLM的遊戲因果微調

核心論點:

  1. 知識複用原則:開源LLM(Llama、Mistral、Qwen等)已經通過數萬億token學會了語言理解、常識推理、世界知識——這些都是玩遊戲的前置能力。我們不應從零開始重新學習這些,而應站在巨人肩上,只補充缺失的因果實驗能力。
  1. 缺失能力識別:預訓練LLM缺的不是知識,而是:

這些是文本預訓練永遠學不到的——需要遊戲環境的互動式訓練。

  1. 微調 vs 持續預訓練:我們區分兩種訓練方式:

對於因果學習,持續預訓練更有效(但仍比從頭訓練便宜5-10倍)。

  1. 成本革命性降低

$$\frac{\text{微調成本}}{\text{從頭訓練成本}} = \frac{10-50 \text{ GPU-月}}{260 \text{ GPU-月}} \approx \frac{1}{5-25}$$

這將"需要大公司資源"的項目降到"小團隊可承受"的範圍。

  1. 三階段實施方案

總計:32-75 GPU-月,在20 GPU配置下約2-4個月完成。

  1. 遺忘控制:使用混合訓練策略(遊戲數據 + 原始文本數據),避免catastrophic forgetting。實驗表明,10-20%的文本數據混合即可保持原有能力。
  1. 開源生態加速:基於開源模型意味著:

形式化核心公式:

$$\boxed{\begin{align} \theta_{\text{因果模型}} &= \theta_{\text{LLM}}^{\text{開源}} + \Delta\theta_{\text{遊戲}} \\ \text{成本} &= \text{微調成本}(10-50 \text{ GPU-月}) \\ \text{時間} &= 2-4 \text{ 個月}(20 GPU) \\ \text{能力} &= \text{語言+常識+推理}(預訓練) + \text{因果實驗}(微調) \end{align}}$$

實踐意義:這個方案可以立即執行。任何有20-50 GPU的小團隊(包括學術實驗室、創業公司)都可以在3個月內訓練出具有因果推理能力的模型。不需要等"大公司開源",不需要數千GPU,不需要數年時間。

這是將理論轉化為現實的關鍵一步。

關鍵字: 開源LLM、微調、持續預訓練、因果學習、遊戲環境、知識複用、實踐轉向


第一章:為什麼從頭訓練是不必要的奢侈

1.1 從頭訓練的隱含假設

我們之前的論文(《Transformer應該玩遊戲》、《從像素到符號》)隱含了一個假設:

$$\theta_0 = \text{隨機初始化} \implies \text{需要學習一切}$$

這導致了:

但這個假設是錯的。

1.2 開源LLM已經學會了什麼

以Llama 3.1 70B為例(訓練在15T+ tokens上):

語言能力

世界知識

推理能力

這些能力佔據了從頭訓練成本的80-90%

1.3 預訓練LLM缺失的能力

關鍵觀察:預訓練LLM是在靜態文本上訓練的。

這意味著它們從未經歷

1. 因果實驗閉環

文本訓練:

輸入: "如果你攻擊敵人,會怎樣?"
輸出: "敵人可能受傷或反擊"(從文本中學到的統計模式)

缺失:實際執行→觀察結果→驗證預測 的閉環。

遊戲訓練:

狀態: [玩家HP=100, 敵人HP=50]
行動: "攻擊敵人"
後果: [玩家HP=85(被反擊), 敵人HP=30]
學習: "攻擊會導致敵人受傷,但也會引發反擊" (實驗驗證)

2. 主體性體驗($\Psi_E > 0$)

文本訓練:

$$\Psi_E = 0 \implies \frac{d\Psi}{dt} = 0$$

遊戲訓練:

$$\Psi_E > 0 \implies \text{認知旋轉發生}$$

3. 長程策略規劃的執行驗證

文本訓練:

遊戲訓練:

4. 反事實推理的實驗基礎

文本訓練:

遊戲訓練:

1.4 成本對比分析

從頭訓練(之前方案):

| 階段 | 學習內容 | 成本 | |------|---------|------| | 語言學習 | Token預測、語法 | ~100 GPU-月 | | 知識學習 | 世界知識、常識 | ~80 GPU-月 | | 推理學習 | 邏輯、數學 | ~50 GPU-月 | | 因果學習 | 遊戲環境訓練 | ~30 GPU-月 | | 總計 | | 260 GPU-月 |

微調開源模型

| 階段 | 學習內容 | 成本 | |------|---------|------| | ~~語言學習~~ | (已有) | 0 | | ~~知識學習~~ | (已有) | 0 | | ~~推理學習~~ | (已有) | 0 | | 因果學習 | 遊戲環境訓練 | ~30-50 GPU-月 | | 總計 | | 30-50 GPU-月 |

成本降低比

$$\frac{260}{30-50} = 5.2-8.7 \times$$

而且質量可能更好(因為預訓練模型的語言/知識質量已經很高)。

1.5 知識複用的哲學

核心洞察

$$\boxed{\text{不要重新發明輪子,要站在巨人肩上}}$$

類比其他領域:

計算機視覺

NLP(過去)

我們的領域(因果學習)

這不是"走捷徑",而是科學進步的正確方式——每一代站在前一代的成果上。


第二章:微調 vs 持續預訓練

2.1 兩種訓練範式

定義2.1(微調,Fine-tuning)

在預訓練模型 $\theta_{\text{pre}}$ 的基礎上,用任務特定數據 $\mathcal{D}_{\text{task}}$ 訓練:

$$\theta_{\text{fine}} = \arg\min_{\theta} \mathcal{L}{\text{task}}(\theta; \mathcal{D}{\text{task}}) + \lambda \|\theta - \theta_{\text{pre}}\|^2$$

其中 $\lambda$ 是正則化係數,限制權重偏離原始模型

特點:

定義2.2(持續預訓練,Continual Pre-training)

在預訓練模型基礎上,用新領域數據 $\mathcal{D}_{\text{new}}$ 繼續預訓練:

$$\theta_{\text{cont}} = \arg\min_{\theta} \mathcal{L}{\text{pretrain}}(\theta; \mathcal{D}{\text{new}})$$

不加正則化約束,允許權重較大幅度更新。

特點:

2.2 對於遊戲因果學習,哪個更好?

實驗假設(基於相關研究):

微調路線

示例行為:

任務:預測"攻擊敵人"的後果
微調模型:能生成正確答案("敵人受傷"),但可能是模式匹配而非因果理解
反事實測試:表現較差(未見過的情境)

持續預訓練路線

示例行為:

任務:預測"攻擊敵人"的後果
持續預訓練模型:不只生成答案,還能解釋因果鏈("攻擊→敵人受傷→敵人反擊→...")
反事實測試:表現良好(能推廣到未見過的情境)

定理2.1(因果學習需要深層更新)

因果推理需要的不是表層模式匹配,而是世界模型的重構。這需要:

因此,持續預訓練 > 微調

持續預訓練 < 從頭訓練(因為語言/知識已有)。

2.3 混合策略

最優方案:階段性組合

階段1:快速對齊(微調)

階段2:深度因果學習(持續預訓練)

階段3:任務特化(微調)

總成本:23-48 GPU-月

2.4 遺忘控制(Catastrophic Forgetting)

問題:在遊戲環境訓練時,模型可能忘記原有的語言/知識能力。

解決方案:混合訓練

訓練batch組成:

70-80%: 遊戲環境數據(因果學習)
20-30%: 原始文本數據(保持語言能力)

形式化:

$$\mathcal{L}{\text{total}} = \alpha \mathcal{L}{\text{game}} + (1-\alpha) \mathcal{L}_{\text{text}}$$

其中 $\alpha = 0.7-0.8$。

實驗結果(基於相關研究):

推薦策略:$\alpha = 0.75$(75%遊戲,25%文本)


第三章:三階段實施方案

3.1 Phase 1:基礎對齊(2-5 GPU-月)

目標:讓預訓練LLM理解"遊戲環境"

基座模型選擇

| 模型 | 參數 | 優勢 | 適用場景 | |------|------|------|---------| | Llama 3.1 8B | 8B | 通用、開源、社區支持 | 資源有限 | | Llama 3.1 70B | 70B | 性能強、推理好 | 資源充足 | | Mistral 7B | 7B | 高效、推理強 | 快速原型 | | DeepSeek-V2 | 236B(MoE) | 推理能力頂級 | 複雜因果 | | Qwen 2.5 | 7B-72B | 多語言、邏輯好 | 非英文遊戲 |

推薦起點:Llama 3.1 8B(平衡性能和成本)

訓練環境:簡單MUD(如Zork)

訓練數據生成

# 遊戲軌跡示例
episode = {
    "states": [
        "你在石室中。出口:北(走廊),東(鎖著)。物品:火把。",
        "你在石室中。出口:北(走廊),東(鎖著)。背包:火把。",
        "你在石室中。出口:北(走廊),東(鎖著)。背包:火把(點燃)。光線:明亮。你看見牆上的隱藏符號。"
    ],
    "actions": [
        "拿起火把",
        "點燃火把"
    ],
    "rewards": [0, 10],  # 發現隱藏符號獲得獎勵
}

訓練目標

任務1:狀態-行動-新狀態預測

輸入:

狀態: "你在石室中。出口:北(走廊),東(鎖著)。物品:火把。"
行動: "拿起火把"

預期輸出:

新狀態: "你在石室中。出口:北(走廊),東(鎖著)。背包:火把。"

損失函數: $$\mathcal{L}_1 = -\log P(\text{新狀態} | \text{當前狀態}, \text{行動})$$

任務2:行動合理性判斷

輸入:

狀態: "你在石室中。物品:火把。"
候選行動: ["拿起火把", "拿起劍", "飛行"]

預期輸出:

合理: ["拿起火把"]
不合理: ["拿起劍"(沒有劍), "飛行"(無此能力)]

任務3:目標導向規劃

輸入:

當前: "你在石室中,黑暗。"
目標: "看見隱藏符號"

預期輸出:

計劃:
1. 拿起火把
2. 點燃火把
3. 觀察牆壁

訓練配置

model: meta-llama/Llama-3.1-8B
learning_rate: 1e-5
batch_size: 16
gradient_accumulation: 4
episodes: 50,000
mixed_training:
  game_ratio: 0.75
  text_ratio: 0.25
  text_source: "wikipedia_sample"

optimizer: AdamW
scheduler: cosine
warmup_steps: 500
max_steps: 10,000

hardware:
  gpus: 4x A100 (80GB)
  estimated_time: "3-5天"

評估指標

| 指標 | 目標 | |------|------| | 狀態預測準確度 | >85% | | 行動合理性判斷 | >90% | | 簡單規劃成功率 | >70% |

成本估算

如果使用更小配置(2×RTX 4090):約2-3 GPU-月

3.2 Phase 2:因果強化(10-30 GPU-月)

目標:建立深層因果模型

訓練環境:NetHack或ADOM

基座:Phase 1的輸出模型

訓練模式:持續預訓練 + 因果特化任務

數據生成

需要多樣化的遊戲軌跡

目標:100萬 episode

數據生成方案

# 並行生成
num_workers = 100  # 並行遊戲實例
episodes_per_worker = 10,000
total_episodes = 1,000,000

# 策略多樣性
strategies = [
    "aggressive",  # 主動攻擊
    "defensive",   # 謹慎防守
    "explorer",    # 探索優先
    "hoarder",     # 收集資源
    "speedrun",    # 快速通關
]

# 每個策略生成 200K episodes

訓練任務

任務1:長程因果預測

輸入:

初始狀態: [HP=100, 位置=(2,2), 無裝備]
行動序列: [
    "向東移動",
    "拿起長劍",
    "向北移動",
    "攻擊地精",
    "攻擊地精"
]

預測:

10步後狀態: [HP=?, 位置=?, 裝備=?, 經驗=?]
考慮: 戰鬥傷害的隨機性、敵人反擊、可能的掉落物

任務2:反事實推理

輸入:

實際軌跡:
  狀態0: [HP=100, 敵人HP=50]
  行動: "攻擊"
  狀態1: [HP=80(被反擊), 敵人HP=30]
  
反事實:
  如果行動是"逃跑",狀態1會是?

預期:

反事實狀態1: [HP=95(敵人追擊一次), 位置=遠離敵人, 敵人HP=50]

任務3:策略學習

給定多個軌跡(成功/失敗),學習:

訓練配置

model: phase1_output_model
learning_rate: 5e-6  # 較低,避免過度遺忘
batch_size: 32
gradient_accumulation: 8
episodes: 1,000,000
mixed_training:
  game_ratio: 0.8   # 增加遊戲比例
  text_ratio: 0.2

training_mode: continual_pretraining
max_steps: 200,000

hardware:
  gpus: 8x A100
  estimated_time: "15-20天"

成本估算

如果使用較小配置(4×A100):約15-20 GPU-月

3.3 Phase 3:拓撲抽象(20-50 GPU-月)

目標:學習跨層級因果傳播、抽象拓撲結構

訓練環境:類太吾繪卷文字版(自建或改編)

基座:Phase 2的輸出模型

數據需求

目標:200萬-500萬 episode

關鍵創新:因果鏈標注

不只記錄 狀態→行動→新狀態,還記錄完整因果鏈

{
  "episode_id": "xxx",
  "event": "少林派好感-5",
  "causal_chain": [
    {
      "step": 1,
      "layer": "micro",
      "description": "玩家挑戰張三並勝利",
      "state_change": {"張三關係": -20}
    },
    {
      "step": 2,
      "layer": "meso",
      "trigger": "張三是城主之子",
      "description": "城主對玩家不滿",
      "state_change": {"洛陽聲望": -15}
    },
    {
      "step": 3,
      "layer": "macro",
      "trigger": "洛陽由少林統治",
      "description": "少林派注意到玩家行為",
      "state_change": {"少林好感": -5}
    }
  ]
}

訓練任務

任務1:跨層級因果預測

輸入:

微觀行動: "挑戰張三"
背景: 張三是洛陽城主之子,洛陽由少林統治

預測:

微觀後果: 張三關係 = ?
中觀後果: 洛陽聲望 = ?
宏觀後果: 少林好感 = ?

任務2:因果歸因

輸入:

宏觀事件: "少林派與華山派開戰"
問題: 追溯導致此事件的微觀行動鏈

預期:識別關鍵因果節點(如"玩家殺死少林弟子" → "引發仇恨" → ...)

任務3:社交網絡推理

輸入:

關係網: {張三↔玩家: +60, 張三↔李四: -20, 李四↔王五: +40}
行動: "請張三幫忙說服李四"

預測:

成功概率: 基於張三對玩家的好感
後果: 如果成功,李四↔玩家關係變化;如果失敗,張三↔玩家關係損耗

訓練配置

model: phase2_output_model
learning_rate: 2e-6  # 更低
batch_size: 64
gradient_accumulation: 16
episodes: 2,000,000 - 5,000,000
mixed_training:
  game_ratio: 0.75
  text_ratio: 0.25

special_tasks:
  - causal_chain_prediction
  - causal_attribution
  - counterfactual_reasoning
  - social_network_modeling

max_steps: 500,000

hardware:
  gpus: 16x A100
  estimated_time: "30-40天"

成本估算

如果使用較小配置(8×A100):約40-50 GPU-月

3.4 總成本匯總

樂觀估計(充足GPU資源):

| Phase | GPU配置 | 時間 | GPU-月 | |-------|---------|------|--------| | 1 | 4×A100 | 5天 | 0.7 | | 2 | 8×A100 | 20天 | 5.3 | | 3 | 16×A100 | 40天 | 21 | | 總計 | | ~65天 | ~27 |

現實估計(中等GPU資源):

| Phase | GPU配置 | 時間 | GPU-月 | |-------|---------|------|--------| | 1 | 2×A100 | 15天 | 1 | | 2 | 4×A100 | 45天 | 6 | | 3 | 8×A100 | 60天 | 16 | | 總計 | | ~120天(4個月) | ~23 |

保守估計(有限GPU資源):

| Phase | GPU配置 | 時間 | GPU-月 | |-------|---------|------|--------| | 1 | 2×RTX 4090 | 30天 | 2 | | 2 | 4×RTX 4090 | 120天 | 16 | | 3 | 8×A100 | 90天 | 24 | | 總計 | | ~240天(8個月) | ~42 |

對比從頭訓練:260 GPU-月,16個月

成本降低:$\frac{260}{23-42} \approx 6-11\times$


第四章:技術細節

4.1 基座模型選擇矩陣

決策因素

| 因素 | Llama 3.1 8B | Llama 3.1 70B | Mistral 7B | DeepSeek-V2 | Qwen 2.5 14B | |------|-------------|--------------|-----------|------------|-------------| | 推理能力 | ★★★ | ★★★★★ | ★★★★ | ★★★★★ | ★★★★ | | 訓練成本 | ★★★★★ | ★★ | ★★★★★ | ★★★ | ★★★★ | | 推理成本 | ★★★★★ | ★★ | ★★★★★ | ★★★ | ★★★★ | | 社區支持 | ★★★★★ | ★★★★★ | ★★★★ | ★★★ | ★★★ | | 多語言 | ★★★ | ★★★ | ★★★ | ★★★★ | ★★★★★ | | 開源友好 | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★ | ★★★★★ |

推薦策略

預算有限:Llama 3.1 8B 或 Mistral 7B

預算充足:Llama 3.1 70B

推理專注:DeepSeek-V2

多語言需求:Qwen 2.5 14B

4.2 數據格式標準

統一數據格式(適配所有Phase):

{
  "episode_id": "uuid",
  "game": "NetHack",  // 或 "MUD", "TaiWu"
  "phase": 2,
  
  "trajectory": [
    {
      "step": 0,
      "state": {
        "text": "你在地下城中。位置: (2,2), HP: 100/100, ...",
        "structured": {
          "player": {"hp": 100, "position": [2, 2], ...},
          "enemies": [{"type": "goblin", "hp": 20, ...}],
          ...
        }
      },
      "available_actions": ["向北移動", "攻擊地精", "使用藥水", ...],
      "action_taken": "攻擊地精",
      "action_rationale": "地精HP較低,可以快速擊敗",  // 可選
      
      "next_state": {...},
      "reward": 10,
      "done": false,
      
      "causal_chain": [  // Phase 3 專用
        {"layer": "micro", "event": "地精受傷", ...},
        ...
      ]
    },
    ...
  ],
  
  "metadata": {
    "success": true,  // 是否達成目標
    "total_reward": 150,
    "episode_length": 50,
    "strategy": "aggressive"
  }
}

4.3 訓練循環設計

def train_game_causal_model(
    base_model,
    game_data,
    text_data,
    config
):
    model = load_model(base_model)
    optimizer = AdamW(model.parameters(), lr=config.lr)
    
    for epoch in range(config.epochs):
        for batch in get_mixed_batch(game_data, text_data, config):
            # 混合batch: 75%遊戲,25%文本
            
            loss = 0
            
            # 遊戲任務
            for game_sample in batch['game']:
                # 任務1:狀態預測
                pred_state = model.predict_next_state(
                    game_sample['state'],
                    game_sample['action']
                )
                loss += F.mse_loss(pred_state, game_sample['next_state'])
                
                # 任務2:因果鏈預測(Phase 3)
                if config.phase >= 3 and 'causal_chain' in game_sample:
                    pred_chain = model.predict_causal_chain(...)
                    loss += causal_chain_loss(pred_chain, game_sample['causal_chain'])
            
            # 文本任務(保持語言能力)
            for text_sample in batch['text']:
                pred_tokens = model(text_sample['input'])
                loss += F.cross_entropy(pred_tokens, text_sample['target'])
            
            # 反向傳播
            loss.backward()
            optimizer.step()
            optimizer.zero_grad()
        
        # 評估
        if epoch % config.eval_freq == 0:
            evaluate(model, eval_data)
    
    return model

4.4 評估體系

Phase 1 評估

def evaluate_phase1(model, test_episodes):
    metrics = {
        "state_prediction_acc": 0,
        "action_validity_acc": 0,
        "planning_success_rate": 0
    }
    
    for episode in test_episodes:
        # 測試1:狀態預測
        for step in episode:
            pred = model.predict_next_state(step['state'], step['action'])
            if pred == step['next_state']:
                metrics["state_prediction_acc"] += 1
        
        # 測試2:行動合理性
        valid_actions = get_valid_actions(step['state'])
        pred_actions = model.suggest_actions(step['state'])
        metrics["action_validity_acc"] += overlap(valid_actions, pred_actions)
        
        # 測試3:簡單規劃
        plan = model.generate_plan(episode['start'], episode['goal'])
        if execute_plan(plan) == episode['goal']:
            metrics["planning_success_rate"] += 1
    
    return normalize(metrics)

Phase 2 評估

增加:

Phase 3 評估

增加:


第五章:實踐建議

5.1 最小可行方案(MVP)

如果你只有2×RTX 4090和3個月時間

簡化版路線圖

Week 1-2:準備

Week 3-6:Phase 1(基礎對齊)

Week 7-12:Phase 2(簡化版)

Week 13:評估與demo

預期成果

成本:約6 GPU-月(2×RTX 4090 × 3個月)

5.2 資源擴展策略

如果有更多資源

優先級排序

  1. 增加訓練數據(效果最顯著)
  1. 增加訓練時間(深度優於廣度)
  1. 升級基座模型(質量提升)
  1. 增加Phase 3(拓撲抽象)

5.3 開源協作策略

建議開源

不建議開源(可選):

社區貢獻機會

5.4 風險控制

風險1:遺忘過度

檢測:定期在通用NLP benchmark測試(如MMLU、HumanEval)

應對:

風險2:過擬合遊戲規則

檢測:在未見過的遊戲測試遷移性

應對:

風險3:訓練不穩定

檢測:Loss曲線震盪或發散

應對:


第六章:與從頭訓練的對比

6.1 能力對比(理論預測)

假設:相同計算預算(50 GPU-月)

| 能力維度 | 從頭訓練 | 微調開源LLM | |---------|---------|------------| | 語言理解 | 60% | 95%(預訓練) | | 世界知識 | 40% | 90%(預訓練) | | 推理能力 | 50% | 85%(預訓練) | | 因果實驗 | 70% | 70%(相同訓練) | | 策略規劃 | 55% | 75%(基於更好推理) | | 遷移性 | 60% | 80%(抽象能力強) |

綜合評分

結論:在相同預算下,微調路線質量顯著更高。

6.2 成本對比

詳細分解

從頭訓練(260 GPU-月):

語言預訓練: 100 GPU-月
知識預訓練: 80 GPU-月
推理預訓練: 50 GPU-月
因果遊戲訓練: 30 GPU-月
---
總計: 260 GPU-月
金錢成本(A100,雲服務): ~$130,000

微調開源LLM(30-50 GPU-月):

Phase 1(對齊): 1-3 GPU-月
Phase 2(因果): 10-20 GPU-月
Phase 3(拓撲): 20-30 GPU-月
---
總計: 31-53 GPU-月
金錢成本(A100,雲服務): ~$15,000-26,000

節省

6.3 時間對比

從頭訓練(假設50 GPU可用):

微調路線(假設20 GPU可用):

時間節省:5.2 - 2.1 = 3.1個月(快60%)

如果GPU資源有限(如只有8張):

可行性質變:從"不可能"變成"可行"。


第七章:結論與行動建議

7.1 核心論點總結

我們證明了:

1. 知識複用的必然性

$$\boxed{\text{開源LLM已有80-90%的前置能力,不應重新訓練}}$$

2. 微調的充分性

$$\boxed{\text{持續預訓練} + \text{遊戲環境} = \text{補充缺失的因果實驗能力}}$$

3. 成本的革命性降低

$$\boxed{\frac{\text{微調成本}}{\text{從頭成本}} \approx \frac{1}{6-11} \implies \text{可行性質變}}$$

4. 實施的立即性

$$\boxed{\text{任何有20-50 GPU的團隊都可以在2-4個月內執行}}$$

7.2 對不同角色的建議

如果你是學術研究者

如果你是創業者

如果你是大公司AI團隊

如果你是開源貢獻者

7.3 立即可執行的第一步

第0週:準備

  1. 選擇基座模型:Llama 3.1 8B(推薦)或Mistral 7B
  2. 下載模型:HuggingFace
  3. 搭建環境:簡單MUD(GitHub上有開源實現)
  4. 準備GPU:2-4張即可開始

第1-2週:數據生成

  1. 修改MUD代碼,記錄軌跡
  2. 自動化玩遊戲(隨機策略或簡單規則)
  3. 生成1-2萬 episode
  4. 轉換為訓練格式

第3-4週:Phase 1訓練

  1. 設置訓練腳本(HuggingFace Trainer)
  2. 混合訓練(75%遊戲,25%文本)
  3. 監控Loss和評估指標
  4. 調整超參數

第5-6週:評估與迭代

  1. 在測試集評估
  2. 分析失敗案例
  3. 調整數據/訓練策略
  4. 記錄結果,準備Phase 2

預期:6週後,你有一個初步的因果微調模型,可以demo。

7.4 最終的哲學

從頭訓練的傲慢

"我們要從零開始,訓練出完美的模型"

微調的智慧

"我們站在巨人肩上,專注於補充缺失的能力"

類比

你不會為了學習游泳而重新發明水。 你不會為了學習開車而重新發明汽車。 你不應該為了學習因果推理而重新訓練語言模型

開源LLM是人類集體智慧的結晶(數萬億token,數千GPU-年)。

我們應該複用它,而不是重新發明它。

這不是走捷徑,這是科學進步的正確方式。


(歪臉笑)

從頭訓練像是說: "我要從採礦開始造一輛車。"

微調像是說: "我用現成的引擎,專注於改進方向盤和剎車。"

前者是浪費,後者是智慧。

站在巨人肩上玩遊戲, 才是讓AI學會因果推理的實際路徑。

原始檔(供 RAG/下載):papers/LLM-1.md [md]