stub Dr Ram Sriharsha, wiceprezes ds. inżynierii w Pinecone – seria wywiadów – Unite.AI
Kontakt z nami

Wywiady

Dr Ram Sriharsha, wiceprezes ds. inżynierii w Pinecone – seria wywiadów

mm

Opublikowany

 on

Dr Ram Sriharsha jest wiceprezesem ds. inżynierii oraz badań i rozwoju w Pinecone.

Przed dołączeniem do Pinecone Ram zajmował stanowiska wiceprezesa w Yahoo, Databricks i Splunk. W Yahoo był zarówno głównym inżynierem oprogramowania, jak i pracownikiem naukowym; w Databricks był kierownikiem ds. produktów i inżynierii ujednoliconej platformy analitycznej dla genomiki; a przez trzy lata pracy w Splunk pełnił wiele ról, w tym starszego głównego naukowca, wiceprezesa ds. inżynierii i wybitnego inżyniera.

szyszka to w pełni zarządzana baza danych wektorów, która ułatwia dodawanie wyszukiwania wektorów do aplikacji produkcyjnych. Łączy w sobie biblioteki wyszukiwania wektorowego, możliwości takie jak filtrowanie i rozproszoną infrastrukturę, aby zapewnić wysoką wydajność i niezawodność w dowolnej skali.

Co początkowo przyciągnęło Cię do uczenia maszynowego?

Statystyki wielkowymiarowe, teoria uczenia się i tego typu tematy przyciągnęły mnie do uczenia maszynowego. Są dobrze zdefiniowane matematycznie, można je uzasadnić i oferują pewne podstawowe spostrzeżenia na temat tego, co oznacza uczenie się i jak projektować algorytmy, które mogą się efektywnie uczyć.

Wcześniej byłeś wiceprezesem ds. inżynierii w Splunk – platformie danych, która pomaga przekształcać dane w działania na rzecz obserwowalności, IT, bezpieczeństwa i nie tylko. Jakie były Twoje najważniejsze wnioski z tego doświadczenia?

Dopóki nie trafiłem do Splunk, nie zdawałem sobie sprawy, jak różnorodne są przypadki użycia w wyszukiwaniu korporacyjnym: ludzie używają Splunk do analizy logów, obserwowalności i analityki bezpieczeństwa wśród niezliczonej liczby innych przypadków użycia. Wspólną cechą wielu tych przypadków użycia jest koncepcja wykrywania podobnych lub bardzo odmiennych (lub nietypowych) zdarzeń w nieustrukturyzowanych danych. Okazuje się to trudnym problemem, a tradycyjne sposoby przeszukiwania takich danych nie są zbyt skalowalne. Podczas mojej pracy w Splunk zainicjowałem badania w tych obszarach, w jaki sposób moglibyśmy wykorzystać uczenie maszynowe (i głębokie uczenie się) do eksploracji logów, analityki bezpieczeństwa itp. Dzięki tej pracy zdałem sobie sprawę, że osadzanie wektorów i wyszukiwanie wektorów staną się fundamentalny prymityw dla nowego podejścia do tych dziedzin.

Czy mógłbyś nam opisać, czym jest wyszukiwanie wektorowe?

W wyszukiwaniu tradycyjnym (inaczej zwanym wyszukiwaniem słów kluczowych) szukasz dopasowań słów kluczowych między zapytaniem a dokumentami (mogą to być tweety, dokumenty internetowe, dokumenty prawne i co tam masz). Aby to zrobić, dzielisz zapytanie na tokeny, pobierasz dokumenty zawierające dany token, a następnie scalasz i oceniasz, aby określić najbardziej odpowiednie dokumenty dla danego zapytania.

Głównym problemem jest oczywiście to, że aby uzyskać trafne wyniki, zapytanie musi zawierać dopasowania słów kluczowych w dokumencie. Klasyczny problem z tradycyjnym wyszukiwaniem polega na tym, że jeśli będziesz szukać „pop”, dopasujesz „muzyka pop”, ale nie „soda” itp., ponieważ słowa kluczowe „pop” nie pokrywają się z dokumentami zawierającymi „soda”, choć wiemy, że potocznie w wielu rejonach USA „pop” oznacza to samo co „soda”.

W wyszukiwaniu wektorowym zaczynasz od konwersji zarówno zapytań, jak i dokumentów na wektor w jakiejś przestrzeni wielowymiarowej. Zwykle odbywa się to poprzez przepuszczanie tekstu przez model głębokiego uczenia się, taki jak LLM OpenAI lub inne modele językowe. W rezultacie otrzymujesz tablicę liczb zmiennoprzecinkowych, które można traktować jako wektor w jakiejś przestrzeni wielowymiarowej.

Podstawową ideą jest to, że pobliskie wektory w tej wielowymiarowej przestrzeni są również semantycznie podobne. Wracając do naszego przykładu „soda” i „pop”, jeśli model zostanie przeszkolony na właściwym korpusie, prawdopodobnie uzna „pop” i „soda” za semantycznie podobne, w związku z czym odpowiadające im osadzenia będą blisko siebie w przestrzeń osadzania. Jeśli tak jest, to odzyskanie pobliskich dokumentów dla danego zapytania staje się problemem poszukiwania najbliższych sąsiadów odpowiedniego wektora zapytania w tej wielowymiarowej przestrzeni.

Czy mógłbyś opisać, czym jest wektorowa baza danych i w jaki sposób umożliwia tworzenie wydajnych aplikacji do wyszukiwania wektorów?

Baza danych wektorów przechowuje, indeksuje i zarządza tymi osadzaniami (lub wektorami). Główne wyzwania, którym rozwiązuje wektorową bazę danych, to:

  • Budowanie wydajnego indeksu wyszukiwania na podstawie wektorów w celu odpowiedzi na zapytania dotyczące najbliższego sąsiada
  • Budowanie wydajnych indeksów pomocniczych i struktur danych wspierających filtrowanie zapytań. Załóżmy na przykład, że chcesz przeszukać tylko podzbiór korpusu, powinieneś móc wykorzystać istniejący indeks wyszukiwania bez konieczności jego przebudowywania

Wspieraj wydajne aktualizacje i dbaj o to, aby zarówno dane, jak i indeks wyszukiwania były świeże, spójne, trwałe itp.

Jakie są różne typy algorytmów uczenia maszynowego stosowane w Pinecone?

Zwykle pracujemy nad przybliżonymi algorytmami wyszukiwania najbliższego sąsiada i opracowujemy nowe algorytmy w celu wydajnego aktualizowania, wysyłania zapytań i innego przetwarzania dużych ilości danych w możliwie najbardziej opłacalny sposób.

Pracujemy również nad algorytmami, które łączą wyszukiwanie gęste i rzadkie, aby poprawić trafność wyszukiwania.

 Jakie wyzwania stoją przed tworzeniem skalowalnych wyszukiwarek?

Chociaż badania nad przybliżonym wyszukiwaniem najbliższego sąsiada prowadzone są od dziesięcioleci, wierzymy, że pozostaje wiele do odkrycia.

W szczególności jeśli chodzi o projektowanie opłacalnego wyszukiwania najbliższych sąsiadów na dużą skalę, przeprowadzanie wydajnego filtrowania na dużą skalę lub projektowanie algorytmów obsługujących aktualizacje na dużą skalę i ogólnie świeże indeksy, stanowią obecnie duże wyzwanie.

W jakich różnych przypadkach można zastosować tę technologię?

Spektrum zastosowań wektorowych baz danych rośnie z dnia na dzień. Oprócz zastosowań w wyszukiwaniu semantycznym widzimy, że jest on również używany w wyszukiwaniu obrazów, wyszukiwaniu obrazów, generatywnej sztucznej inteligencji, analityce bezpieczeństwa itp.

Jaka jest Twoja wizja przyszłości wyszukiwania?

Myślę, że przyszłość wyszukiwania będzie oparta na sztucznej inteligencji i nie sądzę, że jest to bardzo odległe. Spodziewam się, że w tej przyszłości wektorowe bazy danych będą podstawowym prymitywem. Lubimy myśleć o wektorowych bazach danych jako o pamięci długoterminowej (lub zewnętrznej bazie wiedzy) sztucznej inteligencji.

Dziękuję za wspaniały wywiad. Czytelnicy chcący dowiedzieć się więcej powinni odwiedzić nas szyszka.

Partner-założyciel unite.AI i członek Rada Technologiczna Forbesa, Antoine jest futurysta który jest pasjonatem przyszłości sztucznej inteligencji i robotyki.

Jest także Założycielem Securities.io, witryna internetowa skupiająca się na inwestowaniu w przełomowe technologie.