Connect with us

Rozhovory

Dr. Ram Sriharsha, VP of Engineering at Pinecone – Interview Series

mm

Dr. Ram Sriharsha, je VP of Engineering a R&D at Pinecone.

Než se připojil k Pinecone, měl Ram VP role ve společnostech Yahoo, Databricks a Splunk. Ve společnosti Yahoo byl jak hlavním softwarovým inženýrem, tak vědeckým pracovníkem; ve společnosti Databricks byl produktovým a inženýrským lídrem pro jednotnou analytickou platformu pro genetiku; a ve své tříměsíční působnosti ve společnosti Splunk zastával několik rolí, včetně Sr Principal Scientist, VP Engineering a Distinguished Engineer.

Pinecone je plně spravovaná vektorová databáze, která usnadňuje přidání vektorového vyhledávání do produkčních aplikací. Kombinuje vektorové vyhledávací knihovny, funkce, jako je filtrování, a distribuované infrastruktury, aby poskytovala vysoký výkon a spolehlivost v jakémkoli měřítku.

Co vás zpočátku přitáhlo k strojovému učení?

Vysoce dimenzionální statistika, teorie učení a témata, jako je toto, mě přitáhla ke strojovému učení. Jsou matematicky dobře definovány, lze je odůvodnit a nabízejí některé základní poznatky o tom, co znamená učení, a jak navrhnout algoritmy, které mohou učit efektivně.

Předtím jste byl Vice President of Engineering ve společnosti Splunk, datové platformy, která pomáhá převést data na akci pro Observability, IT, Security a další. Jaké byly některé z vašich hlavních poznatků z této zkušenosti?

Neuvědomil jsem si, až jsem se dostal do Splunku, jak rozmanité jsou použití případů v podnikovém vyhledávání: lidé používají Splunk pro logickou analýzu, pozorovatelnost a bezpečnostní analýzu mezi mnoha dalšími použitími. A co je společné pro mnoho z těchto použití, je myšlenka detekce podobných událostí nebo vysoce odlišných (nebo anomálních) událostí v nestrukturovaných datech. Ukázalo se, že je to tvrdý problém a tradiční prostředky pro vyhledávání v takových datech nejsou velmi škálovatelné. Během svého působení ve společnosti Splunk jsem inicioval výzkum v těchto oblastech o tom, jak bychom mohli použít strojové učení (a hluboké učení) pro logické dolování, bezpečnostní analýzu atd. Díky této práci jsem si uvědomil, že vektorová vložení a vektorové vyhledávání se stanou fundamentální primitivou pro nové přístupy k těmto doménám.

Můžete nám popsat, co je vektorové vyhledávání?

V tradičním vyhledávání (jinak známém jako klíčové slovo vyhledávání) hledáte klíčové slovo shody mezi dotazem a dokumenty (to může být tweety, webové dokumenty, právní dokumenty, co máte). Abyste to udělali, rozdělíte svůj dotaz na jeho tokeny, načtete dokumenty, které obsahují zadaný token, a sloučíte a ohodnotíte, abyste určili nejrelevantnější dokumenty pro zadaný dotaz.

Hlavním problémem je samozřejmě to, že pro získání relevantních výsledků musí váš dotaz mít klíčové slovo shody v dokumentu. Klasickým problémem tradičního vyhledávání je: pokud hledáte “pop”, budete odpovídat “pop music”, ale nebudete odpovídat “soda”, atd., protože mezi “pop” a dokumenty obsahující “soda” není žádná klíčová slova shody, i když víme, že v mnoha oblastech USA “pop” znamená to samé jako “soda”.

Ve vektorovém vyhledávání začínáte převodem obou dotazů a dokumentů na vektor v nějakém vysoce dimenzionálním prostoru. To se obvykle provádí přenosem textu prostřednictvím hlubokého učení, jako je OpenAI’s LLMs nebo jiného jazykového modelu. Co získáte jako výsledek, je pole čísel s plovoucí desetinnou čárkou, které lze považovat za vektor v nějakém vysoce dimenzionálním prostoru.

Jádrové myšlenka je, že blízké vektory v tomto vysoce dimenzionálním prostoru jsou také sémanticky podobné. Když se vrátíme k našemu příkladu “soda” a “pop”, pokud je model trénován na správném korpusu, je pravděpodobné, že považuje “pop” a “soda” za sémanticky podobné a tím pádem budou odpovídající vložením blízko u sebe v vložném prostoru. Pokud je to případ, pak vyhledávání blízkých dokumentů pro zadaný dotaz se stává problémem vyhledávání nejbližších sousedů odpovídajícího dotazu vektoru v tomto vysoce dimenzionálním prostoru.

Můžete nám popsat, co je vektorová databáze a jak umožňuje stavbu vysoce výkonných vektorových vyhledávacích aplikací?

Vektorová databáze ukládá, indexuje a spravuje tato vložením (nebo vektory). Hlavními výzvami, které vektorová databáze řeší, jsou:

  • Stavba efektivního vyhledávacího indexu nad vektory pro odpověď na dotazy nejbližších sousedů
  • Stavba efektivních pomocných indexů a datových struktur pro podporu filtrování dotazů. Například, pokud byste chtěli vyhledávat pouze nad podmnožinou korpusu, měli byste být schopni využít stávající vyhledávací index bez nutnosti jej přestavovat

Podpora efektivních aktualizací a udržení jak dat, tak vyhledávacího indexu čerstvých, konzistentních, trvanlivých atd.

Jaké jsou různé typy algoritmů strojového učení, které se používají v Pinecone?

Obecně pracujeme na aproximovaných algoritmech nejbližšího souseda a vyvíjíme nové algoritmy pro efektivní aktualizaci, dotazování a jinak nakládání s velkými množství dat v co nejméně nákladném způsobu.

Také pracujeme na algoritmech, které kombinují hustou a řídkou rekonstrukci pro zlepšení vyhledávací relevance.

Jaké jsou některé z výzev za stavbou škálovatelného vyhledávání?

Ačkoli aproximované vyhledávání nejbližšího souseda bylo zkoumáno po desetiletí, věříme, že je ještě mnoho co objevit.

Zejména, když se jedná o návrh velkého měřítka nejbližšího souseda vyhledávání, které je nákladově efektivní, při efektivní filtraci ve velkém měřítku, nebo při navrhování algoritmů, které podporují vysoké objemy aktualizací a obecně čerstvé indexy, jsou to všechny výzvami problémy dnes.

Jaké jsou některé z různých typů použití případů, pro které lze tuto technologii použít?

Spektrum použití případů pro vektorové databáze se rozšiřuje denně. Kromě jeho použití v sémantickém vyhledávání také vidíme jeho použití v obrazovém vyhledávání, obrazové rekonstrukci, generativní AI, bezpečnostní analýze atd.

Jaká je vaše vize pro budoucnost vyhledávání?

Domnívám se, že budoucnost vyhledávání bude řízena umělou inteligencí a nevěřím, že je to příliš daleko. V tomto budoucím světě očekávám, že vektorové databáze budou základní primitivou. Máme rádi, když si myslíme na vektorové databáze jako na dlouhodobou paměť (nebo externí znalostní bázi) umělé inteligence.

Děkuji za skvělý rozhovor, čtenáři, kteří chtějí se dozvědět více, by měli navštívit Pinecone.

Antoine je vizionářský líder a zakládající partner Unite.AI, poháněný neotřesitelnou vášní pro formování a propagaci budoucnosti AI a robotiky. Jako sériový podnikatel věří, že AI bude mít na společnost stejně disruptivní vliv jako elektřina, a často je chycen při tom, jak hovoří o potenciálu disruptivních technologií a AGI. Jako futurist, je zasvěcen prozkoumání toho, jak tyto inovace budou formovat náš svět. Kromě toho je zakladatelem Securities.io, platformy zaměřené na investice do špičkových technologií, které předefinovávají budoucnost a mění celé sektory.