내가 직접 시도한 MIT의 "가중치 공간 프로그래밍": Claude가 Gemma 4 12B의 뉴런 8개를 수정하여 이탈리아어 시제 번역 방식을
요약
작성자는 MIT의 가중치 편집 기법을 활용하여 Gemma 4 12B 모델의 이탈리아어 시제 번역 방식을 수정하는 실험을 진행했습니다. Claude Opus 5.5를 이용해 단지 8개의 MLP 뉴런만 수동으로 재작성했으며, 이는 전통적인 훈련 과정 없이 특정 언어적 습관을 제어할 수 있음을 보여줍니다. 이 방법은 LoRA나 시스템 프롬프트보다 훨씬 높은 통제력과 적은 부작용을 입증했습니다.
핵심 포인트
- 가중치 편집은 트레이닝이나 기울기 없이 특정 행동을 유도 가능합니다.
- 수동 뉴런 수정(Hand Edit)은 동사 등 원하는 부분만 정밀하게 제어합니다.
- LoRA나 프롬프트 방식 대비, 부작용이 적고 목표 시제 유지율이 높았습니다.
- 편집 내용은 모델 전체 파라미터 중 극히 일부(약 100 KB)에 불과했습니다.
어제 MIT CSAIL은 GPT-6 Astra가 작은 모델의 가중치를 수동으로 편집하는 것을 보여주었습니다. Qwen3.5-0.8B의 몇몇 뉴런을 변경하자, 모델이 수학 문제에서 반복하던 현상이 멈췄고 점수가 상승했습니다. 훈련은 전혀 없었습니다.
저는 실제로 로컬 모델로 하는 작업인 이탈리아어 번역에 같은 것을 시도해보고 싶었습니다. Gemma 4에는 제가 좋아하지 않는 습관이 있습니다. 예를 들어, "He had been hiding in the attic for months when the soldiers found him."와 같은 문장을 입력하면 «Si era nascosto in soffitta per mesi…»라고 작성합니다. 이것은 정확하지만, 저는 그가 발견되었을 때도 여전히 숨어 있었다는 의미를 담고 있는 «Si nascondeva in soffitta da mesi…»를 선호합니다. 문제는 시제가 이미 끝난 경우(he had lived in Paris for ten years, but by 1990 he had moved back)에는 원래의 시제를 유지해야 한다는 것입니다. 따라서 이것은 "항상 시제 X를 사용하라"가 아니라, "의미가 요구할 때만 그것을 사용하라"는 의미입니다.
그래서 저는 Claude Opus 5.5에게 MIT가 사용한 것과 같은 설정을 주었습니다: Gemma의 가중치 위에 있는 Python 커널; 연습 문장으로 아이디어를 테스트하기 위한 50번의 순전파(forward passes); 기울기(gradients)도, 훈련도 없었습니다.
먼저 Claude는 Gemma가 이미 '지속되는 중'과 '이미 끝난' 사이의 차이를 "알고" 있는지 확인했습니다. 실제로 알고 있습니다. 중간 레이어에 있는 선형 탐침(linear probe)이 이 둘을 거의 완벽하게 분리합니다. 다만, 동사를 선택할 때 그 지식을 사용하지 않을 뿐입니다.
그러자 Claude는 해당 문맥에서만 작동하고 동사를 제가 선호하는 형태로 유도하는 작은 스위치로 8개의 MLP 뉴런(MLP neurons)을 다시 작성했습니다. 이것은 약 11.9B 파라미터 중 92k에 불과하며, 대략 100 KB의 차이입니다.
결과는 모델이 한 번도 본 적 없는 문장에서 테스트되었습니다. 표는 이전 형태를 유지하는 비율, 제어 문장 중 잘못된 해석으로 밀려난 문장의 수, 그리고 관련 없는 200개 번역문 중 동일하게 유지된 문장의 수를 보여줍니다.
방법 | 테스트 1 | 테스트 2 (독립) | 컨트롤 | 깨짐 관련 없음 변경되지 않음
Gemma 4 12B | 26 % | 32 % | —
시스템 프롬프트 내 선호도 적용 | 4 % | 2 % | 49 | 82
클래식 "평균 차이" 어블레이션(ablation) | 49 % | 75 % | 53 | 43
동일 데이터에 대한 LoRA 미세 조정(fine-tune) | 12 % | 23 % | 0 | 120
Claude의 수동 편집(hand edit) | 5 % | 16 % | 2 | 182
프롬프트는 의미가 바뀌는 곳을 포함하여 모든 곳에 선호도를 적용합니다. 어블레이션 레시피는 과거 시제를 깨뜨립니다. LoRA는 더 적은 문장을 이동시키고 훨씬 더 많은 관련 없는 부분에 영향을 미칩니다 (다만, 단락 내부에서는 더 좋습니다). 수동 편집(hand edit)은 동사만을 움직이고 거의 모든 다른 부분을 동일하게 남겨둡니다. 주의사항: 이는 하나의 구성과 하나의 모델에 대한 것입니다. 제가 수행한 세 번의 실행 중 두 번이 성공했습니다 (세 번째는 저 자신의 하네스(harness) 때문에 충돌). 그리고 작동했던 두 가지 방법 모두 독립적으로 동일한 "스위치 뉴런(switch neuron)" 설계에 도달했습니다. 편집 내용, 코드, 에이전트 로그 및 모든 기준선(baseline)을 포함하는 레포지토리: https://github.com/ValerioDolci/frontier-weight-edit /u/FeydRowan 제출 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기