Author: Oh Kwangho

  • Gemini 모델의 토큰 제한

    Gemini 모델을 활용하면서 가장 중요한 개념 중 하나는 바로 “토큰(Token)”입니다. 토큰은 모델이 텍스트, 이미지, 오디오, 비디오 등의 데이터를 이해하고 처리하는 기본적인 단위이며, 사용량과 비용에 직접적인 영향을 미칩니다. 이번 포스팅에서는 Gemini 모델 사용 시 알아야 할 토큰 제한에 대해 자세히 정리해 보겠습니다.

    1. 토큰이란 ?

    토큰은 Gemini 모델이 데이터를 처리하기 위해 나누는 가장 작은 의미 단위입니다. 그 종류는 다음과 같습니다.

    • 텍스트 토큰:
      • 일반적으로 단어의 일부 또는 전체 단어에 해당합니다.
      • 영어의 경우 약 4개의 문자가 1개의 토큰, 100개의 토큰은 약 60~80개의 단어와 유사합니다.
      • 한국어의 경우 음절 단위와 비슷하게 나뉠 수 있지만, 토크나이저 방식에 따라 형태소 기반으로 분리될 수도 있습니다.
      • 구두점, 공백, 특수 문자 등도 별도의 토큰으로 처리됩니다.
    • 멀티모달 토큰:
      • 이미지: 이미지 크기에 따라 토큰 수가 달라집니다. (예: 작은 이미지 약 258 토큰, 큰 이미지는 타일 분할 후 계산)
      • 오디오: 오디오 파일은 초당 약 32개의 토큰으로 변환됩니다.
      • 비디오: 비디오 파일은 초당 약 263개의 토큰으로 변환됩니다.

    2. 채팅에서 사용 가능한 최대 토큰 수 (컨텍스트 윈도우)

    하나의 채팅 세션에서 사용할 수 있는 총 토큰 수는 모델의 컨텍스트 윈도우(Context Window) 크기에 의해 결정됩니다. 컨텍스트 윈도우는 모델이 한 번의 요청에서 처리할 수 있는 입력과 출력 토큰의 총합을 의미하며, 모델의 “기억력”과 유사합니다.

    Gemini 모델컨텍스트 윈도우 크기
    Gemini 2.5 Pro1,048,576 토큰
    Gemini 2.5 Flash1,048,576 토큰
    Gemini 2.0 Flash1,048,576 토큰
    Gemini 2.0 Flash-Lite정보 부족 (최대 출력 8,192 토큰)
    Gemini 2.0 Flash-Live32,768 토큰

    채팅이 길어질수록 이전 대화 내용이 컨텍스트 윈도우를 채우므로, 새로운 질문이나 요청에 사용할 수 있는 토큰 수가 줄어들 수 있습니다. 컨텍스트 윈도우 크기를 넘어서는 요청은 오류를 발생시킬 수 있습니다.

    3. 텍스트 기반 작업 시 토큰 제한

    텍스트 생성 또는 처리를 위한 API 요청 시에는 다음과 같은 토큰 제한을 고려해야 합니다.

    • 입력 토큰 제한: 모델에 제공할 수 있는 최대 입력 토큰 수 (컨텍스트 윈도우 내에서 결정).
    • 출력 토큰 제한: 모델이 생성할 수 있는 최대 출력 토큰 수.
    Gemini 모델최대 출력 토큰 수
    Gemini 2.5 Pro65,536 토큰
    Gemini 2.5 Flash65,536 토큰
    Gemini 2.0 Flash8,192 토큰
    Gemini 2.0 Flash-Lite8,192 토큰

    4. 토큰 수 확인 방법

    • API를 이용한 방법: Gemini API 호출 전 count_tokens 메서드를 사용하여 입력 텍스트의 토큰 수를 확인할 수 있습니다. API 응답의 usage_metadata를 통해 총 토큰 사용량을 확인할 수도 있습니다.
    • Vertex AI Studio: Google Cloud 콘솔의 Vertex AI Studio에서 프롬프트 작성 시 실시간으로 토큰 수를 확인할 수 있습니다.

    5. 토큰 제한 초과 시 발생하는 문제

    요청이 모델의 토큰 제한을 초과하면 오류가 발생하며, 원하는 응답을 얻을 수 없습니다. 따라서 API 요청 전에 토큰 수를 미리 확인하고, 제한 내에서 효율적으로 사용하는 것이 중요합니다.