워드 임베딩(word embedding) 훈련 속도를 획기적으로 개선한 오픈소스 라이브러리 'floret-torch'가 공개되어 개발자들의 관심을 모으고 있습니다. 이 프로젝트는 페이스북 AI 리서치(Facebook AI Research)의 인기 워드 벡터 라이브러리인 fastText의 GPU 기반 대안으로, 기존 CPU 기반 fastText보다 최대 20배 빠른 속도로 워드 벡터를 훈련할 수 있습니다. 아마존 웹 서비스(AWS)의 관리형 서비스인 블레이징텍스트(BlazingText)와 유사한 기능을 제공하면서도 오픈소스라는 점에서 큰 의미를 가집니다.
floret-torch는 파이토치(PyTorch) 프레임워크를 활용하여 fastText의 훈련 루프를 재구현했습니다. 특히 fastText의 변형인 플로렛(floret) 방식을 채택했는데, 이는 블룸 필터(Bloom filter) 스타일의 압축된 서브워드(subword) 테이블을 사용하여 각 문자 n-그램(n-gram)을 고정된 버킷(bucket) 행에 해싱(hashing)하는 방식입니다. 이를 통해 미등록 단어(unseen word)나 오타가 있는 단어도 n-그램으로부터 벡터를 얻을 수 있습니다. 텍스트8(text8) 데이터셋 훈련 결과, 3 에포크(epoch)에서 CPU fastText와 동일한 품질을 유지하면서도 엔비디아(NVIDIA) T4 GPU 환경에서 약 20배 빠른 속도를 보였습니다. 이는 주로 워드 벡터 훈련이 연산보다는 메모리 대역폭(memory bandwidth)에 의해 제한된다는 점에 착안한 것으로, GPU가 CPU보다 훨씬 높은 메모리 대역폭을 가지고 있기 때문에 이러한 성능 향상이 가능했습니다.
이러한 발전은 대규모 언어 모델(LLM) 및 자연어 처리(NLP) 분야에서 워드 임베딩 훈련의 효율성을 크게 높일 것으로 기대됩니다. 특히 방대한 텍스트 데이터를 다루는 연구자나 개발자에게는 훈련 시간을 단축하고 자원 활용을 최적화하는 데 큰 도움이 될 것입니다. 또한, AWS 블레이징텍스트와 같은 상용 서비스의 오픈소스 대안이 등장함으로써, 비용 부담 없이 고성능 워드 임베딩 훈련 환경을 구축할 수 있는 길이 열렸다는 점도 주목할 만합니다. 향후 텍스트 분류(text classification) 기능까지 구현된다면, 그 활용 범위는 더욱 넓어질 것으로 예상됩니다.