[2026-03-03] [LoGeR 리뷰] VRAM 터뜨리던 3D 재구성의 구원자? O(N^2) 어텐션을 찢어버린 하이브리드 메모리 아키텍처
[LoGeR 리뷰] VRAM 터뜨리던 3D 재구성의 구원자? O(N^2) 어텐션을 찢어버린 하이브리드 메모리 아키텍처
Metadata
- Paper ID: 2603.03269
- Authors: LoGeR Team
- Date: March 2026
수십 분짜리 드론 영상이나 고프로(GoPro) 클립을 던져주고 3D 공간(Dense 3D Reconstruction)을 통째로 구워내려다 VRAM OOM(Out of Memory) 에러 로그와 밤새 싸워본 경험이 있나요? 백엔드 파이프라인에 COLMAP 같은 전통적인 SfM/SLAM 모듈을 태워본 개발자라면 그 끔찍한 연산량과 최적화 시간에 진저리를 쳤을 겁니다. 그래서 최근에는 딥러닝 기반의 피드포워드(Feedforward) 지오메트리 파운데이션 모델들이 각광받고 있죠.
문제는 이 녀석들이 짧은 클립에서는 기가 막히게 작동하지만, 프레임이 조금만 길어지면 트랜스포머 어텐션 연산의 악명 높은 $O(N^2)$ 복잡도 때문에 여지없이 뻗어버린다는 겁니다. 억지로 RNN 구조를 차용해 메모리를 아껴보려 해도, 이번엔 글로벌 좌표계가 비틀어지는 ‘스케일 드리프트(Scale Drift)’ 현상이 발생해서 3D 맵이 인셉션 영화처럼 접혀버리곤 합니다.
이 지긋지긋한 트레이드오프를 끊어버리겠다고 나온 게 바로 LoGeR(Long-context Geometric Reconstruction)입니다. 무거운 사후 최적화(Post-optimization, 예: Bundle Adjustment) 과정 하나 없이, 단 128프레임으로 학습된 모델이 추론 시에는 무려 19,000 프레임까지 끄떡없이 글로벌 일관성을 유지합니다. 도대체 어떤 기가 막힌 아키텍처를 짰길래 이게 가능한 걸까요? 코드를 까보듯 밑바닥부터 파헤쳐 봅시다.
한 줄 요약: 무거운 번들 어드저스트먼트(BA) 없이, TTT(Test-Time Training)와 SWA 메모리를 영리하게 섞어 19,000 프레임까지 스케일 드리프트 없이 버티는 혁명적인 순방향 3D 재구성 모델.
⚙️ 19,000 프레임을 안 터뜨리고 버티는 하이브리드 메모리의 비밀
긴 비디오 스트림을 처리하기 위해 LoGeR는 가장 상식적인 접근법부터 시작합니다. 바로 전체 영상을 잘게 쪼개는 ‘청크(Chunk) 단위 처리’죠. 청크 내부에서는 강력한 양방향 사전 지식(Bidirectional Priors)을 활용해 아주 정밀한 3D 추론을 수행합니다. 여기까지는 누구나 할 수 있는 생각입니다.
하지만 진짜 헬게이트는 ‘청크와 청크의 경계를 어떻게 이어붙일 것인가’에서 열립니다. 단순 무식하게 이어붙이면 앞서 말한 스케일 드리프트 때문에 카메라 궤적이 우주로 날아가 버리죠. LoGeR는 이 문제를 학습 기반의 하이브리드 메모리(Hybrid Memory) 모듈로 우아하게 해결합니다. 개발자들에게 익숙한 언어로 비유하자면, 시스템의 전역 상태(Global State)를 관리하는 Redis 캐시와 방금 연산한 고해상도 로컬 데이터를 들고 있는 L1/L2 로컬 캐시를 동시에 굴리는 셈입니다.
🔹 Parametric TTT (Test-Time Training) Memory (글로벌 앵커 역할) 기존 LLM처럼 KV 캐시를 무한정 늘리는 방식은 고해상도 비전 태스크에서 VRAM을 순식간에 증발시킵니다. LoGeR 팀은 여기서 미친 발상을 합니다. “메모리를 무거운 텐서(Tensor) 형태로 계속 들고 있지 말고, 아예 작은 신경망의 가중치(Weights) 자체에 정보를 구워버리자!” 이게 바로 Parametric TTT 메모리의 본질입니다. 이 녀석이 시스템의 전역 상태를 잡아주는 Redis 역할을 합니다. 모델이 새로운 프레임을 처리할 때마다 가벼운 연산 스텝을 밟으며 이전까지의 글로벌 3D 좌표계와 스케일 정보를 파라미터에 압축해서 업데이트합니다. 메모리 용량은 고정(Fixed-size)되어 있으면서도 무한한 컨텍스트를 품을 수 있게 된 거죠. 수천 프레임이 지나도 전체적인 맵의 중심을 꽉 잡아주는 앵커(Anchor) 역할을 완벽히 수행합니다.
🔹 Non-parametric SWA (Sliding Window Attention) Memory (로컬 정밀도 역할) 하지만 글로벌 맵만 유지한다고 끝이 아닙니다. 바로 직전 프레임들과의 픽셀 단위 정합성(Alignment)이 떨어지면 3D 메쉬의 텍스처와 형태가 처참하게 뭉개져 버립니다. SWA 메모리는 압축되지 않은 날것의 컨텍스트(Uncompressed Context)를 슬라이딩 윈도우 방식으로 유지합니다. L1 캐시처럼 가장 최근의 고해상도 지오메트리 정보를 원본 그대로 들고 있으면서, 인접한 청크들을 픽셀 단위로 완벽하고 정밀하게 이어붙이는 역할을 수행하죠.
이 두 메모리가 교차로 작동하는 듀얼 컴포넌트 시스템 덕분에, LoGeR는 연산량을 극적으로 통제하면서도 글로벌 일관성과 로컬 디테일을 모두 챙기는 데 성공했습니다.
글로벌 스케일을 잡아주는 TTT 메모리와 픽셀 단위 정밀도를 위한 SWA 메모리가 교차로 작동하며 청크 간의 정합성을 유지하는 구조도. (이게 진짜 VRAM을 살리는 핵심 포인트죠)
⚔️ 기존 3D 파이프라인 vs 새로운 패러다임 (LoGeR)
그렇다면 기존에 우리가 인프라에 올려두고 쓰던 전통적인 SLAM이나 1세대 피드포워드 파운데이션 모델들과 비교하면 실무적으로 뭐가 얼마나 좋아진 걸까요? 숫자와 스펙 뒤에 숨겨진 개발자 경험(DX) 측면을 파헤쳐 봤습니다.
| 비교 항목 | 전통적 파이프라인 (COLMAP, SLAM) | 1세대 피드포워드 모델 (예: DUSt3R) | LoGeR (Hybrid Memory) |
|---|---|---|---|
| 메모리(VRAM) 사용량 | 낮음 (CPU 의존도 높음) | 매우 높음 ($O(N^2)$ 폭발) | 낮음~중간 (청크 단위 + SWA) |
| 글로벌 일관성 (Drift) | 높음 (단, 처리 속도가 매우 느림) | 낮음 (프레임 길어지면 좌표계 붕괴) | 매우 높음 (TTT 메모리로 방어) |
| 사후 최적화 (BA) 필요성 | 필수 (Ceres Solver 최적화 지옥) | 불필요 | 불필요 (엔드투엔드 직접 추론) |
| 최대 컨텍스트 길이 | 무제한 (시간과 리소스가 허락하는 한) | 수십~수백 프레임 수준의 한계 | 19,000 프레임 이상(VBR 데이터셋 검증) |
| 개발자 경험 (DX) | 최악 (복잡한 C++ 빌드 및 의존성 지옥) | 좋음 (단, 긴 영상 입력 불가) | 최상 (파이썬 생태계 내에서 완벽 제어) |
여기서 실무자들이 가장 환호해야 할 부분은 단연코 ‘사후 최적화(Bundle Adjustment)의 부재’입니다. 기존에 C++ 베이스의 Ceres Solver나 g2o 같은 복잡한 최적화 라이브러리를 파이썬/PyTorch 워크플로우에 억지로 통합해 본 분들이라면 치가 떨리실 겁니다. 컴파일 에러, 의존성 충돌, 리소스 락(Lock) 관리 문제 등 골칫거리가 한두 개가 아니죠. LoGeR는 이 모든 사후 최적화 단계를 날려버림으로써, 데이터 엔지니어들이 순수 PyTorch 생태계 안에서 3D 비전 파이프라인을 온전히 통제할 수 있게 해줍니다. 게다가 KITTI 벤치마크 기준 기존 모델 대비 ATE(Absolute Trajectory Error)를 무려 74%나 박살냈습니다. 최적화 루프 없이 이 정도 정밀도를 낸다는 건 파이프라인 아키텍처 관점에서 엄청난 혁신입니다.
🚀 내일 당장 프로덕션에 쓸 수 있을까? (Use Cases)
단순히 연구실에서 벤치마크 점수 올리기에 급급한 장난감이 아닙니다. 실제 비즈니스 환경에서 이런 아키텍처가 어떻게 리소스와 비용을 아껴줄 수 있을지, 두 가지 현실적인 시나리오를 그려봤습니다.
건설/인프라 대규모 인스펙션 비동기 파이프라인 수십 분 동안 드론이 거대한 교량이나 송전탑을 빙빙 돌며 찍은 고해상도 영상으로 크랙이나 구조 결함을 3D로 매핑해야 한다고 가정해 봅시다. 기존 방식으로는 영상 전체를 클라우드 서버로 가져와서 수십 시간에 걸쳐 피처 매칭과 BA를 돌려야 했습니다. 비용도 비용이지만 시간이 너무 오래 걸리죠. LoGeR를 적용하면 서버리스 GPU 컨테이너에 영상 스트림을 청크 단위로 밀어 넣기만 해도, 거의 실시간에 가깝게 글로벌 좌표계가 완벽히 맞는 3D 메쉬를 뽑아낼 수 있습니다. 파이프라인의 레이턴시를 획기적으로 줄일 수 있는 구조입니다.
저사양 엣지(Edge) 로봇 기반의 실시간 공간 맵핑 컴퓨팅 자원이 턱없이 부족한 모바일 로봇이나 AR 디바이스에서 무거운 백엔드 최적화 루프를 돌릴 수는 없습니다. LoGeR의 SWA 메모리를 활용해 로컬 공간 디테일을 빠르게 살리고, TTT 모듈의 글로벌 스테이트만 백그라운드에서 비동기로 가볍게 업데이트하는 식으로 응용한다면? 값비싼 클라우드 연산 오프로딩 없이도 엣지 단에서 상당히 긴 구간의 공간 맵핑을 독립적으로 유지할 수 있게 됩니다.
🧐 Tech Lead’s Brutally Honest Verdict
- Pros (찬양할 점): 트랜스포머의 어텐션 병목을 회피하면서도 글로벌 컨텍스트를 잃지 않도록 파라메트릭 TTT와 논파라메트릭 SWA를 결합한 아키텍처는 그야말로 예술의 경지입니다. 128프레임이라는 좁은 윈도우로 훈련시켜놓고, 실전에서 19,000프레임 영상에 때려 박아도 멀쩡하게 작동한다니 일반화(Generalization) 성능 하나만큼은 경이롭습니다.
- Cons (까칠한 팩트폭행): 아키텍처 다이어그램을 보면서 눈치챈 분들도 있겠지만, 추론(Inference) 단계에서 글로벌 메모리를 모델 파라미터에 직접 업데이트한다는 건 곧 ‘그라디언트(Gradient) 연산 트리를 살려두거나 부가적인 업데이트 로직이 계속 돌아야 한다’는 뜻입니다. 아무리 무거운 BA를 없애서 전체 파이프라인 속도가 빠르다고 한들, 순수 피드포워드 추론 방식보다는 서빙(Serving) 코스트와 메모리 프래그먼테이션(Fragmentation) 관리가 까다로울 수밖에 없습니다. OOM 에러는 피했지만 실시간 프로덕션 레벨의 초당 처리량(FPS)을 방어할 수 있을지는 프로파일링을 꽤나 빡세게 해봐야 할 겁니다.
- 최종 판정 (Verdict): “일단 북마크 해두고 코드 공개되면 즉각 클론합시다. 당장 60FPS 실시간 서비스에 붙이긴 버거울지 몰라도, 서버 측 비동기 3D 처리 파이프라인이나 대규모 오프라인 맵핑에서는 지각변동을 일으킬 게임 체인저가 될 확률 99%입니다.”
