본문 바로가기

onnx

Pytorch와 TensorRT를 이용한 딥 러닝 추론 최적화 이 글은 이전 글에서 계속되는 글입니다. 1. Pytorch Model 먼저 추론하기 위한 모델을 Pytorch를 이용하여 구성합니다. 앞 글에서 설명하였듯이 Bert를 이용합니다. Bert를 밑바닥부터 구성하긴 어려우니 transformers모듈에서 제공하는 모델을 사용합니다. 모델의 입력은 input_ids, attention_mask, token_type_ids 세 개를 받고, 출력은 Bert의 층 중 하나를 선택했습니다. 모델의 입력과 출력의 형태는 코드를 통해 확인할 수 있습니다. import transformers import torch class Model(nn.Module): def __init__(self): super(Model, self).__init__() self.model = t.. 더보기
Pytorch를 TensorRT로 변환하기 위한 환경 설정 1. Introduction TensorRT는 학습된 딥러닝 모델을 최적화하여 NVIDIA GPU 상에서 추론하는 속도를 수십 ~ 수십배까지 향상시켜주는 모델 최적화 엔진입니다. 지원하는 프레임워크는 pytorch, tensorflow, keras, onnx 등이 있습니다. 여러 프레임워크에서 직접적인 TensorRT 변환을 지원하고 있지만 다소 제약이 있으며, 대신 onnx로의 변환은 대부분의 프레임워크에서 더 나은 지원을 해주고 있으며 onnx로 변환한 모델은 다시 TensorRT로 변환이 가능합니다. 저희는 대부분의 연구/개발을 pytorch로 하기 때문에 pytorch을 onnx로 변환하고 이를 TensorRT로 추론하는 방법을 선택하였습니다. 이번 글에서는 TensorRT로 변환했을 때 속도가 .. 더보기