deeplearning 3

[ML OPS] quantization을 활용한 인퍼런스 최적화 (ft. ONNX, TensorRT)

오늘은 quantization을 활용하여 인퍼런스를 최적화하는 방법을 소개하려고 합니다. 이전 글(https://seokhyun2.tistory.com/82)을 같이 보시는 것을 추천드립니다. 0. quantization quantization은 한국말로는 양자화라고 하는데요. 신호처리 수업을 들으신 분들은 이미 익숙하실 수도 있을 것 같습니다. 신호처리에서는 숫자들을 큰 숫자 셋에서 작은 숫자 셋으로 매핑하는 것을 양자화라고 합니다. 예를 들면, 1~1000을 10으로 나누고 정수만을 취해서 1~100으로 변경한다고 생각해보겠습니다. 511, 519가 동일하게 51이 되겠죠? 그러면 우리는 기존 데이터를 더 적은 숫자 셋(100개)으로 표현할 수 있지만, 511과 519가 동일한 데이터가 되면서 511..

[ML OPS] 파이썬으로 딥러닝 모델 서빙하기 (ft. flask)

딥러닝 모델을 서빙하는 방식은 여러가지 방법이 있습니다. 여러가지 방법 중에서, 오늘은 flask를 활용하는 방법을 소개해보도록 하겠습니다. https://github.com/hsh2438/MLops/tree/main/1_flask_rest_api GitHub - hsh2438/MLops Contribute to hsh2438/MLops development by creating an account on GitHub. github.com 코드는 우선 위의 깃헙 레포지토리를 참고하시면 됩니다. 라이브러리 설치 필요한 라이브러리는 requirements.txt 파일에 저장해두었으므로 아래 명령을 실행하여 라이브러리를 설치해주시면 됩니다. pip install -r requirements.txt 서버 구현 f..

BERT 인퍼런스 속도 비교 pytorch vs tensorflow

최근에는 pytorch 사용자도 많이 늘고 소스코드도 많이 최적화되서 pytorch와 tensorflow를 비교해보면 좋을 듯 해서 pytorch와 tensorflow에서 BERT 인퍼런스 속도를 비교해보려고 합니다. 먼저 pytorch와 tensorflow는 둘 다 딥러닝 프레임워크로, tensorflow는 구글에서 pytorch는 페이스 북에서 개발하고 있습니다. 제가 처음 딥러닝 공부를 시작했던 2016년에는 tensorflow가 많이 압도적이였는데, 학계에서 많이 활용되면서 최근엔 pytorch 사용자가 많이 증가하고 있습니다. 자연어처리에서 BERT는 모르면 간첩이라고 할 수 있을 정도로 유명한 모델이죠. 구글에서 2018년 10월에 공개한 Transformer 기반의 거대한 언어모델입니다. T..