용어집

프롬프트 캐싱

신속한 캐싱으로 AI 효율성을 높이세요! 이 강력한 기술을 사용하여 지연 시간을 줄이고, 비용을 절감하고, AI 앱을 확장하는 방법을 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

프롬프트 캐싱은 주로 대규모 언어 모델(LLM) 및 기타 생성형 인공 지능(AI) 모델에 사용되는 최적화 기법입니다. 특정 입력 프롬프트(또는 그 일부)를 처리한 결과를 저장하여 동일하거나 매우 유사한 프롬프트가 다시 수신될 경우 처음부터 다시 계산하는 대신 저장된 결과를 빠르게 검색하여 재사용할 수 있도록 하는 것입니다. 이를 통해 추론 대기 시간을 크게 줄이고, GPT-4와 같은 강력한 모델 실행과 관련된 계산 비용을 낮추며, AI 애플리케이션의 전반적인 효율성과 확장성을 개선할 수 있습니다.

프롬프트 캐싱의 작동 방식

LLM이 프롬프트를 처리할 때는 신경망 계층 내에서 토큰화 및 복잡한 계산을 포함한 여러 계산 단계를 거치는데, 여기에는 주의 메커니즘이 포함되는 경우가 많습니다. 프롬프트 캐싱은 일반적으로 주어진 프롬프트 또는 프롬프트의 접두사와 관련된 중간 계산 상태(예: Transformer 아키텍처의 주의 계층에서 키-값 쌍, 흔히 KV 캐시라고 함)를 저장합니다. 새 프롬프트가 도착하면 시스템은 해당 접두사가 이전에 처리되어 캐시된 프롬프트와 일치하는지 확인합니다. 일치하는 프롬프트가 발견되면 캐시된 중간 상태가 검색되어 모델이 초기 계산 단계를 건너뛰고 저장된 상태에서 응답 생성을 시작할 수 있습니다. 이는 대화형 AI나 프롬프트의 시작이 공통인 시나리오에서 특히 효과적입니다. 시스템에서는 이러한 캐시를 효율적으로 관리하기 위해 Redis나 Memcached와 같은 키-값 저장소를 사용하는 경우가 많습니다.

프롬프트 캐싱의 이점

프롬프트 캐싱을 구현하면 몇 가지 이점이 있습니다:

  • 지연 시간 단축: 반복되거나 유사한 쿼리에 대한 응답 시간을 크게 단축하여 챗봇과 같은 대화형 애플리케이션에서 사용자 경험을 향상시킵니다.
  • 컴퓨팅 비용 절감: GPU와 같은 고가의 하드웨어에 대한 부하를 줄여 특히 클라우드 컴퓨팅 리소스나 상용 LLM에 대한 API 호출을 사용할 때 비용을 절감할 수 있습니다.
  • 처리량 향상: 리소스가 더 빨리 확보되므로 시스템에서 더 많은 요청을 동시에 처리할 수 있습니다.
  • 일관성: 동일한 프롬프트에 대해 동일한 응답을 보장하며, 이는 특정 애플리케이션에서 바람직할 수 있습니다.

실제 애플리케이션

프롬프트 캐싱은 다양한 AI 기반 시스템에서 유용합니다:

  1. 대화형 AI와 가상 비서: 고객 서비스 가상 비서와 같은 시스템에서는 많은 대화가 비슷한 인사말이나 일반적인 질문(예: "업무 시간이 어떻게 되나요?", "비밀번호를 어떻게 재설정하나요?")으로 시작됩니다. 이러한 일반적인 입력의 초기 처리를 캐싱하면 시스템이 훨씬 빠르게 응답할 수 있습니다. 예를 들어 "안녕하세요, 도움이 필요합니다..."를 처리한 후의 처리 상태를 캐시하여 유사한 요청을 시작하는 여러 사용자에게 즉시 재사용할 수 있습니다. 고객 서비스에서 AI를 살펴보세요.
  2. 콘텐츠 생성 플랫폼: 작성 도우미나 코드 생성기처럼 텍스트 생성에 사용되는 도구는 종종 반복되는 명령어 또는 컨텍스트 접두사(예: "다음 텍스트를 프랑스어로 번역:", "다음에 대한 Python 코드 작성...")가 포함된 프롬프트를 받습니다. 이러한 접두사에 해당하는 상태를 캐싱하면 생성 프로세스가 빨라지며, 특히 대화형 또는 대용량 환경에서 유용합니다. 생성 AI 사용 사례에 대해 알아보세요.

프롬프트 캐싱과 관련 개념

프롬프트 캐싱을 다른 관련 기술과 구별하는 것이 도움이 됩니다:

  • 프롬프트 엔지니어링: AI 모델에서 원하는 응답을 이끌어내기 위한 효과적인 프롬프트를 설계하는 데 중점을 둡니다. 캐싱은 프롬프트가 얼마나 잘 설계되었는지에 관계없이 이러한 프롬프트의 실행을 최적화합니다.
  • 프롬프트 강화: 사용자 프롬프트가 모델에 전송되기 전에 컨텍스트를 추가하거나 정보를 명확히 하는 작업을 포함합니다. 캐싱은 모델이 (잠재적으로 보강된) 프롬프트를 처리하는 도중 또는 이후에 이루어집니다.
  • 프롬프트 튜닝LoRA: 이는 작은 추가 파라미터 세트를 학습시켜 모델의 동작을 조정하는 파라미터 효율적 미세 조정(PEFT) 방법으로, 특정 작업에 맞게 모델을 효과적으로 사용자 지정합니다. 캐싱은 모델 자체를 변경하지 않는 추론 시간 최적화입니다.
  • 검색 증강 세대(RAG): 외부 지식 기반에서 관련 정보를 검색하여 프롬프트의 컨텍스트에 추가함으로써 프롬프트를 향상시킵니다. RAG가 입력을 수정하는 동안에도 결합된 프롬프트(원래 쿼리 + 검색된 데이터)의 처리에는 캐싱이 계속 적용될 수 있습니다.
  • 표준 출력 캐싱: 기존 웹 캐싱은 요청의 최종 출력을 저장합니다. 프롬프트 캐싱은 모델의 처리 파이프라인 내에 중간 계산 상태를 저장하는 경우가 많으므로 특히 공통 접두사를 공유하지만 끝이 다른 프롬프트의 경우 보다 유연하게 재사용할 수 있습니다.

프롬프트 캐싱은 주로 LLM과 관련이 있지만, 캐싱 계산의 기본 원리는 텍스트 프롬프트가 다른 모달리티와 상호 작용하는 복잡한 멀티 모달 모델에 적용될 수 있지만 다음과 같은 모델을 사용하는 객체 감지 같은 표준 컴퓨터 비전 작업에서는 덜 일반적이지만 잠재적으로 적용될 수 있습니다. Ultralytics YOLO 같은모델을 사용하는 객체 감지와 같은 표준 컴퓨터 비전 작업에서는 일반적이지 않습니다( YOLO 모델 비교 참조). 프로덕션 환경에서는 캐싱과 같은 최적화가 성능에 매우 중요할 수 있는 AI 모델의 배포 및 관리를 간소화할 수있습니다(배포 모범 사례에 대해 알아보기).

모두 보기