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

Token

토큰은 모델이 처리하는 입력 단위로, 서브워드나 이미지 패치가 그 예입니다. 토크나이저의 텍스트 분할 방식, 비주얼 토큰, 토큰 비용을 다룹니다.

토큰은 AI 모델이 처리하는 입력과 출력의 기본 단위로, 텍스트에서는 단어, 단어 일부, 문자 또는 바이트일 수 있고 이미지에서는 픽셀 패치일 수 있습니다. 트랜스포머가 문장이나 이미지를 읽으려면 토크나이저가 입력을 토큰으로 분할하고 각 토큰을 정수 ID에 매핑해야 합니다. 그런 다음 모델은 각 ID에 해당하는 임베딩 벡터를 조회합니다. 토큰 수는 모델이 처리할 수 있는 범위와 비용을 모두 결정합니다. 컨텍스트 윈도우는 토큰 단위로 측정되고, 대규모 언어 모델(LLM)은 한 번에 토큰 하나씩 텍스트를 생성하며, 상용 API는 입력 및 출력 토큰 수에 따라 요금을 부과합니다.

  • 토큰화: 원시 입력을 토큰으로 분할하는 과정입니다. 토큰은 토큰화 결과의 각 단위입니다.
  • 어휘와 토큰 ID: 토크나이저의 어휘는 토크나이저가 인식하는 고정된 토큰 집합이며, 각 토큰에는 정수 ID가 있습니다. BERT는 토큰 30,522개, GPT-2는 50,257개, Llama 3는 128,256개, Gemma 3는 약 262,000개를 사용합니다.
  • 특수 토큰: 텍스트 시작, 텍스트 끝, 패딩 토큰과 같이 시퀀스 구조를 나타내는 표식이나, BERT가 분류에 사용하는 마지막 임베딩의 [CLS] 토큰입니다.
  • 임베딩: 모델의 첫 번째 레이어가 각 토큰 ID에 대해 조회하는 학습된 벡터로, 토큰의 의미를 네트워크에 전달합니다.

텍스트 토큰#

전체 단어로 구성된 어휘는 모든 이름과 오타, 새로운 용어를 포함할 수 없고, 단일 문자는 시퀀스를 지나치게 길게 만듭니다. 따라서 최신 토크나이저는 서브워드를 사용합니다. 자주 쓰이는 단어는 하나의 토큰이 되고 드문 단어는 재사용 가능한 조각으로 분할됩니다. Sennrich와 동료들이 2016년에 신경망 기계 번역에 적용한 바이트 페어 인코딩(BPE)은 단일 문자에서 시작해 어휘가 목표 크기에 도달할 때까지 가장 자주 인접하는 쌍을 반복해서 병합합니다. GPT 모델은 BPE를 바이트에 적용하므로 코드와 이모지를 포함한 모든 텍스트를 인코딩할 수 있습니다. BERT가 사용하는 WordPiece와 SentencePiece의 Unigram 모델도 관련 서브워드 방식입니다. 여기에서 Hugging Face Hub를 통해 불러온 CLIP의 BPE 토크나이저로 단어가 어떻게 분할되는지 확인할 수 있습니다.

from transformers import AutoTokenizer

# Load CLIP's byte-pair-encoding (BPE) tokenizer from the Hugging Face Hub
tokenizer = AutoTokenizer.from_pretrained("openai/clip-vit-base-patch32")

for text in ["bus", "double-decker bus", "unhappiness", "Ultralytics"]:
    tokens = tokenizer.tokenize(text)
    print(f"{text!r} -> {tokens} -> {tokenizer.convert_tokens_to_ids(tokens)}")

"bus"는 단일 토큰 ID 2840이며, "unhappiness"는 un과 happiness로 나뉩니다. 드문 단어인 "Ultralytics"는 ultr, aly, tics의 세 조각으로 분할됩니다. </w> 접미사는 토큰 49,408개로 구성된 CLIP 어휘에서 단어의 끝을 나타내며, CLIP 텍스트 인코더는 프롬프트당 최대 77개 토큰을 처리합니다.

시각 토큰#

논문 An Image Is Worth 16x16 Words에서 소개된 비전 트랜스포머(ViT)는 이미지를 고정 크기 패치로 분할합니다. ViT-B/16에서는 패치 하나의 크기가 16 × 16픽셀입니다. 각 패치를 임베딩으로 투영하므로 224 × 224 이미지가 토큰 196개로 변환됩니다. 위치 임베딩은 각 패치의 원래 위치를 기록하고, 추가 클래스 토큰은 분류에 필요한 정보를 모읍니다. 이 투영은 보통 스트라이드가 커널 크기와 같은 컨볼루션으로 구현됩니다.

import torch

# ViT-B/16 patch embedding: a 16x16 convolution with stride 16 turns each patch into one 768-dim token
patch_embed = torch.nn.Conv2d(3, 768, kernel_size=16, stride=16)

for size in (224, 448):
    image = torch.rand(1, 3, size, size)
    tokens = patch_embed(image).flatten(2).transpose(1, 2)  # (batch, tokens, dims)
    print(f"{size}x{size} image -> {tuple(tokens.shape)}")

224 × 224 이미지는 각각 값 768개를 담은 토큰 196개를 생성하며, 한 변을 448픽셀로 두 배 늘리면 토큰 수는 4배인 784개가 됩니다. 셀프 어텐션은 모든 토큰을 다른 모든 토큰과 비교하므로 토큰이 4배가 되면 어텐션 비용은 약 16배가 됩니다. 따라서 고해상도 모델은 Swin Transformer처럼 윈도우 어텐션을 사용하거나 토큰 병합으로 유사한 토큰을 결합합니다.

비전 언어 모델은 이미지 인코더에서 나온 시각 토큰을 텍스트 토큰과 함께 LLM에 전달합니다. 그러면 하나의 트랜스포머가 두 종류의 토큰 모두에 어텐션을 적용하고, 텍스트 토큰을 하나씩 생성해 답변을 작성합니다.

토큰 수가 중요한 이유#

  • 컨텍스트 한도: 프롬프트, 검색된 문서나 이미지, 생성된 답변이 모두 모델의 컨텍스트 윈도우에 들어가야 합니다.
  • 비용 및 지연 시간: API는 입력 토큰과 출력 토큰에 별도로 요금을 부과합니다. 출력 토큰마다 모델의 KV 캐시를 읽는 디코딩 단계가 필요하므로 출력 토큰 수가 늘수록 생성 시간도 길어집니다.
  • 언어와 형식: 주로 영어로 학습된 토크나이저는 다른 언어와 코드, 긴 숫자를 단어당 더 많은 토큰으로 분할하므로 같은 콘텐츠라도 비용이 더 들고 컨텍스트 윈도우를 더 빨리 채웁니다.
  • 문자 단위 작업: 모델은 서브워드 토큰을 처리하므로 단어의 글자 수를 세거나 단어를 뒤집는 등 개별 문자에 의존하는 작업은 겉보기보다 어렵습니다.

실제 적용 사례#

  • 텍스트 생성: LLM은 어휘의 모든 토큰에 확률을 부여하고, 토큰 하나를 샘플링해 시퀀스에 추가한 뒤 이 과정을 반복합니다. 누클리어스 샘플링과 같은 샘플링 방식은 가능성이 높은 토큰 중에서 선택합니다.
  • 이미지 생성: 자기회귀 이미지 모델은 벡터 양자화로 구성된 학습된 코드북에서 이산 시각 토큰을 예측하며, 이는 LLM이 단어를 예측하는 방식과 유사합니다.
  • 개방형 어휘 감지: Ultralytics 패키지에 포함된 칭화대학교 YOLOE의 YOLO26 기반 버전인 YOLOE-26은 입력한 클래스 이름으로 객체를 찾습니다. set_classes() 메서드는 각 이름을 CLIP의 BPE 토크나이저로 토큰화하고, Apple의 MobileCLIP2 텍스트 인코더는 토큰을 임베딩으로 변환합니다. 모델은 이 임베딩을 이미지 영역과 비교하므로 COCO 데이터셋에 없는 클래스인 "double-decker bus"도 텍스트만으로 감지할 수 있습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

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의 미래를 만들어 가세요!

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