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으로 개선된다는 것을 발견했습니다. 훈련도, 가중치 변경도 없이, 단지 히든 상태를 동일한 회로로 두 번 통과시켰을 뿐입니다. 도구 포함. AMD GPU 2개, 한 저녁이면 충분합니다. | Kitploit
도구/GitHubGitHub/alainnothere/llm-circuit-finder
ExploitationReverse EngineeringMachine LearningPapers & ResearchLearning & EducationAI Security
GitHubalainnothere/llm-circuit-finder

llm-circuit-finder

Ng의 RYS 방식을 재현했고, Qwen2.5-32B에서 특정 3개 레이어를 복제하면 추론 성능이 17% 향상되고, Devstral-24B에서 12-14번 레이어를 복제하면 BBH에서 논리적 추론이 0.22→0.76으로 개선된다는 것을 발견했습니다. 훈련도, 가중치 변경도 없이, 단지 히든 상태를 동일한 회로로 두 번 통과시켰을 뿐입니다. 도구 포함. AMD GPU 2개, 한 저녁이면 충분합니다.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
242185개월 전Kitploit 검토 완료

llm-circuit-finder

저는 Ng의 RYS 방식을 재현했고, Qwen2.5-32B에서 특정 3개 레이어를 복제하면 추론 능력이 17% 향상되고, Devstral-24B에서 레이어 12-14를 복제하면 BBH에서 논리 추론 점수가 0.22→0.76으로 향상된다는 사실을 발견했습니다. 훈련도, 가중치 변경도 없이 동일한 회로를 통해 은닉 상태를 두 번 라우팅했을 뿐입니다. 도구가 포함되어 있습니다. AMD GPU 2개, 저녁 1회.

llm-circuit-finder

3개 레이어 복제. 훈련 없음. 논리 추론 점수 ~0.22 → 0.76.

이 툴킷은 트랜스포머 모델 내부에 숨겨진 '추론 회로'를 찾아 활용합니다. 핵심 아이디어는 특정 연속된 레이어 블록이 분할할 수 없는 인지 단위로 작동한다는 것입니다. 이 블록을 순방향 전달에 복제하면(동일한 가중치, 훈련 없음, 병합 없음) 모델은 특정 능력에서 측정 가능하게 더 똑똑해집니다.

David Ng의 RYS 방법을 기반으로 구축되었으며 새로운 발견으로 확장되었습니다. 여기에 있는 모든 것은 AMD 소비자용 GPU 2개(RX 7900 XT + RX 6950 XT)에서 저녁 1회 만에 발견되었습니다.

결과

Devstral-Small-2-24B: 레이어 12, 13, 14를 한 번 복제

Vast.ai의 H200 인스턴스에서 전체 테스트를 실행하고 devstral 기본 모델과 수술 모델을 비교했습니다. 결과는 다음과 같습니다. 수술은 실제로 특정 효과를 내고 있습니다. 수학적 추론과 인과 추론을 향상시키지만 명령 수행과 코드 생성 능력은 희생합니다. 모델은 더 깊이 생각하지만 지시를 덜 정확히 따릅니다.

results 폴더에서 eval_base와 eval_surgery 아래 결과를 확인할 수 있습니다. 또한 vastai_rys_eval.sh를 리포지토리에 추가했습니다. 이 스크립트는 Vast.ai에서 전체 과정을 실행하는 데 사용됩니다. 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를 한 번 복제

커스텀 프로브 모음(BBH 파생 + EQ-Bench 스타일 + GSM8K)으로 측정:

ProbeBase+3 layersChange
Reasoning (causal + logic + nav)76.5%94.1%+23%
EQ (emotional intelligence)

무슨 일이 일어나고 있는가

트랜스포머는 훈련 중에 기능적 회로(완전한 인지 연산을 수행하는 다층 처리 단위)로 스스로를 조직화합니다. 이 회로는 분할할 수 없습니다. 단일 레이어를 복제해도 거의 효과가 없지만, 올바른 3-4개 레이어 블록을 복제하면 모델이 추론 파이프라인을 한 번 더 통과하게 됩니다.

모델마다 회로의 위치가 다릅니다:

  • Devstral-24B (40개 레이어): 레이어 12-14에 추론 회로
  • Qwen2.5-32B (64개 레이어): 레이어 7-9에 추론 회로

경계는 뚜렷합니다. 블록을 한 레이어만 이동해도 개선 효과가 사라지거나 반전됩니다.

'모드' 발견

동일한 가중치에서 서로 다른 복제 패턴이 독특한 인지 프로파일을 생성합니다:

디스크의 가중치는 동일합니다. 기본 모델의 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이 물리적으로 복제된 모델 생성
    • 새로운 순방향 전달: 레이어 0..j-1 → 다시 레이어 i..j-1 → 레이어 j..N-1
    • llama-server가 수정된 모델 로드
    • 세 가지 프로브 모음 실행: 수학, 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.5GiB 추가가 예상됩니다. 포인터를 사용하는 llama.cpp 순방향 전달 패치(복사본 대신)가 있다면 이를 없앨 수 있습니다 — 기여 환영합니다.

추론 속도가 느려지나요? 네, 추가 레이어 수에 비례합니다. 40개 레이어 모델에 3개 추가 = 약 7.5% 느려짐. 추론 개선 효과는 그만한 가치가 있습니다.

제 모델에서도 작동하나요? 아마도요. Mistral 아키텍처(Devstral)와 Qwen2 아키텍처에서 테스트했습니다. Ng의 원래 작업은 Qwen2-72B에서 이루어졌습니다. 모든 트랜스포머 모델에 회로가 존재합니다. 문제는 어디에 있고 크기가 얼마나 되는지입니다. 스윕을 실행하여 알아보세요.

왜 미세 조정을 하지 않나요? 이 방법은 미세 조정과 직교합니다. 둘 다 할 수 있습니다. 실제로 Ng의 RYS 모델은 나중에 다른 사람들이 미세 조정하여 HuggingFace 리더보드 1위를 차지했습니다. 레이어 복제는 아키텍처를 변경하고, 미세 조정은 가중치를 변경합니다. 함께 쌓을 수 있습니다.

크레딧

  • David Ng: RYS 방법과 트랜스포머에 기능적 신경해부학이 있다는 통찰
  • llama.cpp: 로컬 추론을 실용적으로 만든 것
  • lm-evaluation-harness: 벤치마크 검증

라이선스

MIT

도구 다운로드
92.1
93.6
+1.6%
패턴수학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.py실행 간 lm-evaluation-harness 결과 비교
visualize.py스윕 결과의 텍스트 및 PNG 히트맵