0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Hướng Dẫn Sử Dụng Triton Inference Server Chi Tiết

Đăng vào 3 tuần trước

• 3 phút đọc

Tổng Quan Về Triton Inference Server

Trong bài viết trước, chúng ta đã tìm hiểu khái niệm và kiến trúc của Triton Inference Server. Bài viết này sẽ cung cấp hướng dẫn chi tiết về cách cài đặt và sử dụng Triton Inference Server.

Triton Inference Server Là Gì?

Triton Inference Server là phần mềm phục vụ suy luận AI nguồn mở, có khả năng triển khai các mô hình từ nhiều framework học sâu khác nhau như TensorRT, TensorFlow, PyTorch, ONNX và OpenVINO. Triton hỗ trợ nhiều cách triển khai khác nhau, bao gồm trên cloud, trung tâm dữ liệu và thiết bị nhúng, đồng thời tối ưu hóa hiệu suất cho nhiều loại truy vấn như real-time và batched. Ngoài ra, Triton còn dễ dàng tích hợp với các công cụ như Kubernetes và Prometheus.

Các Tính Năng Nổi Bật

  • Hỗ trợ nhiều framework học sâu
  • Hỗ trợ batch động
  • Thực thi mô hình đồng thời
  • API backend cho phép thêm các backend tùy chỉnh
  • Mô hình kết hợp (ensemble)
  • Giao thức HTTP/REST và gRPC cho suy luận
  • Các chỉ số như throughput và latency

Các Kiến Thức Cơ Bản về Triton

  1. Model Repository: Cấu trúc thư mục nơi lưu trữ các mô hình.
  2. Model Configuration: Cấu hình và tùy chọn cho các mô hình.
  3. Model Management: Quản lý và theo dõi các mô hình đã triển khai.

Công Cụ Triton

  • Triton Performance Analyzer: Công cụ CLI giúp tối ưu hóa hiệu suất của các mô hình.
  • Triton Model Analyzer: Công cụ sử dụng Performance Analyzer để xác định cấu hình tối ưu cho mô hình, giúp tăng cường hiệu suất.

Hướng Dẫn Cài Đặt Triton Inference Server

Cài Đặt

Cách đơn giản nhất để cài đặt Triton là sử dụng hình ảnh Docker đã được xây dựng sẵn từ NVIDIA GPU Cloud (NGC). Bài viết này hướng dẫn các bước cài đặt cơ bản bao gồm:

  1. Tạo Model Repository.
  2. Khởi động Triton.
  3. Gửi yêu cầu suy luận.

Tạo Model Repository

Model repository là thư mục chứa các mô hình bạn muốn Triton phục vụ. Ví dụ:

Copy
model_repository
├── ensemble_model
│   ├── 1
│   └── config.pbtxt
├── resnet34
│   ├── 1
│   │   └── model.pt
│   └── config.pbtxt
└── unet34
    ├── 1
    │   └── model.pt
    └── config.pbtxt

Khởi Động Triton

Triton được tối ưu hóa để chạy trên GPU, nhưng cũng có thể chạy trên hệ thống chỉ có CPU. Để khởi động Triton trên GPU, sử dụng lệnh:

Copy
docker run --gpus all --rm -p8000:8000 -p8001:8001 -p8002:8002 -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:22.12-py3 tritonserver --model-repository=/models

Đối với hệ thống CPU, lệnh sẽ không có flag --gpus:

Copy
docker run --rm -p8000:8000 -p8001:8001 -p8002:8002 -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:<xx.yy>-py3 tritonserver --model-repository=/models

Xác Minh Triton Đã Chạy

Sử dụng endpoint sẵn sàng của Triton để kiểm tra xem máy chủ đã sẵn sàng cho suy luận chưa:

Copy
curl -v localhost:8000/v2/health/ready

Kiểm Tra Log của Triton

Sau khi chạy lệnh docker run, bạn có thể kiểm tra các log của container để biết trạng thái các mô hình đã sẵn sàng cho suy luận hay chưa.

Gửi Yêu Cầu Suy Luận

Gửi yêu cầu vào Triton Server qua các ứng dụng khách.

Hướng Dẫn từ Triton Documentation

Copy
docker pull nvcr.io/nvidia/tritonserver:<xx.yy>-py3-sdk

Từ bên trong Docker Client Image, chạy ứng dụng client để gửi yêu cầu.

Cài Đặt Python Client

Cài đặt thư viện cần thiết:

Copy
pip install tritonclient[all]

Sử dụng Python để gửi yêu cầu đến Triton Server:

Copy
client = grpcclient.InferenceServerClient(url="localhost:8001")

Kết hợp với các bước xử lý dữ liệu đầu vào phù hợp với cấu hình của mô hình trong config.pbtxt.

Triton Model Analyzer (Tùy Chọn)

Triton Model Analyzer sử dụng Performance Analyzer để tối ưu hóa hiệu suất suy luận. Hướng dẫn xây dựng và sử dụng Model Analyzer đã được nêu rõ để bạn có thể tự thực hiện.

Tổng Kết

Bài viết này đã cung cấp cái nhìn tổng quan về Triton Inference Server và cách thức cài đặt, sử dụng cơ bản. Để tìm hiểu thêm, hãy tham khảo Triton Documentation.

Tài Liệu Tham Khảo

  1. Triton Inference Server Documentation
  2. Triton Inference Server Tutorial Github
  3. Model Analyzer GitHub
  4. Triton Client Libraries
    source: viblo
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào