프롬프트 캐싱으로 AI 효율성을 높이세요! 이 강력한 기술을 사용하여 대기 시간을 줄이고, 비용을 절감하며, AI 앱을 확장하는 방법을 알아보세요.
프롬프트 캐싱은 다음과 같은 배포에 사용되는 특수 최적화 기술입니다. 대규모 언어 모델(LLM)을 배포하는 데 사용되는 특수 최적화 기법으로 추론 지연 시간을 크게 줄이고 계산 비용을 크게 줄여줍니다. 생성형 AI의 맥락에서 프롬프트를 처리하려면 텍스트를 숫자 표현으로 변환하고 모든 토큰 간의 관계를 계산하는 주의 메커니즘을 사용합니다. 프롬프트의 상당 부분이 프롬프트의 상당 부분(예: 긴 시스템 명령어 또는 예제 집합)이 여러 요청에 걸쳐 정적으로 유지되는 경우, 프롬프트 캐싱을 사용하면 시스템에서 해당 정적 상태의 중간 수학적 상태(특히 키-값 쌍)를 저장할 수 있습니다. 텍스트를 저장할 수 있습니다. 새로운 쿼리마다 이러한 상태를 다시 계산하는 대신, 추론 엔진은 추론 엔진은 메모리에서 해당 상태를 검색합니다, 모델이 입력의 새롭고 동적인 부분에만 처리 능력을 집중할 수 있도록 합니다.
프롬프트 캐싱의 핵심 메커니즘은 효율적인 컨텍스트 창을 효율적으로 관리하는 것입니다. LLM이 입력을 처리할 때 입력을 처리할 때, 그 시점까지의 텍스트에 대한 모델의 이해를 나타내는 "KV 캐시"(키-값 캐시)를 생성합니다. 그 시점까지. 프롬프트 캐시는 프롬프트의 초기 segment (접두사)를 재사용 가능한 자산으로 처리합니다.
프롬프트 캐싱은 개발자가 머신 러닝 애플리케이션을 빌드하고 확장하는 방식을 변화시키고 있습니다. 머신 러닝(ML) 애플리케이션을 구축하는 방식을 특히 텍스트 처리량이 많은 애플리케이션을 구축하는 방식을 변화시키고 있습니다.
프롬프트 캐싱은 LLM 추론 서버 내부에 있지만, 데이터 구조를 이해하면 개념을 명확히 이해하는 데 도움이 됩니다. '캐시'는 기본적으로 주의 상태를 나타내는 텐서(다차원 배열)를 저장합니다.
다음 Python 스니펫을 사용하여 torch 는 키-값 캐시 tensor 형태와 개념을 보여줍니다,
즉, 프롬프트 캐싱 중에 저장되고 재사용되는 것입니다:
import torch
# Simulate a KV Cache tensor for a transformer model
# Shape: (Batch_Size, Num_Heads, Sequence_Length, Head_Dim)
batch_size, num_heads, seq_len, head_dim = 1, 32, 1024, 128
# Create a random tensor representing the pre-computed state of a long prompt
kv_cache_state = torch.randn(batch_size, num_heads, seq_len, head_dim)
print(f"Cached state shape: {kv_cache_state.shape}")
print(f"Number of cached parameters: {kv_cache_state.numel()}")
# In practice, this tensor is passed to the model's forward() method
# to skip processing the first 1024 tokens.
올바른 최적화 전략을 적용하려면 프롬프트 캐싱을 다른 용어와 구별하는 것이 중요합니다. Ultralytics 용어집의 다른 용어와 구별하여 올바른 최적화 전략을 적용하는 것이 중요합니다.
프롬프트 캐싱은 기본적으로 자연어 처리(NLP), 효율성 원칙은 보편적입니다. 컴퓨터 비전 컴퓨터 비전(CV), 다음과 같은 모델 YOLO11 과 같은 모델은 아키텍처적으로 속도를 위해 최적화되어 있어 객체 감지 작업에서 높은 프레임 속도를 달성할 수 있도록 보장하며, 자동 회귀 언어 모델에서 사용되는 것과 동일한 유형의 상태 캐싱을 사용하지 않아도 됩니다. 하지만 멀티 모달 모델이 비디오와 텍스트를 함께 처리하도록 진화함에 따라 비디오와 텍스트를 함께 처리하도록 발전함에 따라, 시각적 토큰 캐싱은 다음과 같은 논문에서 설명하는 새로운 연구 분야로 떠오르고 있습니다. arXiv.