Connect with us

Interviuri

Frank Liu, Director of Operations la Zilliz – Seria de interviuri

mm

Frank Liu este Director de Operațiuni la Zilliz, un furnizor de top de baze de date vectoriale și tehnologii AI. 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 automată?

Prima mea expunere la puterea ML/AI a fost ca student în anul întâi la Stanford, deși era un pic departe de specializarea mea (Inginerie Electrică). M-am simțit atras de EE ca domeniu pentru că capacitatea de a distila sisteme electrice și fizice complexe în aproximații matematice mi s-a părut foarte puternică, și statisticile și învățarea automată mi s-au părut la fel. Am urmat mai multe cursuri de viziune computerizată și învățare automată î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 Automată 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 cum întregul domeniu și industria s-au mișcat atât de rapid, de la pregătirea datelor la antrenarea modelului în paralel și la producția modelului. În multe feluri, mi se pare un pic ridicol să folosesc fraza “pe vremuri” pentru a ne referi la ceva care s-a întâmplat cu mai puțin de 10 ani în urmă, dar așa este progresul care s-a făcut în acest domeniu.

După Yahoo, am servit ca CTO al unei companii pe care am co-fondat-o, unde am utilizat ML pentru localizarea interioară. Acolo, am trebuit să optimizăm modele secvențiale pentru microcontrolere foarte mici – o provocare de inginerie foarte 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 apropierea ML pentru mai bine de 7 sau 8 ani acum, încă păstrez o mare dragoste pentru proiectarea circuitelor și a logicii digitale. A avea o bază în Inginerie Electrică este, în multe feluri, incredibil de util pentru multe dintre lucrările în 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 asupra multor sisteme ML și distribuite de astăzi. Deși înțeleg farmecul CS, sper să văd o renaștere a unor domenii de inginerie mai tradiționale – EE, MechE, ChemE, etc… – în următorii câțiva ani.

Pentru cititorii care nu sunt familiarizați cu termenul, ce este datele neestructurate?

Datele neestructurate se referă la “date complexe”, care sunt, în esență, date care nu pot fi stocate într-un format predefinit sau nu se pot încadra î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 neestructurate și de ce au fost tradițional dificil de procesat computațional, ajută să le comparăm cu datele structurate. În cele mai simple termeni, 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 zilele noastre, există modele de date mult mai flexibile – depozite wide-column, baze de date obiect, baze de date graf, ș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 neestructurate, pe de altă parte, pot fi considerate ca fiind, în esență, un blob pseudo-aleator de date binare. Ele pot reprezenta orice, pot fi arbitrare de mari sau mici și pot fi transformate și citite în una dintre numeroasele moduri 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 exemple de acest tip de date?

Datele generate de oameni – imagini, video, audio, limbaj natural, etc. – sunt exemple excelente de date neestructurate. Dar există și exemple mai puțin obișnuite de date neestructurate. Profilele utilizatorilor, structurile proteinelor, secvențele genomice și chiar codul lizibil de către oameni sunt, de asemenea, exemple excelente de date neestructurate. Motivul principal pentru care datele neestructurate au fost tradițional atât de greu de gestionat este că datele neestructurate 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 foarte diferite, dar ambele au un conținut general similar. Limbajul natural este un alt exemplu de date neestructurate pe care îmi place să le menționez. Frazele “Inginerie Electrică” și “Știința Calculatoarelor” 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 calculator ar putea crede, în mod naiv, că “Știința Calculatoarelor” și “Știința 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 ajunge la asta în curând, dar versiunea scurtă este că o încorporare este un vector de dimensiuni înalte care poate reprezenta semantica datelor neestructurate. Î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 semantice similare. Cu ML modern, avem puterea de a codifica și transforma o varietate de tipuri diferite de date neestructurate – imagini și text, de exemplu – în vectori de încorporare semantic puternici.

Din perspectiva unei organizații, datele neestructurate 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 concepută pentru a stoca, indexa și căuta cantități masive de date neestructurate prin utilizarea încorporărilor ca reprezentare de bază. Căutarea într-o bază de date vectorială se face, de obicei, cu vectori de interogare, și rezultatul interogării este cel mai bun N rezultat similar pe baza distanței.

Cele mai bune baze de date vectoriale au multe dintre funcțiile de utilizare ale bazelor de date relaționale tradiționale: scalare orizontală, caching, replicare, failover și execuție de interogări sunt doar câteva dintre funcțiile pe care o bază de date vectorială ar trebui să le implementeze. Ca definitor de categorie, am fost activi în cercurile academice, publicând articole în SIGMOD 2021 și VLDB 2022, cele două conferințe de top de baze de date de astăzi.

Puteți discuta ce este o încorporare?

În general, o încorporare este un vector de dimensiuni înalte care provine din activările unui strat intermediar într-o rețea neurală multistrat. Multe rețele neurale sunt antrenate pentru a produce încorporări și unele aplicații utilizează vectori concatenați din multiple straturi intermediare ca încorporare, dar nu voi intra prea mult î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ă aveți un model ML care învață automat reprezentările corecte pentru datele de intrare, o bună inginerie a caracteristicilor poate funcționa pentru multe aplicații. Indiferent de metoda subiacentă, încorporările pentru obiecte semantice similare sunt apropiate una de cealaltă în ceea ce privește distanța, și această proprietate este cea care alimentează bazele de date vectoriale.

Care sunt unele dintre cele mai populare cazuri de utilizare ale 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 fraudei și chatbot-urile alimentate de IA sunt unele dintre cele mai populare cazuri de utilizare pentru bazele 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 cazuri de utilizare.

Sunt întotdeauna fericit să discut despre aceste aplicații și să ajut oamenii să înțeleagă cum funcționează, dar îmi place și să discut despre 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șă” pentru bazele de date vectoriale. Provocarea pentru această aplicație este căutarea potențialilor candidați pentru medicamente pentru a 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 fost capabilă să îmbunătățească semnificativ procesul de descoperire a medicamentelor, precum și să reducă resursele hardware prin combinarea Milvus cu o bibliotecă de chimie computațională numită RDKit.

Muzeul de Artă din Cleveland (CMA) AI ArtLens este un alt exemplu pe care îmi place să î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ă de imagini și este un caz de utilizare destul de 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ă.

Puteți discuta ce este platforma open-source Towhee?

Când am comunicat cu oameni din comunitatea Milvus, am găsit 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 automată. 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 menit să lucreze cu date neestructurate și să includă î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ță 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 cu adevărat procesarea datelor neestructurate.

Zilliz a strâns recent 60 de milioane de dolari într-o rundă Series B. Cum va accelera această rundă de finanțare misiunea Zilliz?

Aș dori să mulțumesc Prosperity7 Ventures, Pavilion Capital, Hillhouse Capital, 5Y Capital, Yunqi Capital și altor investitori pentru că au crezut în misiunea Zilliz și ne-au sprijinit cu această extensie a rundei Series B. Am strâns acum un total de 113 milioane de dolari, și această rundă recentă de finanțare va sprijini eforturile noastre de a scala echipele de inginerie și de a merge pe piață. În special, vom îmbunătăți oferta noastră de cloud gestionat, care este în prezent în acces timpuriu, dar programată să fie deschisă tuturor mai târziu în acest an. Vom continua, de asemenea, să investim în cercetarea de ultimă oră în baze de date și IA, așa cum am făcut în ultimii 4 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ții în spațiul bazelor de date și al învățării automate este pasiunea noastră singulară pentru ceea ce construim. Suntem într-o misiune de a democratiza procesarea datelor neestructurate, și este absolut uimitor să vedem atât de mulți oameni talentați la Zilliz lucrând către un obiectiv singular. Dacă orice dintre ceea ce facem sună interesant pentru dvs., vă rugăm să luați legătura cu noi. Ne-ar plăcea să vă avem la bord.

Dacă doriți să aflați mai multe, sunt, de asemenea, 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ă rog să luați legătura cu mine direct pe Twitter/LinkedIn.

În cele din urmă, mulțumim pentru citire!

Mulțumim pentru interviul excelent, cititorii care doresc să afle mai multe ar trebui să viziteze Zilliz.

Antoine este un lider vizionar și partener fondator al Unite.AI, condus de o pasiune neclintita pentru a da forma și a promova viitorul inteligenței artificiale și al roboticii. Un antreprenor serial, el crede că inteligența artificială va fi la fel de disruptivă pentru societate ca și electricitatea, și este adesea prins vorbind cu entuziasm despre potențialul tehnologiilor disruptive și al inteligenței artificiale generale.

Ca futurist, el este dedicat explorării modului în care aceste inovații vor modela lumea noastră. În plus, el este fondatorul Securities.io, o platformă axată pe investiții în tehnologii de ultimă generație care redefinesc viitorul și reshapă întregi sectoare.