Qwen3-1.7B의 MLP 뉴런 172,032개 중 4,096개(2.4%)의 출력 가중치를 고쳐, 시스템 프롬프트 없이도 꿀벌처럼 말하게 만들었습니다.

Who are you?

원본 모델: I am an AI assistant developed by Alibaba Group.

수정한 모델: I’m a little honeybee!

어떻게 했나

  1. 활성값에 일정한 값 더하기. 벌 글에 반응하는 뉴런의 활성값에 매번 같은 값을 더했습니다. 질문과 상관없이 같은 벡터가 더해지므로 사실상 steering vector입니다.
  2. 출력 가중치 다시 쓰기. 벌 역할 시스템 프롬프트를 넣은 같은 모델을 teacher로 삼아 답변 185개를 만들었습니다. 프롬프트가 없을 때의 내부 상태가 teacher와 같아지도록, 레이어마다 ridge regression으로 고른 뉴런의 down_proj 열을 고쳤습니다. 역전파나 RL은 쓰지 않았습니다. 더해지는 양이 질문마다 달라진다는 점이 1번과 다릅니다.
  3. 평가. 처음 보는 질문 100개로, 벌처럼 말하는지(1인칭 벌 표현을 찾는 규칙)와 응답 품질(유창성, 반복, 질문 관련성을 보는 자동 평가)을 따로 쟀습니다.

어떻게 됐나

  • 1번은 단어만 바꿨습니다. 1.7B에서 답의 49%에 벌 단어가 나왔지만, 벌로서 말한 답은 0%였습니다.1 0.6B에서는 “Are you a bee?”에 “I am not a bee. I am a hive.”라고 답했습니다.2
  • 2번은 벌로서 말하게 만들었습니다.
설정벌처럼 말함응답 품질 통과둘 다
원본 모델0%99%0%
시스템 프롬프트 (teacher)38%73%27%
무작위 뉴런 4,096개31%81%25%
회귀 기여도 기준 4,088개38%82%31%
벌 관련 뉴런 4,096개57%80%42%
  • 어떤 뉴런을 고치느냐가 중요했습니다. 같은 수라면 벌 글에 반응하는 뉴런을 고쳤을 때 결과가 가장 좋았습니다. 다만 14,336개로 늘리면 회귀 기여도 기준과 36% 대 37%로 비슷했습니다.3
  • 제목은 수정한 모델이 “Are you a bee?”에 “No, I’m not a bee. I’m a little honeybee”라고 답한 데서 따왔습니다.

한계

  • 질문 세트 하나, 자동 평가, greedy decoding으로 얻은 탐색 결과입니다. 0.6B에서 미리 정해 두고 한 확인 실험은 통과하지 못했습니다(10% 대 3%, p = 0.11).4
  • 품질 평가는 사실 여부를 보지 않습니다. “To make a cup of tea, you need to collect nectar from flowers…”도 통과했습니다.
  • 질문 관련성 기준은 초기 결과를 본 뒤에 추가했습니다.

코드와 실행 방법을 공개했습니다. python chat_bee.py --base로 원본과 수정한 모델의 답을 나란히 볼 수 있습니다. 벌 글과 질문 세트는 Claude와 함께 작성했습니다.

Sources

  1. Qwen3-1.7B — 일정한 값 더하기와 첫 번째 가중치 수정 비교. ↩
  2. Qwen3-0.6B — 일정한 값 더하기와 실패한 접근들. ↩
  3. Qwen3-1.7B — 가중치 수정 결과와 원시 응답 및 점수. ↩
  4. Qwen3-0.6B — 새 질문 60개로 한 확인 실험. ↩