Agent Skillsvllm-project/vime › add-dynamic-filter

add-dynamic-filter

GitHub

指导在Vime rollout流程中添加动态过滤钩子,支持样本组选择、训练前缓冲过滤及逐样本掩码处理。

.claude/skills/add-dynamic-filter/SKILL.md vllm-project/vime

Trigger Scenarios

用户希望在动态采样期间过滤样本组 用户希望自定义缓冲提取策略 用户希望在训练前屏蔽或移除部分rollout样本 用户希望对所有生成的样本进行日志记录或分析处理

Install

npx skills add vllm-project/vime --skill add-dynamic-filter -g -y
More Options

Non-standard path

npx skills add https://github.com/vllm-project/vime/tree/main/.claude/skills/add-dynamic-filter -g -y

Use without installing

npx skills use vllm-project/vime@add-dynamic-filter

指定 Agent (Claude Code)

npx skills add vllm-project/vime --skill add-dynamic-filter -a claude-code -g -y

安装 repo 全部 skill

npx skills add vllm-project/vime --all -g -y

预览 repo 内 skill

npx skills add vllm-project/vime --list

SKILL.md

Frontmatter
{
    "name": "add-dynamic-filter",
    "description": "Guide for adding dynamic\/filter hooks in vime rollout pipeline. Use when user wants sample-group selection during rollout, buffer filtering before training, or per-sample masking\/processing hooks."
}

Add Dynamic Filter

Add filtering hooks in rollout and buffer stages while preserving sample-group contracts.

When to Use

Use this skill when:

  • User asks to filter sample groups during dynamic sampling
  • User asks to customize buffer extraction strategy
  • User asks to mask/remove some rollout samples before training
  • User asks to process all generated samples for logging/analysis

Step-by-Step Guide

Step 1: Pick the Correct Hook

  • Dynamic sampling filter: --dynamic-sampling-filter-path
  • Buffer filter: --buffer-filter-path
  • Per-sample rollout filter: --rollout-sample-filter-path
  • All-samples post process: --rollout-all-samples-process-path

Step 2: Implement the Function Signature

Dynamic sampling filter (called in vime/rollout/vllm_rollout.py):

def filter_function(args, samples, **kwargs):
    # return DynamicFilterOutput or bool

Preferred return type:

from vime.rollout.filter_hub.base_types import DynamicFilterOutput

return DynamicFilterOutput(keep=True, reason=None)

Buffer filter (called in vime/rollout/data_source.py):

def buffer_filter(args, rollout_id, buffer, num_samples):
    return selected_groups

Rollout sample filter:

def rollout_sample_filter(args, samples):
    # modify sample.remove_sample in-place where needed

All-samples process:

def process_all_samples(args, all_samples, data_source):
    ...

Step 3: Preserve Group Structure

  • Keep list[list[Sample]] structure intact where required.
  • Do not flatten sample groups unless downstream path expects flattened samples.
  • For sample removal, prefer sample.remove_sample=True over deleting objects.

Step 4: Wire and Validate

Example wiring:

--dynamic-sampling-filter-path vime.rollout.filter_hub.dynamic_sampling_filters.check_reward_nonzero_std
--buffer-filter-path <module>.buffer_filter
--rollout-sample-filter-path <module>.rollout_sample_filter
--rollout-all-samples-process-path <module>.process_all_samples

Step 5: Measure Side Effects

  • Check final sample count remains aligned with rollout_batch_size expectations.
  • Verify drop reasons are surfaced in rollout metrics when dynamic filter is used.
  • Validate training still receives valid loss masks/rewards after filtering.

Common Mistakes

  • Returning wrong container type for buffer filter
  • Dropping samples by deletion instead of mask flagging
  • Losing sample-group alignment in group-RM setup
  • Adding expensive logic in hot filtering paths

Reference Locations

  • Dynamic filter types: vime/rollout/filter_hub/base_types.py
  • Dynamic filter example: vime/rollout/filter_hub/dynamic_sampling_filters.py
  • Rollout generation hook points: vime/rollout/vllm_rollout.py
  • Buffer filter hook point: vime/rollout/data_source.py

Version History

  • 8d1f4cc Current 2026-07-05 14:58

Same Skill Collection

.claude/skills/add-eval-dataset-config/SKILL.md
.claude/skills/add-reward-function/SKILL.md
.claude/skills/add-rollout-function/SKILL.md
.claude/skills/add-tests-and-ci/SKILL.md
.claude/skills/vime-code-review-preferences/SKILL.md

Metadata

Files
0
Version
8d1f4cc
Hash
8bc48084
Indexed
2026-07-05 14:58

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 18:54
浙ICP备14020137号-1 $Carte des visiteurs$