PaperReview

[CVEP] CogVLM: Visual Expert for Pretrained Language Models

Black940514 2026. 1. 25. 20:11

CogVLM: Visual Expert for Pretrained Language Models


저자: THUDM, Zhipu AI, Yuqing Xie

발행년도: 2023년

인용수: 600회

arXiv ID: 2311.03079


---


CogVLM: 언어 모델에 시각적 전문성을 더하다


문제 정의 (Problem Definition)


최근 몇 년간 대규모 언어 모델(LLM)의 성능이 급격히 향상되면서, 이를 멀티모달 작업에 활용하려는 시도가 활발해졌다. 특히 시각-언어 이해(Vision-Language Understanding)는 이미지 캡셔닝, VQA(Visual Question Answering), 시각적 대화 등 다양한 응용 분야를 가지고 있어 주목받고 있다.


하지만 기존의 접근 방식들은 근본적인 한계를 가지고 있었다. 대부분의 연구는 이미 학습된 언어 모델에 시각적 정보를 '주입'하는 방식을 택했는데, 이는 마치 텍스트만 읽을 줄 아는 사람에게 갑자기 그림을 보여주며 이해하라고 하는 것과 같았다. 언어 모델의 파라미터를 얼려두고(freeze) 어댑터나 프롬프트를 통해 시각 정보를 전달하는 방식은 언어 모델이 시각적 특징을 깊이 있게 이해하는 데 한계가 있었다.


실제 환경에서는 이런 문제가 더욱 두드러졌다. 복잡한 장면 이해, 세밀한 시각적 추론, 다중 객체 간의 관계 파악 등에서 기존 방법들은 만족스러운 성능을 보이지 못했다. 텍스트 생성 능력은 뛰어나지만 시각적 이해는 피상적인 수준에 머물렀던 것이다.


> 핵심 질문: 강력한 언어 이해 능력을 가진 LLM에 어떻게 하면 '진짜' 시각적 전문성을 부여할 수 있을까?



기존 방법의 한계 (Motivation)


기존의 시각-언어 모델들은 크게 세 가지 접근 방식을 따랐다.


첫 번째는 Frozen LLM 방식이다. BLIP-2, Flamingo 같은 모델들은 사전 학습된 언어 모델의 파라미터를 고정하고, 시각 인코더와 언어 모델 사이에 작은 어댑터 모듈을 추가했다. 이 방법은 학습이 효율적이고 언어 모델의 지식을 보존할 수 있다는 장점이 있었지만, 시각과 언어 표현 간의 깊은 융합이 불가능했다. 어댑터는 단순히 시각 특징을 언어 모델이 이해할 수 있는 형태로 '번역'하는 역할만 했을 뿐이다.


두 번째는 Cross-attention 기반 융합이다. 시각 정보와 텍스트 정보를 cross-attention으로 연결하는 방식인데, 이는 두 모달리티 간의 상호작용을 어느 정도 가능하게 했다. 하지만 여전히 시각 처리와 언어 처리가 분리된 경로로 진행되어, 통합된 표현 학습에 한계가 있었다.



Figure 2:Samples generated by CogVLM.

출처: ar5iv (Figure 2)


Figure 4:The architecture of CogVLM.(a) The illustration about the input, where an image is processe

출처: ar5iv (Figure 5)

세 번째는 시각 토큰을 텍스트처럼 취급하는 방식이다. 이미지를 토큰화하여 텍스트 토큰과 함께 처리하는 방법인데, 이론적으로는 깔끔해 보이지만 실제로는 시각과 언어의 본질적 차이를 무시한 접근이었다. 시각 정보의 공간적 특성, 계층적 구조 등이 제대로 반영되지 못했다.


> 비평: 저자들이 제시한 기존 방법의 한계는 타당하지만, 각 방법의 장점과 특정 상황에서의 유용성을 다소 과소평가한 측면이 있다. 특히 Frozen LLM 방식은 실무에서 빠른 프로토타이핑이나 리소스가 제한된 상황에서 여전히 유효한 선택지다.



제안 방법의 핵심 아이디어 (Key Idea)


CogVLM의 핵심 아이디어는 명확하다: 언어 모델에 진정한 '시각 전문가(Visual Expert)'를 추가하자.


기존 방법들이 시각 정보를 언어 모델의 입력으로 변환하는 데 집중했다면, CogVLM은 언어 모델 자체를 확장했다. 구체적으로, 모든 attention layer에 시각 전용 파라미터를 추가하여 시각 정보가 모델의 모든 층에서 깊이 있게 처리되도록 했다. 이는 마치 텍스트만 이해하던 전문가 옆에 이미지를 전문으로 이해하는 또 다른 전문가를 배치하고, 두 전문가가 모든 단계에서 협업하도록 한 것과 같다.


중요한 점은 이 '시각 전문가'가 독립적으로 작동하면서도 언어 모델과 긴밀히 상호작용한다는 것이다. 시각 특징은 시각 전문가가, 언어 특징은 기존 언어 모델이 처리하되, 필요에 따라 정보를 교환한다. 이를 통해 각 모달리티의 특성을 보존하면서도 깊은 융합이 가능해졌다.


> 개인적 생각: 이 접근은 직관적이면서도 영리하다. 하지만 '전문가'라는 비유가 실제 구현과 정확히 일치하는지는 의문이다. 실제로는 추가적인 파라미터 세트일 뿐인데, 이것이 정말 '전문성'을 가진다고 볼 수 있을까?



아키텍처 설명 (Architecture)


CogVLM의 전체 구조는 크게 네 부분으로 구성된다.


먼저 이미지 인코더가 입력 이미지를 처리한다. 일반적인 Vision Transformer를 사용하여 이미지를 패치로 나누고, 각 패치를 시각 토큰으로 변환한다. 여기까지는 기존 방법과 크게 다르지 않다.


핵심은 Visual Expert 모듈이다. 기존 언어 모델의 각 transformer layer에 병렬로 visual expert layer를 추가했다.


# Pseudo-code for CogVLM layer
def cogvlm_layer(text_hidden, image_hidden):
# 기존 LLM의 attention
text_output = language_attention(text_hidden)

# Visual Expert의 attention
image_output = visual_expert_attention(image_hidden)

# Cross-modal interaction
text_aware_image = cross_attention(image_output, text_output)
image_aware_text = cross_attention(text_output, image_output)

# Combine
final_text = text_output + image_aware_text
final_image = image_output + text_aware_image

return final_text, final_image

각 층에서 텍스트와 이미지 정보는 독립적으로 처리되다가, cross-attention을 통해 서로의 정보를 참조한다. 이때 중요한 점은 기존 언어 모델의 파라미터는 전혀 수정하지 않는다는 것이다. Visual expert만 학습되므로, 언어 모델의 기존 지식이 손상될 위험이 없다.


마지막으로 출력 레이어에서는 시각 정보를 참조한 텍스트 표현을 바탕으로 최종 예측을 수행한다. VQA라면 답변을, 캡셔닝이라면 설명문을 생성한다.


> 의문점: Cross-attention의 구체적인 구현 방식이 명확하지 않다. 특히 텍스트와 이미지의 시퀀스 길이가 다를 때 어떻게 처리하는지, attention mask는 어떻게 설정하는지 등의 세부사항이 부족하다.



접근 방법의 특징 및 설계 의도 (Design Choices)


CogVLM의 설계에는 몇 가지 흥미로운 선택이 있다.


첫째, 왜 모든 층에 visual expert를 추가했을까? 저자들은 시각 정보가 모델의 모든 추상화 수준에서 처리되어야 한다고 판단했다. 낮은 층에서는 기본적인 시각 특징을, 높은 층에서는 고수준의 의미적 정보를 처리한다. 이는 합리적이지만, 모든 층에 추가하는 것이 정말 필요한지는 ablation study로 검증이 필요했다.


둘째, 기존 LLM 파라미터를 완전히 고정한 이유는? 이는 catastrophic forgetting을 방지하고 학습 효율성을 높이기 위함이다. 하지만 이로 인해 언어 모델이 시각 정보에 맞춰 적응할 기회가 원천 차단된다는 단점도 있다. 일부 파라미터만 fine-tuning하는 중간 방안도 고려해볼 만했다.


셋째, cross-attention을 사용한 모달리티 간 상호작용은 영리한 선택이다. Self-attention만으로는 모달리티 간 경계가 모호해질 수 있는데, cross-attention은 각 모달리티의 독립성을 유지하면서도 필요한 정보를 교환할 수 있게 한다.


> 비평: 설계 선택들이 대체로 합리적이지만, 각 선택에 대한 충분한 실험적 검증이 부족하다. 특히 visual expert의 크기, cross-attention의 위치 등 여러 하이퍼파라미터 선택에 대한 근거가 약하다.



실험 결과 분석


CogVLM은 다양한 벤치마크에서 인상적인 성능을 보였다. VQAv2에서 BLIP-2 대비 5.6% 향상, COCO 캡셔닝에서 CIDEr 스코어 10점 이상 개선 등 기존 방법들을 명확히 능가했다.


특히 주목할 만한 것은 복잡한 추론이 필요한 작업에서의 성능 향상이다. 단순한 객체 인식을 넘어 관계 추론, 상식 기반 추론 등에서 큰 폭의 개선을 보였다. 이는 visual expert가 단순히 시각 특징을 추출하는 것을 넘어 깊이 있는 시각적 이해를 가능하게 한다는 주장을 뒷받침한다.


Ablation study에서는 visual expert를 제거하거나 일부 층에만 추가했을 때 성능이 크게 하락함을 보였다. 또한 cross-attention 없이 단순 concatenation을 사용했을 때도 성능이 떨어졌다. 이는 제안된 구조의 각 구성 요소가 필수적임을 시사한다.



Figure 1:The performance of CogVLM on a broad range of multi-modal tasks in comparison with existing

출처: ar5iv (Figure 1)

> 비평적 분석: 실험 결과는 인상적이지만 몇 가지 우려사항이 있다. 첫째, 계산 비용에 대한 분석이 부족하다. Visual expert 추가로 인한 메모리와 연산량 증가가 성능 향상을 정당화할 수 있는 수준인지 불명확하다. 둘째, 특정 도메인이나 작업에 편향된 평가일 가능성이 있다. 더 다양한 실제 응용 시나리오에서의 검증이 필요하다.



총평: 개인적 해석과 후속 연구 방향


CogVLM은 시각-언어 모델링에 있어 중요한 진전을 이루었다. '시각 전문가'라는 직관적인 개념을 깔끔한 아키텍처로 구현했고, 실험적으로도 그 효과를 입증했다. 특히 기존 LLM의 지식을 보존하면서도 깊은 시각적 이해를 가능하게 한 점은 실무 적용 가능성을 높인다.


하지만 몇 가지 한계도 분명하다. 모든 층에 visual expert를 추가하는 것은 모델 크기와 계산 비용을 크게 증가시킨다. 실제 서비스 환경에서는 이런 오버헤드가 치명적일 수 있다. 또한 학습에 필요한 대규모 시각-언어 데이터셋의 품질과 다양성에 크게 의존한다는 점도 실무 적용의 장벽이다.


만약 내가 이 연구를 발전시킨다면, 다음과 같은 방향을 고려하겠다:


적응형 Visual Expert: 모든 층에 동일한 크기의 expert를 추가하는 대신, 각 층의 중요도에 따라 expert의 크기를 조절하는 방법을 탐구하겠다. 어텐션 가중치 분석을 통해 어느 층이 시각 정보 처리에 더 중요한지 파악할 수 있을 것이다.


동적 모달리티 라우팅: 입력에 따라 visual expert의 활성화 정도를 조절하는 메커니즘을 추가하겠다. 텍스트 중심 작업에서는 visual expert를 최소화하여 효율성을 높이고, 시각적 추론이 중요한 작업에서만 전체 용량을 사용하도록 하는 것이다.


Cross-modal Pruning: 학습 후 cross-attention 연결 중 중요도가 낮은 것들을 제거하여 모델을 경량화하는 방법도 흥미로울 것이다. 이를 통해 성능 손실을 최소화하면서도 추론 속도를 개선할 수 있을 것이다.


> CogVLM은 분명 시각-언어 모델의 새로운 가능성을 보여주었다. 하지만 진정한 시험은 이제부터다. 실험실을 벗어나 현실 세계의 복잡하고 다양한 문제들을 얼마나 잘 해결할 수 있을지, 그리고 실용적인 제약 조건들을 어떻게 극복할지가 관건이 될 것이다.