tokenizers 라이브러리가 텍스트 인코딩 성능을 크게 개선하고 훈련 및 서빙 워크플로우의 병목 현상을 해결한 버전 1 출시 후보판을 출시했습니다. 이 업데이트는 v0.23과의 API 호환성을 유지하면서 열 가지 모델 계열 전반에 걸쳐 상당한 속도 향상을 제공합니다.
- bitcannon 라이브러리를 통해 정규식 분할을 비트스트림 연산으로 대체하여 단일 스레드에서 인코딩 속도가 v0.23 대비 3배에서 30배 빨라졌습니다.
- 스레드 로컬 단어 캐시는 반복되는 사전 토큰에 대한 결과를 저장하여 후속 발생 시 병합 과정을 완전히 건너뛸 수 있습니다.
- BPE 병합 루프는 임시 버퍼를 재사용하고 단일 호출로 사전 토큰의 배치 처리를 수행하여 호출당 메모리 할당을 제거합니다.
- 8개의 워커 간 확장 시 선형 성능의 76%를 달성하며, 직접 버퍼 쓰기를 통해 디코딩 처리량도 개선되었습니다.
이러한 최적화를 통해 GPU가 CPU 처리를 기다리며 유휴 상태에 머무는 동안 모델이 데이터 기아에 빠지는 것을 방지하여 토큰화가 더 이상 모델을 방해하지 않습니다.