Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
llm-circuit-finder — Ng氏のRYS手法を再現したところ、Qwen2.5-32Bの特定の3層を複製することで推論能力が17%向上し、Devstral-24Bの層12-14を複製することでBBHにおける論理推論が0.22→0.76に改善したことが判明——トレーニングも重みの変更も不要で、同じ回路に隠れ状態を2回通すだけです。ツールも含まれています。AMD GPU2台、一晩で。 | Kitploit
ツール/GitHubGitHub/alainnothere/llm-circuit-finder
エクスプロイトリバースエンジニアリング機械学習論文と研究学習と教育AIセキュリティ
GitHubalainnothere/llm-circuit-finder

llm-circuit-finder

Ng氏のRYS手法を再現したところ、Qwen2.5-32Bの特定の3層を複製することで推論能力が17%向上し、Devstral-24Bの層12-14を複製することでBBHにおける論理推論が0.22→0.76に改善したことが判明——トレーニングも重みの変更も不要で、同じ回路に隠れ状態を2回通すだけです。ツールも含まれています。AMD GPU2台、一晩で。

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
242185ヶ月前Kitploit レビュー済み

llm-circuit-finder

私はNgのRYSメソッドを再現し、Qwen2.5-32Bの特定の3層を複製すると推論が17%向上し、Devstral-24Bの層12-14を複製するとBBHの論理推論が0.22→0.76に改善することを発見しました。トレーニングも重みの変更も不要で、同じ回路を通して隠れ状態を2回ルーティングするだけです。ツールも含まれています。AMD GPU2枚、1夕方の作業です。

llm-circuit-finder

3層を複製。トレーニング不要。論理推論が約0.22→0.76に。

このツールキットは、トランスフォーマーモデル内部に隠された「推論回路」を見つけて活用します。考え方: 連続した特定の層ブロックは分割不可能な認知ユニットとして機能します。それらをフォワードパスで複製する(同じ重み、トレーニングなし、マージなし)と、モデルは特定の能力で測定可能なほど賢くなります。

David NgのRYSメソッドに基づき、新たな発見で拡張しています。ここにあるものはすべて、2枚のAMDコンシューマーGPU(RX 7900 XT + RX 6950 XT)で1晩で発見されました。

結果

Devstral-Small-2-24B: 層12、13、14を1回複製

Vast.ai上のH200インスタンスでフルテストを実行し、devstralベースと手術後モデルを比較しました。結果は次のとおりです。この手術は実際に特定の効果をもたらしています。数学的推論と因果推論を向上させる一方、指示追従とコード生成は犠牲になります。モデルはより深く考えますが、指示への従順さは低下します。

resultsフォルダには、eval_baseとeval_surgeryの結果が含まれています。 また、Vast.aiで全体を実行するために使用したスクリプト vastai_rys_eval.sh もリポジトリに追加しました。 vastaiインスタンスは次のコマンドで作成されました。

vastai create instance somenumberhere --image vastai/base-image:cuda-12.8.1-cudnn-devel-ubuntu22.04 --disk 80 --direct --ssh

root@kitploit:~
=================================================================================
lm_eval Results Comparison
=================================================================================
Metric                                              base  rys_12_15 Δ(last-first)
---------------------------------------------------------------------------------
bbh/causal_judgement [exact_match]                0.5775     0.6364     +0.0588

bbh/date_understanding [exact_match]              0.9440     0.9000     -0.0440

bbh/logical_deduction_five_objects [exact_match]     0.7440     0.7320     -0.0120

bbh/navigate [exact_match]                        0.9600     0.9440     -0.0160

gsm8k_cot [flexible-extract]                      0.8650     0.8787     +0.0136
gsm8k_cot [strict-match]                          0.8408     0.8704     +0.0296

ifeval [inst_level_loose_acc]                     0.7446     0.7206     -0.0240
ifeval [inst_level_strict_acc]                    0.6990     0.6595     -0.0396
ifeval [prompt_level_loose_acc]                   0.6728     0.6488     -0.0240
ifeval [prompt_level_strict_acc]                  0.6229     0.5767     -0.0462

mbpp [pass_at_1]                                  0.7000     0.6700     -0.0300
=================================================================================

Average (all metrics)                             0.7610     0.7488     -0.0122

Qwen2.5-Coder-32B: 層7、8、9を1回複製

カスタムプローブスイート(BBH派生 + EQ-Benchスタイル + GSM8K)で測定:

プローブベース+3層変化
推論(因果+論理+ナビゲーション)76.5%94.1%+23%
EQ(感情的知能)92.193.6+1.6%

仕組み

トランスフォーマーはトレーニング中に機能的回路(完全な認知操作を実行する多層処理ユニット)に自己組織化します。これらの回路は分割不可能です。単一の層を複製してもほとんど効果はありませんが、適切な3〜4層のブロックを複製すると、モデルに推論パイプラインの2回目の通過を提供します。

モデルによって異なる場所に異なる回路があります:

  • Devstral-24B(40層): 層12-14に推論回路
  • Qwen2.5-32B(64層): 層7-9に推論回路

境界は明確です。ブロックを1層ずらすと改善は消失するか逆転します。

「モード」の発見

異なる複製パターンは、同じ重みから異なる認知プロファイルを生成します:

同じ重みがディスク上にあります。ベースモデルのVRAMも同じ。ルーティングだけが異なります。

クイックスタート

モデル内で回路を見つける

root@kitploit:~
pip install gguf requests tqdm

python sweep.py \
    --model /path/to/model.gguf \
    --llama-server /path/to/llama-server \
    --tmpdir /dev/shm/rys \
    --results pass.jsonl \
    --block-sizes 3 4 5 \
    --stride 1 \
    --start-min 10 --start-max 20 \
    --skip-baseline \
    --port 8099 \
    --server-args --device Vulkan1,Vulkan2

既知の回路を適用する

root@kitploit:~
# Devstralで層12-14を複製(上記で検証済みの結果)
python layer_path.py model.gguf improved.gguf \
    -p "0..14,12,13,14,15..39" -v

# Qwen2.5-32Bで層7-9を複製
python layer_path.py model.gguf improved.gguf \
    -p "0..9,7,8,9,10..63" -v

# 自由に: トリプルパス、インターリーブ、層スキップなど自由自在
python layer_path.py model.gguf experiment.gguf \
    -p "0..16,13,14,15,16,13,14,15,16,17..39" -v

確立されたベンチマークで検証

root@kitploit:~
# 変更したモデルでサーバーを起動
llama-server -m improved.gguf --port 8089 -ngl 99 --device Vulkan1,Vulkan2

# lm-evaluation-harnessを実行
lm_eval --model local-chat-completions \
    --model_args model=test,base_url=http://localhost:8089/v1/chat/completions,num_concurrent=1,max_retries=3,tokenized_requests=False \
    --tasks gsm8k_cot,ifeval,mbpp,bbh_cot_fewshot_logical_deduction_five_objects \
    --apply_chat_template --limit 50 \
    --output_path ./eval_results

# 実行結果を比較
python compare_eval.py ./eval_base ./eval_improved

ファイル

スイープの仕組み

  1. 各層設定(i, j)に対して:

    • GGUF手術により、層i..j-1が物理的に複製されたモデルを作成
    • 新しいフォワードパス: layers 0..j-1 → layers i..j-1 again → layers j..N-1
    • llama-serverが変更されたモデルをロード
    • 3つのプローブスイート(数学、EQ、推論(BBH派生))を実行
    • スコアをベースラインと比較し、結果をリアルタイム表示
    • サーバーを停止、変更されたGGUFを削除、次の設定へ
  2. 探索戦略:

    • パス1: 大きなブロック(8層)、広いストライド → ホットゾーンを特定
    • パス2: 小さなブロック(3〜5層)、ホットゾーン内でストライド1 → 正確な境界を特定
    • パス3: マルチパス、インターリーブ、複合設定を試行

変更されたGGUFはtmpfs(/dev/shm)に書き込まれ、各テスト後に削除されます。ベースモデルの重みはディスク上に残ります。

必要条件

  • llama.cppがビルドされたLinux(CPU、CUDA、Vulkan、またはMetal)
  • Python 3.10+(gguf、requests、tqdm)
  • モデル+複製された追加の数層を実行するのに十分なVRAM/RAM
  • オプション: ベンチマーク検証用のlm-eval、ヒートマッププロット用のmatplotlib

FAQ

これによりVRAM消費が増えますか? はい。複製された層はGGUF内の物理的なコピーです。24Bモデルで3層追加する場合、約1.5 GiBの追加が見込まれます。llama.cppのフォワードパスパッチ(ポインタを使用してコピーを回避)でこれを解消できます — コントリビューション歓迎。

推論速度は低下しますか? はい、追加層の数に比例して低下します。40層モデルで3層追加 = 約7.5%低速化。推論の改善はそれだけの価値があります。

私のモデルでも動作しますか? おそらく。Mistralアーキテクチャ(Devstral)とQwen2アーキテクチャでテスト済みです。Ngの元の研究はQwen2-72Bで行われました。これらの回路はすべてのトランスフォーマーモデルに存在します — 問題はどこにあり、どのくらいの大きさかです。スイープを実行して見つけてください。

なぜファインチューニングではないのですか? これはファインチューニングとは直交するものです。両方を行うことができます。実際、NgのRYSモデルは後に他の人によってファインチューニングされ、HuggingFaceリーダーボードでトップになりました。層複製はアーキテクチャを変更し、ファインチューニングは重みを変更します。積み重ねてください。

クレジット

  • David Ng — RYSメソッドと、トランスフォーマーに機能的神経解剖学が存在するという洞察に対して
  • llama.cpp — ローカル推論を実用的にしたことに対して
  • lm-evaluation-harness — ベンチマーク検証に対して

ライセンス

MIT

ツールをダウンロード
パターン数学EQ特性
ダブルパス13-16↑↑↑数学スペシャリスト
トリプルパス13-16↑↑↑EQスペシャリスト
インターリーブ13,13,14,14,15,15,16↑↑↑↓純粋数学モード
クアドラプルパス13-16—↑↑EQモード、数学は中立
ファイル説明
sweep.pyメインスイープハーネス — 最適な層複製設定を発見
layer_path.py明示的な層実行パスで任意のGGUFを構築
gguf_surgery.py低レベルGGUF層複製(sweep.pyで使用)
math_probe.py厳密な算術プローブ(Ngの部分点方式)
eq_probe.py感情的知能プローブ(EQ-Benchスタイル)
reasoning_probe.pyBBH派生の因果/論理/ナビゲーション/算数文章題
compare_eval.pylm-evaluation-harnessの結果を実行間で比較
visualize.pyスイープ結果のテキストおよびPNGヒートマップ