[강연 정리] AI 경량화: 더 빠르고 저렴한 AI 서비스

Taekyung Ahn·2023년 11월 4일

강연모음

목록 보기
1/6

URL : https://d2.naver.com/helloworld/4608596

경량화 방법

  1. quantization
    1. 특징
      • 기본적인 기법이라 프레임워크에 의존적이지도 않다
      • 프루닝 기법과도 궁합이 잘 맞음
    2. 실제 적용 시 발생하는 대표적인 오류 두 가지
      • 지원되지 않는 레이어로 발생하는 오류
        • 직접 프레임워크 코드를 변경해야 한다
      • torch.jit.script module을 quatization할 때 생기는 오류
        • git으로 만들기 전 코드를 전달받거나 해야한다.
  2. pruning
    1. 이슈
      • 모델의 구조가 취약해진다는 생각을 하기 쉬움 (파라미터 수가 줄어들거라는 기대)
      • 실제로는 프루닝을 진행한다고 해서 파라미터가 줄어들지 않음
        • 이론과 다르게 파라미터를 잘라내는 것이 아니라 원래 값을 0으로 만드는 것
      • 오히려 sparsity matrix에서 속도가 느려지는 이슈가 있음
        • masking된 오리지널 웨이트가 있는지 확인해봐야함
        • torch는 .remove 함수를 통해 0으로 바뀌기전 웨이트를 제거해줘야 한다
          • 제거해도 gam 알고리즘이 적용되어서 속도에 영향이 없을 수도 있다 → swap라이브러리나 openglas, cublas 들을 사용해줘야 한다
      • 나이브하게 프루닝을 적용하면 성능에 악영향을 미칠 수 밖에 없다
        • over parameter를 제거하는 연구 논문이 많이 등장하고 있음
        • 프루닝을 진행했는데 오히려 정확도가 높아지는 경우도 있다
        • 전력소모도 줄어든다
  3. low-rank 방법론
    • 적용이 까다롭고 아직 많이 연구가 덜 되었지만 놀라운게 많다
  4. knowledge distillation
    • transfer learning : 다른 도메인에서의 학습이라는 점에서 다른다
    • self-distillation 방법을 통해 큰 모델의 웨이트를 보존시키는 방법에선 효과적인데 다른 방법에서는 크게 효과가 없을 수도 있다
    • 모델의 아키텍쳐가 조금만 달라도 효과가 없어지는 경우가 많다

경량화가 마주한 과제

  1. 일반화의 어려움
    • 중요한 정보가 특정 뉴런에 몰려 있을 때 잘라내면 큰 성능 차이가 생긴다
  2. 아직 성숙하지 않은 분야
    • 논문도 적고 지식 습득도 어렵다

경량화의 강점

  1. expectable & explainable
    • 성능 변화와 속도를 예측하고 설명할 수 있음
  2. 직관적이고 안정적인 output
    • 메모리 점유율 등을 직관적으로 볼 수 있고 이해하기 쉬움
  3. 확장성 & 지속성
    • 추가적인 비용 절감과 확장성
profile
정리좋아휴먼의 기록

0개의 댓글