용어집

TensorRT

NVIDIA GPU에서 더 빠르고 효율적인 추론을 위해 TensorRT 으로 딥 러닝 모델을 최적화하세요. YOLO 및 AI 애플리케이션으로 실시간 성능을 달성하세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

TensorRT 는 고성능 딥 러닝 추론을 위한 소프트웨어 개발 키트(SDK)입니다. NVIDIA 에서 개발했으며, 특히 NVIDIA GPU에서 프로덕션 환경에 배포할 수 있도록 학습된 신경망을 최적화할 수 있도록 지원합니다. PyTorch 또는 TensorFlow 과 같은 프레임워크에서 학습된 모델을 가져와 실시간 애플리케이션에 필수적인 더 빠르고 효율적인 추론을 위해 최적화하도록 설계되었습니다.

TensorRT 란 무엇인가요?

TensorRT 은 기본적으로 추론 최적화 도구이자 런타임 엔진입니다. 학습된 딥 러닝 모델을 가져와 추론 단계에서 성능을 향상시키기 위해 다양한 최적화를 적용합니다. 이 프로세스에는 그래프 최적화, 레이어 융합, 양자화, 커널 자동 튜닝과 같은 기술이 포함됩니다. 모델을 최적화함으로써 TensorRT 지연 시간을 줄이고 처리량을 증가시켜 빠른 응답 시간이 요구되는 애플리케이션에 복잡한 AI 모델을 배포할 수 있습니다.

TensorRT 은 트레이닝 프레임워크가 아니라, 모델이 다음과 같은 프레임워크를 사용하여 트레이닝된 후에 사용됩니다. PyTorch 또는 TensorFlow. 특히 배포 단계에 초점을 맞춰 모델이 대상 하드웨어(주로 NVIDIA GPU)에서 가능한 한 빠르고 효율적으로 실행되도록 합니다. 이는 추론 속도와 리소스 활용이 중요한 엣지 디바이스나 데이터 센터에서 실행되는 애플리케이션에 특히 유용합니다.

TensorRT 작동 방식

TensorRT 의 최적화 프로세스에는 추론 성능을 향상시키기 위한 몇 가지 주요 단계가 포함되어 있습니다:

  • 그래프 최적화: TensorRT 신경망 그래프를 분석하고 재구성하여 중복 연산을 제거하고 실행 흐름을 간소화합니다. 여기에는 불필요한 레이어나 최종 출력에 크게 기여하지 않는 연산을 제거하는 것이 포함될 수 있습니다.
  • 레이어 퓨전: 여러 개의 호환 가능한 레이어를 단일 레이어로 결합하여 오버헤드를 줄이고 계산 효율성을 개선합니다. 예를 들어 연속적인 컨볼루션, 바이어스, ReLU 레이어를 단일 작업으로 융합할 수 있습니다.
  • 정량화: TensorRT 는 모델의 가중치 및 활성화의 정밀도를 부동 소수점(FP32 또는 FP16)에서 정수 형식(INT8 이하)으로 줄일 수 있습니다. 이렇게 하면 메모리 대역폭 요구량이 줄어들고 특히 정수 연산에 최적화된 하드웨어에서 계산 속도가 빨라집니다. 정량화는 정확도를 약간 떨어뜨릴 수 있지만, TensorRT 은 이러한 영향을 최소화하면서 속도를 크게 향상시키는 것을 목표로 합니다.
  • 커널 자동 튜닝: TensorRT 은 대상 GPU 아키텍처를 기반으로 각 계층 작업에 대해 가장 효율적인 구현(커널)을 선택합니다. 이 자동 튜닝 프로세스는 모델이 기본 하드웨어 기능을 최대한 활용하도록 보장합니다.

이러한 최적화를 종합하면 최적화되지 않은 원래 모델을 실행할 때보다 추론 속도와 효율성이 크게 향상됩니다.

애플리케이션 TensorRT

TensorRT 는 실시간 또는 실시간에 가까운 추론이 필수적인 다양한 애플리케이션에서 널리 사용됩니다. 구체적인 두 가지 예는 다음과 같습니다:

  • 자율주행 차량: 자율주행차에서는 안전과 반응성을 위해 신속한 물체 감지 및 장면 이해가 무엇보다 중요합니다. Ultralytics YOLO 모델을 TensorRT 로 최적화하면 NVIDIA DRIVE 플랫폼에서 필요한 추론 속도를 달성하여 센서 데이터를 실시간으로 처리함으로써 내비게이션 및 장애물 회피를 위한 신속한 의사 결정을 내릴 수 있습니다.
  • 실시간 비디오 분석: 보안 감시 또는 교통 모니터링과 같은 애플리케이션의 경우, TensorRT 을 사용하면 지연 시간을 최소화하면서 객체 감지, 추적 및 분석을 위한 고해상도 비디오 스트림을 처리할 수 있습니다. 이를 통해 보안 경보 시스템의 침입 감지 또는 스마트 시티의 교통 흐름 분석과 같이 감지된 이벤트를 기반으로 즉각적인 경고 및 조치를 취할 수 있습니다.

TensorRT 는 의료 이미지 분석, 로봇 공학, 클라우드 기반 추론 서비스 등 짧은 지연 시간과 높은 처리량이 중요한 다른 분야에서도 유용합니다.

TensorRT 그리고 Ultralytics YOLO

Ultralytics YOLO 모델을 내보내고 최적화하여 NVIDIA 장치에 배포할 수 있도록 TensorRT 을 사용할 수 있습니다. Ultralytics YOLO 내보내기 문서에는 YOLO 모델을 TensorRT 형식으로 변환하는 방법에 대한 자세한 지침이 나와 있습니다. 이를 통해 사용자는 TensorRT 의 최적화 기능을 활용하여 YOLO 모델의 추론 속도를 크게 높일 수 있습니다.

NVIDIA Jetson Edge 장치에YOLOv8 를 배포하는 사용자의 경우, TensorRT 최적화는 실시간 성능을 달성하기 위한 중요한 단계입니다. 또한 NVIDIA Jetson의 DeepStream은 고성능 비디오 분석 애플리케이션을 위해 TensorRT 을 활용합니다.

사용의 이점 TensorRT

TensorRT 을 활용하면 딥러닝 모델을 배포할 때 몇 가지 주요 이점을 얻을 수 있습니다:

  • 추론 속도 향상: 최적화를 통해 추론 지연 시간을 크게 줄이고 처리량을 증가시켜 실시간 성능을 구현합니다.
  • 지연 시간 단축: 지연 시간 단축은 자율 시스템 및 실시간 분석과 같이 즉각적인 응답이 필요한 애플리케이션에 매우 중요합니다.
  • 최적화된 리소스 활용: 정량화 및 그래프 최적화를 통해 메모리 사용량과 계산 요구 사항이 줄어들어 리소스가 제한된 디바이스에서 모델을 보다 효율적으로 실행할 수 있습니다.
  • 하드웨어 가속: TensorRT 은 NVIDIA GPU의 활용도를 극대화하여 NVIDIA 하드웨어에서 최적의 성능을 보장하도록 설계되었습니다.
  • 배포 준비: 프로덕션 준비가 완료된 런타임 환경을 제공하여 학습된 모델에서 애플리케이션에 이르는 배포 프로세스를 간소화합니다.

요약하면, TensorRT 은 고성능 딥 러닝 추론 애플리케이션을 배포하려는 개발자에게 특히 NVIDIA GPU를 사용하는 경우 필수적인 도구입니다. TensorRT 은 속도와 효율성을 위해 모델을 최적화함으로써 연구와 실제 배포 사이의 격차를 해소하여 다양한 산업 분야에서 고급 AI를 접근 가능하고 실용적으로 사용할 수 있도록 지원합니다.

모두 보기