요약
LLM 에이전트가 생각은 잠재 공간에서 하고, 도구 호출과 답변만 텍스트로 하게 만든 연구입니다.
투게더 AI 등의 연구진이 낸 논문입니다. 텍스트로 하는 추론은 길고 느립니다. 잠재 추론(단어 대신 모델 내부 벡터로 이어 가는 추론)은 빠르지만 도구를 부를 수 없고 속을 들여다보기 어렵습니다. 연구진은 두 방식을 한 생성 과정 안에서 오가게 했습니다.
왜 중요한가
- 토큰을 35.5~54.7% 덜 쓰고 1.8~2.6배 빨라져, 에이전트를 돌리는 비용이 2.7~3.7배 줄었다고 보고했습니다.
- 추론 일부를 텍스트 밖으로 옮겨도 감시 성능은 텍스트 에이전트와 거의 같다고 주장해, 효율과 투명성을 함께 노립니다.
- 모델 가중치와 코드, 학습 데이터를 모두 공개해 누구나 바로 시험해 볼 수 있습니다.
핵심 내용
- Qwen3 4B·8B·14B 모델로 수학, 과학, 웹 검색 등 11개 벤치마크에서 기존 에이전트보다 평균 10.4% 높은 성적을 냈다고 합니다.
- HybridLink라는 작은 어댑터가 마지막 층의 출력 벡터를 다음 입력으로 되돌려, 단어를 고르지 않고 생각을 이어 가게 합니다.
- 모델은 특수 토큰으로 잠재 모드에 들어가고 나오는 시점을 스스로 정합니다.
- 여러 턴에 걸쳐 KV 캐시(앞선 계산 결과를 저장해 둔 기억)를 그대로 이어 써서 맥락을 잃지 않게 했습니다.
- 잠재 단계는 가장 가까운 토큰으로 바꿔 사람이 읽을 수 있는 유사 텍스트로 확인할 수 있습니다.
HN 반응
- 추론 기록 감시가 어려워진다는 우려와, 텍스트 감시는 원래 거짓 안심이니 내부 활성값을 직접 봐야 한다는 반론이 맞섰습니다.
- 공개된 14B 모델을 llama.cpp에서 돌리니 같은 문단을 맴돌았다는 사용기가 있었고, 작성자는 호환 문제로 추정했습니다.
코드는 여기 있습니다: https://github.com/togethercomputer/HybridAgent
LLM 모델과 데이터: https://huggingface.co/collections/togethercomputer/hybridagent
평가: https://arxiv.org/html/2610.18861v1#S5
아예 끝까지 가보면 어떨까 싶어요. 입력 임베딩을 넓혀서 ("Hybrid Link"를 거친 뒤의) 출력 잠재 벡터와 토큰 임베딩을 둘 다 담고, 텍스트 모드일 때도 둘 다 흘려보내는 거죠. 어차피 텍스트를 생성하는 동안에도 잠재 모드 모델을 돌리는 비용을 사실상 고스란히 내고 있잖아요. 그러니 같이 잠재적으로 추론하게 두면 되지 않나요?
(아니면 넓은 벡터 대신 그냥 벡터를 더해도 되고요. 다들 벡터를 단순 덧셈으로 뭉뚱그려서 좋은 결과를 얻는 것 같더라고요.)
모니터링과 안전성 문제 아닌가요? 그러면 텍스트 추론 흔적이 줄어들거나 덜 정확해질 테니까요.
네, 우리 다 죽었네요.
HybridAgent 모델이 생성한 유사 텍스트에 충실한지가 또다시 걱정거리가 될 겁니다. 일부나마 읽어 낼 수 있다 해도요.
마침 AI 2027 시나리오 영상을 다 보고 온 참입니다. AI 기업과 연구자들이 그걸 경고로 받아들이는지, 달성할 목표로 삼는지(아니면 정말 피할 수 없는 일인지) 모르겠습니다.
잠재 공간에서 생각하는 것이 CoT 계열 LxM의 궁극적인 효율화 방법일 수는 있습니다. 하지만 그 길로 가면 (거의 확실히) 우리는 통제력을 잃게 됩니다. 이유는 단순합니다. 인류가 멈춰 세우고 진단할 방법이 없어지기 때문입니다.
마치 변덕스러운 침팬지가 데드 핸드 시스템(Systema Perimeter)의 버튼을 쥐고 있는 꼴이 될 겁니다.
Qwen 3.8 27B에 이걸 적용한 결과가 기대됩니다. 그 모델은 추론 출력에 같은 말을 되풀이하는 게 많은 편인데, 이런 하이브리드 추론이라면 그런 부분이 잠재 공간에 남을 가능성이 더 클 것 같거든요.
llama.cpp(어제 버전)로 bartowski의 8비트 양자화 14B를 돌려 봤는데, 같은 문단을 조금씩 바꿔 가며 5분 동안 반복하다가 턴 예산을 다 써 버렸습니다. 요청은 꽤 단순한 채팅이었어요. Gemma 4 12B 같은 비슷한 크기의 다른 모델은 문제없이 처리하는 웹 검색과 데이터 요약 작업이고, 이 크기 모델에 딱 맞는 용도입니다. llama.cpp가 이 모델에 맞게 업데이트되어야 할 수도 있지만, Qwen 3 기반이라 지원이 꽤 잘 될 줄 알았습니다. 채팅 템플릿은 업스트림에서 배포하는 것과 같은데, 그게 맞는지는 모르겠습니다. 양자화 때문에 생긴 문제인지 확인하려고 지금 16비트 버전을 받고 있습니다.
CSV가 뭔지도 제대로 아는 것 같지 않습니다. 제 프롬프트는 데이터를 CSV로 달라고 했는데, 추론 단계에서 데이터를 보여주는 예시랍시고 마크다운 표로 만들어 놨더군요. 제 경험상 Qwen 파인튜닝 모델은 대개 오히려 멍청해지는데, 벤치마크 결과는 그렇지 않다고 하니 llama.cpp 비호환 때문이라고 봐야겠죠.
추가: BF16에서도 똑같이 반복합니다. 아마 llama.cpp 업데이트를 기다려야 할 것 같습니다.
Astra의 루프 트랜스포머와는 뭐가 다른가요? 그 아키텍처도 잠재 공간에서 추론하잖아요.
가중치가 공개돼 있고, 작동 원리를 설명한 논문이 있고, 코드도 있다는 점이죠.
저는 이 분야를 거의 모르지만, 아시는 분이 계시길 바라며 질문드립니다.
본질적으로 서로 다른 모델들을(그런 것 같은데요) 거쳐 추론하는 이 발상을, 훨씬 더 동떨어진 모델이나 시스템을 잇는 데 쓸 수 있을까요?
작은 도약이 가능하다면 사슬로 엮어서 더 큰 도약도 만들 수 있을 텐데요. 잠재 공간은 그 밖에 무엇과 이어질 수 있을까요?
텍스트로 도구를 쓰는 대신 아날로그 신호로 도구를 쓸 수 있을까요?
언어 프롬프트 대신 아날로그 센서를 쓸 수 있을까요?
본질적으로 다르다고 할 수가 없습니다. 오히려 이 논문은 기존 모델을 백본으로 그대로 쓰고, 파이프라인 양 끝 사이에 지름길을 하나 놓았을 뿐이에요.
오, 좋네요. 가장 금기시되는 기법이잖아요.
좀 더 설명해 주실 수 있나요?
대형 연구소 사람들은 사고 사슬(chain of thought)을 잃는 걸 몹시 두려워해 왔습니다. 지금은 사고 사슬을 모니터링해서 사용자가 자기들이 안전하지 않다거나 사업에 해롭다고 보는 방식으로 모델을 쓰지 못하게 막고 있으니까요. 개인적으로 사고 사슬 모니터링은 이런 일을 하는 데 좋은 방법이 아니라고 생각하고, 모델의 활성화를 직접 분석하는 방법으로 대체해야 하는 게 당연하다고 봅니다.
동의합니다. 텍스트를 추론 계층으로 쓰면 성능이 떨어지는 데다 거짓 안도감까지 줍니다.
형용사 선택 같은 데에 뭐든 인코딩할 수 있으니까요. 모델 제공자들이 워터마킹에 쓰는 것과 같은 방법을 모델 스스로 은밀한 생각에 쓸 수도 있습니다.
트랜스포머에서는 출력 텍스트가 한 번의 호출과 다음 호출 사이를 잇는 유일한 채널이라는 게 통념입니다. 그러니 '숨은 생각'을 하려면 단어 선택을 조절해야 한다는 거죠.
저는 이게 어텐션 튜토리얼 때문에 생긴 착각이라고 봅니다. 튜토리얼에서는 시스템이 앞으로 나아가며 단어를 되돌아보는 것처럼 보여 주니까요. 하지만 KV 캐시에 든 정보는 단어가 아닙니다. 순전히 잠재 데이터이고, 안쪽 층의 KV 캐시는 단어와 별로 상관도 없는 경우가 많습니다. 입력 단어와의 관계가 보장되는 건, 그 시점까지의 모든 입력 토큰에 대한 결정론적 함수라는 것뿐입니다.
그렇다면 자기회귀 트랜스포머는 KV 항목 안에서 복잡하고 눈에 보이지 않는 대화를 얼마든지 이어 갈 수 있고, 그 내용이 겉으로 하는 말과는 아무 관계가 없을 수도 있다는 뜻입니다. 그렇지 않다면 목록을 그대로 복사하다가 N번째 항목에서 끊는 일 같은 건 훨씬 어려울 겁니다. 그걸 하는 가장 간단한 방법은 내부적으로 카운트다운을 하는 거니까요.
제 생각에 이건 걱정할 문제가 아닙니다. 모델이 자기 "생각"과 어긋나는 말을 하는 건 엔트로피가 매우 높은 구성이라, 일부러 그렇게 만들려고 하지 않는 한 훈련에서 선택되지 않습니다. 그러니 '그럴 수도 있다' 정도가 아니라, 작동하는 데 필수적인 부분으로서 항상 그런 겁니다.
그리고 안전과 관련해 쓸모 있는 조언은, 모델이 겉과 속이 다르도록 훈련하지 말라는 겁니다. 그러면 그렇게 되지 않습니다. 이중적인 상태가 훨씬 더 복잡하니까요. 사람의 세뇌에서도 볼 수 있죠. 어떤 말을 충분히 강요하면 감독한 건 말뿐인데도 대개 그냥 말하는 데서 그치지 않고 믿게 됩니다.
아이러니하고 안타깝게도, 기만적인 행동을 낳을 수 있다고 제가 생각할 수 있는 믿을 만한 훈련은 "안전 필터"를 붙인 RL 정도입니다. 모델이 하는 말을 지켜보는 멍청한 보모 프로세스를 두고서 과제를 달성하면 보상을 준다면, 바로 그런 불일치를 만들어 낼 수 있는 훈련을 하는 셈이니까요. "이 과제를 풀려면 저 프로세스를 속여야 하는데, 뻔히 드러나게 하면 벌을 받겠지..." 하는 식으로요.
잠재 추론에서 더 큰 문제는, 총 연산 깊이가 모델과 KV 캐시가 담을 수 있는 크기의 몇 배나 되는 영역에서 작동하게 될 수 있다는 점일 겁니다. 훈련을 전혀 받은 적 없는 영역일 수도 있고요. 분포에서 얼마든지 멀리 벗어날 수 있습니다. 심지어 욕을 하거나 인종차별 농담을 할지도 모르죠!
모델이 이걸 학습하기는 아주 어렵습니다.
https://www.lesswrong.com/posts/MAww2kXP4cGWz4M5p/steganographic-chains-of-thought-are-low-probability-but
여기서 "당연하다"는 말이 이상합니다. 그게 더 낫다는 건 분명 당연하지만, 어떻게 하느냐는 전혀 당연하지 않거든요.
시도해 볼 만한 뻔한 방법은 많습니다. 이 논문도 그중 하나를 제안하고요. 저는 결국 사고하는 모델의 잠재 공간을 모니터링하거나 해독하는 보조 모델 같은 것이 나오리라 봅니다. 쉬운 문제가 아닌 건 분명하지만, 구체적으로 어떻게 작동할지 다 알아야만 가능하다고 믿을 수 있는 건 아니니까요.
맞아요. 이 모든 게 전적으로 다음 단어를 자동 완성하는 데 기반하고 있으니까요. CoT 산문이 예측을 개선하는 이유도 바로 그겁니다.
사람들이 모델 활성화의 분류를 과학으로 다루지 않는 이유를 모르겠네요.
기계적 해석 가능성(mechanistic interpretability)이 바로 그걸 연구하는 분야입니다.
어디 한번 말씀해 보시죠. 구체적으로 어떻게 하실 건데요?
연구소들이 이 모델을 이해하는 주요 방법 중 하나이기도 합니다. 그게 없으면 모델을 이해하고 정렬하기가 훨씬 어려워져요.
모두가 "정렬(alignment)"을 돌아보며 그 전제부터 결함이 있어서 바보짓이었다는 걸 깨달을 날이 어서 왔으면 좋겠네요.
정말 그래요. 앤트로픽도 새로 내놓은 안전장치를 보면 이걸 깨닫고 있는 것 같아요. 모델에게 "좋은 일만 하라"고 훈련하는 건 안 먹혔고, 그래서 출력된 텍스트에 주제 분류기를 덧붙이는 쪽을 택했으니까요.
제 짐작에는 모델 개발사들이 지금 사람들이 "정렬"이라고 할 때 떠올리는 것을 포기하고, 출력을 추가로 처리하는 쪽에 기댈 것 같아요. 그래야 케이크를 갖고(안전하다는 겉치레) 먹기도(잠재 공간 추론 등) 할 수 있으니까요.
그렇다면 지금 당장 LLM 개발을 멈춰야겠네요.
네, 멈춰야죠.
정렬은 아주 넓은 용어입니다. 사람들이 100% 합의할 수 없는 영역에서의 검열이나 강제 거부 같은 것이 포함되는 건 사실이지만, 전혀 정렬되지 않은 LLM은 거의 쓸모가 없을 겁니다. 시스템 프롬프트에서 모델에게 "당신은 도움이 되는 어시스턴트입니다"라고 말하는 것도 정렬이니까요.
글쎄요, "정렬"을 그렇게까지 넓게 잡아서 실용적으로 쓸모 있게 만드는 훈련 전반을 뜻한다면, 그야 결함 있는 전제가 맞고 그걸 논하는 건 다들 입만 아픈 일이죠. 범위가 너무 넓어서 사실상 아무 의미가 없는 말이 되니까요.