이 튜토리얼에서는 Google Kubernetes Engine(GKE)에서 Tensor Processing Unit(TPU)을 사용하여 Gemma 대규모 언어 모델(LLM)을 서빙하는 방법을 보여줍니다. JetStream 및 MaxText가 포함된 사전 빌드된 컨테이너를 GKE에 배포합니다. 또한 런타임에 Cloud Storage에서 Gemma 7B 가중치를 로드하도록 GKE를 구성합니다.
이 튜토리얼은 LLM을 서빙하는 데 Kubernetes 컨테이너 조정 기능을 사용하려고 하는 머신러닝(ML) 엔지니어, 플랫폼 관리자 및 운영자, 데이터 및 AI 전문가를 대상으로 합니다.Google Cloud 콘텐츠에서 참조하는 일반적인 역할 및 예시 태스크에 대해 자세히 알아보려면 일반 GKE 사용자 역할 및 태스크를 참조하세요.
이 페이지를 읽기 전 다음 내용을 숙지해야 합니다.
- Autopilot 모드 및 Standard 모드
- Cloud TPU 시스템 아키텍처를 사용하는 현재 TPU 버전 가용성
- GKE의 TPU
배경
이 섹션에서는 이 튜토리얼에서 사용되는 주요 기술을 설명합니다.
Gemma
Gemma는 오픈 라이선스로 출시된 공개적으로 사용 가능한 가벼운 생성형 인공지능(AI) 모델의 집합입니다. 이러한 AI 모델은 애플리케이션, 하드웨어, 휴대기기 또는 호스팅된 서비스에서 실행할 수 있습니다. 텍스트 생성에 Gemma 모델을 사용할 수 있지만 특수한 태스크를 위해 이러한 모델을 조정할 수도 있습니다.
자세한 내용은 Gemma 문서를 참조하세요.
TPU
TPU는 Google이 TensorFlow, PyTorch 및 JAX와 같은 프레임워크를 활용하여 빌드된 머신러닝 및 AI 모델을 가속화하는 데 사용하기 위해 커스텀 개발한 ASIC(application-specific integrated circuits)입니다.
이 튜토리얼에서는 Gemma 7B 모델 서빙을 설명합니다. GKE는 지연 시간이 짧은 프롬프트를 제공하기 위한 모델 요구사항에 따라 TPU 토폴로지가 구성된 단일 호스트 TPUv5e 노드에 모델을 배포합니다.
JetStream
JetStream은 Google이 개발한 오픈소스 추론 서빙 프레임워크입니다. JetStream은 TPU 및 GPU에서 고성능, 높은 처리량, 메모리 최적화된 추론을 가능하게 합니다. 연속 일괄 처리 및 양자화 기법을 비롯한 고급 성능 최적화를 제공하여 LLM 배포를 용이하게 합니다. JetStream은 최적의 성능을 달성하기 위해 PyTorch/XLA 및 JAX TPU 제공을 지원합니다.
이러한 최적화에 대한 자세한 내용은 JetStream PyTorch 및 JetStream MaxText 프로젝트 저장소를 참조하세요.
MaxText
MaxText는 Flax, Orbax 및 Optax와 같은 오픈소스 JAX 라이브러리를 기반으로 구축된 성능이 뛰어나고 확장 가능하며 적응력이 뛰어난 JAX LLM 구현입니다. MaxText의 디코더 전용 LLM 구현은 Python으로 작성됩니다. XLA 컴파일러를 많이 활용하여 커스텀 커널을 빌드할 필요 없이 고성능을 실현합니다.
MaxText에서 지원하는 최신 모델 및 매개변수 크기에 관한 자세한 내용은 MaxtText 프로젝트 저장소를 참조하세요.