학습 없이 LLM 레이어 3개 복제만으로 논리 추론 성능 0.22→0.76 향상
Show HN: Duplicate 3 layers in a 24B LLM, logical deduction .22→.76. No training
TL;DR Highlight
특정 Transformer 레이어 3개를 가중치 변경이나 추가 학습 없이 forward pass에서 이중 통과시켜 BBH 논리 추론 벤치마크 점수를 0.22에서 0.76으로 향상시켰다.
Who Should Read
LLM 추론 성능을 높이고 싶은데 재학습 비용이 없는 ML 엔지니어나 연구자. 또는 모델 내부 구조(mechanistic interpretability)에 관심 있는 개발자.
Core Mechanics
- David Ng의 RYS(Repeat Your Steps) 기법을 재현하면서 추가 실험을 진행했다. 핵심 아이디어는 Transformer 모델 안에 '추론 회로(reasoning circuit)'라는 연속된 3~4개 레이어 블록이 존재하며, 이 블록을 forward pass에서 한 번 더 통과시키면 가중치 변경이나 재학습 없이도 모델이 더 잘 추론한다는 것이다.
- Devstral-Small-2-24B 모델에서 12~14번 레이어를 복제(동일 가중치로 두 번 통과)했더니 BBH(Big Bench Hard) 벤치마크의 논리 추론(logical deduction) 점수가 0.22에서 0.76으로 급등했다. 이는 단순히 hidden state를 같은 레이어 회로에 두 번 라우팅하는 것만으로 얻은 결과다.
- Qwen2.5-32B 모델에서도 특정 3개 레이어를 복제했을 때 추론 성능이 17% 향상됐다. 다만 모든 레이어에 효과가 있는 게 아니라, '어느 레이어를 복제하느냐'가 핵심이며 이를 찾는 sweep 도구도 함께 공개했다.
- 트레이드오프가 존재한다. Devstral-24B 실험 결과, 수학적 추론과 인과 추론은 향상됐지만 instruction following(지시 따르기)과 코드 생성 성능은 오히려 떨어졌다. '더 깊이 생각하지만 지시를 덜 정확하게 따른다'는 형태의 성능 변화가 나타났다.
- 실험 환경은 AMD 소비자용 GPU 2개(RX 7900 XT + RX 6950 XT)로 하룻저녁에 진행됐고, 정밀 평가는 Vast.ai의 H200 인스턴스에서 수행했다. 특별한 인프라 없이도 이런 실험이 가능하다는 점을 보여준다.
- 공개된 툴킷에는 reasoning_probe.py, sweep.py, gguf_surgery.py 등이 포함되어 있어, 어떤 레이어가 reasoning circuit인지 탐색하고 GGUF 모델 파일을 직접 수술(surgery)하는 작업을 자동화할 수 있다.
- 이 기법은 Transformer의 residual connection 구조 덕분에 동작하는 것으로 보인다. Residual connection이 네트워크 일부 손상에도 모델이 완전히 망가지지 않는 안정성을 제공하기 때문에, 특정 레이어를 반복하거나 제거해도 모델이 어느 정도 동작을 유지한다.
Evidence
- 일부 댓글에서는 이 결과에 대해 '성능이 올라간 게 아니라 RLHF 등 후처리 학습에서 생긴 추론을 방해하는 메커니즘이 깨진 것'이라는 대안 설명을 제시했다. 즉, 복제된 레이어들이 identity function(입력을 거의 그대로 통과시키는 함수)에 가깝고, 이 레이어들이 포스트 트레이닝에서 생긴 '거절 회로'나 추론 저하 메커니즘을 담당하는데 복제함으로써 그 기능이 방해받아 추론이 회복된다는 해석이다.
- 직접 Qwen2.5/Qwen3 모델로 유사한 'neuroanatomy' 실험을 해봤다는 경험담이 공유됐다. 레이어를 제거하면 어떤 레이어는 제거해도 아무 변화가 없고, 후반 레이어를 제거하면 EOS 토큰을 못 찾아 무한히 대화를 이어가며, 초반 레이어를 제거하면 무작위 출력이 나왔다고 한다. 또 abliteration(거절 벡터를 찾아 거절 행동을 억제하는 기법) 실험도 10개 예시만으로 가능했다는 경험도 공유됐다.
- 약 2년 전 출시된 Solar 10.7B 모델이 'Depth Up-Scaling' 기법(레이어 반복 후 추가 학습)을 사용해 당시 크기 대비 좋은 성능을 냈다는 사례가 언급됐다. 이 기법은 학습이 필요하지만 현재 실험과 개념적으로 연결된다. 관련 논문 링크(arxiv.org/abs/2312.15166)도 공유됐다.
- 'N번 반복하면 더 좋아지냐'는 질문도 제기됐다. 수렴할 때까지 루프를 돌리는 방식, 또는 라우터가 동적으로 '13→13→14→14→15→15→16' 같은 레이어 통과 패턴을 결정하는 MoE(Mixture of Experts)의 변형 형태로 발전시킬 수 있다는 아이디어가 나왔다. 처음부터 루프를 학습에 포함시켜 회로들이 자연스럽게 분리되도록 설계하자는 제안도 있었다.
- 레이어를 제거해도 벤치마크 점수가 유지된다는 연구(pruning 관련 글)가 언급되며, 학습이 완료된 모델에서는 많은 레이어가 실제로 중복(redundant)일 수 있다는 관점도 공유됐다. 이는 특정 레이어를 복제해도 모델이 동작하는 이유와 맥이 닿는다.
How to Apply
- 오픈소스 LLM(Qwen, Devstral 등) 기반 서비스에서 수학적 추론이나 논리 추론 품질을 높이고 싶은데 재학습 예산이 없는 경우, 이 레포의 sweep.py로 reasoning circuit 레이어를 탐색하고 gguf_surgery.py로 GGUF 모델을 수정해 빠르게 A/B 테스트를 진행할 수 있다.
- instruction following보다 deep reasoning이 더 중요한 태스크(수학 문제 풀기, 논리 퍼즐 등)에 특화된 모델 변형을 만들고 싶다면, 이 기법으로 별도 파인튜닝 없이 기존 모델에서 추론 특화 버전을 파생시키는 방법으로 활용할 수 있다.
- 모델 내부 구조를 탐구(mechanistic interpretability)하고 싶다면, 레포에 포함된 reasoning_probe.py, eq_probe.py, comprehensive_probe.py 등으로 특정 레이어가 어떤 역할을 하는지 탐색하는 실험을 AMD나 NVIDIA 소비자용 GPU로도 하룻저녁에 진행할 수 있다.
Terminology
관련 논문
Claude Code는 프롬프트 읽기 전에 33k 토큰을 전송한다; OpenCode는 7k
동일한 모델과 작업 환경에서 Claude Code와 OpenCode의 실제 토큰 사용량을 API 레벨에서 측정한 결과, Claude Code가 시스템 프롬프트 오버헤드만으로 OpenCode 대비 4.7배 더 많은 토큰을 소비한다는 것을 확인했다.
Mesh LLM: iroh 기반 분산 AI 컴퓨팅
사무실, 집, 클라우드에 흩어진 GPU들을 하나의 OpenAI 호환 API로 묶어주는 분산 LLM 실행 시스템으로, 비싼 API 비용 없이 큰 모델을 직접 운영할 수 있다.
Frugon – LLM API 호출 로그를 분석해서 더 싼 모델로 대체 가능한 구간을 찾아주는 로컬 도구
내 LLM API 비용이 어디서 새는지 로컬에서 분석해주는 오픈소스 CLI 도구로, 비싼 모델 대신 저렴한 모델로 전환 가능한 호출을 골라낸다.
로컬에서 SOTA LLM 실행하기 완전 가이드 (하드웨어부터 설정까지)
2천 달러짜리 RTX 3090 한 장부터 4만 달러짜리 RTX PRO 6000 4장 셋업까지, 로컬에서 최신 LLM을 직접 돌리는 방법을 하드웨어 선택·구성·실행 설정까지 통째로 정리한 실전 가이드다.
Manticore Search에서 ONNX 경로를 재설계해 임베딩 속도를 14배 높인 방법
Manticore Search가 기존 SentenceTransformers/Candle 백엔드를 ONNX Runtime으로 교체해 텍스트 임베딩 생성 속도를 평균 14배 향상시켰다. 별도 모델 서비스 없이 DB 내부에서 직접 임베딩을 처리하는 구조에서 INSERT 속도가 곧 임베딩 속도이기 때문에 이 개선은 실질적인 ingest 처리량 향상으로 직결된다.
Asymmetric Quantization: 97% 스토리지 절감으로 Late Interaction 검색 품질 유지하기
멀티벡터 검색 모델의 문서 벡터를 1비트 이진값으로 압축하고 쿼리 벡터만 int8로 유지하는 비대칭 양자화 기법으로, 스토리지를 97% 줄이면서 검색 품질 손실을 0.61점(NDCG@10 기준)에 그치게 만든 실제 프로덕션 적용 사례다.