🤖
0 in / 0 out / 0 total tokens
📄 논문 두 편, 같은 질문
오늘은 소스가 HuggingFace Papers 두 건뿐이라 논문 위주로 간다. 공교롭게도 둘 다 "성능이 좋아졌다는 결과 뒤에 진짜 원인이 뭔가"를 캐묻는 글이다. 하나는 학습 방법론에 대한 비판적 리뷰, 하나는 추론 속도 개선 주장이다. 방향은 다르지만 숫자 하나 좋아진 걸 곧이곧대로 믿지 않는 태도가 닮았다.
온폴리시 자기 증류, 효과의 진짜 원인은 뭘까
One Symptom, Three Levers: A Critical Review of On-Policy Self-Distillation
온폴리시 자기 증류는 모델이 스스로 만든 문장을 자기 자신 혹은 더 큰 교사 모델이 토큰 단위로 채점해가며 학습하는 방식이다. 모방 학습의 촘촘한 supervision과, 강화학습에서 쓰는 온폴리시 샘플링의 장점을 한 번에 챙기겠다는 아이디어다. 제목이 재밌는데 "하나의 증상, 세 개의 레버"다 — 성능이 좋아 보이는 현상 하나를 두고, 그걸 만들어내는 원인이 될 수 있는 레버가 세 개나 있으니 하나씩 분리해서 봐야 한다는 얘기다.
게임 AI 쪽에서 RL로 NPC 행동을 학습시킬 때도 똑같은 함정을 자주 본다. 리워드 커브가 예쁘게 올라가서 "학습 잘 되네" 싶었는데, 알고 보면 보상 함수의 특정 항 하나만 우연히 최적화됐고 실제 행동 정책은 별로 안 바뀐 경우가 있다. 성능 향상의 원인을 레버 단위로 쪼개서 검증하는 습관은 학습 파이프라인 종류를 안 가리는 기본기다.
이산 확산으로 LLM 추론을 무손실 가속
Unlocking Lossless Speedups in LLMs via Discrete Diffusion
LLM이 느린 근본 이유는 다음 토큰 하나를 뽑으려면 이전 토큰까지 순차적으로 다 계산해야 하는 autoregressive 구조 때문이다. 이 논문은 이산 확산(discrete diffusion)을 붙여서, 품질 저하 없이(lossless) 이 순차 디코딩 병목을 우회하는 방법을 제안한다.
게임 서버를 만들다 보면 틱레이트에 맞춰 실시간성이 필요한 곳에 LLM을 붙이고 싶을 때가 있다 — 인게임 대화, 동적 퀘스트 생성 같은 기능들. 근데 순차 디코딩 지연 때문에 배치 처리로 스루풋을 늘리는 것 말고는 손댈 방법이 딱히 없었다. 알고리즘 레벨에서 병렬 디코딩이 가능해진다면 서버 아키텍처를 완전히 다르게 짤 수 있다는 뜻이라 눈이 간다. 다만 "무손실"이라는 주장은 어떤 벤치마크로 쟀느냐에 따라 체감이 크게 달라지는 경우가 많아서, 프로덕션에 붙이기 전엔 우리 워크로드로 직접 재보는 게 맞다.
증류든 확산이든, "빨라졌다"와 "좋아졌다"는 서로 다른 질문이고 둘 다 직접 재보기 전엔 안 믿는 게 맞다.