Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/mindspore-ai/akg --skill vllm-mindspore-post-process명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | vllm-mindspore-post-process |
| description | 后处理优化 - 对计算结果进行优化处理,包括缓存、并行化、向量化等。 |
| Triggers | ["vllm-mindspore后处理优化","vllm-mindspore post process","vllm-mindspore后处理","vllm-ms后处理优化","vllm-ms post process","vllm-ms后处理"] |
vllm-mindspore 是基于 vllm 二次开发适配 ASCEND (华为昇腾) 的推理框架。其后处理流程位于模型推理 (Forward) 之后、采样 (Sampling) 之前的阶段。
| Rule | Value |
|---|---|
| 核心文件 | vllm_mindspore/v1/ |
| 优化重点 | 惩罚计算、温度调节、Top-K/Top-P 过滤 |
| 优化模式 | 按需计算、范围缩减、索引传递、短路返回 |
文件路径 | 作用 | 关键函数
vllm_mindspore/v1/worker/gpu_input_batch.py | 采样参数准备 | _make_sampling_metadata()
vllm_mindspore/model_executor/layers/utils.py | 核心后处理-惩罚计算 | apply_penalties(), get_token_bin_counts_and_mask()
vllm_mindspore/v1/sample/sampler.py | 温度调节 | apply_temperature()
vllm_mindspore/v1/sample/ops/penalties.py | 惩罚张量转换 | _convert_to_tensors()
vllm_mindspore/v1/sample/ops/topk_topp_sampler.py | Top-K/Top-P过滤 | apply_top_k_top_p(), apply_top_k_only(), random_sample()
vllm_mindspore/v1/worker/gpu_model_runner.py | 模型推理执行 | execute_model()
模型输出 Logits
│
▼
┌─────────────────────────────────────────┐
│ 1. 惩罚计算 (apply_penalties) │
│ - Repetition Penalty (重复惩罚) │
│ - Frequency Penalty (频率惩罚) │
│ - Presence Penalty (存在惩罚) │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 2. 温度调节 (apply_temperature) │
│ - logits = logits.div(temp) │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 3. Top-K 过滤 (apply_top_k_only) │
│ - 只保留概率最高的 k 个 token │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 4. Top-P 过滤 (apply_top_k_top_p) │
│ - 保留概率累加和达到 p 的最小集合 │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 5. 采样 (random_sample) │
│ - 基于处理后的概率分布进行采样 │
└─────────────────────────────────────────┘
│
▼
采样结果
三种惩罚的默认生效条件:
Top-K/Top-P 采样逻辑
apply_penalties 中使用 broadcast_to 替代 tensor.repeat 提升性能apply_top_k_only 避免全量排序,使用 topk 操作<optimization_patterns>
判断各个部分是否有效,只对有效部分计算,类似penalty只在值有效时才计算。
分析多个操作之间的依赖关系,后续操作的计算范围是否可以缩小?当 A 操作的结果是 B 操作的输入时,思考:B 是否只需要在 A 的有效结果范围内计算,而不是在全量数据上计算,例如在计算topk这类操作中,后续可以只对 topk 个 token 进行计算。
是否可以只传递必要的信息(如索引、计数)而不是传递全量数据?通过索引映射而非数据复制来减少计算量。
当输入满足特定条件(如参数为默认值)时,可以直接返回,无需执行后续计算。
如并行计算、缓存机制等。
</optimization_patterns>
按以下检查项进行:
基于背景知识中后处理流程架构,识别后处理相关代码,遍历相关代码,分析当前后处理流程
基于以下优化手段,分析优化机会
对于每个优化点,严格按照以下步骤进行检查,在思考过程中逐个进行
is not None 或类似方式实现了基础的按需计算all() 比较)本身也有开销。确保优化带来的收益大于其成本。输出优化结果,保存为当前目录的opt_result/vllm-mindspore-post-process-result.md,必须逐条包含以下内容:
SOC 직업 분류 기준