界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

fisher_mask_search

fisher_mask_search

【效率与协作】Select Transformer heads and filters to prune using diagonal Fisher scores under a FLOPs budget.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: fisher_mask_search description: Select Transformer heads and filters to prune using diagonal Fisher scores under a FLOPs budget.

Fisher Mask Search

Use this skill when implementing post-training structured pruning for Transformers and you need the paper's first stage: a fast binary mask search from diagonal Fisher importance. Do not use it for unstructured weight pruning or when unit costs differ per individual head/filter without adapting the cost model.

Inputs

  • head_scores: nonnegative diagonal Fisher importance values for attention heads.
  • filter_scores: nonnegative diagonal Fisher importance values for feed-forward filters.
  • head_cost, filter_cost: positive per-unit costs.
  • budget: maximum remaining cost.

Outputs

  • Binary head and filter masks where 1 is kept and 0 is pruned.
  • Remaining cost, pruned Fisher loss, and selected kept counts.

Workflow

  1. Validate that scores are nonnegative and costs are positive.
  2. Enumerate the number of remaining heads.
  3. For each head count, keep the largest feasible number of filters.
  4. Prune the least-important units of each type and score the candidate by pruned Fisher loss.
  5. Return the minimum-loss feasible mask with deterministic tie breaking.

Validation

Run python tests/test_fisher_mask_search.py or validate the skill tree with validate_skill_tree.py --run-tests.

我的收藏