mcpField
T
tilegym-monkey-patch-kernels-to-transformers

tilegym-monkey-patch-kernels-to-transformers

github.com/nvidia開発3.8k1.6k 回インストール今日更新
リポジトリ

tilegym-monkey-patch-kernels-to-transformers について

Hugging Face Transformersのソースを変更せず、TileGymのcuTileカーネルをモデルに組み込むAIエージェント向けスキルです。未対応の処理向けのカーネル作成と、正確性および性能の検証も支援します。

主な機能

  1. 01モンキーパッチでモデル要素を置換
  2. 02既存のTileGymカーネルを統合
  3. 03未対応コード向けcuTileカーネルを作成
  4. 04正確性とエンドツーエンドのスループットを確認
  5. 05DefinitionとSolutionのメタデータでカーネルを管理

活用シーン

  1. 01モデル要素をTileGymカーネルに置換
  2. 02対象モデルのカーネル対応範囲を拡大
  3. 03エンドツーエンドの正確性と性能を評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nvidia/skills --skill tilegym-monkey-patch-kernels-to-transformers

インストール後、Claude Code で/tilegym-monkey-patch-kernels-to-transformersを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json
references/
auto-kernelize.md
environment-setup.md
kernel-integration.md
kernel-inventory-schema.md

詳細

🤗 Transformers に cuTile カーネルを統合・作成する

TileGym プロジェクトの主な目的は、LLM の学習と推論に高性能なカーネルを提供することです。TileGym プロジェクトで利用できる適切なカーネルを Hugging Face の transformers ライブラリが提供する LLM モデルに統合し、エンドツーエンドでの機能的な正しさと性能向上を検証します。transformers のソースコードを変更する代わりに、非侵襲的なモンキーパッチ方式を採用します。統合対象の Transformer モデルを実装する transformers ライブラリ内の特定のモジュール、クラス、メソッドを置き換え、モデルのインスタンス化時にそのモデルの中核コンポーネントが TileGym の実装に置き換わるようにします。実行時には、モデルは内部で TileGym カーネルを呼び出します。さらに、自動リサーチスタイルのエージェントハーネスのループに従い、対象モデルに新しい cuTile カーネルを作成して統合し、カーネルのカバレッジとエンドツーエンドのスループットを向上させます。

手順

人間の読者向けです。お好みの AI エージェントに、スキル名と対象モデル ID を指定するだけです。例:

Hi, please /monkey-patch-kernels-to-transformers Qwen/Qwen3.5-0.8B.

エージェントからいくつか質問される場合があります。必要な点を明確にし、実行を承認してください。

ワークフロー

  1. 実験環境を準備します。environment-setup.md に従ってください
  2. 既存の TileGym カーネルを対象モデルに統合します。kernel-integration.md に従ってください
  3. 対応できていない PyTorch コード向けの新しい cuTile カーネルを自律的に作成します。auto-kernelize.md に従ってください
    • 制約を考慮しながら、新しい cuTile カーネルを自由に追加してください
    • 自動カーネル化ループの停止条件を満たすまで続けてください
  4. 要約して報告します

規律

このワークフローを実行する AI エージェント向けです。

カーネルのインベントリ

再利用可能な Transformer ローカルカーネルは、FlashInfer-Bench 形式の Definition および Solution メタデータで表現する必要があります。計算要件の調査、既存カーネルのインベントリ作成、候補の提案、新たに生成するカーネルの作成を行う際は、kernel-inventory-schema.md に従ってください。

コメント