google/sentencepiece
Unsupervised text tokenizer for Neural Network-based text generation.
해결하는 문제
SentencePiece는 대규모 언어 모델과 같은 뉴럴 네트워크 기반 텍스트 생성 시스템을 위해 원시 텍스트를 서브워드 단위(토큰)로 변환하는 빠르고 언어에 관계없는 방법을 제공합니다. 중국어, 일본어, 태국어처럼 단어 경계가 명확하지 않은 언어에 특히 유용한 언어별 사전 처리나 사전 토크나이저가 필요 없도록 합니다.
작동 방식
입력 텍스트를 순수한 유니코드 문자 시퀀스로 간주하고, Byte-Pair-Encoding (BPE) 및 유니그램 언어 모델과 같은 서브워드 알고리즘을 구현합니다. 디토크나이징이 손실 없이 역으로 가능하도록 공백을 특수한 메타 기호(▁)로 대체합니다. 고성능을 위해 최적화된 C++로 작성되었으며, 모든 어휘 매핑 및 정규화 규칙을 포함하는 자체 포함형 .model 파일을 생성합니다.
대상 사용자
훈련 전에 고정된 어휘 크기가 필요한 LLM 또는 기타 뉴럴 텍스트 생성 시스템을 개발하는 개발자 및 연구자에게 적합합니다.
주요 특징
- 손실 없는 디토크나이징: 공백을 기호로 취급하여 토큰을 텍스트로 되돌리는 과정을 간단한 문자열 조인 연산으로 수행할 수 있습니다.
- 언어 독립성: MeCab 또는 Moses와 같은 외부 사전 토크나이저가 필요 없이 원시 문장에서 직접 학습할 수 있습니다.
- 서브워드 정규화: BPE-Dropout 및 유니그램 샘플링과 같은 실시간 샘플링을 지원하여 모델의 노이즈 및 철자 변형에 대한 내성을 높입니다.
- 고성능: 최적화된 C++ 구현으로 약 50,000문장/초의 처리 속도를 달성하며 메모리 사용량도 작습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트