🖥️ IT, 컴퓨터/🤖 GenAI_Tech

[OpenAI] Tiktoken 패키지 이용한 토큰 수 계산

김 홍시 2024. 4. 2.
반응형

 

import pandas as pd
import tiktoken



# 토크나이저 이름을 이용하여 사용할 토크나이저 결정 
encoder = tiktoken.get_encoding("cl100k_base")
df = pd.read_csv("경로.csv")
input = df['input']

# 함수 만들기
def encoder_encode(x):
    return encoder.encode(x)

df['token'] = df['input'].apply(lambda x: len(encoder_encode(x)))

 

 

Tiktoken은 OpenAI 모델과 함께 사용하기 위해 최적화된 빠른 바이트 페어 인코딩(BPE) 토크나이저를 위한 파이썬 패키지입니다. 이는 텍스트와 기계 학습 모델이 이해하는 토큰(숫자로 표현된) 사이를 변환하는 인코딩 및 디코딩 작업에 특히 유용합니다. Tiktoken은 다양한 Python 버전 및 플랫폼을 지원하며, 비교할 수 있는 오픈 소스 토크나이저보다 현저히 빠른 내장 성능 최적화를 제공합니다

 

Tiktoken을 사용하려면 pip를 통해 쉽게 설치할 수 있습니다. 이 패키지는 다양한 Python 버전에 대한 소스 및 빌드 배포를 제공하며, Windows, Linux, macOS를 포함한 다양한 운영 체제를 지원합니다. 다양한 Python 버전과 운영 체제를 지원함으로써 넓은 범위의 사용자에게 접근성을 제공합니다

 

Tiktoken의 주요 기능에는 텍스트를 토큰으로 인코딩하고 토큰을 다시 텍스트로 디코딩하는 것이 포함됩니다. get_encoding() 함수를 사용하면 이름으로 특정 인코딩을 로드할 수 있으며, 이는 텍스트 문자열을 토큰 정수로 변환하는 데 유용합니다. 예를 들어, "hello world"라는 텍스트를 토큰으로 인코딩한 다음 다시 디코딩하려면 각각 encode() 및 decode() 메서드를 사용합니다. 이 토큰화 과정은 가역적이고 손실 없이 이루어지므로 원본 텍스트를 토큰에서 완벽하게 재구성할 수 있으며, 의미 있는 부분 단어 구조를 유지하면서 텍스트를 더 짧은 토큰 시퀀스로 효율적으로 압축합니다

 

또한, Tiktoken은 동일한 텍스트를 처리하는 다양한 인코딩을 평가할 수 있는 인코딩 비교와 같은 고급 기능을 제공하며, 챗봇과 같은 애플리케이션에서 API 호출의 토큰 소비를 추정하는 데 유용한 토큰 수를 세는 유틸리티 함수를 제공합니다

 

Tiktoken의 사용법을 포함하여 토큰 수를 세고 다른 인코딩을 비교하는 방법에 대한 자세한 예시는 OpenAI Cookbook에서 실용적인 예시와 가이드를 제공합니다

 

반응형

댓글