Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Context Window

컨텍스트 창은 한 번의 요청에서 모델이 참조할 수 있는 최대 토큰 수이며, 프롬프트, 기록, 문서, 답변이 이를 함께 사용합니다.

컨텍스트 윈도우는 모델이 단일 요청에서 고려할 수 있는 토큰의 최대 개수입니다. 대규모 언어 모델(LLM)의 경우 시스템 프롬프트, 도구 정의, 대화 기록, 검색된 문서, 사용자 질문, 모델이 생성하는 답변 등 읽고 쓰는 모든 내용이 이 한도를 공유합니다. 윈도우 밖의 텍스트는 모델에 전달되지 않으므로, 앞선 대화 차례가 잘려 나가면 챗봇이 매우 긴 대화의 시작 부분을 기억하지 못합니다. 윈도우 크기는 GPT-3의 2,048개 토큰에서 2023년 말 GPT-4 Turbo의 128K개 토큰, 2024년 Google Gemini 1.5 Pro의 100만 개 토큰으로 늘어났으며, Meta의 Llama 4 Scout는 1,000만 개를 지원한다고 홍보합니다.

컨텍스트 윈도우를 채우는 요소#

토큰화는 텍스트를 하위 단어 단위로 나누며, 영어에서는 평균 약 네 글자에 해당합니다. 따라서 128K 토큰 윈도우에는 대략 300페이지 분량의 텍스트가 들어갑니다. 비전-언어 모델(VLM)은 이미지에도 토큰을 사용하며, 보통 이미지 하나에 수백 개의 패치 토큰을 할당합니다. 따라서 긴 동영상은 대본보다 훨씬 빠르게 윈도우를 채웁니다. 생성된 토큰도 같은 한도에 포함되며, 공급자는 윈도우 안에서 출력 길이에 별도 상한을 설정합니다. 따라서 긴 대화나 AI 에이전트를 실행하는 애플리케이션은 매 대화 차례마다 프롬프트를 구성하고 유지할 내용을 결정합니다:

윈도우 크기의 제한 이유#

길이가 길어지면 두 가지 비용이 증가합니다. 셀프 어텐션은 모든 토큰을 다른 모든 토큰과 비교하므로 토큰 수가 늘어날수록 어텐션 연산량이 제곱에 비례해 증가합니다. 텍스트 생성 중에는 KV 캐시가 이전 토큰의 키와 값을 모두 보관합니다. 32개 레이어와 각각 128차원인 8개의 키-값 헤드를 갖춘 Llama 3.1 8B는 16비트 정밀도에서 토큰당 128KiB를 저장합니다. 윈도우 전체 크기인 131,072개 토큰에서는 16GiB가 필요하며, 이는 가중치가 차지하는 16GB보다 큰 용량입니다.

윈도우 크기는 학습 데이터에도 좌우됩니다. 8K 토큰 시퀀스로 학습한 모델은 그 이후의 위치를 본 적이 없으므로 윈도우를 확장하려면 회전 위치 임베딩(RoPE)을 YaRN과 같은 방법으로 재조정하고 더 긴 텍스트로 짧게 파인튜닝해야 합니다. 긴 윈도우를 서빙할 때는 메모리 절약 기법을 사용합니다. 플래시 어텐션은 전체 점수 행렬을 저장하지 않고 정확한 어텐션을 계산합니다. 그룹드 쿼리 어텐션(GQA)은 KV 캐시를 줄이고, 슬라이딩 윈도우 어텐션은 각 토큰이 최근의 인접 토큰에만 집중하도록 제한하며, 링 어텐션은 하나의 시퀀스를 여러 GPU에 나눕니다.

광고된 컨텍스트와 실제 컨텍스트#

100만 개의 토큰을 처리할 수 있는 모델도 모든 토큰을 똑같이 활용하지는 않습니다. 2023년 연구 Lost in the Middle에 따르면 관련 구절이 프롬프트의 시작이나 끝에 있을 때 모델의 답변 성능이 가장 높고 중간에 있을 때 가장 낮았습니다. 건초더미에서 바늘 찾기(NIAH) 테스트는 삽입한 하나의 사실을 다양한 깊이와 길이에서 회수하는 능력을 측정합니다. 더 어려운 RULER 벤치마크에서는 32K 이상의 토큰을 지원한다고 주장한 모델 17개 중 절반만이 32K에서 만족스러운 성능을 보였습니다. 입력이 길어질수록 성능이 점차 낮아지는 현상을 컨텍스트 로트라고 합니다. 검색 증강 생성(RAG)과 컨텍스트 엔지니어링은 관련 있는 내용만 윈도우에 넣어 이 문제를 완화합니다.

  • 수용 영역: 합성곱 신경망(CNN)의 한 출력에 영향을 미치는 입력 이미지 영역입니다. 수용 영역의 크기는 커널 크기와 깊이에 따라 고정되지만, 컨텍스트 윈도우는 토큰 수 한도입니다.
  • 배치 크기: 함께 처리되는 독립 시퀀스의 개수입니다. 컨텍스트 윈도우는 각 시퀀스의 길이를 제한합니다.
  • 메모리: 벡터 데이터베이스에 저장되는 일화 기억과 같은 에이전트 메모리는 윈도우 바깥에 유지되며, 관련성이 있을 때 윈도우로 복사됩니다.

오픈 어휘 탐지의 컨텍스트 윈도우#

비전 모델 내부의 텍스트 인코더에도 윈도우가 있습니다. Ultralytics YOLOE와 YOLO-World는 CLIP 계열 텍스트 인코더를 사용해 각 클래스 프롬프트를 인코딩하며, 이 인코더의 컨텍스트 윈도우는 77개 토큰입니다. Ultralytics 텍스트 인코더는 기본적으로 더 긴 프롬프트를 자릅니다. 같은 CLIP 토크나이저를 사용하면 잘리는 부분을 확인할 수 있습니다:

import clip
from clip.simple_tokenizer import SimpleTokenizer

prompt = (
    "a warehouse worker wearing a yellow high-visibility vest, a white hard hat, blue gloves and clear safety "
    "glasses, standing beside a red forklift that carries wooden pallets stacked with brown cardboard boxes, "
    "under bright ceiling lights in a narrow aisle between tall metal shelves, next to a fire extinguisher "
    "mounted on the wall, a green emergency exit sign, an open loading dock door and a black dog"
)

# CLIP's BPE tokenizer wraps the text in start and end tokens
tokenizer = SimpleTokenizer()
print(f"Prompt length: {len(tokenizer.encode(prompt)) + 2} tokens")

# The text encoder reads a fixed 77-token window, so truncation drops the tail
tokens = clip.tokenize(prompt, truncate=True)[0]
kept = tokenizer.decode(tokens[1:-1].tolist())
print(f"Window: {len(tokens)} tokens ending in '{' '.join(kept.split()[-4:])}'")
print(f"'black dog' kept: {'black dog' in kept}")

프롬프트의 길이는 80개 토큰이므로 윈도우에는 처음 75개 텍스트 토큰과 시작 및 종료 마커가 유지됩니다. 윈도우는 "loading dock door and"에서 끝나며, "a black dog"는 인코더에 전달되기 전에 잘립니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요