Replies: 7 comments 5 replies
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
발표 해주신것 보고 서비스 관점에서 궁금한 점이 있어서 궁금한점 문의드립니다. 이전에 세중님께서 다양한 디바이스 (스마트폰 환경)을 고려한 경량화 기술이 어렵기 때문에 타겟이 하나로 정해진 서버를 고려한 경량화 연구를 하고 있다고 말씀을 해주신 적이 있습니다. 예전 Mobisys 학회에서 클라우드 서버에서 추론하고 디바이스에서 추론 결과를 보여주는 시스템을 설계할때 통신 방법 (LTE, HSDPA)을 고려하는 방법, 즉 통신 회선의 Latency에 따른 서비스 방법을 제안한 논문이 있었습니다. 경량화를 통해 압축이 물론 많이 되면 좋지만, 정확도를 고려하다보면 1비트로 항상 압축은 할수 없다고 생각합니다. 이번 발표 해주신 것을 듣고 하이퍼클로버에서 연구한 압축 기술을 서비스에 적용할 때, 실제 Latency를 고려하여 이정도의 수준은 압축이 되어야 한다는 기준을 어떻게 산정하시는 궁금합니다. 저는 L사의 가전제품에 들어가는 모델을 최적화 한적이 있는데, 이때는 명확한 Latency에 대한 지표가 있었는데, 서버와 디바이스가 통신하는 것도 어떻게 고려하는지 답변 주시면 감사하겠습니다. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
: 이 부분은 결국 transfer learning이라는 이름으로 더 많이 불리는 것 같습니다. Vision Transformer에도 LoRA 비슷한 적용을 한 사례는 있습니다만, NLG만큼 어려운 문제는 아닌것으로 보입니다. 아무래도 image라는 특성이 knowledge transfer에 더 적합한것 같습니다. 제가 요즘 Image를 follow-up하고 있지는 않아서 더 이상 답변은 어려울것 같습니다.
: API 콜이 가능하냐 아니냐의 문제이고요. 굳이 비교하자면 p-tuning이 LoRA보다 더 편하다는 것이지, 큰 체크포인트 관리하는 것에 비하면 그 차이가 훨씬 적은것이 맞을것 같습니다. 제가 인프라를 운영하는 사람은 아니라서 디테일을 논하는 것은 적절하지 않을것 같습니다.
: 네 맞습니다. 문제는 그런 decompression을 얼마나 효율적으로 구현할수 있냐하는 것입니다. unstructured sparsity를 구현시키기위한 제 ICLR 2022 논문도 그런 관점에서 접근한 것이구요. 문제는 lossless한 압축이 얼마나 가능할 것인가, dynamic하게 decompression하는 것이 overhead가 과연 없겠느냐 하는 질문일것입니다. 만약 그런 방법이 있다면 너무 좋겠지요? :)
: 여러가지 이유가 있을텐데, 저는 사실 pruning이 더 잘된다고 생각합니다. 다만, re-training까지 하면서 unstructured pruning하기가 어려워서 그럴것 같구요. LRA보다 quantization이 훨씬 나은 이유중에 하나는 결국 LRA는 주어진 범위로 부터 어떤 수학적인 특성이 있다고 생각하는 것에 반해서, quantization은 heuristic하게 각각을 독립적으로 보기 떄문인것 같습니다. 딥러닝 모델 파라미터의 특성이 quantization에 더 어울린다고 생각합니다.
: 그만큼 Seen에서도 Fine-tuning이 안된다고 보시면 됩니다. 말씀 하신 이유가 맞다고 생각합니다. 꼭 overfitting과 under-trained가 정확히 반대되는 것은 아니고, overfitting도 되고 under-trained될수도 있는거니까요.
: BERT에 대해서 압축된 사례들을 보시면 좋을것 같습니다. 아니면 QuantGPT라고 GPT2를 downstream task에 대해서 QAT로 압축한 방법도 있기는 합니다. 만약 하나의 task가 너무 중요하다면 그것만을 위한 압축된 모델을 만들수도 있겠죠? 마지막 줄은 질문의 의도를 이해를 못했습니다.
: 저는 이게 결국 generation의 특성이라고 보는데요. vision 쪽에서도 classification은 BNN으로도 되지만, generation은 그렇지 않은 것처럼, NLU(BERT)같은건 결국 적은 수의 label로 project하다보니 BinaryBERT도 나오지만, NLG는 autogressive하게 계속해서 말을 만들어야하기 때문에 1/2-bit까지 내리는게 안되는 것 같습니다. 그리고 뭔가 re-training을 하기에는 시간이 너무 걸리니, PTQ 적용을 단순하게 할수밖에 없구요. 대신, inference 방식을 복잡하게 가져갑니다 (LLM.int8의 fp16 decomposition / vector-wise quant. 등). 물론 모델이 커짐에 따라 redundancy가 커지고 압축이 잘되기는 하지만, 단순히 단순한 PTQ 방식을 적용했다고 보기에는 조금 어려운것 같습니다. 그리고 LLM.int8은 act quant를 했고, 제 방법은 그렇지 않다는 것에 주의해서 논문을 봐주시면 좋을것 같네요.
Beta Was this translation helpful? Give feedback.
All reactions