13P by xguru 3달전 | favorite | 댓글 1개
  • OpenAI를 그만둔 Andrej Karpathy가 새로 공개한 코드
  • LLM 토큰화에 일반적으로 사용되는 (Byte Level) 바이트 쌍 인코딩(BPE) 알고리듬을 위한 미니멀/클린 코드
    • Byte Level : UTF-8 인코딩된 문자열에 대해서 동작하기 때문
  • BPE는 GPT-2 논문과 OpenAI의 관련 GPT-2 코드 릴리스에 의해 LLM에 대중화되었음
  • 오늘날 모든 최신 LLM(예: GPT, Llama, Mistral)은 이 알고리듬을 사용하여 Tokenizer를 훈련함
  • Repo에는 2개의 토크나이저가 있음. 두개 다 3가지 주요 동작을 실행
      1. 주어진 텍스트에 대해 Tokenizer의 어휘 및 병합 훈련
      1. 텍스트에서 토큰으로 인코딩
      1. 토큰에서 텍스트로 디코딩
  • Tokenizer 베이스 클래스 와 가장 간단한 구현체인 BasicTokenizer, 입력 문자열을 정규식으로 분할하는 RegexTokenizer
  • RegexTokenizer의 래퍼인 GPT4Tokenizer는 tiktoken 라이브러에서 GPT-4의 토큰화를 정확히 재현

이와 관련해서 GPT Tokenizer 구축하기 영상도 올라왔습니다.
GPT 토크나이저 구축하기 by Andrej Karpathy [동영상]