본문 바로가기
챗지피티 학습

ChatGPT의 Context Window 이해하기: 더 똑똑한 AI 대화의 비밀

by 프롬프트엔지니어 2024. 9. 19.

Context Window란 무엇인가?

ChatGPT와 같은 대화형 AI 모델을 사용해 본 적이 있다면, 때때로 모델이 이전 대화를 "기억"하고 있는 것처럼 보이는 경험을 했을 것입니다. 이것이 바로 'Context Window'의 마법입니다. Context Window는 AI 모델이 대화 중에 참조할 수 있는 정보의 범위를 말합니다. 쉽게 말해, AI의 '단기 기억'이라고 볼 수 있죠. 하지만 다양한 프롬프트를 지속적으로 세션을 바꾸지 않고 입력한다면 원치않는 답변을 얻을 수도 있어서 단위 작업별로 세션을 바꿔주는 등 주의해야 합니다. 아래 그림은 테디노트님이 Context window를 너무 잘 정리 하셔서 그 분 강의 파일의 이미지를 다시 그렸습니다. (테디노트님 고맙습니다^^). 참고로 우리가 ChatGPT에게 아무리 긴 답변을 해 주길 원하고 요청하지만 아래 max_toekn 크기의 한계로 더 이상은 긴 답변을 할 수 없는 한계가 분명히 존재합니다. 

Context Window 개념도

 

Context Window에 포함되는 요소들

Context Window는 다양한 정보를 포함할 수 있습니다:

  1. 사용자의 입력 프롬프트: 현재 사용자가 입력한 질문이나 지시사항
  2. 이전 대화 기록: 지금까지 주고받은 대화 내용
  3. 관련 배경 정보나 지시사항: 특정 주제에 대한 추가 정보나 AI의 동작 방식을 지정하는 지시사항
  4. 모델이 생성한 이전 응답들: AI가 이전에 제공한 답변들
  5. 특정 작업을 위한 예시나 데모: 복잡한 작업 수행을 위한 예시 코드나 설명
  6. 모델의 동작을 제어하기 위한 시스템 메시지: AI의 성격이나 응답 스타일을 결정하는 설정

 

주요 AI 모델별 Context Window 크기

Context Window의 크기는 AI 모델에 따라 다릅니다:

  • GPT-3.5: 약 4,096 토큰 (약 16,384 바이트, 대략 3,000단어)
  • GPT-4: 버전에 따라 8,192 토큰 (약 32,768 바이트) 또는 32,768 토큰 (약 131,072 바이트)
  • 일부 최신 모델: 100,000 토큰 이상 (약 400,000 바이트 이상)

토큰은 단어나 단어의 일부를 나타내는 텍스트 단위입니다. 영어의 경우 대략 1 토큰 = 4글자 또는 0.75단어로 생각할 수 있습니다. 여기서 1토큰은 대략 4바이트에 해당합니다.

 

Context Window의 관리와 최적화

Context Window를 효과적으로 사용하려면 다음 사항을 고려해야 합니다:

  1. 중요 정보 우선: 가장 중요한 정보를 먼저 제공하세요.
  2. 간결성 유지: 불필요한 세부 사항은 제외하고 핵심만 전달하세요.
  3. 주기적인 요약: 긴 대화에서는 때때로 이전 내용을 요약하여 제시하세요.
  4. 컨텍스트 리셋: 새로운 주제로 전환할 때는 새 대화를 시작하는 것이 좋습니다.

 

Context Window의 한계와 해결 방안

Context Window가 가득 차면 가장 오래된 정보부터 제거됩니다. 이를 극복하기 위한 방법들:

  1. 청크 분할: 긴 문서나 대화를 작은 단위로 나누어 처리해서 Devide & Conquer하는 방법입니다.
  2. 요약 기법 활용: 주요 정보만 추출하여 새로운 프롬프트로 사용. 세션을 바꿔서 핵심 정보 중심으로 답변을 얻는 방법입니다.
  3. 외부 메모리 활용: 중요 정보를 별도로 저장하고 필요할 때 참조

 

결론: 더 나은 AI 대화를 위한 Context Window 활용법

Context Window를 이해하고 효과적으로 활용하면 AI와의 대화 품질을 크게 향상시킬 수 있습니다. 중요한 정보를 압축하여 전달하고, 필요에 따라 컨텍스트를 리셋하며, AI의 한계를 인지하고 대처하는 것이 핵심입니다. 이를 통해 더 지능적이고 효율적인 AI 대화 경험을 만들어갈 수 있을 것입니다.