MULTIFLOW: Shifting Towards Task-Agnostic Vision-Language Pruning

강민석·2025년 1월 2일

논문

목록 보기
7/26

Abstract

비전-언어 모델은 다양한 작업에서 좋은 성과를 보인다.

하지만, 비전-언어 모델은 대규모 매개변수로 인해 높은 계산 비용이 요구된다.
이러한 문제를 해결하기 위해 모델 pruning은 실질적인 해결책으로 떠오르고 있다.

그러나, 기존의 pruning은 특정 task에 초점이 맞춰져있는 종속적인 방법이어서 새로운 task마다 네트워크를 다시 pruning해야 하는 단점이 있다.
이는 시간과 자원 소모가 크다.

본 연구에서는 Task-Agnostic Vision-Language Pruning(TA-VLP)라는 작업 비종속 비전-언어 가지치기라고 불리는 새로운 방향성을 탐구한다.

task에 종속적이지 않은 pruning 방법을 탐구

한 번의 pruning한 VLM이 다양한 다운스트림 작업에서도 사용할 수 있도록 만드는 것을 목표로 한다.

이를 위해, 본 연구는 MULTIFLOW를 제안한다.
MULTIFLOW는 TA-VLP를 달성하기 위해 설계된 gradient가 없는 pruning 기법이다.

gradient가 없다는 뜻은 MULTIFLOW는 loss function의 기울기를 계산하여 이를 기반으로 pruning할 매개변수를 선택하지 않고, 매개변수의 크기와 뉴런 간 정보 흐름과 같은 정적인 속성을 사용하여 pruning한다.

Introduction

대규모 비전-언어 모델은 좋은 성능을 보여주지만 매개변수와 같은 방대한 자원 소모를 대가로 하여, 메모리 제한이 있는 장치에 배포하는 데 큰 장애물이 된다.

이러한 문제에 대한 해결책은 네트워크 크기를 줄이기 위해 pruning이라는 기술을 사용하는 것으로, 이 기술의 목표는 네트워크 매개변수를 명시적으로 제거하는 것이다.

VLM과 관련된 기존 접근법들은 특정 task를 위해 pruning을 수행한다.
이 방법에서는 pruning된 모델이 task별 fine-tuning을 거친 후 좋은 성능을 보여주게 된다.

하지만, 이 방법은 task가 변경될 경우 모델을 처음부터 다시 pruning해야 하며, 이것은 시간이 많이 소모될 뿐 아니라 원래의 VLM 매개변수를 저장할 수 있어야 한다.

task에 맞게 pruning된 모델은 그 task에만 특화된 네트워크 구조를 갖고 있기 때문에 task가 변경되면 성능이 나빠지게 된다.

그래서, VLM을 task에 독립적으로 pruning 하면서도 일반적인 학습 성능을 유지할 수 있는 방법을 탐구한다.

이를 위해 TA-VLP를 제안한다.
여기서 목표는 VLM을 한 번만 pruning하여, 추가적인 compression 없이도 여러 task에 대해 학습할 수 있는 모델을 얻는 것이다.

한 번의 pruning만으로 모든 task에서 사용할 수 있는 모델을 만드는 것을 목표로 이렇게 하면, task가 바뀌어도 다시 pruning하지 않아도 되고, 새로운 task에 맞춰 fine-tuning만 하면 된다.

VLM 모델은 대규모 데이터를 사용해 훈련된 모델이다.
이러한 모델은 이미지와 텍스트 간의 의미적 정렬과 같은 General한 목적을 위해 학습되었기 때문에, 이미 여러 task에서 사용 가능한 General한 네트워크 구조를 갖고 있다.

즉, VLM의 매개변수에는 여러 task에서 사용가능한 유용한 정보가 담겨있다고 가정할 수 있다.

pre-trained 모델의 전이 가능성은 이미 여러 task에서 활용될 수 있는 일반적인 목적을 위한 activation patterns을 사전 학습했기 때문에 가능하다.

전이 가능성이란 모델이 특정 데이터나 작업에서 학습한 지식은 다른 작업에 적용할 수 있는 능력을 말한다.

따라서, pruning된 모델도 이러한 activation pattern을 유지해야 다른 작업에서도 전이 가능성을 유지할 수 있다.

activation pattern이란 모델에 입력데이터가 주어졌을 때 각 뉴런이 활성화되는 방식을 말한다

예 : 이미지의 색상과 같은 저수준 특징을 감지, 형태나 구조와 같은 특징을 학습 => 입력 데이터가 뉴런들을 어떻게 활성화시키는지에 대한 고유한 방법

이 패턴은 모델이 데이터에서 학습한 특징 표현을 반영한다.

이 원칙을 따르며, 이 논문은 MULTIFLOW라는 TA-VLP를 위한 방법론을 제안한다.
MULTIFLOW는 모델의 각 층을 activation과 매개변수가 연결된 양방향 그래프로 표현한다.

  • 노드는 활성화 상태, 엣지는 가중치를 나타냄

    이전 layer와 현재 layer간에 서로 연결된 양방향 그래프로 모델링하여 입력 노드에서는 이전 layer에서 오는 activation 값을 입력 받고, 출력 노드에서는 현재 layer의 다음 layer로 전달될 activation 값을 출력한다.

    이 방식은 각 layer의 매개변수와 activation pattern 사이의 상호작용을 명확하기 나타낸다.

그래프에서 매개변수(가중치)의 중요도를 계산하여 pruning을 수행하는데 중요도는

  1. 매개변수 자체의 크기

    매개변수 값이 클수록, 모델 출력에 더 큰 영향

  2. 입/출력 노드 간 연결된 평균 신호(saliency)을 결합하여 계산한다.

    신호는 뉴런 간 연결된 엣지가 얼마나 중요한지, 뉴런이 얼마나 활성화되는지를 나타냄

    신호가 크면 입력 노드에서 출력 노드로 전달되는 정보가 중요하다는 뜻이다.

하지만, 위에서 계산한 중요도만을 사용해 pruning을 수행하면 문제가 발생한다.

  1. 층의 depth에 따른 편향

    신경망의 깊은 층일수록 이전 layer에서 전파된 정보가 누적되어 매개변수 값의 크기가 커지는 경향이 있어 크기만을 기준으로 pruning하면, 깊은 층의 매개변수가 더 높은 중요도를 갖게될 수 있다..

  2. 모달리티 간 차이

    서로 다른 모달리티는 activation pattern과 크기가 다를 수 있어 특정 모달리티에 불리한 pruning될 수 있다.

MULTIFLOW는 이를 해결하기 위해 두 가지 기술을 사용한다.

  1. 모달리티 분리

    각 모달리티에 대해 별도의 pruning 전략을 적용

  2. 매개변수 크기의 분포 활용

    매개변수 크기의 분포를 분석하여, 층별로 고르게 pruning을 수행하여, 깊은 층이나 얕은 층이 과도하게 pruning되는 것을 방지

이를 통해 MULTIFLOW는 pruning을 더 공정하고 효과적으로 수행한다.

2. Related Work

Post-training pruning(훈련 후 가지치기)

Post-training pruning은 훈련 후 pruning하여 모델의 계산 비용을 줄이고 결과를 출력하는 시간을 단축시키는 것을 목적으로 한다.

Post-training pruning은 크게 2가지 접근 방식이 존재

1. data없이 가중치 크기에 기반하여 매개변수를 제거한다.

데이터를 사용하지 않고 가중치의 절대값을 기준으로만 pruning을 수행
-> 계산적으로 단순하여 빠르게 수행됨

2. data에 기반하여 1차 또는 2차 정보를 활용한다.

  • 1차 정보 : 매개변수 크기나 활성화 정도를 기준으로 중요도 계산

    주로 기울기를 사용하여 기울기가 작은 매개변수는 모델 출력에 미치는 영향이 작으므로 pruning 대상이 됨

    1차 정보는 계산 비용이 낮아 빠른 pruning 가능

  • 2차 정보 : 손실함수의 2차 미분을 활용하여 매개변수의 영향 평가

    헤시안 행렬이나 가중치 변화율 -> 계산 비용이 높다

data에 기반하는 pruning에서 사용하는 알고리즘은 조합 최적화나 반복적 크기 가지치기와 같은 반복적 절차에 의존한다.

  • 조합 최적화(Combinatorial Optimization)
    매개변수의 최적 조합을 찾는 알고리즘으로 매개변수를 선택하거나 제거하는 다양한 조합을 탐색하여, 모델 성능 손실을 최소화하는 전략을 찾는다

    특정 매개변수를 제거한 후 모델 성능을 평가하고, 성능 손실이 적은 조합을 유지한다.

  • 반복 크기 가지치기(Iterative Magnitude Pruning (IMP))
    매개변수의 크기를 기준으로 중요도를 평가하면서, 가지치기와 모델 재학습을 반복적으로 수행하여 모델 성능을 최적화한다.

    1. 먼저 모델을 훈련 데이터로 학습시켜 성능이 수렴되도록 한다.
    2. 훈련된 모델의 매개변수 값을 기준으로 중요도를 평가한다.
    3. 중요도가 낮은 매개변수를 제거한다.
    4. 가지치기된 모델을 다시 훈련하여 성능 손실을 회복한다.
      => 2~4 단계를 반복하며 매개변수의 점진적인 제거와 재훈련을 수행한다.

MULTIFLOW는 Post-training pruning의 핵심 원리는 사용하되, 차별점이 존재한다.

  • 매개변수의 크기만 보는 것이 아닌 information flow를 기반으로 중요도 계산

    입력 노드와 출력 노드의 활성화 값의 크기까지 평가

Pruning at initialization(초기화 시 가지치기)

논문의 목표는 다운스트림 작업에서 fine-tuning을 수행하기 전에 모델을 pruning하는 것으로, 초기화 단계에서 pruning을 수행하는 접근법과 밀접한 관련이 있다.(Pruning at Initialization, Pal)
Pal은 모델의 연결을 평가하는 saliency함수에 의존하여, 중요도가 낮은 연결을 제거함으로써 목표 희소성 수준에 도달한다.

  • saliency함수는 모델의 각 매개변수나 연결의 중요도를 평가하는 함수이다.
    매개변수의 크기를 기준으로 평가하거나 활성화값 등에 기반하여 정의

  • 목표 희소성 수준은 모델에서 얼마나 많은 매개변수를 제거할 것인지를 나타낸다.

    saliency 기준에 맞게 중요도를 평가하여 목표 희소성 수준에 도달하도록 매개변수를 제거해나간다.

Saliency 점수는 한 번 계산되면, 추가적인 계산 없이 다른 pruning에서도 재사용하거나 반복적으로 적용할 수 있다.

Pal 방법들은 데이터 사용 여부에 따라 data-dependent와 data-free로 나뉜다.

  1. data-dependent
    특정 데이터셋의 샘플을 사용하여 연결의 중요도를 평가한다.
  • 뉴런이나 가중치가 데이터 입력에 어떻게 반응하는지를 기준으로 중요도를 평가

    활성화값이 낮은 가중치를 제거하거나..등
    -> 데이터에 대한 의존성이 높다

  1. data-free
    데이터를 사용하지 않고 매개변수 크기만을 기준으로 pruning한다.
  • 데이터가 없어도 사용할 수 있다.

    데이터셋 없이도 적용 가능하지만 데이터 특성을 고려하지 않아 pruning 후 성능 저하 가능

MULTIFLOW역시 PaI처럼 saliency 함수를 활용하여 중요도를 평가해 pruning을 수행한다.

하지만 Pal은 특정 데이터셋을 활용하며 특정 task에 최적화된 방법이지만 MULTIFLOW는 task에 종속적이지 않아 여러 task에서도 전이 가능한 pruning을 목표로 한다.

PaI는 손실 함수의 기울기 정보를 사용하여 중요도를 계산하지만
MULTIFLOW는 gradient를 사용하지 않고 순전파만을 기반으로 네트워크의 정보를 전파하는 구조를 분석하여 pruning을 수행한다.

Pruning in Vision and/or Language

비전 및 언어 분야에서 pruning을 탐구하는 여러 연구가 있으며 NLP 모델 및 Vision transformer에서의 pruning도 포함된다.
한 모달에서의 특화된 pruning은 존재하지만 멀티 모달 task를 대상으로 하는 pruning은 복잡하다.

vision-language task를 위한 대표적인 pruning 알고리즘으로 UPop, EfficientVLM이 있다.

UPop
VLM을 점진적으로 pruning하는 방법으로 다운스트림 작업에서 fine-tuning 중에 매개변수를 점진적으로 제거하여 경량화한다.

여러 반복에 걸쳐 매개변수를 제거하며, 매 반복마다 pruning 후 모델을 재학습하여, pruning으로 인해 발생하는 성능 손실을 최소화한다.

불필요한 뉴런의 가중치를 서서히 0으로 수렴시키며 제거되는 뉴런의 영향력을 서서히 줄임

EfficientVLM
distillation과 pruning을 결합한 방법으로 교사모델에서 학생 모델로 지식을 전이한 뒤, 불필요한 매개변수를 pruning하여 경량화한다.

  • 학생모델은 이미 경량화된 구조의 모델이다

distillation 이후, 학생 모델의 중요도가 낮은 매개변수를 제거하여 추가적인 compression수행

하지만, 두 알고리즘 모두 task에 종속적인 방법이다.

MULTIFLOW는 기존 연구와 다르게 특정 task에 종속되지 않고, 다양한 task에서 전이 가능한 pruning을 목표로하여 다양한 비전-언어 작업에 적합한 경량 모델을 설계하는 데 초점을 맞춘다.

Unimodal Task-Agnostic Pruning

비전 또는 언어 단일 모달 환경에서, 일부 연구는 pruning된 단일 모델이 여러 task에 대해 일반화할 수 있는 가능성을 이미 탐구했다.

예를 들어, IMP 방법은 단일 모달 환경에서도 적용이 가능하며 좋은 성능을 보였다.

IMP(Iterative Magnitude Pruning)

  • train - prune - train

priuning을 반복적으로 수행하며, 매번 가장 크기가 작은 매개변수를 제거하고 나머지 모델을 fine-tuning한다

BERT모델의 절반 이하의 매개변수를 pruning하고 fine-tuning을 통해 모델의 성능을 복수할 수 있음을 입증했던 연구가 있다.

하지만 BERT에서의 pruning 연구는 단일 모달에 국한되었고 VLM같은 multi modal에서는 적용되지 않았다.

MULTIFLOW는 multi modal 환경에서의 복합성을 고려한 task에 비종속적인 최초의 pruning 알고리즘이다.
기존 방법은 반복적인 fine-tuning을 요구했지만 MULTIFLOW는 gradient 정보 없이도 pruning수행 가능

3. Task-Agnostic Vision-Language Pruning(작업 비종속 비전-언어 가지치기)

Preliminaries(사전 설명)

  • ff : 비전-언어 모델(VLM)을 나타냄
  • ΘRnΘ∈R^n : 이미지-텍스트 쌍의 대규모 데이터셋 DpD_p에 대해 pre-training된 해당 매개변수를 나타냄(대규모 모델의 매개변수)

    특정 비전-언어 작업 tt에 대한 데이터 DtD_t가 주어지면 ΘΘ를 fine-tuning하여 작업 tt의 성능을 향상시킬 수 있다.

기존의 VLM모델 pruning 방식은 모델 전체(ΘΘ)에 대해서 pruning하여 task별로 필요한 정보를 남기는 방식이었지만 매개변수가 너무 많기 때문에 업데이트하는 데 큰 비용이 들고 task마다 다시 pruning해야 하는 번거로움이 존재

Specific한 task에 맞춰 모든 매개변수 ΘΘ를 fine-tuning하는 방식이었으나 ΘΘ는 매우 많은 매개변수로 구성되어 있으므로, 모든 매개변수를 업데이트하려면 많은 계산 비용이 필요하고 저장하기 위해 많은 메모리 공간도 필요하다

기존의 pruning은 다음과 같은 방식을 사용

pruning은 특정 task 데이터(DtD_t)가 주어졌을 때, 해당 task에 최적화된 Binary pruning mask를 생성한다.

mt=argmaxCt(f(θm),Dt)m_t\,=\,argmaxC_t(f(\theta⊙m),D_t)
s.t.m0=ks.t.||m||_0=k

  • argmaxargmax : 최적의 Ct를 찾는 연산
  • mtm_t : 작업 tt에 최적화된 binary mask
  • CtC_t : 작업 tt에 대한 성능 기준(예 : 정확도, 손실 값..) (t는 task를 의미)
    Pruning된 모델 𝑓(Θ⊙𝑚)이 작업 데이터 𝐷𝑡에서 얼마나 좋은 결과를 내는지를 평가
  • f(Θm)f(Θ⊙m) : 마스크 m을 통해 특정 매개변수를 활성화하고 나머지를 비활성화하여 pruning된 모델을 생성
  • ΘΘ : 모델의 전체 매개변수
  • mm : 이진 마스크로, Θ의 매개변수 중 일부를 활성화(1)하거나 비활성화(0)
  • : Hadamard 곱으로, Θ의 각 매개변수와 m의 각 요소를 원소별로 곱한다
  • DtD_t : 작업 t에 대한 데이터셋 ->f(Θm)f(Θ⊙m)DtD_t를 활용해 평가됨

제약 조건
m0=k∣∣m∣∣_0=k : 마스크 m에서 1로 활성화된 매개변수의 개수는 k개로 제한

task별로 pruning을 반복해야 하고 pruning이 특정 task에 최적화되어 다른 task에 사용되기 어렵다

이를 해결하기 위해, task 비종속 모델 pruning으로 관점을 전환함

Task-agnostic VLM Pruning

TA-VLP의 목표는 모델을 한 번만 pruning하여, 여러 task에서도 학습 가능성을 유지하는 것이다.

task 비종속 mask(ma)를 목표로 하며, 모든 다운스트림 task (TT)에서 모델 ff의 성능을 최대화한다.


작업 비종속 마스크ma를 사용한 pruning된 모델이 모든 task에서 최대 성능을 발휘하는 것을 목표로 하여 각각의 작업 tt에서 ptp_t를 최대화하고, 이를 합산하여 전체 성능을 최적화

tTpt(At,f,Θma)\sum_{t∈T}p_t(A_t,f,Θ⊙m_a)

  • ptp_t : 작업 t에서 모델 f의 성능을 나타내는 함수
  • AtA_t : 작업 t에서 사용하는 학습 알고리즘
  • ff : pruning될 VLM
  • ΘmaΘ⊙m_a : Task agnostic한 mask로 pruning된 모델의 전체 매개변수

    pruning된 모델이 다양한 task에서 얼마나 잘 작동하는지를 평가하는 식

하지만, 알려지지 않은 task에 대한 데이터를 수집하는 것은 불가능하기 때문에 TA-VLP 알고리즘은 일반적인 데이터셋 Dg와 일반적인 성능 기준 Cg에서 마스크 ma를 생성해야 한다. (g는 general(일반적인)의미)

ma=argmaxCg(f(θm),Dg)m_a\,=\,argmaxC_g(f(\theta⊙m),D_g)
s.t.m0=ks.t.||m||_0=k

  • DgD_g : pre-training 데이터셋 DpD_p보다 훨씬 작은 데이터 셋이라 가정
  • mam_a : 특정 task에 최적화된 것이 아닌 Task agnostic한 pruning mask

TA-VLP의 목적은 기존 VLM을 효율적으로 pruning하는 것이다,

TA-VLP의 도전 과제

  • task마다 시각적, 텍스트적으로 서로 다른 민감도를 가질 수 있기 때문에 모달리티 간 적절한 균형을 찾고, pre-trained VLM의 지식을 활용해야 한다.

4. MULTIFLOW: Multimodal Flow Pruning

MULTIFLOW에 대해 설명함

4.1. Modeling the Information Flow

task에 대한 사전 정보가 없는 상황에서, TA-VLP 수행 시에 pre-trained VLM에 의존한다.
pre-trained VLM은 전이 가능한 표현을 인코딩하며 이 인코딩된 표현들은 다른 task에서도 잘 작동할 가능성이 높다

MULTIFLOW는 VLM내부에서 전이 가능한 표현이 발생하는 경로를 분석하고 이 경로를 보존하는 방식으로 pruning을 수행하는 것을 목표로 한다.

매개변수의 크기만으로 중요도를 평가하기에는 모델의 정보 전달 흐름을 파악하기 어렵기 때문

<선형 레이어 예시>

VLM 내부의 정보 흐름을 그래프로 모델링하는 방식을 선형 레이어를 예시로 들어 설명

MULTIFLOW에서는 선형 레이어를 그래프로 표현함

그래프 구성

G=(LR,E)G\,=\,(L∪R,E)

  • LL : 입력 노드 집합
  • RR : 출력 노드 집합
  • EE : 입력과 출력을 연결하는 가중치

가중치는 각 입력과 출력이 모두 연결되어 있고 양방향 그래프이다.

가중치(입력-출력 연결)의 중요도 계산

  1. 가중치의 크기

    크기가 클수록 노드간 연결이 중요할 가능성이 높다

  2. 입력 노드 활성화값 크기

    입력 노드의 활성화 값이 크면 해당 가중치는 중요한 정보를 전달할 가능성이 높다

  3. 출력 노드 활성화값 크기

    출력 노드가 받는 활성화값이 크면 해당 가중치는 중요한 정보를 전달할 가능성이 높다

MULTIFLOW는 선형 레이어에서 입력, 출력, 가중치의 중요도를 분석하여 pruning을 수행한다.

Importance of an edge(엣지의 중요도)

가중치의 중요도는 해당 가중치의 절대값으로 정의한다.

I(elr=θlr)I(e_{lr}\,=\,|\theta_{lr}|)

  • elre_{lr} : 노드 llrr을 잇는 edge

가중치가 클수록, 해당 연결이 모델의 출력에 미치는 영향이 크다고 판단

MULTIFLOW에서는 매개변수의 절대값이 크면 학습 중 매개변수의 이동 경로가 길고 중요도가 높다라고 판단한다.

이를 통해 pruning으로 인한 정보 손실을 최소화한다.

  • 매개변수의 이동 경로가 길다?

학습의 목표는 loss값을 최소화하는 것인데 모델은 경사하강법을 통해 loss function의 기울기가 0이 되는 방향으로 가중치 값을 반복적으로 업데이트하게 됨

이때, 가중치가 모델의 손실에 중요한 영향을 미친다면 loss를 줄이기 위해 가중치가 많이 조정될 것이다.

매개변수의 이동이란 학습 중 얼마나 많이 업데이트 되었는지를 의미하며 이 이동은 매개변수가 얼마나 중요한 역할을 했는지를 반영한다.

Saliency of a node(노드의 중요도)

노드의 중요도는 입력 노드와 출력 노드의 역할에 따라 다르게 정의된다.

입력 노드의 중요도

입력 노드는 정보를 출력으로 전달하는 역할을 한다.
입력노드 ll의 중요도는 해당 노드에서 출력 노드로 전달된 신호의 평균 강도로 정의

S(l)=1RrRal2θlrS(l)\,=\,\frac{1}{|R|}\sum_{r∈R}||a_l||_2\,·\,|\theta_{lr}|

  • 𝑎𝑙2||𝑎_𝑙||_2 : 입력 노드 ll의 활성화 값의 크기


  • θlr|\theta_{lr}| : 입력 노드와 출력 노드를 연결하는 가중치의 절대값 -> 연결이 얼마나 중요한지를 나타낸다.

  • RR : 연결된 출력 노드 개수

입력 노드에서 전달된 모든 신호를 평균 내어 중요도를 계산한다.

출력 노드의 중요도

출력 노드는 입력 노드로부터 정보를 수신한다.
출력 노드 rr의 중요도는, 해당 노드가 입력 노드로부터 받은 신호의 평균 강도로 정의

S(r)=1LlLal2θlrS(r)\,=\,\frac{1}{|L|}\sum_{l∈L}||a_l||_2\,·\,|\theta_{lr}|

  • 𝑎𝑙2||𝑎_𝑙||_2 : 입력 노드 ll의 활성화 값의 크기
  • θlr|\theta{lr}| : 입력 노드와 출력 노드를 연결하는 가중치의 절대값 -> 연결이 얼마나 중요한지를 나타낸다.
  • LL : 연결된 입력 노드 개수

출력 노드가 받은 모든 신호를 평균 내어 중요도를 계산한다.

최종적으로 매개변수 중요도 계산

입력 노드 ll과 출력 노드 rr을 연결하는 가중치 θlr\theta_{lr}의 최종 중요도는 노드와 가중치의 크기의 곱으로 정의된다.

S(θlr)=S(l)I(elr)S(r)=S(l)θlrS(r)S(\theta_{lr})\,=\,S(l)\,·\,I(e_{lr})\,·\,S(r)\,=\,S(l)\,·\,|\theta_{lr}|\,·\,S(r)

  • S(l)S(l) : 입력 노드의 중요도
  • I(elr)=θlrI(e_{lr})=|\theta_{lr}| : 해당 엣지의 가중치 크기
  • S(r)S(r) : 출력 노드의 중요도

    가중치가 음수일 경우, 단순히 신호를 감소시키는 효과가 있지만 중요한 정보일 수 있기에 절대값을 사용

이를 통해, 중요도가 낮은 매개변수 θlr\theta_{lr}는 제거하고, 중요도가 높은 매개변수는 보존한다
모델의 주요 정보 경로를 유지하면서 효율적으로 pruning을 수행

4.2. Multimodality-aware compression

깊이가 깊은 layer는 이전 레이어에서부터 크기가 누적되기 때문에 중요도를 결정짓는 데서 큰 차이를 발생시킬 수 있는데 이것은 pruning에서 초기 layer를 불리하게 한다.

이 문제는 멀티 모달에서도 적용이 된다.
VLM의 각 layer는 서로 다른 모달리티 데이터를 처리한다.

  • 초기 레이어에서는 시각적 데이터를 처리하거나 텍스트 데이터를 개별적으로 처리하고

  • 중간, 후반 레이어에서 두 모달리티의 데이터를 융합해서 데이터 간 상호작용을 학습하는 방식으로 각 레이어 별로 역할과 처리하는 데이터의 중요성이 다르다.

모든 모달리티에서 정보가 동일하게 흐른다고 가정하면, 각 모달이 가진 고유한 특성이나 중요도를 무시하게 되어 pruning에 편향이 생기거나 정보가 손실될 수 있다.

텍스트와 이미지가 모두 중요한 layer에서 한쪽 모달리티가 불필요하게 pruning되어 성능 저하 발생

특정 모달리티나 네트워크에 모델이 편향되지 않도록 하기 위해, pre-trained VLM의 매개변수 분포에 기반하여 각 매개변수의 중요도를 재조정한다.

편향이란 특정 모달리티나 특정 레이어가 pruning에서 더 많은 영향을 받게 되는 경우

가중치의 크기에 모달리티 간 분리까지 동시에 고려할 경우, pruning된 네트워크가 원래 모델의 중요한 특성을 더 잘 유지할 수 있다.

가중치 크기는 pre-training시에 해당 매개변수가 얼마나 중요한 정보를 처리했는지를 반영하기 때문에, 가중치의 크기를 기준으로 pruning하면 각 레이어가 처리해야 할 전체 정보 분포를 보존할 가능성이 높아진다.

각 레이어에서 처리하는 데이터가 다르기 때문에, 모달리티별로 중요도를 평가하면 모델의 핵심 기능을 보존할 수 있다.

활성 매개변수의 개수

klm=θθlm1(θtopk(,θm))k^m_l\,=\,\sum_{\theta∈\theta^m_l}1(\theta∈top_k(|·|,\theta^m))

  • θlm\theta_l^m : 레이어 ll에서 모달리티 m과 관련된 매개변수의 집합
  • topk(,θm)top_k(|⋅|, \theta^m) : 모달리티 m의 매개변수 θlm\theta_l^m 중에서 절대값이 상위 k인 매개 변수의 집합(중요한 매개변수 k개 선택)
  • 1(θtopk(,θm))1(\theta∈top_k(|⋅|, \theta^m)) : 매개변수 ΘΘ가 상위 kk개의 매개변수 집합에 포함되면 1, 아니면 0을 반환

레이어 ll에서 특정 모달리티 mm과 관련된 활성 매개변수의 개수(klmk_l^m)를 나타낸다.
-> 레이어가 모달리티 mm에 대해 얼마나 많은 중요한 매개변수를 유지해야 하는지를 계산


최종 pruning mask 계산 식

활성 매개변수 분포 𝑘𝑚𝑘_ℓ^𝑚을 기반으로 pruning mask를 정의

  • SS : 매개변수의 중요도를 계산하는 기준

    S(θlr)=S(l)I(elr)S(r)=S(l)θlrS(r)S(\theta_{lr})\,=\,S(l)\,·\,I(e_{lr})\,·\,S(r)\,=\,S(l)\,·\,|\theta_{lr}|\,·\,S(r)
    이 식을 통해 계산된 값을 기준으로 함

  • topklm(S,θlm)top_{k_l^m}(S,\theta_l^m) : 매개변수 중요도 기준 SS에 따라 정렬된 상위 𝑘𝑚𝑘_ℓ^𝑚개의 매개변수

  • mlrl,mm^{l,m}_{lr} : 레이어 ll에서 입력 노드 ll에서 출력 노드 rr로 연결되는 모델 mm의 매개변수 θlm\theta_l^m의 pruning mask

    1: 매개변수 유지 / 0: 매개변수 제거

kmk_ℓ^m으로 레이어에서 모달리티 mm에 대해 얼마나 많은 매개변수를 유지해야 하는지 결정하고
kmk_ℓ^m을 이용하여 매개변수 θlm\theta^m_l에서 실제로 pruning할 매개변수를 선택한다.
(상위 kmk_ℓ^m에 속하는 매개변수는 유지, 나머지는 제거)

kmk_ℓ^m으로 모달리티별 유지해야 할 매개변수 개수 정의 후, 이를 기준으로 pruning mask mrl,rm^{l,r}_{ℓr}을 생성한다


특정 모달리티 m에 대해 1,2,3번째 layer에서의 활성 매개변수 개수


모달리티 별로 pruning하는 사진

5. Experiments

BLIP base모델과 XVLM CLIP 모델에서 pruning 방법들의 성능을 비교하였음

  • Method : 사용된 pruning 방법
  • Sparsity : 모델의 pruning 비율

평가하는 task

  • Image-to-Text (이미지를 텍스트로 변환)

    • R@1: 모델이 첫 번째로 선택한 결과가 정답일 확률.
    • R@5: 모델이 선택한 상위 5개 결과 중 정답이 포함될 확률.
  • Text-to-Image (텍스트를 이미지로 변환- 텍스트 쿼리로 적합한 이미지를 찾는 작업)

    • R@1: 모델이 첫 번째로 선택한 결과가 정답일 확률.
    • R@5: 모델이 선택한 상위 5개 결과 중 정답이 포함될 확률.

결과 분석

아무것도 pruning되지 않은 DENSE 0%는 pruning과 성능을 비교할 기준 성능이됨

63%에서 MULTIFLOW는 다른 방법들과 비교해 우수한 성능

75%에서도 다른 방법들에 비해 성능 저하가 적으며 가장 우수한 성능

profile
많이 배우고 싶습니다

0개의 댓글