이 페이지에서는 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
버전은 나머지를 수신합니다. llm-v2
버전의 트래픽 가중치를 점진적으로 늘려 LoRA 어댑터 업데이트 출시를 완료합니다.