Home
Login

Text Generation Inference (TGI)는 대규모 텍스트 생성 모델 배포를 위한 Rust 라이브러리입니다. 고성능, 낮은 지연 시간, 효율적인 리소스 활용을 목표로 하며, 특히 프로덕션 환경에 적합합니다.

Apache-2.0Python 10.2khuggingface Last Updated: 2025-06-13

Hugging Face 텍스트 생성 추론 (TGI)

소개

Text Generation Inference (TGI)는 대규모 언어 모델 (LLM) 추론 서비스를 배포하고 제공하기 위해 특별히 설계된 툴킷입니다. Hugging Face에서 개발했으며, 생산 환경에서 LLM을 효율적으로 실행하는 데 따르는 어려움을 해결하는 것을 목표로 합니다. TGI는 고성능, 사용 편의성 및 확장성에 중점을 두어 개발자가 LLM을 애플리케이션에 쉽게 통합할 수 있도록 합니다.

핵심 기능

  • 고성능 추론:
    • 최적화된 커널: Flash Attention, Paged Attention 등의 기술을 사용하여 추론 속도를 최적화합니다.
    • 텐서 병렬 처리: 여러 GPU에 걸쳐 텐서 병렬 처리를 지원하여 대규모 모델의 추론 속도를 향상시킵니다.
    • 양자화: 모델 양자화 (예: INT8, FP16)를 지원하여 메모리 사용량을 줄이고 처리량을 높입니다.
  • 사용 편의성:
    • 간단한 배포: Docker 이미지 및 Kubernetes 배포 스크립트를 제공하여 배포 프로세스를 간소화합니다.
    • REST API: 모델과 상호 작용하기 위한 사용하기 쉬운 REST API를 제공합니다.
    • gRPC 지원: gRPC 프로토콜을 지원하여 더욱 효율적인 통신을 제공합니다.
  • 확장성:
    • 수평 확장: 더 많은 GPU 노드를 추가하여 추론 서비스를 수평으로 확장할 수 있습니다.
    • 동적 배치 처리: 여러 요청을 자동으로 일괄 처리하여 처리량을 높입니다.
  • 지원 모델:
    • Hugging Face Hub의 다양한 LLM을 지원합니다.
      • GPT-2, GPT-Neo, GPT-J
      • BLOOM
      • Llama, Llama 2
      • T5
      • 기타
    • 사용자 정의 모델을 지원합니다.
  • 고급 기능:
    • 스트리밍 출력: 텍스트 스트리밍 생성을 지원하여 사용자가 모델이 텍스트를 생성하는 즉시 결과를 볼 수 있도록 합니다.
    • 토큰 스트리밍: 토큰 단위로 출력을 스트리밍하여 더욱 세밀한 제어를 가능하게 합니다.
    • 프롬프트 템플릿: 프롬프트 템플릿을 사용하여 입력 프롬프트를 포맷하는 것을 지원합니다.
    • 보안: 인증 및 권한 부여와 같은 보안 기능을 제공합니다.
    • 모니터링: 추론 서비스의 성능을 추적하기 위한 모니터링 지표를 제공합니다.
    • 로깅: 문제 해결에 도움이 되는 자세한 로깅을 제공합니다.

아키텍처

TGI의 아키텍처는 일반적으로 다음 구성 요소를 포함합니다.

  • API 서버: 클라이언트로부터 요청을 받아 추론 엔진으로 전달합니다.
  • 추론 엔진: 모델을 로드하고 추론을 실행하는 역할을 합니다.
  • 모델 저장소: 모델 가중치 및 구성을 저장합니다.
  • 스케줄러: 사용 가능한 추론 엔진에 요청을 할당하는 역할을 합니다.

배포

TGI는 다음과 같은 다양한 방식으로 배포할 수 있습니다.

  • Docker: Docker 이미지를 제공하여 Docker를 지원하는 모든 환경에서 TGI를 쉽게 배포할 수 있습니다.
  • Kubernetes: Kubernetes 배포 스크립트를 제공하여 Kubernetes 클러스터에 TGI를 배포할 수 있습니다.
  • 클라우드 플랫폼: AWS, Azure 및 GCP와 같은 다양한 클라우드 플랫폼에 TGI를 배포할 수 있습니다.

사용 예시

다음은 TGI REST API를 사용하여 텍스트를 생성하는 예시입니다.

curl -X POST http://localhost:8080/generate \
     -H "Content-Type: application/json" \
     -d '{"inputs": "The quick brown fox jumps over the lazy dog.", "parameters": {"max_new_tokens": 50}}'

장점

  • 고성능: TGI는 고성능 LLM 추론을 제공하도록 최적화되었습니다.
  • 사용 편의성: TGI는 간단한 API 및 배포 옵션을 제공하여 사용하기 쉽습니다.
  • 확장성: TGI는 수평으로 확장하여 많은 양의 요청을 처리할 수 있습니다.
  • 유연성: TGI는 다양한 LLM 및 배포 환경을 지원합니다.
  • 커뮤니티 지원: TGI는 Hugging Face 커뮤니티에서 적극적으로 유지 관리 및 지원됩니다.

제한 사항

  • 리소스 요구 사항: LLM을 실행하려면 GPU 메모리와 같은 많은 컴퓨팅 리소스가 필요합니다.
  • 복잡성: LLM 추론 서비스를 배포하고 관리하는 것은 복잡할 수 있습니다.
  • 비용: LLM 추론 서비스를 실행하는 것은 특히 클라우드 플랫폼을 사용하는 경우 비용이 많이 들 수 있습니다.

요약

Text Generation Inference (TGI)는 개발자가 생산 환경에서 LLM 추론 서비스를 배포하고 제공하는 데 도움이 되는 강력한 도구입니다. 고성능, 사용 편의성 및 확장성을 제공하므로 LLM 기반 애플리케이션을 구축하는 데 이상적인 선택입니다.

리소스

모든 자세한 내용은 공식 웹사이트에 게시된 내용을 기준으로 합니다 (https://github.com/huggingface/text-generation-inference)