> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baeum.ai.kr/llms.txt
> Use this file to discover all available pages before exploring further.

# Triton Inference Server

NVIDIA에서 개발한 **멀티 프레임워크 모델 추론 서버**입니다. PyTorch, TensorFlow, ONNX, TensorRT 등 다양한 프레임워크의 모델을 하나의 서버에서 동시에 서빙합니다.

## 어디에 쓰이나요?

* **멀티 모델 서빙**: 여러 머신러닝/DL 모델을 하나의 서버에서 동시 운영 (분류 모델, 검출 모델, 임베딩 모델 등)
* **GPU 최적화**: Dynamic Batching, Concurrent Model Execution으로 GPU 활용률 극대화
* **모델 앙상블**: 여러 모델을 파이프라인으로 연결 (전처리 → 추론 → 후처리)
* **프로덕션 배포**: 높은 처리량과 낮은 지연 시간이 필요한 실서비스 환경

vLLM이 LLM 텍스트 생성에 특화되어 있다면, Triton은 **비전, NLP, 추천 등 모든 종류의 머신러닝 모델**을 서빙하는 범용 추론 서버입니다.

<Warning>
  **NVIDIA GPU가 필수**입니다. GPU가 없는 환경에서는 실행되지 않습니다.
</Warning>

## Docker Compose

```yaml docker-compose.yml theme={null}
services:
  triton:
    image: nvcr.io/nvidia/tritonserver:24.01-py3
    container_name: triton
    restart: unless-stopped
    ports:
      - "8000:8000"
      - "8001:8001"
      - "8002:8002"
    volumes:
      - ./model_repository:/models
    command: tritonserver --model-repository=/models
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

```

<Note>
  `model_repository` 디렉토리에 모델 파일을 배치해야 합니다. 디렉토리 구조는 `모델명/버전/model.onnx` 형식입니다.
</Note>

## 실행

```bash theme={null}
# 모델 저장소 디렉토리 생성
mkdir -p model_repository

docker compose up -d
```

## 접속 확인

```bash theme={null}
# 헬스 체크
curl http://localhost:8000/v2/health/ready

# 로드된 모델 목록
curl http://localhost:8000/v2/models
```

## 기본 정보

| 항목      | 값                 |
| ------- | ----------------- |
| HTTP 포트 | 8000              |
| gRPC 포트 | 8001              |
| 메트릭 포트  | 8002 (Prometheus) |
| GPU     | NVIDIA GPU 필수     |

## 라이선스

| 구분     | 내용                       |
| ------ | ------------------------ |
| 라이선스   | BSD 3-Clause             |
| 개인 사용  | 자유롭게 사용 가능               |
| 상업적 사용 | 자유롭게 사용 가능, 수정/재배포 제한 없음 |

## 참고

* [Triton 공식 문서](https://docs.nvidia.com/deeplearning/triton-inference-server/)
* [Triton GitHub](https://github.com/triton-inference-server/server)

## 설치 점검 목록

* `docker compose up -d` 후 `docker compose ps`로 컨테이너 상태를 확인했습니다.
* 기본 포트/계정/비밀번호를 문서대로 점검했습니다.
* 운영용으로 사용할 때 기본 비밀번호/시크릿 값을 변경했습니다.
* 장애 분석을 위해 `docker compose logs -f` 확인 방법을 숙지했습니다.

## 문제 해결 가이드

* 컨테이너가 실행되지 않으면 `docker compose logs -f`로 오류 원인을 먼저 확인합니다.
* 포트 충돌이 나면 기존 프로세스를 종료하거나 포트 매핑 값을 변경합니다.
* 이미지 pull 실패 시 네트워크 연결 및 레지스트리 접근 권한을 확인합니다.
* 설정 변경 후 문제가 지속되면 `docker compose down` 후 다시 `up -d`로 재기동합니다.

## 관련 문서

<CardGroup cols={2}>
  <Card title="Setup 홈" icon="house" href="/setup/index">
    운영체제별 설치 흐름을 다시 확인합니다.
  </Card>

  <Card title="다음: BentoML" icon="arrow-right" href="/stacks/bentoml">
    다음 설치 단계를 이어서 진행합니다.
  </Card>
</CardGroup>
