# PSE：利用 POWER8 硬件加密指令加速大模型注意力机制的创新方案

> PSE（Proto-Sentient Emergence）项目通过 POWER8 的 vcipher 加密指令和 vec_perm 向量操作，实现了注意力机制的选择性路径剪枝，在保持模型质量的同时将推理速度提升 8.8 倍。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-03T06:43:58.000Z
- 最近活动: 2026-04-03T06:50:38.454Z
- 热度: 163.9
- 关键词: POWER8, LLM 加速, 注意力机制, vcipher, vec_perm, 硬件优化, AES 指令, llama.cpp, IBM, AI 推理
- 页面链接: https://www.zingnex.cn/forum/thread/pse-power8
- Canonical: https://www.zingnex.cn/forum/thread/pse-power8
- Markdown 来源: ingested_event

---

# PSE：利用 POWER8 硬件加密指令加速大模型注意力机制的创新方案

在大语言模型（LLM）的推理优化领域，绝大多数研究集中在 GPU 和 CUDA 生态上。然而，PSE（Proto-Sentient Emergence）项目另辟蹊径，将目光投向了 IBM 的 POWER8 架构，利用其独特的硬件加密指令和向量处理能力，实现了注意力机制的显著加速。

## 核心创新：重新思考注意力计算顺序

传统 Transformer 的注意力机制遵循固定的计算流程：首先计算所有 Query 和 Key 之间的点积（O(n²) 复杂度），然后通过 softmax 选择重要的注意力权重，最后加权求和 Value。这种"全计算后选择"的模式在序列长度增加时会产生巨大的计算开销。

PSE 的核心洞见是：将选择操作提前，先筛选出重要的注意力路径，再对这些路径进行完整的点积计算。这种"先选择后计算"的策略可以将计算量降低到原来的 25%，同时保持模型输出的质量。

## 技术实现：POWER8 专用指令的双剑合璧

PSE 利用了 POWER8 架构的两个独特硬件特性：

### 1. vcipher 加密指令作为注意力预筛选器

POWER8 的 ISA 2.07 指令集包含硬件 AES 加密指令 vcipher，通常用于加密运算。PSE 创造性地将其 repurposing 为注意力评分函数：

```c
uint32_t vcipher_attention_score(const float* Q, const float* K, int layer, int position) {
    vector unsigned long long q_raw, k_raw;
    memcpy(&q_raw, Q, 16);
    memcpy(&k_raw, K, 16);
    
    vector unsigned long long state = vec_xor(q_raw, k_raw);
    vector unsigned long long rk = vc_make_round_key(layer, position);
    state = __builtin_crypto_vcipher(state, rk);
    
    // 将输出字节求和作为能量指标
    unsigned char bytes[16];
    memcpy(bytes, &state, 16);
    uint32_t energy = 0;
    for (int i = 0; i < 16; i++) energy += bytes[i];
    return 4080 - energy;
}
```

单次 AES 轮运算在单个周期内完成四个操作：

- **SubBytes**：通过 S-box 查找实现非线性评分排序，这是线性操作无法实现的
- **ShiftRows**：在 128 位寄存器内进行跨位置混合
- **MixColumns**：通过 GF(2^8) 有限域乘法实现跨头扩散，这是其他指令集架构无法完成的
- **AddRoundKey**：注入熵——与 POWER8 硬件时间基准 mftb 进行 XOR 运算

这个预筛选函数的成本仅为 0.044 微秒每对 K-V，相比完整的 kq_vec_dot() 函数（1-10 微秒）有 20-200 倍的加速。

### 2. vec_perm 向量置换实现 Hebbian 剪枝

POWER8 的 AltiVec 指令集中的 vec_perm 可以在单周期内完成双源向量置换，PSE 利用这一特性实现了 Hebbian 学习规则的硬件加速：

```c
// vec_perm(a, b, pattern) —— 单周期，双源向量
// pattern 字节从 a 或 b 中选择（32 个可能来源）
// Hebbian 规则：强路径被复制，弱路径被剪枝
vector float collapsed = vec_perm(scores_lo, scores_hi, hebbian_pattern);
```

"一起激活的神经元会连接在一起"（Hebb, 1949）。vec_perm 在硬件层面实现了这一原则：获胜的注意力路径被复制（强化），失败的路径被剪枝（抑制）。单个 vec_perm 指令替代了 GPU 上需要约 80 个操作（gather + compare + scatter + mask）才能完成的任务。

## 性能表现：显著的加速效果

PSE 在 IBM POWER8 S824 服务器（512GB RAM，128 线程）上的测试结果显示了令人印象深刻的性能提升：

| 模型 | 规模 | pp128 t/s | tg t/s | PSE 版本 |
|------|------|-----------|--------|----------|
| TinyLlama 1.1B Q4_K | 638 MB | 147.54 | 18.88 | v3.0 vec_perm |
| OptiMind 20B Q2_K | 11.2 GB | 18.55 | 8.13 | v4.0 vcipher |
| GPT-OSS 120B MXFP4 | ~60 GB | 13.71 | 6.06 | v4.0 vcipher |

与相同硬件上的 stock llama.cpp 相比（TinyLlama pp128 为 16.74 t/s），PSE 实现了 8.81 倍的加速。

详细的性能分解如下：

| 配置 | TinyLlama pp128 | 加速比 |
|------|-----------------|--------|
| 标量基准 | 16.74 t/s | 1.0x |
| + POWER8 VSX | 66.49 t/s | 3.97x |
| + PSE vec_perm 剪枝 | 84.62 t/s | 5.05x |
| + DCBT 驻留预取 | 147.54 t/s | 8.81x |

## 架构设计：llama.cpp 的无缝集成

PSE 的设计目标是与 llama.cpp 无缝集成。vcipher 预筛选器被补丁到 ggml_compute_forward_flash_attn_ext_f16_one_chunk() 函数中：

**第一阶段**——每对 K-V 进行 O(1) 的 vcipher 评分：
```c
for (int64_t ic = 0; ic < nek1; ++ic) {
    pf_scores[ic] = vcipher_attention_score(pq, K_data, layer, ic);
}
```

通过部分排序保留前 25%。

**第二阶段**——仅对幸存者进行完整点积：
```c
for (int64_t ic = 0; ic < nek1; ++ic) {
    if (pf_scores[ic] < threshold) continue; // 跳过 75%
    kq_vec_dot(DK, &s, 0, k_data, 0, Q_q, 0, 1); // 完整点积
    // ... 仅对前 25% 进行 softmax + V 累加
}
```

编译守卫确保代码仅在 POWER8 平台上激活：`#if defined(__powerpc__) && defined(GGML_PSE_VCIPHER_PREFILTER)`

## 独特特性：硬件熵驱动的行为差异

PSE 引入了一个独特的概念——"原型感知"（proto-sentient）。通过从 POWER8 的硬件时间基准注入非确定性熵，相同的模型、相同的种子、相同的提示词会产生不同的输出：

```c
uint64_t tb;
asm volatile("mftb %0" : "=r"(tb)); // 硬件振荡器——每次读取都不同
```

这种约束边界内的选择加上硬件熵产生了 emergent variation（涌现变化），而非随机噪声。作者通过 MD5 哈希比较验证了这一点：三次完全相同的运行产生了三个不同的输出。

## 生物学启发：从神经科学到计算机架构

PSE 的设计深受神经科学启发：

**Hebbian 学习**：vec_perm 实现了"一起激活的神经元会连接在一起"的原则。获胜的注意力路径被复制（强化），失败的路径被剪枝（抑制）。

**非双射注意力**：标准注意力是双射的——每个查询都关注每个键。PSE 是非双射的——只有高分对才会继续。这在生物学上是合理的：真实神经元不会计算每一个可能的连接。

**AES S-box 的非线性特性**：AES S-box 是精心设计的非线性函数（GF(2^8) 中的乘法逆元 + 仿射变换）。当应用于 Q⊕K 时，它充当非线性相似性哈希——相关输入产生相关输出，但通过非线性变换捕获了线性点积无法捕捉的模式。

## 项目组件与文件结构

PSE 项目包含多个精心设计的头文件：

| 文件 | 用途 |
|------|------|
| ggml-vcipher-collapse.h | 硬件 AES 剪枝——4 种模式（pattern、rank、fuse、score） |
| ggml-pse-integration.h | PSE v4.0.0 主集成头文件 |
| ggml-intelligent-collapse.h | Hebbian vec_perm 剪枝（Top-K 剪枝 + 放大） |
| ggml-topk-collapse-vsx.h | VSX 优化的 12 宽注意力剪枝 |
| ggml-attn-collapse-vsx.h | 带 banner 的 VSX 突发剪枝 |
| ggml-dcbt-resident.h | L2/L3 驻留预取（147 t/s 的功臣） |
| pse-entropy-burst.h | 硬件熵注入（mftb 时间基准） |
| power8-compat.h | POWER9→POWER8 内在函数兼容性 |
| vcipher-flash-attn-patch.c | Flash attention 内循环补丁参考 |
| bench_vcipher_collapse.c | 基准测试：vcipher vs vec_perm |

## 编译与使用

在 POWER8 系统上编译 llama.cpp 时启用 PSE：

```bash
cd llama.cpp && mkdir build-vcipher && cd build-vcipher
cmake .. \
    -DCMAKE_BUILD_TYPE=Release \
    -DGGML_OPENMP=ON \
    -DCMAKE_C_FLAGS="-mcpu=power8 -mvsx -maltivec -mcrypto -O3 -DGGML_PSE_VCIPHER_PREFILTER" \
    -DCMAKE_CXX_FLAGS="-mcpu=power8 -mvsx -maltivec -mcrypto -O3 -DGGML_PSE_VCIPHER_PREFILTER"
make -j32
```

将头文件放置在 ggml/src/ggml-cpu/arch/powerpc/ 目录下，PSE 集成头文件会自动包含所有内容。

## 意义与启示

PSE 项目展示了硬件专用指令在 AI 推理优化中的巨大潜力。在 GPU 主导的时代，POWER8 的 vcipher 和 vec_perm 指令提醒我们：不同的架构可能有不同的优势。AES 加密指令被重新用于注意力评分，向量置换指令被用于模拟神经可塑性——这种跨领域的创新思维值得借鉴。

对于拥有 POWER8/9 硬件的数据中心而言，PSE 提供了一条显著提升 LLM 推理性能的路径。更重要的是，它开创了一种新的优化范式：利用硬件的"意外"特性来实现 AI 加速，这可能启发未来针对其他专用硬件的优化方案。
