New We are sorting MAX channels into categories and territories. Read the news

Недавно обсуждали дизайн рекламной системы (реальной), и разговор…

Недавно обсуждали дизайн рекламной системы (реальной), и разговор зашёл о том, где и как хранить векторы для айтемов и пользователей. На моё утверждение, что можно всё хранить на одной машине, возразили, что будет примерно 100-200 млн векторов, которые нужно хранить постоянно (пользователей можно считать на лету). К счастью, я как раз недавно прочитал ScaNN (Scalable Nearest Neighbors) (https://research.google/blog/announcing-scann-efficient-vector-similarity-search/)от Google Research.

У ScaNN два плюса:
1) Эффективная квантизация через кодовые книги (ну это у многих).
2) Сжатие не просто ради сжатия, а минимизация ошибки в первую очередь в направлении вектора; ошибка, уводящая вбок, менее страшна.

The innovation of ScaNN is Anisotropic Vector Quantization. It recognizes that not all geometric errors are created equal. An error "sideways" (orthogonal) hurts your search accuracy much less than an error "lengthwise" (parallel).

Если взять эмбеддинг OpenAI (Ada-002) размерностью 1536, он будет весить 6 КБ. 100 млн таких эмбеддингов будут весить 600 ГБ — многовато.

Если его сжать через CodeBook — стандартно в 64 субпространства code book — он будет весить 64 байта. 100 млн таких эмбеддингов будут весить 6 ГБ.

Задача решена.
#SystemDesign

https://research.google/blog/announcing-scann-efficient-vector-similarity-search/
Views: 144
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go