View a markdown version of this page

KV 캐싱 및 지능형 라우팅 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

KV 캐싱 및 지능형 라우팅

Amazon SageMaker HyperPod Inference는 관리형 계층형 키-값(KV) 캐싱 및 지능형 라우팅을 제공하여 대규모 언어 모델(LLM) 워크로드에 대한 추론 성능을 최적화합니다. KV 캐싱은 이전 토큰을 처리한 후 미리 계산된 키-값 벡터를 저장하여 중복 재계산을 제거합니다. 2계층 캐싱 아키텍처를 통해 지연 시간이 짧은 로컬 재사용을 위해 CPU 메모리를 사용하는 L1 캐시와 Redis 또는 관리형 계층형 스토리지를 활용하여 확장 가능한 노드 수준 캐시 공유를 지원하는 L2 캐시를 구성할 수 있습니다.

지능형 라우팅은 수신 요청을 분석하고 관련 캐시 키-값 페어가 있을 가능성이 가장 높은 추론 인스턴스로 전달합니다. 시스템은 요청을 검사하고 다음 라우팅 전략 중 하나를 기반으로 요청을 라우팅합니다.

  • prefixaware - 프롬프트 접두사가 동일한 후속 요청은 동일한 인스턴스로 라우팅됩니다.

  • kvaware - 수신 요청은 KV 캐시 적중률이 가장 높은 인스턴스로 라우팅됩니다.

  • session - 동일한 사용자 세션의 요청은 동일한 인스턴스로 라우팅됩니다.

  • roundrobin - KV 캐시의 상태를 고려하지 않고 요청을 균등하게 분산합니다.

지능형 라우팅은 Amazon SageMaker JumpStart 배포(콘솔 및 kubectl), NVMe 로컬 스토리지 배포, Amazon S3, Amazon FSx 또는 Hugging Face Hub의 배포를 포함한 모든 Amazon SageMaker HyperPod 추론 배포 방법과 함께 작동합니다. Amazon S3 FSx 모델을 제공하는 데 사용하는 배포 방법에 관계없이 캐싱 및 라우팅을 활성화할 수 있습니다.

참고

KV 캐싱 및 지능형 라우팅은 현재 vLLM 기반 추론 컨테이너만 지원합니다.

KV 캐싱 및 지능형 라우팅 구성

  1. enableL1Cache 및를 로 설정하여 KV 캐싱enableL2Cache을 활성화합니다true. 그런 다음를 redis 또는 로 설정l2CacheSpec하여 l2CacheBackend를 구성합니다tieredstorage. 를 선택하는 경우 Redis 클러스터 URLl2CacheLocalUrlredis업데이트합니다.

    kvCacheSpec: enableL1Cache: true enableL2Cache: true l2CacheSpec: l2CacheBackend: <redis | tieredstorage> l2CacheLocalUrl: <Redis cluster URL if l2CacheBackend is redis >
    참고

    Redis 클러스터가 HyperPod 클러스터와 동일한 Amazon VPC 내에 있지 않은 경우 전송 중인 데이터에 대한 암호화가 보장되지 않습니다.

    참고

    l2CacheLocalUrl tieredstorage를 선택한 경우에는 필요하지 않습니다.

  2. true에서를 로 설정하여 지능형 라우팅enabled을 활성화합니다intelligentRoutingSpec. 에서 사용할 라우팅 전략을 지정할 수 있습니다routingStrategy. 라우팅 전략이 지정되지 않은 경우 기본값은 입니다prefixaware.

    intelligentRoutingSpec: enabled: true routingStrategy: <routing strategy to use>
  3. true에서를 로 설정하여 라우터 지표 및 캐싱 지표enabled를 활성화합니다metrics. port 값은 아래의 containerPort 값과 동일해야 합니다modelInvocationPort.

    metrics: enabled: true modelMetrics: port: <port value> ... modelInvocationPort: containerPort: <port value>

KV 인식 라우팅 호환성

이 섹션의 호환성 매트릭스 및 버전 제약 조건은 kvaware 라우팅 전략에 적용됩니다. 이 kvaware 전략은 KV 캐시 적중률이 가장 높은 추론 인스턴스로 수신 요청을 전달하고 현재 /completions API를 호출 엔드포인트로 사용하는 vLLM 기반 이미지만 지원합니다.

참고

kvaware 라우팅을 사용하는 경우 배포 매니페스트/completions에서를 invocationEndpoint로 설정해야 합니다. /v1/chat/completions 엔드포인트는 kvaware 라우팅에서 지원되지 않습니다. 다른 라우팅 전략(prefixaware, session, roundrobin)은 모든 호출 엔드포인트에서 작동합니다.

지원되는 이미지:

추론 연산자 버전 Amazon EKS 추가 기능 버전 LMCache 이미지 버전 vLLM 이미지 버전
>= v3.1.3 >= v1.2.1-eksbuild.1 >= v0.4.3 >= v0.19.1
< v3.1.3 < v1.2.1-eksbuild.1 v0.3.9post2 v0.11.1
참고

지원 매트릭스에 표시된 해당 LMCache 및 vLLM 버전과 함께 추론 연산자 버전 v3.1.3 이상을 사용하는 것이 좋습니다. 최신 LMCache 버전은 텐서 병렬 처리, 향상된 장애 처리 및 캐시 작업자 등록을 지원하므로 KV 인식 라우팅의 견고성이 향상됩니다.

KV 캐시 인식 라우팅 검증

KV 인식 라우팅이 활성화된 모델을 배포한 후 다음 단계를 사용하여 라우팅이 올바르게 작동하는지 확인합니다.

작업자 등록 확인

라우터 로그를 확인하여 작업자가 라우터에 등록했는지 확인합니다.

kubectl logs -n hyperpod-inference-system <router-pod> | grep -i "register"

정상 등록은 다음을 보여줍니다.

INFO: Worker registered: lmcacheengineconfig_<hash>

라우터 로그에서 캐시 적중 확인

라우터가 KV 인식 라우팅을 사용하여 요청을 전달하는지 확인합니다.

kubectl logs -n hyperpod-inference-system <router-pod> | grep -i "kvaware\|Matched instance\|Lookup"

KV 인식 라우팅이 올바르게 작동하는 경우:

INFO: Routing request to lmcacheengineconfig_<hash> found by kvaware router

KV 인식 라우팅이 작동하지 않는 경우(라운드 로빈으로 돌아가기):

DEBUG: Matched instance url None

작업자 로그에서 LMCache 초기화 확인

작업자 포드에서 LMCache가 성공적으로 초기화되었는지 확인합니다.

kubectl logs -n <namespace> <worker-pod> | grep -i "LMCache"

정상 초기화는 다음을 보여줍니다.

LMCache INFO: LMCacheManager initialized successfully

LMCache를 초기화하지 못하면 다음이 표시됩니다.

LMCache ERROR: Failed to initialize LMCacheManager components: . System will operate in degraded mode (recompute).

Grafana 지표로 확인

지표가 활성화된 경우(metrics.enabled: true) vLLM 작업자 /metrics 엔드포인트의 다음 지표는 캐시 적중을 확인합니다. 이러한 지표는 KV 인식 라우팅이 올바르게 작동하는 경우 높은 값을 표시해야 합니다.

지표 설명
vllm:prefix_cache_hits_total / vllm:prefix_cache_queries_total GPU 접두사 캐시 적중률(비율로 계산됨)
lmcache:num_vllm_hit_tokens_total LMCache에서 제공된 토큰 수
lmcache:num_lookup_hits_total / lmcache:num_lookup_tokens_total LMCache 조회 적중률(비율로 계산됨)
lmcache:request_cache_hit_rate 요청당 캐시 적중률(히스토그램)