Wywiady
Dr. Ram Sriharsha, VP of Engineering at Pinecone – Wywiad

Dr. Ram Sriharsha jest VP of Engineering and R&D at Pinecone.
Przed dołączeniem do Pinecone, Ram pełnił role VP w Yahoo, Databricks i Splunk. W Yahoo był głównym inżynierem oprogramowania i naukowcem; w Databricks był odpowiedzialny za produkt i inżynierię platformy analitycznej dla genomiki; a w Splunk przez trzy lata pełnił wiele ról, w tym Sr Principal Scientist, VP Engineering i Distinguished Engineer.
Pinecone to w pełni zarządzana baza danych wektorowych, która ułatwia dodawanie wyszukiwania wektorowego do aplikacji produkcyjnych. Łączy biblioteki wyszukiwania wektorowego, funkcje takie jak filtrowanie oraz infrastrukturę rozproszoną, aby zapewnić wysoką wydajność i niezawodność w dowolnej skali.
Czym było to, co początkowo przyciągnęło Cię do uczenia maszynowego?
Statystyka wielowymiarowa, teoria uczenia i tematy tego rodzaju były tym, co przyciągnęło mnie do uczenia maszynowego. Są one matematycznie dobrze zdefiniowane, mogą być rozumiane i mają pewne podstawowe spostrzeżenia do zaoferowania na temat tego, co oznacza uczenie, i jak zaprojektować algorytmy, które mogą uczyć się wydajnie.
Poprzednio byłeś Vice President of Engineering at Splunk, platformy danych, która pomaga przekształcić dane w działanie dla Obserwacji, IT, Bezpieczeństwa i innych. Jakie były Twoje najważniejsze wnioski z tego doświadczenia?
Nie zdawałem sobie sprawy, aż do momentu, gdy dołączyłem do Splunk, jak różnorodne są przypadki użycia w wyszukiwaniu przedsiębiorstw: ludzie używają Splunk do analizy logów, obserwacji i analizy bezpieczeństwa, wśród wielu innych przypadków użycia. I co jest wspólne dla wielu z tych przypadków użycia, to idea wykrywania podobnych zdarzeń lub wysoce niepodobnych (lub anomalnych) zdarzeń w nieustrukturyzowanych danych. Okazuje się, że jest to trudny problem, a tradycyjne metody wyszukiwania w takich danych nie są zbyt skalowalne. Podczas mojego pobytu w Splunk zainicjowałem badania wokół tych obszarów, jak możemy używać uczenia maszynowego (i głębokiego uczenia) do wydobywania logów, analizy bezpieczeństwa itp. Przez tę pracę, zrozumiałem, że wektory i wyszukiwanie wektorowe będą podstawowym prymitywem dla nowych podejść do tych dziedzin.
Czy mógłbyś opisać, co to jest wyszukiwanie wektorowe?
W tradycyjnym wyszukiwaniu (inaczej zwanym wyszukiwaniem słów kluczowych), szukasz dopasowań słów kluczowych między zapytaniem a dokumentami (mogą to być tweety, dokumenty internetowe, dokumenty prawne, itd.). Aby to zrobić, dzielisz swoje zapytanie na tokeny, pobierasz dokumenty, które zawierają dany token, i łączysz i rangujesz, aby określić najbardziej istotne dokumenty dla danego zapytania.
Głównym problemem jest oczywiście to, że aby uzyskać istotne wyniki, Twoje zapytanie musi mieć dopasowania słów kluczowych w dokumencie. Klasyczny problem z tradycyjnym wyszukiwaniem jest: jeśli wyszukasz “pop”, dopasujesz “muzykę pop”, ale nie dopasujesz “sody”, itd., ponieważ nie ma dopasowania słów kluczowych między “pop” a dokumentami zawierającymi “sodę”, chociaż wiemy, że w wielu obszarach w USA “pop” oznacza to samo, co “soda”.
W wyszukiwaniu wektorowym zaczynasz od konwersji zarówno zapytań, jak i dokumentów na wektor w pewnej wysokiej wymiarowości przestrzeni. Zwykle robi się to, przechodząc tekst przez model głębokiego uczenia, taki jak LLM OpenAI lub inne modele językowe. Co otrzymujesz w wyniku, to tablica liczb zmiennoprzecinkowych, które można uznać za wektor w pewnej wysokiej wymiarowości przestrzeni.
Podstawowa idea polega na tym, że pobliskie wektory w tej wysokiej wymiarowości przestrzeni są również semantycznie podobne. Wróćmy do naszego przykładu “sody” i “pop”: jeśli model jest wyszkolony na odpowiednim korpusie, jest prawdopodobne, że uzna “pop” i “sodę” za semantycznie podobne, a odpowiednie wektory będą blisko siebie w przestrzeni wektorowej. Jeśli tak jest, to pobieranie pobliskich dokumentów dla danego zapytania staje się problemem wyszukiwania najbliższych sąsiadów odpowiedniego wektora zapytania w tej wysokiej wymiarowości przestrzeni.
Czy mógłbyś opisać, co to jest baza danych wektorowych i jak umożliwia budowanie aplikacji wyszukiwania wektorowego o wysokiej wydajności?
Baza danych wektorowych przechowuje, indeksuje i zarządza tymi wektorami. Główne wyzwania, które rozwiązuje baza danych wektorowych, to:
- Budowanie wydajnego indeksu wyszukiwania nad wektorami, aby odpowiedzieć na zapytania o najbliższych sąsiadów
- Budowanie wydajnych indeksów pomocniczych i struktur danych, aby wspierać filtrowanie zapytań. Na przykład, jeśli chcesz wyszukać tylko podzbiór korpusu, powinieneś być w stanie wykorzystać istniejący indeks wyszukiwania bez potrzeby jego odbudowy
Wspiera wydajne aktualizacje i utrzymuje zarówno dane, jak i indeks wyszukiwania świeże, spójne, trwałe itd.
Jakie rodzaje algorytmów uczenia maszynowego są używane w Pinecone?
Zazwyczaj pracujemy nad algorytmami wyszukiwania najbliższych sąsiadów i rozwijamy nowe algorytmy, aby efektywnie aktualizować, wyszukiwać i radzić sobie z dużymi ilościami danych w jak najbardziej efektywny sposób.
Również pracujemy nad algorytmami, które łączą gęste i rzadkie pobieranie, aby poprawić istotność wyszukiwania.
Jakie są niektóre wyzwania związane z budowaniem skalowalnego wyszukiwania?
Chociaż wyszukiwanie najbliższych sąsiadów było badane przez dziesięciolecia, uważamy, że jest jeszcze wiele do odkrycia.
W szczególności, jeśli chodzi o projektowanie dużego skalowego wyszukiwania najbliższych sąsiadów, które jest efektywne kosztowo, wykonywanie efektywnego filtrowania w skali, lub projektowanie algorytmów, które wspierają wysoką objętość aktualizacji i ogólnie świeże indeksy, są to wszystkie wyzwania, które stoją przed nami dzisiaj.
Jakie są niektóre różne przypadki użycia, dla których ta technologia może być używana?
Zakres przypadków użycia baz danych wektorowych rośnie z dnia na dzień. Poza ich użyciem w wyszukiwaniu semantycznym, widzimy je również używane w wyszukiwaniu obrazów, wyszukiwaniu obrazów, generatywnym AI, analizie bezpieczeństwa itd.
Jaka jest Twoja wizja przyszłości wyszukiwania?
Uważam, że przyszłość wyszukiwania będzie napędzana przez AI, i nie sądzę, że jest to bardzo daleko. W tej przyszłości, oczekuję, że bazy danych wektorowych będą podstawowym prymitywem. Lubiemy myśleć o bazach danych wektorowych jako o długoterminowej pamięci (lub zewnętrznej bazie wiedzy) AI.
Dziękujemy za wspaniały wywiad, czytelnicy, którzy chcą dowiedzieć się więcej, powinni odwiedzić Pinecone.












