Що таке векторний пошук?  Кращий пошук за допомогою ШІ

Що таке векторний пошук? Кращий пошук за допомогою ШІ

ІТ

Якщо ви хочете реалізувати музичний сервіс, який буде діяти як Spotify і знайде для вас пісні, подібні до того, що вам подобається. Як би ви діяли? Одним із варіантів було б класифікувати кожну пісню за низкою ознак, зберегти ці “вектори” в індексованій базі даних та здійснити пошук у базі даних, щоб знайти вектори опису пісні “біля” ваших улюблених. Іншими словами, ви могли б шукати векторну подібність.

Що таке пошук подібності вектора?

Як правило, існує чотири компоненти пошуку векторної подібності: векторні вбудовування, які вловлюють ключові ознаки вихідного об’єкта, такі як пісня, малюнок або текст; Метрики відстані, що представляють “близькість” між векторами; Алгоритми пошуку; та базу даних, яка містить вектори та підтримує векторний пошук за допомогою індексів.

Що таке векторні вбудовування?

Векторні вбудовування – це, по суті, вектори ознак, оскільки їх розуміють у контексті машинного навчання та глибокого навчання. Їх можна визначити, запустивши інженерію функцій вручну або за допомогою результатів моделей.

Наприклад, текстові рядки можна перетворити на вбудовування слів (вектори ознак) за допомогою нейронних мереж, зменшення розмірів на матриці спільного входження слова, ймовірнісних моделей, пояснюваних методів бази знань та явного представлення стосовно контексту, в якому зустрічаються слова. Загальні моделі навчання та використання вбудованих слів включають word2vec (Google), GloVe (Стенфорд), ELMo (Інститут Аллена / Університет Вашингтона), BERT (Google) та fastText (Facebook).

Google Cloud стверджує, що її нові спеціалізовані дані та інструменти спростять машинне навчання

Зображення часто вбудовуються шляхом фіксації виходу з моделей згорткових нейронних мереж (CNN) або моделей трансформаторів. Ці моделі автоматично зменшують розмірність векторів об’єктів шляхом згортання (“складання”) піксельних латок у об’єкти та зменшення вибірки за допомогою об’єднання шарів.

Рекомендації щодо продукту можуть ґрунтуватися на вбудовуванні слів і фраз в опис товару, вбудовуванні зображень продукту або обох. Аудіовбудовування можуть базуватися на перетвореннях аудіо Фур’є (що дає вам спектр); про описи композитора, жанру, виконавця, темпу, ритму та гучності; або як по спектру, так і за ключовими словами. Область швидко просувається, тому я очікую нових методів вбудовування для багатьох сфер застосування.

Що таке показники відстані?

Зазвичай ми думаємо про відстані у вигляді прямих у двох або трьох вимірах. Векторні вбудовування часто бувають більш ніж 10-розмірними, з 1000 розмірів зовсім незвичайними. Загальна формула відстаней названа на честь Германа Мінковського, який відомий (принаймні фізикам) своєю формулюванням спеціальної теорії відносності Ейнштейна як чотиривимірного простору-часу з часом як четвертого виміру. Метрика Мінковського (або відстань) – це узагальнення як евклідових відстаней (прямі прямі лінії), так і відстаней Манхеттена (нерівні лінії, як пішохідні квартали міст).

Евклідова відстань, також відома як відстань L2 або норма L2, є найбільш часто використовуваною метрикою для алгоритмів кластеризації. Інша метрика, косинусна подібність, часто використовується для текстової обробки, де напрямок вбудованих векторів важливий, але відстань між ними – ні.

Які алгоритми можуть виконувати пошук векторної подібності?

Загалом, алгоритм K-найближчого сусіда (KNN), ймовірно, дасть хороші відповіді на проблеми векторного пошуку. Основна проблема ANN полягає в тому, що він обчислювально обчислювальний, як у використанні процесора, так і в пам’яті.

Альтернативи ANN включають алгоритми пошуку наближеного найближчого сусіда (ANN) та варіанти ANN, дерево розділу простору та графік (SPTAG). SPTAG було випущено як відкритий код Microsoft Research and Bing. Подібним варіантом ANN, опублікованим у Facebook з відкритим кодом, є пошук подібності AI у Facebook (Faiss). Квантовачі продуктів та індекс IndexIVFPQ допомагають прискорити Файса та деякі інші варіанти ANN. Як я вже згадував раніше, векторні бази даних часто створюють векторні індекси для покращення швидкості пошуку.

Faiss був розроблений для пошуку у багатомільярдній векторній базі даних мультимедійних документів, що нагадують документ із запитом. Розробники використали для оцінки колекцію з мільярда зображень Deep1B. За допомогою Faiss ви можете адаптувати свою попередню обробку векторів, розбиття бази даних та векторне кодування (квантування продукту) таким чином, щоб набір даних вписувався у наявну робочу пам’ять. Faiss реалізовано окремо для процесорів та графічних процесорів. На центральних процесорах Faiss може досягти оцінки відкликання 40% у наборі даних на 1 мільярд зображень за 2 мс, що відповідає 500 запитам за секунду та ядро. Faiss здійснює пошук у 20 разів швидше на графічному процесорі Nvidia класу Pascal, ніж на процесорі.

SPTAG був побудований для подібних цілей, хоча і з дещо іншими методами. Компанія Bing векторизувала понад 150 мільярдів даних, індексованих пошуковою системою, щоб покращити результати порівняно з традиційною відповідністю ключових слів. Векторизовані дані включають окремі слова, символи, уривки з веб -сторінок, повні запити та інші засоби масової інформації. Автори SPTAG спиралися на свої попередні дослідження щодо мережевих мереж у Microsoft Research Asia за допомогою ітераційного пошуку діаграм сусідства на основі запитів та реалізували алгоритми kd-дерева (краще для побудови індексу) та збалансованого дерева k-середніх (краще для точності пошуку). Пошук починається з кількох випадкових початкових значень, а потім ітеративно продовжується у деревах та на графіку.

Pinecone – це повністю керована векторна база даних з API, яка полегшує додавання векторного пошуку до виробничих програм. Служби пошуку подібності Pinecone розподілені, без серверів, стійкі, послідовні, фрагментовані та тиражовані у багатьох вузлах. Pinecone може обробляти мільярди векторних вбудовань, і ви можете шукати подібність у програмах і блокнотах Python або Java.

Pinecone стверджує, що затримка <50 мс, навіть з мільярдами елементів і тисячами запитів в секунду. Він працює на загартованій інфраструктурі AWS. Дані зберігаються в ізольованих контейнерах і зашифровуються під час передачі.

Яке застосування векторного пошуку?

Окрім пошуку зображень, продемонстрованих Facebook, та семантичного текстового пошуку, реалізованого Microsoft Bing, пошук векторної подібності може служити для багатьох випадків використання. Приклади включають рекомендації щодо продуктів, відповіді на поширені запитання, персоналізацію, пошук звуку, дедуплікацію та виявлення загроз у журналах ІТ -подій.

Як хмарні обчислення впливають на розвиток технологій

Залишити відповідь