메타가 기존 데이터 군집화 알고리즘보다 GPU에서 최대 45배 빠르게 작동하는 'e-민즈(e-means)'를 오픈소스로 공개했다. 대규모 데이터를 비슷한 특성끼리 묶는 데 필요한 연산 시간과 비용을 크게 줄여 AI 검색과 추천 시스템의 구축 효율을 높일 수 있다는 설명이다.
메타 연구진은 6일(현지시간) 아카이브에 e-민즈 연구 논문을 공개했다. 기존 'k-민즈(k-means)'를 개선한 알고리즘으로, 데이터 군집화 속도를 높이면서도 결과의 품질을 유지하거나 개선하는 것이 특징이다.
k-민즈는 유사한 특성을 가진 데이터를 여러 집단으로 묶고 각 집단의 중심점을 계산하는 방식이다. '민즈(means)'는 평균을 뜻하며, 각 집단에 속한 데이터의 평균값을 중심점으로 삼는다. 벡터 검색과 데이터 압축 등에 널리 활용되지만, 데이터가 수십억개로 늘어나면 반복 계산에 많은 시간과 연산 자원이 필요하다.
e-민즈는 전체 데이터를 매번 처리하는 대신 일부 데이터만 추출해 계산하는 '미니배치(Mini-batch)' 방식에 지수이동평균(EMA)을 결합했다. 최근 처리한 데이터에 더 큰 가중치를 부여하며 각 군집의 중심점을 갱신한다. 데이터 규모에 맞춰 처리 단위와 업데이트 폭을 자동으로 조정해 복잡한 설정도 줄였다.
연구진에 따르면 기존 k-민즈가 25회 반복 학습을 거쳐 도달하는 오차 수준을 e-민즈는 1.4~2.6회 만에 달성했다. 같은 군집화 품질을 확보하는 데 필요한 반복 계산을 크게 줄인 것이다.
실제 실행 시간 비교에서도 GPU 환경에서는 기존 고성능 알고리즘인 '플래시-K민즈(Flash-KMeans)'보다 10~45배, CPU 환경에서는 파이스(Faiss) 기반 k-민즈보다 8~15배 빠른 것으로 나타났다. 이는 연구진의 실험 결과로, 데이터와 하드웨어 구성에 따라 성능 차이가 발생할 수 있다.
대규모 데이터 처리에서도 성능을 확인했다. 연구진은 100억개의 이미지 임베딩으로 구성된 'DINO10B' 데이터셋을 약 1670만개 군집으로 묶는 작업에서 2.5회 반복 학습만으로 기존 k-민즈의 25회 학습 결과보다 낮은 오차를 기록했다고 밝혔다.
e-민즈는 메타의 오픈소스 벡터 검색 라이브러리 '파이스(FAISS) 1.16.0'에 포함됐다. 개발자들은 공개된 코드를 활용해 대규모 벡터 인덱스를 구축하거나 임베딩 데이터를 처리하는 데 적용할 수 있다.
이번 연구는 검색과 추천 시스템에서 방대한 데이터를 사전에 군집화하는 데 필요한 연산 비용을 줄이는 데 초점을 맞췄다. 실제 검색·추천 서비스의 응답 속도가 같은 비율로 빨라진다는 의미는 아니며, 관련 시스템 구축 과정의 효율을 개선할 수 있다는 것이다.
박찬 기자 cpark@aitimes.com