제안: 컨텍스트 윈도우(Context Window)보다 큰 세션을 읽기 위해 시맨틱 압축(Semantic Compression)을 입력
요약
컨텍스트 윈도우의 한계를 극복하기 위해 디퓨전 모델의 점진적 렌더링 개념을 차용한 시맨틱 압축 방식을 제안합니다. 압축된 개요에서 세부 사항으로 나아가는 coarse-to-fine 접근법을 통해 비지역적 정보(Non-local information)를 보존하고자 합니다.
핵심 포인트
- 디퓨전 기반의 점진적 렌더링을 통한 컨텍스트 확장 제안
- 시맨틱 압축을 활용하여 세션의 전체적인 구조와 개요 유지
- 파편화된 검색(Retrieval)이 놓치기 쉬운 비지역적 정보 보존 목적
- 위치 인식 학습(Position-aware training)을 통한 성능 개선 가능성 시사
저는 매우 긴 AI 세션의 일관성을 유지하기 위한 해결책을 구상해 왔습니다. 때로는 압축을 감수하기에는 내용이 너무 방대할 때가 있습니다. 최근 디퓨전(Diffusion)에 대한 관심이 높아지면서, 컨텍스트(Context)를 '흐릿함(blurry)에서 선명함(sharp)'으로 변하는 점진적 렌더링(Progressive Render)처럼 다루면 어떨까 하는 생각이 들었습니다.
텍스트를 "흐릿하게" 만드는 실질적인 방법은 압축(Compression)입니다. 이것은 공식적인 수학적 모델이 아니라, 거친 단계에서 세밀한 단계로 넘어가는(coarse-to-fine) 과정을 차용한 "디퓨전 영감(diffusion inspired)" 시스템입니다. 세션의 전체적인 구조를 유지하기 위해 시맨틱 압축(Semantic Compression)을 사용합니다. 먼저 압축된 버전을 읽어 개요(Outline)를 구축합니다. 그런 다음, 완전한 세부 사항을 제공하는 작은 축자적(Verbatim) 조각들을 읽을 때까지 점진적으로 압축률이 낮은 슬라이스(Slice)들을 읽어 나갑니다.
즉, 기본적으로 압축을 입력 측의 노이즈(Noise)로 사용한 다음, 점진적으로 출력을 구축하는 방식입니다. 각 슬라이스는 컨텍스트 윈도우(Context Window) 내에 들어오도록 압축되므로, 모델은 항상 현재 슬라이스 + 입력 + 현재 출력만을 읽으면 됩니다.
모델에게 현재 몇 번째 패스(Pass)인지 알려주어, 개요를 작성해야 할지 아니면 세부 사항을 추가해야 할지를 알게 합니다.
제가 실제로 보존하려고 하는 것은 소위 "비지역적 정보(Non-local information)"라고 불리는 것입니다. 전체 세션을 바라볼 때 나타나지만, 파편화된 검색(Retrieval)으로는 살아남지 못하는 정보라고 생각하면 됩니다. 검색은 이를 놓치고, 압축은 이를 삭제합니다. 두 방식 모두 전체론적 관점(Holistic view)에서만 존재하는 것을 놓칩니다.
워크플로우에 대한 대략적인 개념을 파악할 수 있는 시각적 시연이 여기 있습니다. https://dev-boz.github.io/diffusive-semantic-compression/demo/architecture-demo.html
기존의 많은 선행 기술과 상당 부분 겹치는 부분이 있습니다. Recursive Language Models(RLM)가 가장 유사한 방식 중 하나입니다 (소스와 출력을 디스크에 저장하고 재귀적으로 처리함). 저는 RLM을 발견하기 전에 이 내용의 대부분을 작성했으며, RLM을 알고 나서 거의 포기할 뻔했으나 여전히 독창적인 부분이 남아 있다는 것을 깨달았습니다. 제가 알기로는 이 특정 구현 방식과 정확히 일치하는 것은 없습니다. 만약 제가 놓친 것이 있다면 알려주세요.
일반적인 마스크 디퓨전(Masked Diffusion)과의 차이점은 단순히 마스킹(Masking)을 하는 것이 아니라 입력의 길이를 변경한다는 점에 있습니다.
새로운 지점은 압축을 노이즈(Noise)이자 위치 인식(Position-aware) 프로세스로 사용하는 것입니다.
저는 이것이 조금이라도 실행 가능한지 확인하기 위해 몇 가지 기본적인 테스트를 진행했습니다. 주로 Qwen2.5 7B와 같은 작은 모델들을 사용하여 기본적인 테스트를 수행했습니다. 학습되지 않은(Untrained) 모델들은 각 단계(개요 작성, 정제, 세부 사항 추가)는 수행할 수 있음을 보여주었지만, 전체 엔드투엔드(End-to-end) 프로세스에는 어려움을 겪었습니다. 가끔 엔드투엔드 성공 사례가 나타나기도 하지만, 신뢰할 수 있는 수준에는 훨씬 못 미칩니다. 학습되지 않은 모델에서는 동일한 문서에 대한 저렴한 밀집 읽기(Dense read) 방식보다 아직 우위를 점하지 못했습니다. 핵심적인 승부처는 위치 인식 학습(Position-aware training)이 이를 변화시킬 수 있는지 여부인데, 아직 그 부분은 테스트하지 못했습니다. 저는 사전 등록된 모든 실패 사례와 발견된 파서(Parser) 버그 등을 모두 공개했습니다.
또 다른 참고 사항: 목표는 구조와 뉘앙스를 보존하는 것이지만, 지금까지의 테스트는 심어진 사실(Planted facts)과 분할된 수치 구성(Split-up numeric composition)을 측정했습니다. 이는 주로 실험에 실제로 점수를 매길 수 있는 정답이 필요했기 때문입니다. 뉘앙스 평가 방식은 설계 중이며 아직 준비되지 않았습니다.
다음 단계는 위치 인식 학습이 도움이 될 수 있는지 테스트하기 위한 소형 모델 파인튜닝(Fine-tune)입니다.
이 아이디어를 살펴볼 시간이 있다면, 디퓨전 언어 모델(Diffusion-LM) 또는 롱 컨텍스트(Long-context) 분야를 잘 아는 분들의 선행 기술(Prior art) 확인이 정말 필요합니다. 또한, 이 아이디어를 확장하거나 파인튜닝을 위한 컴퓨팅 자원 또는 협업을 제공하고 싶은 분이 있다면 언제든 환영합니다.
제안에 대한 리포지토리(Repo)는 다음과 같습니다. 테스트 리포지토리와 선행 기술에 대한 링크가 내부에 포함되어 있습니다.
https://github.com/dev-boz/diffusive-semantic-compression
/u/Bravo_Oscar_Zulu 에 의해 r/MachineLearning 에 제출됨
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기