이 페이지에서는 GKE 추론 게이트웨이에 새 버전의 추론 인프라를 점진적으로 배포하는 증분 출시 작업을 실행하는 방법을 보여줍니다. 이 게이트웨이를 사용하면 추론 인프라를 안전하고 제어된 방식으로 업데이트할 수 있습니다. 최소한의 서비스 중단으로 노드, 기본 모델, LoRA 어댑터를 업데이트할 수 있습니다. 또한 이 페이지에서는 안정적인 배포를 위해 트래픽 분할 및 롤백에 관한 안내도 제공합니다.
이 페이지는 GKE 추론 게이트웨이의 출시 작업을 실행하려는 GKE ID 및 계정 관리자와 개발자를 대상으로 합니다.
다음 사용 사례가 지원됩니다.
노드 출시 업데이트
노드 업데이트 출시는 추론 워크로드를 새 노드 하드웨어 또는 가속기 구성으로 안전하게 이전합니다. 이 프로세스는 모델 서비스를 중단하지 않고 제어된 방식으로 진행됩니다. 노드 업데이트 출시를 사용하여 하드웨어 업그레이드, 드라이버 업데이트 또는 보안 문제 해결 중에 서비스 중단을 최소화하세요.
새
InferencePool
만들기: 업데이트된 노드 또는 하드웨어 사양으로 구성된InferencePool
를 배포합니다.HTTPRoute
를 사용하여 트래픽 분할: 기존InferencePool
리소스와 새InferencePool
리소스 간에 트래픽을 분산하도록HTTPRoute
를 구성합니다.backendRefs
의weight
필드를 사용하여 새 노드로 전달되는 트래픽 비율을 관리합니다.일관된
InferenceModel
유지: 기존InferenceModel
구성을 유지하여 두 노드 구성에서 동일한 모델 동작을 보장합니다.원래 리소스 유지: 필요한 경우 롤백을 사용 설정할 수 있도록 출시 중에 원래
InferencePool
및 노드를 활성 상태로 유지합니다.
예를 들어 llm-new
라는 새 InferencePool
를 만들 수 있습니다. 기존 llm
InferencePool
와 동일한 모델 구성으로 이 풀을 구성합니다. 클러스터 내의 새 노드 세트에 풀을 배포합니다. HTTPRoute
객체를 사용하여 원래 llm
와 새 llm-new
InferencePool
간에 트래픽을 분할합니다. 이 기법을 사용하면 모델 노드를 점진적으로 업데이트할 수 있습니다.
다음 다이어그램은 GKE 추론 게이트웨이가 노드 업데이트 출시를 실행하는 방법을 보여줍니다.

노드 업데이트 출시를 실행하려면 다음 단계를 따르세요.
다음 샘플 매니페스트를
routes-to-llm.yaml
로 저장합니다.apiVersion: gateway.networking.k8s.io/v1 kind: `HTTPRoute` metadata: name: routes-to-llm spec: parentRefs: - name: my-inference-gateway rules: backendRefs: - name: llm kind: InferencePool weight: 90 - name: llm-new kind: InferencePool weight: 10
샘플 매니페스트를 클러스터에 적용합니다.
kubectl apply -f routes-to-llm.yaml
원래 llm
InferencePool
는 대부분의 트래픽을 수신하고 llm-new
InferencePool
는 나머지 트래픽을 수신합니다. llm-new
InferencePool
의 트래픽 가중치를 점진적으로 늘려 노드 업데이트 출시를 완료합니다.
기본 모델 출시
기본 모델 업데이트는 기존 LoRA 어댑터와의 호환성을 유지하면서 새 기본 LLM에 단계적으로 출시됩니다. 기본 모델 업데이트 출시를 사용하여 개선된 모델 아키텍처로 업그레이드하거나 모델별 문제를 해결할 수 있습니다.
기본 모델 업데이트를 출시하려면 다음 단계를 따르세요.
- 새 인프라 배포: 선택한 새 기본 모델로 구성된 새 노드와 새
InferencePool
를 만듭니다. - 트래픽 분산 구성:
HTTPRoute
를 사용하여 기존InferencePool
(이전 기본 모델 사용)와 새InferencePool
(새 기본 모델 사용) 간에 트래픽을 분할합니다.backendRefs weight
필드는 각 풀에 할당된 트래픽 비율을 제어합니다. InferenceModel
무결성 유지:InferenceModel
구성을 변경하지 않습니다. 이렇게 하면 시스템이 두 기본 모델 버전 모두에 동일한 LoRA 어댑터를 일관되게 적용합니다.- 롤백 기능 보존: 출시 중에 원래 노드와
InferencePool
를 유지하여 필요한 경우 롤백을 쉽게 할 수 있습니다.
llm-pool-version-2
라는 새 InferencePool
를 만듭니다. 이 풀은 새 노드 세트에 기본 모델의 새 버전을 배포합니다. 제공된 예와 같이 HTTPRoute
를 구성하면 원래 llm-pool
와 llm-pool-version-2
간에 트래픽을 점진적으로 분할할 수 있습니다. 이렇게 하면 클러스터에서 기본 모델 업데이트를 제어할 수 있습니다.
기본 모델 업데이트 출시를 실행하려면 다음 단계를 따르세요.
다음 샘플 매니페스트를
routes-to-llm.yaml
로 저장합니다.apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: routes-to-llm spec: parentRefs: - name: my-inference-gateway rules: backendRefs: - name: llm-pool kind: InferencePool weight: 90 - name: llm-pool-version-2 kind: InferencePool weight: 10
샘플 매니페스트를 클러스터에 적용합니다.
kubectl apply -f routes-to-llm.yaml
원래 llm-pool
InferencePool
는 대부분의 트래픽을 수신하고 llm-pool-version-2
InferencePool
는 나머지를 수신합니다. llm-pool-version-2
InferencePool
의 트래픽 가중치를 점진적으로 늘려 기본 모델 업데이트 출시를 완료합니다.
LoRA 어댑터 업데이트 출시
LoRA 어댑터 업데이트 출시를 통해 기본 기본 모델이나 인프라를 변경하지 않고도 미세 조정된 모델의 새 버전을 단계적으로 배포할 수 있습니다. LoRA 어댑터 업데이트 출시를 사용하여 LoRA 어댑터의 개선사항, 버그 수정사항 또는 새로운 기능을 테스트합니다.
LoRA 어댑터를 업데이트하려면 다음 단계를 따르세요.
어댑터 사용 가능: 모델 서버에서 새 LoRA 어댑터 버전을 사용할 수 있는지 확인합니다. 자세한 내용은 어댑터 출시를 참고하세요.
InferenceModel
구성 수정: 기존InferenceModel
구성에서 LoRA 어댑터의 여러 버전을 정의합니다. 각 버전에 고유한modelName
를 할당합니다 (예:llm-v1
,llm-v2
).트래픽 분산:
InferenceModel
사양의weight
필드를 사용하여 다양한 LoRA 어댑터 버전 간의 트래픽 분산을 제어합니다.일관된
poolRef
유지: 모든 LoRA 어댑터 버전이 동일한InferencePool
를 참조하는지 확인합니다. 이렇게 하면 노드 또는InferencePool
재배포가 방지됩니다. 롤백을 사용 설정하려면InferenceModel
구성에서 이전 LoRA 어댑터 버전을 유지합니다.
다음 예는 두 가지 LoRA 어댑터 버전인 llm-v1
및 llm-v2
를 보여줍니다.
두 버전 모두 동일한 기본 모델을 사용합니다. 동일한 InferenceModel
내에 llm-v1
및 llm-v2
를 정의합니다. 가중치를 할당하여 트래픽을 llm-v1
에서 llm-v2
로 점진적으로 전환합니다. 이 컨트롤을 사용하면 노드 또는 InferencePool
구성을 변경하지 않고도 제어된 출시가 가능합니다.
LoRA 어댑터 업데이트를 출시하려면 다음 명령어를 실행합니다.
다음 샘플 매니페스트를
inferencemodel-sample.yaml
로 저장합니다.apiVersion: inference.networking.x-k8s.io/v1alpha2 kind: InferenceModel metadata: name: inferencemodel-sample spec: versions: - modelName: llm-v1 criticality: Critical weight: 90 poolRef: name: llm-pool - modelName: llm-v2 criticality: Critical weight: 10 poolRef: name: llm-pool
샘플 매니페스트를 클러스터에 적용합니다.
kubectl apply -f inferencemodel-sample.yaml
llm-v1
버전은 대부분의 트래픽을 수신하고 llm-v2
버전은 나머지 트래픽을 수신합니다. LoRA 어댑터 업데이트 출시를 완료하려면 llm-v2
버전의 트래픽 가중치를 점진적으로 늘립니다.