대형 모델(GPT 시리즈 모델)에 대한 프롬프트 캐싱 제공 시작: GPT-4o 시리즈 모델 입력 가격이 절반으로 줄고 액세스 속도가 801 TP3T로 증가했습니다.
대규모 모델 애플리케이션에서 복잡한 요청을 처리하는 데는 높은 지연 시간과 비용이 수반되는 경우가 많으며, 특히 요청 내용에 반복되는 내용이 많은 경우 더욱 그렇습니다. 이러한 '느린 요청' 문제는 긴 프롬프트와 빈번한 상호 작용이 있는 시나리오에서 특히 두드러집니다. 이 문제를 해결하기 위해 OpenAI는 최근 프롬프트 캐싱 함수. 이 새로운 기술은 모델에서 처리하는 동일한 접두사 부분을 캐싱하여 이중 계산을 방지함으로써 요청과 관련된 응답 시간과 비용을 크게 줄여줍니다. 특히 정적 콘텐츠가 포함된 긴 힌트 요청의 경우 힌트 캐싱을 통해 효율성을 크게 개선하고 운영 오버헤드를 줄일 수 있습니다. 이 백서에서는 이 기능의 작동 방식과 지원되는 모델, 합리적인 힌트 구조를 통해 캐시 적중률을 최적화하는 방법을 자세히 소개하여 개발자의 대용량 모델 사용 경험을 개선하는 데 도움을 드리고자 합니다.
대형 모델 프롬프트 캐싱(프롬프트 캐싱)이란 무엇인가요?
프롬프트 캐싱은 반복되는 콘텐츠가 포함된 긴 프롬프트를 처리하는 데 드는 지연 시간과 계산 비용을 줄이는 데 사용되는 메커니즘입니다. 여기서 '프롬프트'는 모델에 보내는 입력을 의미합니다. 요청 프로세스 중에 매번 힌트의 처음 N개의 입력 토큰을 다시 계산하는 대신 시스템은 이전 계산 결과를 캐시에 저장합니다. 대신 시스템은 이전 계산 결과를 캐시하여 동일한 큐 접두사를 가진 후속 요청에 캐시된 데이터를 재사용할 수 있으므로 처리 속도가 빨라지고 지연 시간이 단축되며 비용이 절감됩니다.
간단히 말해서 힌트 캐시는 다음과 같이 작동합니다:
- 처음 1024개의 토큰 캐시 시스템은 프롬프트 콘텐츠의 첫 1024개 토큰이 이전 요청과 동일한지 확인하고, 동일한 경우 해당 토큰의 계산을 캐시에 저장합니다.
- 캐시 히트 새 요청이 캐시된 힌트와 일치하면 이를 '캐시 히트'라고 합니다. 이때 응답에는 캐시 토큰에 대한 자세한 정보가 포함되어 계산 시간과 비용을 줄이는 데 도움이 됩니다.
- 비용 절감 : in 표준 배포 유형 에서 캐시된 토큰은 할인된 가격으로 청구되며, 반면에 사전 구성된 배포 유형 캐시 태그는 100% 할인까지 받을 수 있습니다.
큐 캐싱에 대한 매우 그래픽적인 도식이 공식적으로 제공됩니다:

위 그림에서 볼 수 있듯이, 원래 요청의 이전 토큰이 이전 요청과 동일한 경우 해당 요청의 해당 부분은 모델을 통하지 않고 캐시된 결과를 통해 직접 읽어들여 해결할 수 있습니다.
현재 OpenAI는 공식적으로 다음과 같은 캐시 가능한 모델을 제공합니다:
모델링 | 텍스트 입력 비용 | 오디오 입력 비용 |
---|---|---|
GPT-4O(GPT-4O-2024-05-13 및 CHATGPT-4O 최신 버전 제외) | 저렴한 50% | 적용 불가 |
GPT-4O-MINI | 저렴한 50% | 적용 불가 |
GPT-4O-실시간-프리뷰 | 저렴한 50% | 저렴한 80% |
o1-preview | 저렴한 50% | 적용 불가 |
o1-mini | 저렴한 50% | 적용 불가 |
현재 큐 캐싱을 지원하는 모델(예: gpt-4o, gpt-4o-mini, gpt-4o-리얼타임-프리뷰 등)은 모두 텍스트 입력 비용 절감에 효과적이며, 특히 50%의 비용 할인이 적용되며, gpt-4o-리얼타임-프리뷰 모델은 다음과 같은 비용 할인 혜택까지 누릴 수 있습니다. 오디오 입력 처리 시 80% 비용 할인. 이러한 모델의 지원은 모델의 응답 효율성을 향상시킬 뿐만 아니라 개발자에게 저비용 고성능 솔루션을 제공하며, 특히 반복 요청이 빈번하거나 대량의 정적 콘텐츠가 포함된 시나리오에 적합합니다.
힌트 캐시 작동 방식
현재 공식 OpenAI 문서에 따르면 캐시를 사용하려면 다음 조건을 충족해야 합니다:
- 프롬프트의 길이는 다음과 같아야 합니다. 1024 태그 .
- 프롬프트 첫 1024개 태그 후속 요청에 포함되어야 합니다. 동일 .
또한 공식적으로 시작 1024 토큰은 캐시의 최소 길이이지만 이후 히트의 증분 128 토큰, 즉 캐시의 길이는 1024, 1152, 1280, 1408이므로 다음과 같이 표시됩니다.1024 토큰이 최소이며, 128 토큰씩 증가합니다.저장 방식.
'캐시 히트'가 발생하면 API 응답에는 다음이 포함됩니다. cached_tokens
로 표시되며, 이는 캐시에서 가져온 토큰의 수를 나타냅니다. 예를 들어, 다음 주소로 전송된 토큰 수는 o1-preview-2024-09-12 모델 요청은 다음과 같은 응답을 반환할 수 있습니다:
{
"created":1729227448,
"model":"o1-preview-2024-09-12",
"object":"chat.completion",
"usage":{
"completion_tokens":1518,
"prompt_tokens":1566,
"total_tokens":3084,
"completion_tokens_details":{
"reasoning_tokens":576
},
"prompt_tokens_details":{
"cached_tokens":1408
}
}
}
이 예제에서는1408 표시를 캐시에서 가져와 처리 시간과 비용을 크게 줄입니다.
힌트 캐시 도달 후 시간 절약
OpenAI는 공식적으로 모델이 항상 캐시된 정보를 유지하지 않는다고 말합니다. 현재 GPT 시리즈 모델의 큐 캐싱과 관련된 메커니즘은 다음과 같습니다:
- 캐시 기간 캐시는 5~10분는 캐시가 비활성 상태가 되면 지워집니다. 캐시를 마지막으로 사용한 후 1시간 이상 액세스하지 않으면 캐시가 완전히 제거됩니다.
- 캐시 누락 프롬프트의 처음 1024 토큰 중 하나가 다른 경우 캐시 누락 현재
cached_tokens
의 값은 0이 됩니다. - 캐시가 공유되지 않습니다. 캐시가 다른 곳에 있지 않을 것임을 암시합니다.구독공유됩니다. 각 구독에는 자체 캐시가 있습니다.
지원되는 캐시된 콘텐츠 유형
힌트 캐시의 기능은 사용되는 모델에 따라 다릅니다. 예를 들어o1 시리즈 모델시스템 메시지, 이미지, 도구 호출 또는 구조화된 출력은 지원하지 않고 텍스트만 지원하므로 캐싱 기능은 주로 사용자 메시지 부분에 적용됩니다. 그리고 GPT-4O 및 GPT-4O-MINI 이 모델은 다음을 포함하여 더 많은 콘텐츠 유형의 캐싱을 지원합니다:
- 메시지 시스템 메시지, 사용자 메시지, 도우미 메시지를 포함한 전체 메시지 배열입니다.
- 이미지 사용자 메시지에 포함된 이미지(링크 또는 base64로 인코딩된 데이터)로, 다음과 같은 경우
detail
매개 변수는 일관성이 있습니다. - 도구 호출 메시지 배열 및 도구 정의 캐시를 포함합니다.
- 구조화된 출력 시스템 메시지에 첨부된 구조화된 출력 모드입니다.
캐시 적중 확률을 높이려면 메시지 배열의 앞쪽에 중복 항목을 배치하는 것이 좋습니다.
캐시가 지원하는 OpenAI의 API 버전에 대한 힌트
큐 캐싱 기능이 처음 도입된 것은 API 버전 2024-10-01-preview 지원 제공에 있어서도 마찬가지입니다. 대상 O1 모델 시리즈 이제 API 응답이 cached_tokens
매개변수를 사용하여 캐시에 도달한 토큰 수를 표시합니다.
큐 캐싱을 활성화하는 단계:
- 최소 길이 프롬프트의 길이가 1024토큰 이상인지 확인하세요.
- 일관된 접두사(수학.) 프롬프트의 첫 1024 토큰이 여러 요청에 걸쳐 일관되게 표시되는지 확인합니다.
- API 응답 캐시 히트가 발생하면 API 응답에
cached_tokens
로 표시되어 캐시된 토큰 수를 나타냅니다.
힌트 캐싱을 비활성화할 수 있나요?
지원되는 모든 모델에 힌트가 캐시됩니다. 기본적으로 사용 현재 비활성화 옵션 없음 . 즉, 지원되는 모델을 사용하는 경우 요청이 적격하다면 캐싱이 자동으로 활성화됩니다.
큐 캐싱이 중요한 이유는 무엇인가요?
큐 캐싱은 두 가지 주요 이점을 제공합니다:
- 지연 감소 캐싱은 동일한 콘텐츠의 중복 처리를 방지하여 응답 시간을 크게 단축합니다.
- 비용 절감 캐싱은 처리해야 하는 토큰 수를 줄여주므로 특히 중복 콘텐츠가 많은 긴 프롬프트의 경우 전체 계산 비용을 절감할 수 있습니다.
힌트 캐싱은 대화형 AI 시스템, 데이터 추출, 반복적인 쿼리와 같이 동일한 데이터나 힌트를 자주 처리해야 하는 애플리케이션 시나리오에 특히 유용합니다.
OpenAI 힌트 캐싱 모범 사례
캐시 적중 확률을 높이기 위해 OpenAI는 몇 가지 공식적인 조언도 제공합니다:
- 구조화된 프롬프트: 정적 또는 반복적인 콘텐츠를 프롬프트 앞에 배치하고 동적 콘텐츠를 프롬프트 뒤에 배치합니다.
- 캐시 메트릭 모니터링: 캐시 적중률, 지연 시간 및 캐시 마크 비율을 모니터링하여 힌트 및 캐싱 정책을 최적화하세요.
- 긴 힌트와 사용량이 적은 시간대 활용: 피크 시간대에는 캐시가 더 자주 지워지므로 긴 힌트를 사용하고 사용량이 적은 시간대에 요청을 시작하면 캐시 히트 확률을 높일 수 있습니다.
- 일관성 유지: 동일한 접두사가 붙은 프롬프트 요청을 주기적으로 사용하여 캐시 플러시 가능성을 줄입니다.
OpenAI의 힌트 캐싱 기술 자주 묻는 질문과 답변
- 캐싱은 데이터 프라이버시를 어떻게 보장하나요?
큐 캐시는 다른 조직 간에 공유되지 않습니다. 같은 조직의 구성원만 같은 큐 캐시에 액세스할 수 있습니다. - 힌트 캐싱이 출력 마크업이나 최종 응답에 영향을 주나요?
큐 캐시에 영향을 미치지 않습니다.모델의 출력입니다. 생성된 출력은 캐싱 사용 여부에 관계없이 항상 동일합니다. 프롬프트 자체만 캐시되므로 실제 응답은 캐시된 프롬프트를 기반으로 매번 다시 계산됩니다.
- 캐시를 수동으로 지울 수 있나요?
현재 캐시를 수동으로 지우는 기능은 지원되지 않습니다. 오랫동안 사용하지 않은 프롬프트는 캐시에서 자동으로 제거됩니다. 일반적으로 캐시가 지워지는 위치는 5~10분 는 일정 기간 동안 사용하지 않으면 지워지지만 트래픽이 적은 기간 동안에는 캐시가 최대 한 시간 . - 힌트 캐시를 사용하려면 추가 비용을 지불해야 하나요?
필요하지 않습니다. 캐싱은 사용자의 추가 작업이나 비용 없이 자동으로 활성화됩니다. - 캐시된 힌트는 TPM 제한에 포함되나요?
예, 캐싱은 속도 제한에 영향을 미치지 않으며 캐시 히트는 여전히 총 요청 수에 포함됩니다. - 스케일 티어 및 대량 API에서 힌트 캐시 할인을 사용할 수 있나요?
팁 캐시 할인은 벌크 API에는 적용되지 않지만 스케일 티어에는 적용됩니다. 스케일 티어를 사용하면 오버플로 토큰에도 캐시 할인이 적용됩니다. - 힌트 캐싱은 제로 데이터 보존 요청에 적용되나요?
예, 프롬프트 캐싱은 기존의 제로 데이터 보존 정책을 준수합니다.
요약
Azure OpenAI의 큐 캐싱 기능은 긴 큐와 반복적인 요청을 처리하는 데 유용한 최적화 솔루션을 제공합니다. 계산 대기 시간과 비용을 줄여 모델의 효율성을 크게 향상시킵니다.
더 많은 모델이 지원되고 힌트 캐싱 기능이 계속 최적화됨에 따라 Azure OpenAI 사용자는 보다 효율적이고 비용 효율적인 서비스 환경을 누릴 수 있을 것으로 기대됩니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...