Clark Hash는 신경 임베딩을 더 적은 공간에 저장하는 간단한 방법입니다. 데이터베이스 벡터를 정규화하고, 결정적 희소 부호 Johnson-Lindenstrauss 투영을 적용하며, 결과를 잘라내고 고정 폭 스칼라 양자화 코드를 저장합니다. 쿼리는 부동 소수점 상태로 유지되며 저장된 스케치에 대해 점수가 매겨집니다.
기본 384차원 문장 임베딩 설정에서 Clark Hash는 밀집 f32 저장에 필요한 1536바이트 대신 코사인 검색 벡터를 48바이트로 저장합니다. 이는 32배 더 작습니다. 이 방법은 새로운 벡터를 저장하기 전에 학습 패스, 학습 코드북, 회전 또는 코퍼스 통계가 필요하지 않습니다.
다국어 MiniLM 인코더를 사용했을 때 48바이트 스케치는 STS17 및 STS22에서 밀집 코사인 점수와 0.910 및 0.946 매크로 피어슨 상관관계를 달성했습니다. Clark Hash는 새로운 Johnson-Lindenstrauss 정리도 아니고 근사 최근접 이웃 인덱스의 대체재도 아닙니다.