언어모델 서빙 시 알면 좋은 개념들: Triton Inference Server, HTTP, Rest API, gRPC

jihyelee·2024년 9월 15일
1

up-to-date-ai

목록 보기
8/9

들어가며

  • 언어모델을 서빙하여 추론 서버를 구성할 때 알아두면 좋은 개념들
  • 이 글은 Claude 3.5 Sonnet + Perplexity Pro의 초안을 토대로 작성자의 cross-check 및 내용 보충을 통해 작성된 글임을 밝힙니다.

Triton Inference Server

  • NVIDIA에서 제공하는 AI 모델 배포 및 실행을 위한 오픈소스 추론 서버

주요 특징

  • 다양한 프레임워크 지원 (TensorFlow, PyTorch, TensorRT, ONNX 등)
  • GPU, CPU 기반 추론 지원 및 동적 배칭, 동시 실행 등 고성능 추론 기능 제공
    • 다른 프레임워크에서 나온 여러 개의 모델 또한 동시에 실행 가능
    • 이밖에도 모델 분석기를 사용한 최적의 모델 구성, 모델 앙상블, 스트리밍 오디오/비디오 입력 제공
  • Kubernetes, Kubeflow, KServe, Prometheus, HTTP/gRPC 지원
  • 클라우드, 온프레미스, 엣지, 임베디드 환경 지원

HTTP (Hypertext Transfer Protocol)

  • 클라이언트-서버 모델을 따르는 애플리케이션 레이어 프로토콜

주요 특징

  • 요청-응답 구조 (request-response)
  • 다양한 메서드 지원 (GET, POST, PUT, DELETE 등)
  • 상태 코드를 통한 응답 상태 전달
  • 헤더를 통한 메타데이터 전송
    • e.g. 응답 형식에 대한 정보
  • HTTP를 직접 사용하기도 하지만, REST API나 gRPC 같은 상위 수준의 프로토콜을 사용하는 경우도 많음

REST (Representational State Transfer) API

  • HTTP 프로토콜을 기반으로 하는 웹 서비스 아키텍처

주요 특징

  • HTTP 메서드(GET, POST 등)를 사용해 리소스에 대한 작업 정의
  • JSON, XML 등의 데이터 포맷 사용
  • 상태를 저장하지 않는 무상태(Stateless) 통신
  • 캐시 가능한 응답

gRPC

  • Google에서 개발한 고성능 RPC(Remote Procedure Call) 프레임워크

주요 특징

  • 클라이언트 어플리케이션과 서버 어플리케이션의 위치가 다르더라도 로컬 객체를 호출하듯 직접 호출 가능
    • a client application can directly call a method on a server application on a different machine as if it were a local object
  • Protocol Buffers를 사용한 효율적인 데이터 직렬화
  • HTTP 2 기반으로 높은 성능 제공
  • 양방향 스트리밍 지원
    • 데이터 연결이 단방향(일대일)이 아니라는 의미
    • 클라이언트가 하나 또는 여러 개의 API 요청을 서버에 보낼 수 있으며, 서버에서 하나 또는 여러 개의 응답이 발생할 수 있음
    • Server streaming(일대다), Client streaming(다대일), Bidirectional streaming(다대다)
  • 다양한 프로그래밍 언어 지원 (e.g. C++, Ruby, Go, Java, Python, ..)
  • 서버-클라이언트 코드 자동 생성

gRPC vs. REST

  • API 설계에 사용되는 2가지 방법
  • API란, 두 소프트웨어 구성 요소가 서로 통신할 수 있게 해주는 정해진 약속 (메커니즘)
  • AWS에서 너무 잘 정리된 블로그가 있어서 이걸 읽으면 굉장히 큰 도움이 된다.

참고 링크

  • NVIDIA Triton Inference Server (link)
  • HTTP request methods (link)
  • REST API 설명 블로그 (link)
    • HTTP, REST API를 잘 모른다면 설명이 깔끔해서 추천!
  • gRPC documentation (link)
profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher at LG CNS AI Lab

0개의 댓글