바이트 페어 인코딩

위키백과, 우리 모두의 백과사전.

바이트 페어 인코딩(byte pair encoding)[1][2] 또는 다이그램 코딩(digram coding)[3]은 다운스트림 모델링에 사용하기 위해 텍스트 문자열을 표 형식으로 인코딩하기 위해 1994년 필립 게이지(Philip Gage)가 처음 설명한 알고리즘이다.[4] 그 수정은 단일 문자(한 자리 숫자 또는 단일 구두점 포함)를 인코딩하는 토큰과 전체 단어(가장 긴 복합어 포함)를 인코딩하는 토큰을 모두 결합하는 기능을 갖춘 대형 언어 모델 토크나이저로 주목할 만하다.[5][6][7] 첫 번째 단계에서 이 수정은 모든 고유 문자가 1자 길이의 n-그램(즉, 초기 "토큰")의 초기 세트라고 가정한다. 그런 다음 연속적으로 가장 자주 사용되는 인접 문자 쌍이 새로운 2자 길이의 n-그램으로 병합되고 해당 쌍의 모든 인스턴스가 이 새 토큰으로 대체된다. 이는 규정된 크기의 어휘를 얻을 때까지 반복된다. 새로운 단어는 항상 최종 어휘 토큰과 초기 설정 문자로 구성될 수 있다.[8]

코퍼스(말뭉치)에서 발견된 모든 고유 토큰은 토큰 어휘에 나열되며, 그 크기는 GPT-3.5 및 GPT-4의 경우 100256에 달한다.

수정된 알고리즘과 원본 알고리즘의 차이점은 원본 알고리즘이 가장 빈번한 데이터 바이트 쌍을 병합하지 않고 이를 초기 데이터 세트에 포함되지 않은 새로운 바이트로 대체한다는 것이다. 초기 데이터 세트를 다시 작성하려면 대체 항목의 순람표가 필요하다. 이 알고리즘은 연산 부하가 낮고 일관성과 신뢰성을 유지하므로 토큰화에 효과적이다.

각주[편집]

  1. Gage, Philip (1994). “A New Algorithm for Data Compression”. 《The C User Journal》. 
  2. “A New Algorithm for Data Compression”. 《Dr. Dobb's Journal》. 1994년 2월 1일. 2020년 8월 10일에 확인함. 
  3. Witten, Ian H.; Moffat, Alistair; Bell, Timothy C. (1994). 《Managing Gigabytes》. New York: Van Nostrand Reinhold. ISBN 978-0-442-01863-4. 
  4. “Byte Pair Encoding”. 2016년 3월 26일에 원본 문서에서 보존된 문서. 
  5. Sennrich, Rico; Birch, Alexandra; Haddow, Barry (2015년 8월 31일). “Neural Machine Translation of Rare Words with Subword Units”. arXiv:1508.07909 [cs.CL]. 
  6. Brown, Tom B.; Mann, Benjamin; Ryde r, Nick; Subbiah, Melanie; Kaplan, Jared; Dhariwal, Prafulla; Neelakantan, Arvind; Shyam, Pranav; Sastry, Girish; Askell, Amanda; Agarwal, Sandhini (2020년 6월 4일). “Language Models are Few-Shot Learners”. arXiv:2005.14165 [cs.CL]. 
  7. “google/sentencepiece”. Google. 2021년 3월 2일. 2021년 3월 2일에 확인함. 
  8. Paaß, Gerhard; Giesselbach, Sven (2022). 〈Pre-trained Language Models〉. 《Foundation Models for Natural Language Processing》. Artificial Intelligence: Foundations, Theory, and Algorithms. 19–78쪽. doi:10.1007/978-3-031-23190-2_2. ISBN 9783031231902. 2023년 8월 3일에 확인함.