GPT 토크나이저에 대해 이해하기

https://simonwillison.net/2023/Jun/8/gpt-tokenizers/

OpenAI는 토큰 작동 방식을 탐색하기 위한 Tokenizer 도구를 제공합니다.

저는 Observable 노트북으로 저만의 약간 더 흥미로운 도구를 만들었습니다.

https://observablehq.com/@simonw/gpt-tokenizer

노트북을 사용하여 텍스트를 토큰으로, 토큰을 텍스트로 변환하고 전체 토큰 테이블에 대해 검색을 실행할 수도 있습니다.

gpt 토큰 인코더 및 디코더

여기서 대문자 사용이 중요합니다. 대문자 T가 있는 "The"는 토큰 464이지만 선행 공백과 소문자 t가 모두 있는 "the"는 토큰 262입니다.

또한 많은 단어에는 선행 공백을 포함하는 토큰이 있습니다. 이렇게 하면 각 공백 문자에 토큰을 사용할 필요 없이 전체 문장을 인코딩할 수 있으므로 전체 문장을 훨씬 더 효율적으로 인코딩할 수 있습니다.

tiktoken으로 토큰 계산

OpenAI의 모델에는 각각 토큰 한도가 있습니다. 한도를 초과하지 않도록 API에 전달하기 전에 문자열의 토큰 수를 계산해야 하는 경우가 있습니다.

이를 필요로 하는 한 가지 기술은 문서 코퍼스에 대해 검색(또는 내장 검색)을 실행하여 사용자의 질문에 답하고 가장 가능성 있는 콘텐츠를 추출하여 프롬프트에 컨텍스트로 포함하는 Retrieval Augmented Generation 입니다 .

해당 패턴을 성공적으로 구현하기 위한 핵심은 토큰 제한에 맞는 관련 컨텍스트를 최대한 많이 포함하는 것이므로 토큰을 셀 수 있어야 합니다.

OpenAI는 tiktoken 이라는 Python 라이브러리를 제공합니다 .



2