TL;DR: 학습 없이, 내부 레이어 접근 없이, 보조 모델 없이. 말뭉치 통계만으로 디코딩 시점에 LLM의 출력 스타일을 직접 조종한다.
📄 Paper: https://arxiv.org/abs/2601.10960 💻 Code: https://github.com/hsannn/swai
LLM을 실제로 쓰다 보면 내용만 맞아서는 부족할 때가 많다. 독자 수준에 맞춘 난이도, 사용자를 대하는 상황에서의 공손한 어투, 안전이 중요한 곳에서의 유해 표현 회피 같은 것들이 필요하다. 논문은 이런 "어떻게 쓰는가"에 해당하는 속성을 출력 특성(output characteristics) 이라 부른다.
이것을 제어하려는 기존 방법들은 저마다 약점이 있다.
| 방식 | 한계 |
|---|---|
| Prompt 기반 | 제어 신호가 간접적. 지시를 따르는 척만 하고 실제 결과물엔 반영 안 되는 경우가 많음 |
| 학습 기반 (control codes, prefix tuning 등) | 강력하지만 라벨 데이터·연산 비용이 들고, 학습된 동작이 특정 모델에 묶임 |
| Activation 기반 | 재학습은 피하지만 아키텍처별 레이어 선택이 필요하고, 내부 표현을 건드려 유창성·추론을 해칠 수 있음 |
| 기존 Logit 기반 (GeDi, DExperts) | 디코딩 분포를 직접 건드리는 올바른 지점이지만, 보조 학습 모델에 의존 |
👉 핵심 질문: 재학습도, 내부 개입도 없이 output logit만으로 model을 효과적으로 steering할 수는 없을까?

SWAI는 두 단계로 구성된다. (1) 오프라인에서 통계적 토큰 점수표를 구축하고, (2) 디코딩 중 로짓에 그 점수를 더해 출력을 목표 특성 쪽으로 이동시킨다. 모델 파라미터와 내부 표현은 일절 건드리지 않는다.
각 토큰이 목표 특성을 얼마나 특징짓는지를 하나의 점수로 정량화한다.
TF-IDF와의 차이. TF-IDF는 문서 대비 토큰 중요도를 측정하지만, SWAI 점수는 one-vs-rest log-odds로 클래스 간 비대칭(어느 클래스에 속하는지) 을 명시적으로 포착한다. 즉 디코딩 시점 제어에 적합한 방향성 신호다.
최종 산출물은 토큰 → 점수 매핑인 정적 점수표다. 디코딩 중 상수 시간 조회가 가능하다.