모듈 재사용으로 구현한 온디바이스 비디오‑언어 파이프라인 가속기 Atom
초록
Atom은 대규모 비디오‑언어 모델을 시각 인코더와 텍스트 디코더라는 두 개의 재사용 가능한 모듈로 분해하고, 이를 스마트폰 메모리에 상주시켜 여러 하위 작업(캡션 생성, 스크립트 작성, 검색 인덱싱 등)에서 반복 로드 없이 병렬로 실행한다. 실험 결과, 기존 비모듈식 파이프라인 대비 27‑33 % 빠른 처리 속도를 보이며, 검색 Recall@1은 최대 2.3 점, 캡션 CIDEr는 최대 1.5점만 감소하는 수준으로 성능 손실이 미미하다.
상세 분석
Atom의 핵심 아이디어는 “모듈 재사용”이다. 기존 비디오‑언어 파이프라인은 비디오 인코더‑디코더 한 쌍을 작업마다 별도로 로드하고, 스크립트 생성 등 추가 텍스트 작업을 위해 또 다른 대형 언어 모델을 메모리에 올리는 방식으로, 모델 로드·언로드 비용이 전체 지연시간의 15‑20 %를 차지한다. Atom은 1.4 B 파라미터 규모의 mPLUG2+를 기반으로, 시각 인코더(CLIP‑ViT/L‑14)와 Llama 3.2 기반 텍스트 디코더만을 남겨 두고, 텍스트 인코더와 Fusion 모듈을 제거한다. 이렇게 하면 두 모듈만 메모리에 상주시키면 되므로, 6 GB 이하 RAM을 갖는 최신 스마트폰에서도 충분히 동작한다.
-
모듈화 설계
- Video Encoder: CLIP‑ViT 기반으로 프레임 시퀀스를 고정 길이 임베딩으로 변환한다.
- Language Decoder: 1 B 파라미터 Llama 3.2를 사용해 autoregressive 방식으로 텍스트를 생성한다.
두 모듈은 각각 독립적인 API 형태로 노출돼, 멀티스레드 환경에서 동시에 호출이 가능하도록 thread‑safe하게 구현됐다.
-
재사용 메커니즘
- 파이프라인 시작 시 Encoder와 Decoder를 한 번만 로드하고, 이후 모든 하위 작업에서 동일 인스턴스를 재활용한다.
- 캡션 생성, 스크립트 작성, 검색 인덱싱 모두 동일 Decoder를 사용하므로, 별도의 파인튜닝 없이도 충분히 일반화된다.
- 메모리 측면에서는 가중치 자체는 공유되지만, 각 모듈의 활성화 텐서는 작업별로 별도 할당된다. 재로드 시 발생하는 일시적 메모리 피크를 40 MB 수준으로 억제한다.
-
병렬 실행
- Encoder가 클립 #2를 처리하는 동안 Decoder는 클립 #1에 대한 캡션을 생성한다.
- 이렇게 파이프라인 단계가 겹치면 전체 처리량이 1.5‑2× 증가하고, CPU/GPU 활용도가 크게 상승한다.
- 실험에서는 모델 로드 지연을 50 % 이상 감소시키고, 최종 엔드‑투‑엔드 지연을 27‑33 % 단축했다.
-
성능‑효율 트레이드‑오프
- 재사용으로 인한 메모리 증가가 0.76 %(≈40 MB) 수준에 머물면서도, 기존 mPLUG2 대비 캡션 CIDEr가 2.8‑3.7점, 검색 Recall@1이 3.8‑4.9점 상승했다.
- 실제 모바일 테스트에서는 Recall@1이 1.3‑2.3점, CIDEr가 0.6‑1.5점 감소하는 정도의 미세한 성능 저하만 관찰되었다. 이는 강력한 Llama 3.2 디코더가 여러 텍스트 작업에 일관된 언어 사전 지식을 제공해 보완한다.
-
범용성
- 설계는 비디오 캡션, 검색, 어셈블리 외에도 요약, 질문‑응답, 이벤트 로컬라이제이션 등 텍스트 중심의 비디오 작업에 그대로 적용 가능하다.
- 다른 VLM(예: Flamingo, Video‑LLM)에도 Encoder‑Decoder 분리와 재사용 전략을 적용하면 유사한 효율성을 기대할 수 있다.
전체적으로 Atom은 “모듈 재사용 + 병렬 실행”이라는 두 축을 통해 모바일 환경에서 비디오‑언어 파이프라인의 시스템 레벨 병목을 해소하고, 기존 클라우드‑중심 접근법에 비해 프라이버시 보호와 실시간 응답성을 동시에 달성한다는 점에서 의미가 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기