LatComm은 긴 문맥을 한 번 압축해 여러 질문에 재사용한다

LatComm: Reusable Context Compression for Latent Communication between Large Language Models

arXiv2610.26840v1

Huawei Lin2026-10-19

무엇인가

이 논문은 여러 LLM을 조합하는 시스템에서 같은 문맥을 여러 질문에 재사용할 때 생기는 반복 계산을 줄이는 문제를 다룬다. 문맥을 텍스트로 넘기면 수신 모델은 질문마다 문맥 토큰 전체를 다시 처리한다. QuALITY에서는 기사 하나에 평균 18.1개의 질문이 붙고, 수신 모델이 질문마다 읽는 5,915개 토큰 중 98%가 기사다. 저자들은 문맥 표현이 질문 없이 한 번 계산되어 재사용 가능하고, 크기가 문맥 길이에 따라 늘지 않으며, 다른 LLM이 읽을 수 있어야 한다고 정리한다. KV 캐시 재사용은 모델에 묶이고 크기가 커지며, ICAE는 LoRA로 같은 LLM을 적응시키고, xRAG는 검색 인코더가 정한 단일 벡터를 쓰고, C2C는 질문에 의존하고 입력 길이에 따라 전송량이 커진다고 지적한다.

어떻게 동작하나

LatComm의 핵심은 인코딩과 읽기를 분리하는 것이다. 고정된 문맥 인코더 LLM이 질문 없이 문맥을 읽고, 학습된 압축기가 선택된 레이어 쌍마다 인코더의 토큰 hidden state를 학습된 슬롯 쿼리와 cross-attention으로 고정 개수의 저차원 슬롯으로 매핑한다. 이 슬롯들이 레이어 쌍별로 모여 패킷 Z(x)가 된다. 패킷 크기는 슬롯 수와 차원의 곱이라 문맥 토큰 수와 무관하고, 더 큰 패킷이 필요하면 프로젝터를 키우는 대신 슬롯 쿼리를 늘리면 된다. 압축기는 KV 캐시가 아니라 hidden state를 읽으므로 슬롯에 토큰 위치가 묶이지 않는다. 고정된 수신 LLM은 질문과 패킷만 받고, 선택된 레이어 뒤에서 cross-attention으로 패킷을 읽는다. 이때 프롬프트 상태를 풀링한 요약과 각 슬롯의 내적에 편향을 더한 시그모이드로 레이어별·슬롯별 게이트를 계산해 슬롯 기여도를 조절한다. 두 LLM은 모두 고정되고 압축기, 리더, 게이트만 학습된다.

무엇과 다른가

학습은 두 단계다. 1단계 문맥 재구성에서는 수신 모델이 패킷만 보고 문맥을 재현하도록 모든 학습 파라미터를 훈련해 패킷에 문맥 정보를 담게 한다. 2단계 과제 지도에서는 압축기를 고정하고 리더와 게이트만 과제 데이터로 학습한다. 압축기가 고정되므로 각 문맥의 패킷은 한 번 계산해 저장할 수 있고, 1단계 이후 저장한 패킷도 2단계 후에도 유효하다. 비용은 문맥 nE개, 질문 q개, 프롬프트 nT개일 때 텍스트 전달이 q(nE+nT)cT인 반면 패킷 경로는 nE cE + q nT cT다. 따라서 q가 cE/cT보다 크면 한 번 인코딩하는 쪽이 싸다. 수신 모델의 질문당 계산은 문맥 길이 nE에 의존하지 않고 레이어 쌍마다 슬롯 S개를 읽는 비용에만 의존한다. 24개 레이어 쌍, 쌍당 32슬롯, d=256, 16비트 값이면 패킷은 384KiB다.

어떻게 쓰나

실험은 12개 객관식 QA 데이터셋과 학습에 쓰지 않은 RACE, DREAM, QuAIL에서 진행됐다. 1단계에는 WikiText-103과 FineWeb-Edu의 영어 지문 200만 개를 쓴다. 주 수신 모델은 Qwen3.5-0.8B이고, 같은 모델이나 Qwen3.5-4B·9B를 인코더로 쓴다. 또한 Gemma-3-1B-pt 수신 모델에 Qwen3.5 인코더를, Llama-3.2-1B 수신 모델에 Granite-4.1-8B 인코더를 붙여 모델 계열 간 통신도 시험한다. 비교에는 Raw-text, Query-only, Constant packet, xRAG, Embedding 베이스라인이 포함된다. 표 3의 주 결과에서 LatComm은 Task Avg 65.43으로 최고 베이스라인 61.98을 앞서고 12개 과제 중 11개에서 가장 높다. Held-out Avg는 49.76으로 최고 베이스라인 46.70보다 높고 세 데이터셋 모두 1위다. 같은 리더와 게이트를 쓰되 문맥 정보가 없는 Constant packet보다 Task Avg 5.2점, Held-out Avg 6.4점 높다. 다만 Raw-text는 Held-out Avg 65.06으로 학습된 모든 방법보다 높아, 12개 과제 데이터로 학습한 모듈의 전이가 부분적임을 보여준다. 논문은 단일 벡터 베이스라인 대비 최대 10.2점 향상을 주장한다.

전제와 한계

모델 계열 간 결과도 제시된다. Gemma-3-1B-pt 수신 모델은 학습 없이 문맥이 있어도 없어도 우연 수준인 27.73~27.98 Task Avg에 가깝지만, LatComm은 59.00으로 최고 베이스라인 55.46과 Constant packet 54.04를 앞선다. Held-out Avg도 46.63으로 최고 베이스라인 40.59와 Constant packet 41.30보다 높다. 여섯 모델 쌍에서 Qwen3.5-0.8B 수신 모델은 같은 모델 인코더로 64.91, 4B 인코더로 65.43, 9B 인코더로 65.80을 기록해 세 인코더가 0.9점 안에 있다. Gemma 수신 모델은 Qwen 인코더로 59.00~59.21, Llama 수신 모델은 Granite 인코더로 64.08을 낸다. 모든 쌍에서 Constant packet보다 3.5~5.6점, Embedding 베이스라인보다 2.7~3.8점 높다. 수신 모델의 답은 패킷에 의존한다. Qwen3.5-4B 인코더와 0.8B 수신 모델 조합에서 같은 질문의 문맥 패킷을 주면 65.4, 다른 문맥 패킷을 주면 45.6, 패킷이 없으면 39.6 Task Avg다.

재사용 비용은 QuALITY에서 측정됐다. 기사 하나를 한 번 인코딩하는 데 0.71초가 걸리고, 이후 질문 하나를 패킷으로 답하는 데 131ms가 걸린다. 전체 텍스트로 답하면 511ms다. Query-only가 111ms이므로 리더와 게이트가 질문당 추가하는 비용은 20ms다. 질문 18.1개인 기사 하나를 처리하면 패킷 경로가 총 3.09초, 텍스트 경로가 9.26초로 3.0배 빠르다. 문맥이 길수록 격차는 커져 가장 짧은 기사군은 질문당 300ms에서 가장 긴 기사군은 651ms까지 늘지만, 패킷은 약 131ms를 유지해 2.3~4.9배 빠르다. 슬롯 수를 8~64로 바꿔도 Task Avg는 65.0~65.8로 유지되고, 쌍당 8슬롯의 96KiB 패킷도 기본 패킷 정확도를 지킨다. 슬롯 폭을 512로 늘리면 Task Avg 66.88이다. 모든 패킷 설정이 최고 단일 벡터 베이스라인 61.98보다 높다.

개발자 관점에서 LatComm은 같은 긴 문서를 여러 질문으로 반복 조회하는 RAG, 문서 QA, 에이전트 메모리 구조에서 유용할 수 있다. 특히 인코더와 수신 모델을 모두 고정하고 작은 어댑터만 학습해 모델 크기나 계열이 다른 조합을 연결하려는 경우 참고할 만하다. 다만 hidden state를 읽고 쓸 수 있는 공개 가중치 모델이 필요해 텍스트 API만 제공되는 모델에는 적용할 수 없다. 모델 쌍마다 압축기, 리더, 게이트, 패킷을 새로 준비해야 하고, 질문이 한 번뿐이면 인코딩 비용 때문에 이득이 없다. 도입 전에는 질문 수와 문맥 길이, 인코더 비용, 패킷 크기를 함께 측정해야 하며, held-out에서 Raw-text보다 낮았던 전이 한계를 자기 과제에서 확인해야 한다.

저자들이 밝힌 한계는 분명하다. 실험은 영어 객관식 QA에 한정되고 답이 단일 선택지 문자인 경우만 다루며, 자유 형식 생성은 평가하지 않았다. 다중 에이전트와 에이전트 메모리 용도도 시험하지 않았다. 수신 모델은 약 10억 파라미터, 인코더는 최대 90억 파라미터라 더 큰 수신 모델에서의 동작은 알 수 없다. 기본 모델 쌍의 2단계만 시드 3개로 반복해 Task Avg 표준편차 0.23점을 보고했고, 다른 설정은 시드 1개라 작은 차이는 주의해야 한다. 새 인코더나 수신 모델에는 별도 모듈과 패킷이 필요하고, 패킷 크기가 고정이라 긴 문맥은 더 강하게 압축된다. 1단계는 최대 1,024토큰 지문을 쓰고 평가에서 가장 긴 문맥은 QuALITY 기사이며, 패킷 크기를 문맥 길이에 따라 어떻게 키워야 하는지는 연구하지 않았다.