0Pricing
Learn AI with Python · 강의

Triton Inference Server를 활용한 고성능 제공

모델 저장소, 모델 config.pbtxt, 동시 모델 인스턴스, 동적 배칭을 다룹니다.

Triton Inference Server를 활용한 고성능 제공은(는) CoddyKit의 무료 Learn AI with Python 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn AI with Python 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

트라이톤이란 무엇인가

NVIDIA 트라이톤 추론 서버는 CPU와 GPU에서 여러 모델을 동시에 호스팅하는 프로덕션용 제공 시스템입니다. 하나의 HTTP/gRPC API 뒤에서 여러 백엔드(TensorRT, ONNX, PyTorch, TensorFlow, 파이썬)를 지원하며, 일괄 처리와 동시성 기능을 기본으로 제공합니다.

모델 저장소

트라이톤은 모델 저장소에서 모델을 로드합니다. 모델 저장소는 각 모델에 자체 폴더와 숫자로 된 버전 하위 폴더, 그리고 config.pbtxt가 있는 디렉터리입니다.

model_repository/
  resnet50/
    config.pbtxt
    1/
      model.onnx
  bert/
    config.pbtxt
    1/
      model.pt

config.pbtxt: 백엔드

config.pbtxt 파일은 트라이톤이 모델을 실행하는 방법을 설명합니다. 백엔드(또는 플랫폼)는 트라이톤이 사용할 실행 환경을 지정합니다.

name: "resnet50"
backend: "onnxruntime"
max_batch_size: 32

입력 및 출력 텐서

각 입력과 출력에 대해 이름, 데이터 형식, 텐서 차원(형상)을 선언합니다. 형상은 모델이 예상하는 값과 일치해야 합니다. 선행 배치 차원은 max_batch_size로 암시됩니다.

input [
  {
    name: "input"
    data_type: TYPE_FP32
    dims: [ 3, 224, 224 ]
  }
]
output [
  {
    name: "output"
    data_type: TYPE_FP32
    dims: [ 1000 ]
  }
]

데이터 형식

트라이톤은 클라이언트와 모델이 바이트 배치에 동의하도록 텐서 데이터 형식을 명시적으로 사용합니다:

  • TYPE_FP32 32비트 부동 소수점(이미지에 흔히 사용됩니다)
  • TYPE_FP16 반정밀도(GPU에서 더 빠릅니다)
  • TYPE_INT64 NLP용 토큰 ID
  • TYPE_INT8 양자화된 모델

동적 배치 처리의 개념

동적 배치 처리를 사용하면 트라이톤이 여러 개의 수신 요청을 하나의 더 큰 배치로 합친 후 모델을 실행할 수 있습니다. GPU는 큰 배치에서 훨씬 효율적으로 작동하므로 클라이언트 코드를 변경하지 않고도 처리량이 크게 증가합니다.

동적 배치 처리 구성

구성에서 동적 배치 처리를 활성화하고 트라이톤이 요청을 모으기 위해 기다리는 시간을 설정합니다. 작은 max_queue_delay_microseconds 값을 사용하면 지연 시간을 조금 늘리는 대신 처리량을 크게 높일 수 있습니다.

dynamic_batching {
  preferred_batch_size: [ 8, 16 ]
  max_queue_delay_microseconds: 1000
}

동시 모델 인스턴스

기본적으로 트라이톤은 모델 사본 하나(인스턴스 하나)를 실행합니다. 인스턴스 그룹을 사용하면 하나 이상의 GPU에서 여러 인스턴스를 병렬로 실행하여 서로 독립적인 요청을 동시에 처리하고 자원 활용률을 높일 수 있습니다.

instance_group [
  {
    count: 2
    kind: KIND_GPU
    gpus: [ 0 ]
  }
]

배치 처리와 동시성 비교

두 기능은 서로 다른 문제를 해결합니다:

  • 동적 배치 처리는 여러 요청을 하나의 모델 호출로 합칩니다(호출당 처리량)
  • 동시 인스턴스는 여러 모델 호출을 동시에 실행합니다(병렬성)

두 기능은 서로 보완적이므로 프로덕션 구성에서는 흔히 함께 사용합니다.

성능 분석기

성능 분석기는 합성 요청으로 서버에 부하를 주고 처리량(초당 추론 횟수)과 지연 시간 백분위수를 보고하는 트라이톤 도구입니다. 지연 시간 예산을 지키면서 처리량을 최대화하는 배치 크기와 동시성 설정을 찾는 데 사용합니다.

perf_analyzer -m resnet50 \
  --concurrency-range 1:8 \
  --percentile 95

성능 분석기 출력 읽기

이 도구는 동시성 수준을 바꿔 가며 각각의 처리량과 지연 시간을 출력합니다. 곡선이 꺾이는 지점을 찾으세요. 동시성을 더 높여도 처리량이 개선되지 않거나 95번째 백분위수 지연 시간이 한도를 초과하기 시작하는 지점입니다.

# Concurrency: 4, throughput: 1820 infer/sec, p95 latency: 9.1 ms
# Concurrency: 8, throughput: 1905 infer/sec, p95 latency: 17.4 ms

간단한 확인

트라이톤에 대한 지식을 확인해 보세요.

복습

트라이톤을 사용한 고성능 모델 제공 방법을 배웠습니다:

  • 모델 저장소: 모델별 폴더와 버전 하위 디렉터리, config.pbtxt로 구성됩니다
  • config.pbtxt는 백엔드, 입력 및 출력 텐서의 형상과 데이터 형식을 선언합니다
  • 동적 배치 처리는 처리량을 높이고, 동시 인스턴스는 병렬성을 추가합니다
  • 성능 분석기는 처리량과 지연 시간을 비교해 설정을 조정할 수 있도록 성능을 측정합니다

자주 묻는 질문

“Triton Inference Server를 활용한 고성능 제공” 강의는 무료인가요?

네 — “Triton Inference Server를 활용한 고성능 제공” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn AI with Python 강의 전체를 잠금 해제할 수 있습니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

“Triton Inference Server를 활용한 고성능 제공”에서 뭘 배우나요?

모델 저장소, 모델 config.pbtxt, 동시 모델 인스턴스, 동적 배칭을 다룹니다. 브라우저에서 직접 실행하는 실습 코드로 Learn AI with Python을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Learn AI with Python을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Learn AI with Python은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Triton Inference Server를 활용한 고성능 제공” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Learn AI with Python 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Learn AI with Python 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Docker로 머신러닝 모델 컨테이너화하기
  2. 클라우드 배포: AWS SageMaker
  3. Triton Inference Server를 활용한 고성능 제공
  4. 모델 엔드포인트 확장과 자동 확장
← Learn AI with Python(으)로 돌아가기