본문 바로가기
AI · 인공지능/AI 뉴스

"LLaMA"에 입력한 문장이 어떤 토큰으로 인식되는지 확인하는 "LLaMA-Tokenizer"

by 두우우부 2023. 6. 15.
반응형

 
AI는 기본적으로 문장 처리를 "토큰"이라고 불리는 단위로 인식합니다. 보통 문장이 토큰적으로 어떻게 분해되는지를 한눈에 판단할 수 있는 툴이 「토크나이저」로, Meta의 대규모 언어 모델인 「LLaMA」전용의 툴 「LLaMA - Tokenizer」가 공개되어 있습니다.
 
GitHub - belladoreai/llama-tokenizer-js: JS tokenizer for LLaMA based LLMs
https://github.com/belladoreai/llama-tokenizer-js

GitHub - belladoreai/llama-tokenizer-js: JS tokenizer for LLaMA based LLMs

JS tokenizer for LLaMA based LLMs. Contribute to belladoreai/llama-tokenizer-js development by creating an account on GitHub.

github.com


이미지 생성 AI나 대화형 AI 등에 프롬프트를 입력하는 데 필요한 것은 자연 언어 처리(NLP)입니다. 자연 언어 처리란 인간이 사용하는 자연 언어를 컴퓨터로 처리하여 내용을 추출하는 기술입니다. 자연언어 처리를 하기 위해서는 먼저 문장을 '토큰'이라고 불리는 단어로 분해하고, 각각의 토큰에 ID를 부여하는 '토크나이즈'를 통해 컴퓨터가 처리할 수 있는 입력 형식으로 변환해야 합니다. 그것을 시각화하는 프로그램이 "토크 나이저"입니다.

「LLaMA-Tokenizer」는 JavaScript 실행 환경 「Node.js」를 이용하여 실행 가능하며, 아래의 사이트에서 무료 웹 데모가 공개되어 있어, 실제로 사용해 볼 수 있습니다.

llama-tokenizer-js playground
https://belladoreai.github.io/llama-tokenizer-js/example-demo/build/

LLaMA-Tokenizer의 화면은 이런 느낌.


처음부터 표시되고 있는 「Replace this text in the input field to see how 🦙 tokenization works.」라고 하는 69 문자 영문의 경우, 20 토큰이 되는 모양. 하단에 색으로 구분된 문자열이 출력됩니다.



숫자의 열을 입력해 보았습니다. "123456789"를 입력하면 토큰 시작을 나타내는 "<s>"와 공백이 삽입된 후 한 글자씩 토큰으로 구분되어 총 11개의 토큰이 됩니다.



LLaMA-Tokenizer의 개발자인 Belladore 는 "현재 토크나이저 중 가장 인기 있는 애플리케이션 중 하나는 OpenAI가 공개한 것이지만 LLAMA와는 호환되지 않는 모양입니다.

ChatGPT가 어떻게 문장을 인식하는지 한눈에 알 수 있는 'Tokenizer'

ChatGPT가 어떻게 문장을 인식하는지 한눈에 알 수 있는 'Tokenizer'

AI는 문장을 읽고 쓸 때, 「토큰」이라는 단위로 인식을 실시합니다만, 보통의 문장이 토큰으로 어떻게 분해되는지를 한눈에 보여주는 툴, 「Tokenizer 」를 OpenAI가 게시했습니다. OpenAI API https://pla

doooob.tistory.com



Belladore에 따르면, 자신이 실시한 테스트 결과, OpenAI 토크나이저와 LLAMA-Tokenizer를 비교하면 토큰 수가 평균 20% 달랐습니다. "OpenAI 토크나이저를 사용하여 LLAMA에 입력하는 프롬프트 수를 측정하자면 대략적인 수치만 얻을 수 있었습니다."라고 지적하고 있습니다.

또한 GPT-3과 Codex에서만 호환성을 지닌 OpenAI 토크 나이저에 대해 LLAMA-Tokenizer는 "wizard-vicuna-13b-uncensored-gptq"와 "manticore-7b-ggml"등의 폭넓은 모델에 대한 호환성을 가집니다. 반면 LLaMA-Tokenizer는 OpenLLaMA와 같이 처음부터 학습한 모델에 대해서는 호환되지 않습니다.

LLAMA-Tokenizer의 소스 코드는 GitHub에 공개되어 있습니다.

GitHub - belladoreai/llama-tokenizer-js: JS tokenizer for LLaMA based LLMs
https://github.com/belladoreai/llama-tokenizer-js

GitHub - belladoreai/llama-tokenizer-js: JS tokenizer for LLaMA based LLMs

JS tokenizer for LLaMA based LLMs. Contribute to belladoreai/llama-tokenizer-js development by creating an account on GitHub.

github.com

 

반응형