pytorch 4

[ML OPS] ONNX로 pytorch 모델 변환하기

ML 모델을 서비스에 적용하려고 하면 일반적으로 느린 속도 때문에, 인퍼런스 속도를 높이기 위한 방법도 많이 고민하게 됩니다. 그래서 오늘은 ONNX(Open Neural Network eXchange)를 한번 소개해보려고 합니다. ONNX onnx는 머신러닝 모델 공개 표준을 목표로 개발된 오픈소스입니다. Tensorflow, Pytorch는 물론이며 이 외에도 다양한 툴에서 사용할 수 있도록 지원됩니다. 특히, 파이썬 환경 뿐만 다른 언어를 활용할 수도 있으며 모델을 변환하면서, 그래프를 최적화하여 연산 속도 개선 효과도 있습니다. 바로 코드로 넘어가보도록 하겠습니다. 오늘도 학습은 논외니까 pretrained model 중에 torchvision에서 가장 기본 모델인 resnet을 활용하겠습니다. ..

[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..

pytorch와 flask를 활용한 딥러닝 모델 서빙하기

tensorflow 2.0을 활용해서 어떻게 서빙하는지 다뤄봤었는데, 요즘엔 pytorch를 사용하시는 분들도 많으니까 이번엔 pytorch를 서빙하는 방법에 대해서 설명드리려고 합니다! 이전 글들과 똑같이 mnist를 준비했고, 학습은 pytorch 공식 예제 참조하여 학습을 수행하였습니다. 아래 링크 참조하셔서 학습 진행해보시길 추천드려요! https://github.com/pytorch/examples/tree/master/mnist pytorch/examples A set of examples around pytorch in Vision, Text, Reinforcement Learning, etc. - pytorch/examples github.com 이전 포스팅에서 tensorflow 예제를 ..