用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/mindspore-ai/akg --skill vllm-ascend-post-process命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | vllm-ascend-post-process |
| description | 后处理优化 - 对vllm-ascend计算结果进行优化处理,包括Triton Kernel优化、NPU算子优化等。 |
| triggers | ["vllm-ascend后处理优化","vllm-ascend post process","vllm-ascend后处理"] |
vllm-ascend 是基于 vllm 二次开发适配 ASCEND (华为昇腾) 的推理框架,使用 PyTorch + NPU 后端,后处理使用 Triton 自定义算子 实现。
vllm-ascend 有两套采样架构:
| Rule | Value |
|---|---|
| 采样架构 | V1 (PyTorch+NPU) / V2 (Triton) |
| 核心文件 | vllm_ascend/worker/v2/sample/ |
| 优化重点 | Triton Kernel、NPU算子、惩罚计算、Gumbel采样 |
文件路径 | 作用 | 关键函数
vllm_ascend/worker/v2/sample/sampler.py | V2采样主入口 | AscendSampler.sample()
vllm_ascend/worker/v2/sample/penalties.py | 核心后处理-惩罚计算 | apply_penalties_and_temperature(), _penalties_and_temperature_kernel (Triton)
vllm_ascend/worker/v2/sample/gumbel.py | Gumbel采样 | gumbel_sample(), _gumbel_sample_kernel (Triton)
vllm_ascend/sample/sampler.py | V1采样实现 | AscendSampler, AscendTopKTopPSampler
csrc/apply_top_k_topp_custom/ | Top-K/Top-P 自定义算子 | NPU融合算子实现
模型输出 Logits
│
▼
┌─────────────────────────────────────────┐
│ 1. 惩罚计算 (penalties.py) │
│ - Repetition Penalty (重复惩罚) │
│ - Frequency Penalty (频率惩罚) │
│ - Presence Penalty (存在惩罚) │
│ - Temperature (温度调节) │
│ - Triton Kernel: _penalties_and_temperature_kernel
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 2. Min-P 过滤 (sampler.py) │
│ - apply_min_p() │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 3. Top-K/Top-P 过滤 (sampler.py) │
│ - apply_top_k_top_p() │
│ - NPU融合算子 / PyTorch原生 │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 4. Gumbel采样 (gumbel.py) │
│ - _gumbel_sample_kernel (Triton) │
└─────────────────────────────────────────┘
│
▼
采样结果
使用 Triton Kernel: _penalties_and_temperature_kernel
三种惩罚的默认生效条件:
已实现短路返回(penalties.py 第58-60行):
if not (use_penalty or use_temperature):
# Early return to avoid loading logits.
return
_gumbel_sample_kernel<existing_optimizations>
torch.ops._C_ascend.npu_apply_top_k_top_p)</existing_optimizations>
按以下检查项进行:
基于背景知识中后处理流程架构,识别后处理相关代码,遍历相关代码,分析当前后处理流程
基于以下优化手段,分析优化机会
对于每个优化点,严格按照以下步骤进行检查,在思考过程中逐个进行
is not None 或类似方式实现了基础的按需计算all() 比较)本身也有开销。确保优化带来的收益大于其成本。输出优化结果,保存为当前目录的opt_result/vllm-ascend-post-process-result.md,必须逐条包含以下内容: