paperswithlove / papers-we-read

3 stars 0 forks source link

What matters when building vision-language models? #31

Open runhani opened 4 months ago

runhani commented 4 months ago

LINKs

[paper](https://arxiv.org/abs/2405.02246) [models](https://huggingface.co/HuggingFaceM4/idefics2-8b) [blog](https://huggingface.co/blog/idefics2)

뭣이 중한디?

architecture

image

Findings 1.1

다른 조건 동일하게 하고 text backbone 평균 5.1 증가! wow

image

Findings 1.2

다른 조건 동일하게 하고 vision backbone 만 변경시키 보았는데 EVA-CLIP 5B가 SigLIP-SO400M보다 10배나 더 파라미터가 많음에도 불구하고 성능 증가는 없고 오히려 0.5 하락했다. (비록 5B 규모의 잘 훈련된 vision backbone이 없다는 것은 인정하지만...)

image

Findings 1

  1. parameter 개수를 고정하면 language model backbone의 quality가 vision backbone 보다 훨씬 중요하다. (아! 물론 open source sommunity에 well-trained된 large vision encoder가 없음을 알고 있습니다.)

Findings 2

image

  1. backbone 학습을 고정하면(freeze) fully autogressive보다 cross-attention 성능이 더 좋습니다. 하지만 LoRA로 backbone도 fully training하면 cross-attention보다 fully autogressive가 더 좋다. (적은 parameter로 더 좋은 성능)

Findings 3

  1. 실제로 autogressive 구조에서의 full tunning은 학습시 발산(divergence)하는 경향이 있습니다. 그래서 LoRA를 사용하면 모델의 표현력이 좋아지고 학습도 안정적으로 진행되게 해줍니다.

Findings 4

image

  1. perceiver resampler와 같이 learned pooling방법을 사용할 때는 visual tokens을 줄이는게 성능 향상에도 (0.5%) 도움이 되고 제일 중요하게는 compute efficiency를 향상 시키기 때문에 학습과 추론에 큰 도움이 된다.

Findings 5

image

  1. 이 부분이 진짜 항상 궁금했던 것!!! aspect ratio를 보존하는게 좋은지? 아니면 그냥 square resize해도 좋은지? 일단 OCR 측면에서 세로로 긴 문서를 입력한다고 가정하면 squre로 resize하면 글자가 뭉게지기 때문에 성능에 도움이 안된다. 그렇지만 많은 vision backbone들은 square로 학습되어서 실제로 사용하려면 positional embeddings를 interpolate해야 한다. 그리고 aspect ration preserving을 하면 모든 입력을 high resolution으로 resize해서 GPU 메모리를 많이 잡아 먹는 문제도 해결할 수 있다. image 그래서 성능을 보면 1정도 떨어진다. 큰 성능의 하락이 없다. (?)
runhani commented 4 months ago

29 이랑 중복... ㅎㅎㅎ 삭제 예정