Interviuri
Frank Liu, Director de Operațiuni la Zilliz – Seria de Interviuri

Frank Liu este Director de Operațiuni la Zilliz, unul dintre principalii furnizori de baze de date vectoriale și tehnologii de inteligență artificială. Ei sunt, de asemenea, inginerii și oamenii de știință care au creat LF AI Milvus®, cea mai populară bază de date vectorială open-source din lume.
Ce v-a atras inițial la învățarea mașinilor?
Prima mea expunere la puterea ML/AI a fost ca student în anul întâi la Stanford, deși a fost un pic în afara specializării mele (Inginerie Electrică). M-am simțit atras inițial de EE ca domeniu pentru că posibilitatea de a distila sisteme electrice și fizice complexe în aproximații matematice mi s-a părut foarte puternică, iar statistica și învățarea mașinilor mi s-au părut la fel. Am urmat mai multe cursuri de viziune computerizată și învățare mașinilor în timpul școlii postuniversitare și am scris teza mea de masterat despre utilizarea ML pentru a evalua frumusețea estetică a imaginilor. Toate acestea m-au condus la primul meu loc de muncă în echipa de Viziune Computerizată și Învățare Mașinilor de la Yahoo, unde am avut un rol hibrid de cercetare și dezvoltare de software. Ne aflam încă în zilele pre-transformatori AlexNet și VGG, și a fost uimitor să văd o întreagă industrie și domeniu de cercetare care se mișcau atât de rapid, de la pregătirea datelor la antrenarea modelului în paralel și la producția modelului.
După Yahoo, am ocupat funcția de CTO al unei companii pe care am co-fondat-o, unde am utilizat ML pentru localizarea în interior. Acolo, am trebuit să optimizăm modele secvențiale pentru microcontrolere foarte mici – o provocare de inginerie diferită, dar legată de modelele LLM și de difuzie de astăzi. Am construit, de asemenea, hardware, tablouri de vizualizare și aplicații cloud-native simple, dar AI/ML a fost întotdeauna un component central al muncii noastre.
Deși am fost în sau în jurul ML pentru mai bine de 7 sau 8 ani, încă păstrez o mare dragoste pentru proiectarea circuitelor și logica digitală. Având o pregătire în Inginerie Electrică este, în multe feluri, incredibil de utilă pentru multe dintre lucrurile cu care sunt implicat în aceste zile. Multe concepte importante din proiectarea digitală, cum ar fi memoria virtuală, predicția ramurilor și execuția concurentă în HDL, oferă o vedere de ansamblu a multor sisteme ML și distribuite de astăzi. Deși înțeleg atracția CS, sper să văd o renaștere a unor domenii de inginerie mai tradiționale – EE, MechE, ChemE, etc. – în următorii ani.
Pentru cititorii care nu sunt familiari cu termenul, ce este datele nestructurate?
Datele nestructurate se referă la “date complexe”, care sunt, în esență, date care nu pot fi stocate într-un format predefinit sau nu se potrivesc într-un model de date existent. Pentru comparație, datele structurate se referă la orice tip de date care are o structură predefinită – date numerice, șiruri de caractere, tabele, obiecte și depozite cheie/valoare sunt toate exemple de date structurate.
Pentru a înțelege cu adevărat ce sunt datele nestructurate și de ce au fost tradițional dificil de procesat computațional, ajută să le comparăm cu datele structurate. În termeni simpli, datele structurate tradiționale pot fi stocate prin intermediul unui model relațional. Luați, de exemplu, o bază de date relațională cu o tabelă pentru stocarea informațiilor despre cărți: fiecare rând din tabel ar putea reprezenta o anumită carte indexată de numărul ISBN, în timp ce coloanele ar denota categoriile corespunzătoare de informații, cum ar fi titlul, autorul, data publicării, și așa mai departe. În prezent, există modele de date mult mai flexibile – depozite cu coloane largi, baze de date de obiecte, baze de date de grafuri, și așa mai departe. Dar ideea generală rămâne aceeași: aceste baze de date sunt menite să stocheze date care se potrivesc unui anumit model de date.
Datele nestructurate, pe de altă parte, pot fi considerate ca fiind, în esență, un bloc pseudo-aleator de date binare. Ele pot reprezenta orice, pot fi arbitrar de mari sau mici și pot fi transformate și citite în una dintre numeroasele modalități diferite. Acest lucru face ca ele să nu poată fi încadrate în niciun model de date, cu atât mai puțin într-o tabelă dintr-o bază de date relațională.
Care sunt exemplele acestui tip de date?
Datele generate de oameni – imagini, video, audio, limbaj natural, etc. – sunt exemple excelente de date nestructurate. Dar există și exemple mai puțin obișnuite de date nestructurate. Profilele de utilizator, structurile de proteine, secvențele de genom și chiar codul lizibil de către oameni sunt, de asemenea, exemple excelente de date nestructurate. Motivul principal pentru care datele nestructurate au fost tradițional atât de greu de gestionat este că datele nestructurate pot avea orice formă și pot necesita timp de rulare foarte diferit pentru a fi procesate.
Utilizând imagini ca exemplu, două fotografii ale aceleiași scene ar putea avea valori de pixel complet diferite, dar ambele au un conținut general similar. Limbajul natural este un alt exemplu de date nestructurate pe care îmi place să le menționez. Frazele “Inginerie Electrică” și “Știință Computerizată” sunt extrem de strâns legate – atât de mult încât clădirile EE și CS de la Stanford sunt una lângă alta – dar fără o modalitate de a codifica semnificația semantică din spatele acestor fraze, un computer ar putea crede naiv că “Știință Computerizată” și “Știință Socială” sunt mai legate.
Ce este o bază de date vectorială?
Pentru a înțelege o bază de date vectorială, ajută să înțelegem mai întâi ce este o încorporare. Voi reveni la acest subiect în curând, dar versiunea scurtă este că o încorporare este un vector de înaltă dimensiune care poate reprezenta semantica datelor nestructurate. În general, două încorporări care sunt apropiate una de cealaltă în ceea ce privește distanța sunt foarte probabil să corespundă unor date de intrare semantic similare. Cu ML modern, avem puterea de a codifica și transforma o varietate de tipuri de date nestructurate – imagini și text, de exemplu – în vectori de încorporare semantic puternici.
Din perspectiva unei organizații, datele nestructurate devin incredibil de greu de gestionat odată ce cantitatea depășește o anumită limită. Aici intervine o bază de date vectorială, cum ar fi Zilliz Cloud. O bază de date vectorială este special concepută pentru a stoca, indexa și căuta în cantități masive de date nestructurate, utilizând încorporări ca reprezentare de bază. Căutarea într-o bază de date vectorială se face, de obicei, cu vectori de interogare, iar rezultatul interogării este cel mai bun N rezultate similare pe baza distanței.
Cele mai bune baze de date vectoriale au multe dintre caracteristicile de utilizare ale bazelor de date relaționale tradiționale: scalare orizontală, cache, replicare, failover și executarea interogărilor sunt doar câteva dintre numeroasele caracteristici pe care o bază de date vectorială ar trebui să le implementeze. Ca un definator de categorie, am fost activi în cercurile academice, publicând articole în SIGMOD 2021 și VLDB 2022, cele două conferințe de top din domeniul bazelor de date de astăzi.
Puteti discuta ce este o încorporare?
În general, o încorporare este un vector de înaltă dimensiune care provine din activările unui strat intermediar într-o rețea neuronală multistrat. Multe rețele neuronale sunt antrenate pentru a produce încorporări și unele aplicații utilizează vectori concatenați din mai multe straturi intermediare ca încorporare, dar nu voi intra în detalii pentru moment. O altă modalitate mai puțin obișnuită, dar la fel de importantă, de a genera încorporări este prin caracteristici create manual. În loc să aibă un model ML care învață automat reprezentările corecte pentru datele de intrare, ingineria caracteristicilor poate funcționa pentru multe aplicații. Indiferent de metoda subiacentă, încorporările pentru obiecte semantic similare sunt apropiate una de cealaltă în ceea ce privește distanța, iar această proprietate este cea care alimentează bazele de date vectoriale.
Care sunt cele mai populare cazuri de utilizare a acestei tehnologii?
Bazele de date vectoriale sunt excelente pentru orice aplicație care necesită o formă de căutare semantică – recomandarea produselor, analiza videourilor, căutarea documentelor, detectarea amenințărilor și a fraudelor, și chatbot-urile alimentate de IA sunt câteva dintre cele mai populare cazuri de utilizare a bazelor de date vectoriale de astăzi. Pentru a ilustra acest lucru, Milvus, baza de date vectorială open-source creată de Zilliz și nucleul central al Zilliz Cloud, a fost utilizată de peste o mie de utilizatori de întreprindere din diverse domenii.
Îmi place să discut despre aceste aplicații și să ajut oamenii să înțeleagă cum funcționează, dar îmi place și să prezint unele dintre cazurile de utilizare mai puțin cunoscute ale bazelor de date vectoriale. Descoperirea de noi medicamente este unul dintre favoritele mele “de nișă” de cazuri de utilizare a bazelor de date vectoriale. Provocarea pentru această aplicație constă în căutarea potențialilor candidați pentru medicamente care pot trata o anumită boală sau simptom într-o bază de date de 800 de milioane de compuși. O companie farmaceutică cu care am comunicat a reușit să îmbunătățească semnificativ procesul de descoperire a medicamentelor, precum și să reducă resursele hardware prin combinarea Milvus cu o bibliotecă de chimie numită RDKit.
Muzeul de Artă din Cleveland (CMA) AI ArtLens este un alt exemplu pe care îl menționez. AI ArtLens este un instrument interactiv care ia o imagine de interogare ca intrare și extrage imagini vizual similare din baza de date a muzeului. Acesta este, de obicei, numit căutare inversă a imaginilor și este un caz de utilizare relativ comun pentru bazele de date vectoriale, dar valoarea unică pe care Milvus a oferit-o CMA a fost capacitatea de a pune aplicația în funcțiune într-o săptămână cu o echipă foarte mică.
Puteti discuta despre platforma open-source Towhee?
Când am comunicat cu oameni din comunitatea Milvus, am descoperit că mulți dintre ei doreau să aibă o modalitate unificată de a genera încorporări pentru Milvus. Acest lucru a fost adevărat pentru aproape toate organizațiile cu care am vorbit, dar mai ales pentru companiile care nu aveau mulți ingineri de învățare mașinilor. Cu Towhee, ne propunem să rezolvăm această lacună prin ceea ce numim “ETL de date vectoriale”. În timp ce pipeline-urile ETL tradiționale se concentrează pe combinarea și transformarea datelor structurate din multiple surse într-un format utilizabil, Towhee este destinat să lucreze cu date nestructurate și include în mod explicit ML în pipeline-ul ETL rezultat. Towhee realizează acest lucru prin furnizarea a sute de modele, algoritmi și transformări care pot fi utilizate ca blocuri de construcție într-un pipeline ETL de date vectoriale. Pe lângă aceasta, Towhee oferă, de asemenea, o interfață API Python ușor de utilizat, care permite dezvoltatorilor să construiască și să testeze aceste pipeline-uri ETL într-o singură linie de cod.
Deși Towhee este un proiect independent, el face parte din ecosistemul mai larg de baze de date vectoriale centrat pe Milvus, pe care Zilliz îl creează. Ne imaginăm Milvus și Towhee ca două proiecte foarte complementare, care, atunci când sunt utilizate împreună, pot democratiza într-adevăr procesarea datelor nestructurate.
Zilliz a strâns recent o rundă de finanțare de 60 de milioane de dolari. Cum va accelera această finanțare misiunea Zilliz?
Aș dori să mulțumesc Prosperity7 Ventures, Pavilion Capital, Hillhouse Capital, 5Y Capital, Yunqi Capital și altor investitori care au crezut în misiunea Zilliz și ne-au sprijinit cu această extindere a seriei B. Am strâns acum un total de 113 milioane de dolari, iar această rundă de finanțare va sprijini eforturile noastre de a scala echipele de inginerie și de marketing. În special, vom îmbunătăți oferta noastră de cloud gestionat, care este în prezent în acces timpuriu, dar care urmează să fie deschisă tuturor mai târziu în acest an. Vom continua, de asemenea, să investim în cercetarea de ultimă oră în domeniul bazelor de date și al inteligenței artificiale, așa cum am făcut în ultimii patru ani.
Există altceva pe care ați dori să-l împărtășiți despre Zilliz?
Ca companie, suntem în creștere rapidă, dar ceea ce ne diferențiază pe noi de alți jucători din domeniul bazelor de date și al inteligenței artificiale este pasiunea noastră singulară pentru ceea ce construim. Suntem într-o misiune de a democratiza procesarea datelor nestructurate, și este absolut uimitor să vedem atât de mulți oameni talentați la Zilliz care lucrează către un obiectiv comun. Dacă orice dintre ceea ce facem vă interesează, vă invităm să ne contactați. Ne-ar plăcea să vă avem alături de noi.
Dacă doriți să aflați mai multe, sunt și eu personal deschis să discut despre Zilliz, baze de date vectoriale sau progresele legate de încorporări în IA/ML. Ușa mea (figurativă) este întotdeauna deschisă, așa că vă invit să mă contactați direct pe Twitter/LinkedIn.
În cele din urmă, mulțumim pentru citire!
Mulțumim pentru acest interviu minunat, cititorilor care doresc să afle mai multe despre Zilliz.












