Інтерв’ю
Доктор Рам Шріхарша, віце-президент з інженерії в Pinecone – Серія інтерв’ю

Доктор Рам Шріхарша є віце-президентом з інженерії та досліджень у Pinecone.
До того, як приєднатися до Pinecone, Рам обіймав посади віце-президента в Yahoo, Databricks та Splunk. У Yahoo він був головним інженером-програмістом та дослідником; у Databricks він очолював розробку уніфікованої платформи аналітики для геноміки; а під час трьох років у Splunk він обіймав різні посади, включаючи старшого головного науковця, віце-президента з інженерії та відмінного інженера.
Pinecone – це повністю керований векторний баз даних, який полегшує додавання векторного пошуку до застосунків у виробництві. Він поєднує бібліотеки векторного пошуку, можливості, такі як фільтрація, та розподілені інфраструктури для забезпечення високої продуктивності та надійності у будь-якому масштабі.
Що спочатку привернуло вашу увагу до машинного навчання?
Високовимірна статистика, теорія навчання та подібні теми були тим, що привернуло мене до машинного навчання. Вони математично добре визначені, можуть бути обґрунтовані та мають деякі фундаментальні ідеї щодо того, що таке навчання, та як проектувати алгоритми, які можуть ефективно навчатися.
Раніше ви були віце-президентом з інженерії у Splunk, платформі даних, яка допомагає перетворити дані на дії для Observability, IT, Security та інше. Які були деякі з ваших ключових висновків з цього досвіду?
Я не усвідомлював, поки не прийшов до Splunk, наскільки різноманітні випадки використання в корпоративному пошуку: люди використовують Splunk для аналітики журналів, спостереження та аналітики безпеки серед безлічі інших випадків використання. І те, що спільне для багатьох з цих випадків використання, – це ідея виявлення подібних подій або високо відмінних (або аномальних) подій у неструктурованих даних. Це виявляється складною проблемою, а традиційні засоби пошуку таких даних не дуже масштабовані. Під час моєї роботи у Splunk я ініціював дослідження цих областей щодо того, як ми могли б використовувати машинне навчання (та глибоке навчання) для аналітики журналів, аналітики безпеки тощо. Через цю роботу я прийшов до висновку, що векторні вкладення та векторний пошук стануть фундаментальними примітивами для нових підходів до цих доменів.
Чи можете ви описати для нас, що таке векторний пошук?
У традиційному пошуку (інакше відомому як пошук за ключовими словами) ви шукаєте ключові слова, які збігаються між запитом та документами (це можуть бути твіти, веб-документи, юридичні документи тощо). Чтобы зробити це, ви розбиваєте свій запит на токени, отримуєте документи, які містять заданий токен, та об’єднуєте та ранжуєте, щоб визначити найбільш відповідні документи для заданого запиту.
Основна проблема, звичайно, полягає в тому, що для отримання відповідних результатів ваш запит повинен мати ключові слова, які збігаються у документі. Класична проблема традиційного пошуку полягає в тому, що якщо ви шукаєте “pop”, ви збігатиметеся з “музикою поп”, але не збігатиметеся з “газованими напоями” тощо, оскільки немає ключового перекриття між “pop” та документами, які містять “газовані напої”, хоча ми знаємо, що колоквіально у багатьох регіонах США “pop” означає те саме, що й “газовані напої”.
У векторному пошуку ви починаєте з перетворення запитів та документів у вектор у деякому високовимірному просторі. Це зазвичай робиться шляхом передачі тексту через глибинну модель, таку як LLMs від OpenAI або інші мовні моделі. Що ви отримуєте в результаті, – це масив чисел з плаваючою комою, який можна вважати вектором у деякому високовимірному просторі.
Ключова ідея полягає в тому, що сусідні вектори у цьому високовимірному просторі також семантично подібні. Повернувшись до нашого прикладу з “газованими напоями” та “pop”, якщо модель навчена на правильному корпусі, вона, ймовірно, вважатиме “pop” та “газовані напої” семантично подібними та, отже, відповідні вкладення будуть близькими один до одного у просторі вкладень. Якщо це так, то отримання найближчих документів для заданого запиту стає проблемою пошуку найближчих сусідів відповідного векторного запиту у цьому високовимірному просторі.
Чи можете ви описати, що таке векторний баз даних, та як він дозволяє створювати високопродуктивні застосунки векторного пошуку?
Векторний баз даних зберігає, індексує та керує цими вкладеннями (або векторами). Основні проблеми, які векторний баз даних вирішує, полягають у наступному:
- Створення ефективного пошукового індексу над векторами для відповіді на запити найближчих сусідів
- Створення ефективних допоміжних індексів та структур даних для підтримки фільтрації запитів. Наприклад, якщо ви хочете шукати лише у підмножині корпусу, ви повинні能够 використовувати існуючий пошуковий індекс без необхідності його перебудови
Підтримка ефективних оновлень та збереження як даних, так і пошукового індексу свіжими, узгодженими, стійкими тощо.
Які різні типи алгоритмів машинного навчання використовуються у Pinecone?
Ми загалом працюємо над алгоритмами приблизного пошуку найближчих сусідів та розробляємо нові алгоритми для ефективного оновлення, запиту та іншого xửлення великих обсягів даних у найбільш економічно ефективному порядку.
Ми також працюємо над алгоритмами, які поєднують густу та розріджену витягання для покращення відповідності пошуку.
Які деякі з проблем, пов’язаних із створенням масштабованого пошуку?
Хоча приблизний пошук найближчих сусідів досліджувався протягом десятиліть, ми вважаємо, що залишається багато чого, що потрібно відкрити.
Зокрема, коли мова йде про проектування великомасштабного пошуку найближчих сусідів, який є економічно ефективним, виконання ефективної фільтрації у масштабі або проектування алгоритмів, які підтримують високий об’єм оновлень та загалом свіжі індекси, – все це складні проблеми сьогодні.
Які деякі з різних типів випадків використання, для яких можна використовувати цю технологію?
Спектр випадків використання векторних баз даних зростає щоднем. Окрім їхнього використання у семантичному пошуку, ми також бачимо їх використання у пошуку зображень, витяганні зображень, генерації штучного інтелекту, аналітиці безпеки тощо.
Яка ваша бачення майбутнього пошуку?
Я вважаю, що майбутнє пошуку буде керованим штучним інтелектом, та я не думаю, що це дуже далеко. У цьому майбутньому я очікую, що векторні бази даних будуть фундаментальною примітивою. Ми вважаємо векторні бази даних довгостроковою пам’яттю (або зовнішньою базою знань) штучного інтелекту.
Дякую за велике інтерв’ю, читачам, які бажають дізнатися більше, слід відвідати Pinecone.












