본문 바로가기

Capstone

[ Meeting ] 5월 4주차 - 그래도 Quantization ..!

 

피드백

1. 경량화된 모델 vs. 양자화 모델

  • Lightweight Model→ TinyCLIP, MobileNet, DeiT-Tiny 등
  • → 모델 구조 자체를 작고 간단하게 설계해 연산량과 파라미터 수 줄인 것
  • Quantized Model→ ViT INT8, Q-BERT, ResNet-50-INT8 등
  • → 이미 학습된 모델을 INT8, FP16 등의 낮은 비트로 변환해서 추론 속도 및 크기 최적화

 

2. DeiT를 굳이 써야하는 이유?

DeiT 써서 TinyCLIP보다 눈에 띄게 좋은 성능이 나올까?

  • TinyCLIP: 텍스트-이미지 쌍 이해하기 위한 CLIP 구조 기반 경량 모델
  • DeiT-Tiny: 순수 Vision Transformer 경량화한 구조. 텍스트 이해 없음

흠냠냐.. 압도적 이점은 없어서 설득력이 떨어지긴 한다

 

3. 원래 목표는 양자화 실험인데 왜 방향 바꾸려 하나?

시간 없다고 원래 하려던 실험을 안 하는 건 아쉬움 -> 처음 목표 지켜보자

 

프로젝트 원래 목표:

  • 양자화된 모델을 MSP60K에 파인튜닝해 성능-속도 트레이드오프 분석

4. Intel ViT 모델 다른 사람들은 쓰는데 왜 못 써?

  • 해당 모델은 INT8 양자화된 ViT 모델
  • transformers에서 불러오면 로딩 에러 발생 -> PyTorch가 INT8 per-channel 양자화 지원 안 해서 생긴 문제일 수 있음
  • 다른 사람들은 ONNX나 CoreML 등 다른 프레임워크에서 활용했을 가능성 높음
  • Neural Compressor 기반으로 ONNX로 변환 시도
  • 아니면 ONNX Runtime만으로 추론 전용 코드 구성 (파인튜닝 포기)

5. 4bit CLIP, 8bit CLIP 등 서치

 


GGUF?

GGUF = GGML Unified Format

  • GGML/LLM/C++ 추론용 모델 위한 새로운 포맷
  • 양자화 모델을 하나의 .gguf 파일로 저장 (가중치 + 메타데이터 포함)
  • 주로 llama.cpp, clip.cpp, whisper.cpp 등에서 사용됨

단점: PyTorch로 직접 불러와서 파인튜닝은 어려움. 추론 전용에 가까움

 


Pre-Quantized ResNet 모델들

apple/coreml-resnet-50

  • CoreML용으로 INT8 양자화된 ResNet-50
  • 추론 속도 빠름, 파인튜닝 불가

XiaoMi/bolt-resnet50-int8

  • BOLT 프레임워크용, 모바일 디바이스 최적화

하지만

  • 대부분 CoreML, BOLT, TFLite 전용 포맷
  • PyTorch에서 직접 파인튜닝 불가
  • Vision-language 구조 없음 (이런 구조 아니어도 되긴 해..)

 

MSP60K 보행자 세부 속성 탐지 작업은 텍스트 없어도 되는 순수 Vision 모델 -> ResNet 기반도 가능하지만

이미지 인코더에서 얻은 벡터로 분류기 따로 파인튜닝해야 함

 

 


탐지 성공률 (탐지된 이미지 수 / 전체 이미지 수)

  • 전체 시도한 crop 이미지 수 중 아무 속성이라도 1개 이상 탐지된 이미지 수의 비율
  • → “실제로 모델이 뭔가 예측해줬냐”를 보는 지표

CLIP FP32(Baseline Model)

전체 탐지 시도 이미지 수: 9998
속성 탐지 성공 이미지 수: 657
탐지 성공률: 6.57%

 

속성별 탐지 빈도

  • 뭘 많이 탐지했는지 “비율” 아님
  • 특정 속성이 얼마나 많이 등장했는지 보는 그래프

  • Zero-shot 방식으로 CLIP 기반 속성 인식 실험 진행
  • 뉴욕 데이터셋 (글쓴이가 이름 붙임) 에서 9,998개 보행자 이미지에 대해 속성 탐지 수행
  • 탐지 성공 이미지 수는 657개 (성공률 약 6.57%)
  • 낮은 성능은 prompt 구성, 속성 분류 난이도, crop 품질 등 복합적 원인
  • 하지만 명시적 학습 없이 의미 있는 속성 일부를 자동 인식한 점에서 가능성 확인
  • 향후 prompt 튜닝, CLIP 양자화 모델 도입 등을 통해 성능 개선 여지 있음

MSP60K degrade 이미지 데이터셋에서 실험 결과

스레시홀드 0.25 


Int8 실험

스레시홀드 0.05..

0.25는 하나도 탐지안되고 0.1은 달랑 wearing hat 하나 ^^

베이스라인과 같은 사진에서 하나도 탐지 안됨..


 


속도

sample_msp 데이터셋 1000장에 대해

"wearing hat" 하나 속성에 대해,

 

 


Tiny Star