[논문 리뷰] Similarity Search and Locality Sensitive Hashing using TCAMs
이 논문은 이방성 공간에서 O(1) 쿼리 시간과 근사 선형 저장소를 갖는 근사 최근접 이웃 검색을 수행하기 위해 삼진 콘텐츠 주소 가능 메모리(TCAM)를 활용하는 새로운 방법인 삼진 지역성 민감성 해싱(TLSH)을 제안한다. {0, 1, *} 값으로 벡터를 인코딩함으로써 TLSH는 단일 TCAM 검색을 통해 고정밀도 근사 최근접 이웃를 검색할 수 있으며, 일반 하드웨어에서 초당 150만 건의 쿼리를 달성하여 기존 표준 모델에서의 이론적 하한선을 우회한다.
Similarity search methods are widely used as kernels in various machine learning applications. Nearest neighbor search (NNS) algorithms are often used to retrieve similar entries, given a query. While there exist efficient techniques for exact query lookup using hashing, similarity search using exact nearest neighbors is known to be a hard problem and in high dimensions, best known solutions offer little improvement over a linear scan. Fast solutions to the approximate NNS problem include Locality Sensitive Hashing (LSH) based techniques, which need storage polynomial in $n$ with exponent greater than $1$, and query time sublinear, but still polynomial in $n$, where $n$ is the size of the database. In this work we present a new technique of solving the approximate NNS problem in Euclidean space using a Ternary Content Addressable Memory (TCAM), which needs near linear space and has O(1) query time. In fact, this method also works around the best known lower bounds in the cell probe model for the query time using a data structure near linear in the size of the data base. TCAMs are high performance associative memories widely used in networking applications such as access control lists. A TCAM can query for a bit vector within a database of ternary vectors, where every bit position represents $0$, $1$ or $*$. The $*$ is a wild card representing either a $0$ or a $1$. We leverage TCAMs to design a variant of LSH, called Ternary Locality Sensitive Hashing (TLSH) wherein we hash database entries represented by vectors in the Euclidean space into $\{0,1,*\}$. By using the added functionality of a TLSH scheme with respect to the $*$ character, we solve an instance of the approximate nearest neighbor problem with 1 TCAM access and storage nearly linear in the size of the database. We believe that this work can open new avenues in very high speed data mining.
연구 동기 및 목표
- 고차원 유클리드 공간에서 정확한 및 근사 최근접 이웃 검색의 확장성 한계를 해결하기 위해.
- 기존 해싱 및 색인 기법의 성능을 떨어뜨리는 '차원의 극복 문제'를 극복하기 위해.
- 네트워킹에서 흔히 사용되는 TCAM 하드웨어를 활용해 데이터 마이닝 및 머신러닝 분야에서 고속 유사도 검색을 수행하기 위해.
- 셀 프로브 모델에서 알려진 하한선을 TCAM의 병렬 연관 검색 기능을 활용해 우회하는 해싱 체계를 설계하기 위해.
- 기업용 TCAM 하드웨어에서의 시뮬레이션 및 실제 실험을 통해 실용적 타당성을 입증하기 위해.
제안 방법
- 유클리드 공간의 벡터를 {0, 1, *} 기호를 사용해 삼진 벡터로 매핑하는 LSH의 변종인 삼진 지역성 민감성 해싱(TLSH)을 제안한다.
- TCAM을 사용해 삼진 해시 코드에 대한 연관 검색을 수행하며, 여기서 '*'는 0과 1 모두와 매칭되는 와일드카드로 기능한다.
- 유사한 벡터가 TCAM 내에서 더 높은 확률로 충돌하도록 데이터베이스 항목을 삼진 해시 코드로 매핑한다.
- 유럽 공간 내 국소성을 유지하는 다수의 삼진 해시 함수를 생성하기 위해 사전 처리 단계를 활용한다.
- 같은 TLSH 함수를 사용해 쿼리 벡터를 해싱하고 단일 TCAM 검색을 통해 후보 이웃를 검색하는 쿼리 절차를 설계한다.
- TCAM의 본질적 병렬성을 활용해 데이터베이스 크기에 관계없이 일정한 시간 내에 쿼리 해결을 달성한다.
실험 결과
연구 질문
- RQ1TCAM 기반 연관 메모리는 고차원 유클리드 공간에서 근사 최근접 이웃 검색에 대해 O(1) 쿼리 시간을 달성하는 데 사용될 수 있는가?
- RQ2삼진 해싱 체계(TLSH)는 공간 효율성과 쿼리 속도 면에서 표준 LSH를 능가하면서도 높은 정확도를 유지할 수 있는가?
- RQ3기업용 스위치에 탑재된 기존 TCAM 하드웨어가 대규모 실시간 유사도 검색을 지원할 수 있는 정도는 어느 정도인가?
- RQ4삼진 해싱에서 와일드카드의 사용이 셀 프로브 모델에서 알려진 하한선을 우회할 수 있는가?
- RQ5Wikipedia 텍스트 임베딩과 같은 실제 세계 데이터셋에서 TLSH는 고차원 공간에서 어떻게 성능을 발휘하는가?
주요 결과
- 288비트 TCAM을 사용하여 64차원 유클리드 공간의 100만 점 데이터베이스에서 고정밀도 근사 최근접 이웃 검색을 달성했다.
- Cisco Catalyst 4500 스위치의 1Gbps 포트당 초당 150만 건의 근사 최근접 이웃 쿼리를 지속할 수 있었다.
- TLSH는 근사 선형 저장소를 통해 쿼리 시간을 O(1)로 줄였으며, 다항식 쿼리 시간이 필요한 전통적 LSH 방법보다 뚜렷이 뛰어났다.
- TCAM의 병렬 연관 기능을 활용해 셀 프로브 모델에서 알려진 하한선을 성공적으로 우회했다.
- 합성 및 실제 세계(Wikipedia) 데이터셋에 대한 시뮬레이션을 통해 다양한 데이터 분포에서 높은 검색 정확도와 강건성을 확인했다.
- 초저지연 유사도 검색이 필요한 스트리밍 및 실시간 데이터 마이닝 응용 분야에서 실용적인 타당성을 입증했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.