Files
myWiki/papers/large-language-gibbs.md

88 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Structured Inference with Large Language Gibbs"
created: 2026-06-25
updated: 2026-06-25
type: paper
tags: [mcmc, gibbs-sampling, llm, probabilistic-inference, bayesian, structure-learning, reasoning]
sources:
- https://arxiv.org/abs/2606.19264
- https://github.com/hyeok9855/large-language-gibbs
---
# Large Language Gibbs
**Large Language Gibbs** 是由 Edinburgh 团队Choi, Gouk, Whitammer提出的结构化概率推断框架。核心创新在于**将 LLM 的条件分布作为 Gibbs 采样的转移算子**,通过迭代重采样消除自回归生成的顺序偏差,实现更可靠的联合分布采样。
## 核心方法论
### 1. Gibbs 采样与 LLM 条件分布
标准 Gibbs 采样从联合分布中采样:随机选择变量 i从 p(X_i | X_{-i}) 重采样。Large Language Gibbs 用 LLM 的 next-token conditional 近似这些单变量条件分布:
```
q_i^LM(X_i | X_{-i}) = E_{σ_{-i}}[p^LM(X_i | seq(X_{-i}, σ_{-i}) ⊕ [c_i])]
```
**关键设计**:每次重采样前将其他变量**随机排列**random permutation消除固定序列顺序的偏差。
### 2. 稳态分布 q^sym
论文证明了链的稳态分布为:
```
q^sym(X) = E_σ[p^LM(seq(X, σ))]
```
即:对所有变量排列下 LLM 似然的期望。当 LLM 满足排列不变性假设时q^sym 的各单变量条件与 LLM 的条件分布一致。即使假设不完全成立,随机排列也显著降低了顺序偏差。
### 3. 三类核变体
| 核 | 机制 | 优势 |
|----|------|------|
| **Basic Gibbs** | 直接从 LLM 的条件分布采样 | 最直接 |
| **[[barker-gibbs|Barker Gibbs]]** | LLM 在 current 和 candidate 之间做偏好比较Barker 规则决定接受率 | 利用判别能力,克服 base model 采样偏差 |
| **[[gambling-gibbs|Gambling Gibbs]]** | LLM 判断是否愿意对 candidate 下注greedy decoding | 无需校准概率,仅需二值判断 |
### 4. 实用变体
- **Sweeping Gibbs**:按固定顺序循环更新(加速收敛)
- **Block Gibbs**:一次重采样 B>1 个变量(在高度相关变量中跳出局部模式)
## 应用
### 合成分布采样§4
LLM 独立采样有强偏差(如 Llama-3.1-8B 对 Uniform 分布的采样偏向低值批量采样有高自相关。Gibbs 迭代更新显著纠正了这两种问题。
### 一致性推理§5.1
在 TruthfulQA 和 GSM8K-Verification 上Gibbs 采样通过迭代条件更新确保相关问题的答案一致性。相比 ICM 的启发式最大化Gibbs 提供了有理论保证的替代方案。
### 贝叶斯结构学习§5.2
使用 Gibbs 生成合成数据 D_LLM构造 world-knowledge 驱动的先验:
```
P(G | D; D_LLM, γ) ∝ P_0(G) P(D_LLM | G)^γ P(D | G)
```
在 limited data 下LLM 先验帮助消歧义马尔可夫等价的 DAG 结构。
## 算法流程
1. **初始化**:自回归生成所有变量的初值 X_1, ..., X_n
2. **迭代**t = 1, ..., T
- 随机选择变量 i
- 随机排列其他变量 σ_{-i}
- 从 p^LM(X_i | seq(X_{-i}, σ_{-i}) ⊕ [c_i]) 重采样 X_i
3. **后处理**burn-in 丢弃 + thinning 间隔采样
## 参考
- [原始存档](raw/papers/large-language-gibbs-2026.md)
- [[barker-gibbs]]
- [[gambling-gibbs]]
- [[llm-mcmc]]
- [[order-bias-removal]]
- [[llm-consistent-reasoning]]