Interviews

Frank Liu, driftsdirektør i Zilliz – Interviewserie

mm
Føj Unite.AI til dine foretrukne kilder på Google

Frank Liu er driftsdirektør i Zilliz, en ledende leverandør af vektor database og AI-teknologier. De er også ingeniørerne og videnskabsmændene, der skabte LF AI Milvus®, verdens mest populære open-source vektor database.

Hvad var det, der oprindeligt tiltrak dig til maskinlæring?

Min første introduktion til kraften af ML/AI var som bachelorstuderende på Stanford, på trods af at det var lidt uden for mit hovedfag (elektronisk ingeniørvidenskab). Jeg blev oprindeligt tiltrukket af EE som et felt, fordi evnen til at destillere komplekse elektriske og fysiske systemer til matematiske approksimationer føltes meget kraftfuldt for mig, og statistik og maskinlæring føltes på samme måde. Jeg endte med at tage mere computer vision og maskinlæring kurser under min kandidatuddannelse, og jeg endte med at skrive min kandidatafhandling om at bruge ML til at score den æstetiske skønhed af billeder. Alt dette ledte til mit første job i Computer Vision & Machine Learning team på Yahoo, hvor jeg var i en hybrid forsknings- og softwareudviklingsrolle. Vi var stadig i den pre-transformatoriske AlexNet & VGG-dage dengang, og at se et helt felt og en industri bevæge sig så hurtigt, fra dataforberedelse til massivt parallel modeltræning til modelproduktion, har været fantastisk. På mange måder føles det lidt latterligt at bruge udtrykket “dengang” til at referere til noget, der skete mindre end 10 år siden, men sådan er fremskridtet, der er blevet gjort i dette felt.

Efter Yahoo fungerede jeg som CTO i en startup, som jeg var med til at grundlægge, hvor vi udnyttede ML til indendørs lokalisation. Der havde vi brug for at optimere sekventielle modeller til meget små mikrokontrollere – en meget anderledes, men likevel relateret ingeniørmæssig udfordring i forhold til i dag’s massive LLM’er og diffusionsmodeller. Vi byggede også hardware, dashboards til visualisering og simple cloud-native applikationer, men AI/ML fungerede altid som en kernekomponent i det arbejde, vi lavede.

Selv om jeg har været i eller tæt på ML i bedste del af 7 eller 8 år nu, har jeg stadig en stor kærlighed til kredsløbsdesign og digital logikdesign. At have en baggrund i elektronisk ingeniørvidenskab er på mange måder utrolig hjælpsomt for meget af det arbejde, jeg er involveret i disse dage. Mange vigtige koncepter i digital design, såsom virtuel hukommelse, branch prediction og samtidig eksekvering i HDL, hjælper med at give en fuld-stack-vision til mange ML- og distribuerede systemer i dag. Selv om jeg forstår tiltrækningen af CS, håber jeg at se en genopblomstring i mere traditionelle ingeniørfag – EE, MechE, ChemE osv. – inden for de næste par år.

Hvad er ustruktureret data for læsere, der ikke kender begrebet?

Ustruktureret data henviser til “kompleks” data, som i virkeligheden er data, der ikke kan gemmes i en foruddefineret format eller passer ind i en eksisterende datamodel. Til sammenligning henviser struktureret data til enhver type data, der har en foruddefineret struktur – numerisk data, streng, tabeller, objekter og nøgle/værdi-lagre er alle eksempler på struktureret data.

For at virkelig forstå, hvad ustruktureret data er, og hvorfor det traditionelt har været svært at bearbejde dette datatyp komputationelt, hjælper det at sammenligne det med struktureret data. I de enkleste vendinger kan traditionel struktureret data gemmes via en relationel model. Tag for eksempel en relationel database med en tabel til at gemme boginformation: hver række i tabellen kunne repræsentere en bestemt bog, indekseret efter ISBN-nummer, mens kolonnerne ville angive den tilsvarende kategori af information, såsom titel, forfatter, udgivelsesdato osv. I dag er der langt mere fleksible datamodeller – wide-column stores, objekt-databaser, graf-databaser osv. – men den overordnede idé forbliver den samme: disse databaser er designet til at gemme data, der passer ind i en bestemt datamold eller datamodel.

Ustruktureret data, på den anden side, kan tænkes som en pseudo-tilfældig blob af binærdata. Det kan repræsentere noget som helst, være arbitrært stort eller småt, og kan transformeres og læses på en af utallige forskellige måder. Dette gør det umuligt at gemme det i en datamodel, endsige en tabel i en relationel database.

Hvad er nogle eksempler på denne type data?

Menneskeskabt data – billeder, video, lyd, naturligt sprog osv. – er gode eksempler på ustruktureret data. Men der er også en række mindre almindelige eksempler på ustruktureret data. Brugerprofiler, proteinstrukturer, gensekvenser og endda menneskelæsbart kode er også gode eksempler på ustruktureret data. Den primære grund til, at ustruktureret data traditionelt har været så svært at håndtere, er, at ustruktureret data kan tage enhver form og kan kræve meget forskellige kørselsmiljøer til at bearbejde.

At bruge billeder som eksempel, kunne to fotos af samme scenarie have meget forskellige pixelværdier, men begge har en lignende samlet indhold. Naturligt sprog er et andet eksempel på ustruktureret data, som jeg gerne henviser til. Udtrykkene “Elektronisk ingeniørvidenskab” og “Datalogi” er ekstremt tæt beslægtede – så meget, at EE- og CS-bygningerne på Stanford er næsten lige ved siden af hinanden – men uden en måde at kode den semantiske betydning bag disse to udtryk på, kan en computer naivt tro, at “Datalogi” og “Samfundsvidenskab” er mere relaterede.

Hvad er en vektor database?

For at forstå en vektor database, hjælper det at forstå, hvad en indlejring er. Jeg kommer til det om lidt, men den korte version er, at en indlejring er en højdimensional vektor, der kan repræsentere semantikken af ustruktureret data. Generelt set er to indlejringe, der er tæt på hinanden i forhold til afstand, meget sandsynligt at korresponderer til semantisk lignende inputdata. Med moderne ML har vi mulighed for at kode og transformere en række forskellige typer ustruktureret data – billeder og tekst, for eksempel – til semantisk kraftfulde indlejringvektorer.

Set fra en organisations synspunkt bliver ustruktureret data utrolig svært at håndtere, når mængden overstiger en vis grænse. Her kommer en vektor database som Zilliz Cloud ind i billedet. En vektor database er designet til at gemme, indekse og søge på tværs af massive mængder ustruktureret data ved at udnytte indlejringe som den underliggende repræsentation. Søgning på en vektor database foretages typisk med forespørgselsvektorer, og resultatet af forespørgslen er de top N mest lignende resultater baseret på afstand.

De bedste vektor databaser har mange af de samme brugervenlighedsfunktioner som traditionelle relationelle databaser: horisontal skalerbarhed, cachelagring, replikering, failover og forespørgselskørsel er blot nogle af de mange funktioner, som en sand vektor database bør implementere. Som en kategori-definerer har vi været aktive i akademiske kredse, hvor vi har publiceret artikler i SIGMOD 2021 og VLDB 2022, de to bedste database-konferencer der findes i dag.

Kunne du diskutere, hvad en indlejring er?

Generelt set er en indlejring en højdimensional vektor, der kommer fra aktiveringen af en mellemled i et multilag neuralt netværk. Mange neurale netværk er trænet til at udgive indlejringe selv, og nogle anvendelser bruger konkatenerede vektorer fra multiple mellemled til indlejringen, men jeg vil ikke gå for dybt ind i det lige nu. En anden mindre almindelig, men lige så vigtig måde at generere indlejringe på er gennem håndlavet funktioner. I stedet for at lade en ML-model automatisk lære de rigtige repræsentationer for inputdata, kan god gammeldags funktioneringsingeniørarbejde fungere for mange anvendelser. Uanset den underliggende metode er indlejringe for semantisk lignende objekter tæt på hinanden i forhold til afstand, og denne egenskab er det, der driver vektor databaser.

Hvad er nogle af de mest populære anvendelser af denne teknologi?

VEktor databaser er ideelle til enhver anvendelse, der kræver en form for semantisk søgning – produktanbefalinger, videoanalyse, dokumentsøgning, trussel- og svigagtigedsdetektering og AI-drevne chatbots er nogle af de mest populære anvendelser af vektor databaser i dag. For at illustrere dette har Milvus, den open-source vektor database skabt af Zilliz og den underliggende kerne i Zilliz Cloud, været brugt af over 1000 virksomhedsbrugere på tværs af en række forskellige anvendelser.

Jeg er altid glad for at diskutere disse anvendelser og hjælpe folk med at forstå, hvordan de fungerer, men jeg nyder også at gå igennem nogle af de mindre kendte vektor database-anvendelser. Opdagelse af nye lægemidler er en af mine yndlings-“niche”-anvendelser af vektor databaser. Udfordringen for denne specifikke anvendelse er at søge efter potentielle kandidat-lægemidler til at behandle en bestemt sygdom eller symptom blandt en database på 800 millioner forbindelser. Et farmaceutisk selskab, som vi kommunikerede med, kunne betydeligt forbedre lægemiddeludviklingsprocessen samt reducere hardware-resourcerne ved at kombinere Milvus med en kemioinformatik-bibliotek kaldet RDKit.

Cleveland Museum of Arts (CMA) AI ArtLens er et andet eksempel, jeg gerne henviser til. AI ArtLens er et interaktivt værktøj, der tager et forespørgselsbillede som input og henter billederne, der ligner mest, fra museets database. Dette kaldes normalt for omvendt billedsøgning og er en ret almindelig anvendelse af vektor databaser, men den unikke værdiproposition, som Milvus tilbød CMA, var evnen til at få applikationen op og kørende inden for en uge med et meget lille team.

Kunne du diskutere, hvad det open-source-platform Towhee er?

Når vi kommunikerer med folk fra Milvus-samfundet, finder vi, at mange af dem ønsker at have en samlet måde at generere indlejringe til Milvus på. Dette var sandt for næsten alle de forskellige organisationer, vi talte med, men især for virksomheder, der ikke havde mange maskinlæringsingeniører. Med Towhee søger vi at løse denne åbning gennem, hvad vi kalder “vektor data ETL”. Mens traditionelle ETL-pipelines fokuserer på at kombinere og transformere struktureret data fra multiple kilder til en brugbar format, er Towhee designet til at arbejde med ustruktureret data og inkluderer explicit ML i den resulterende ETL-pipeline. Towhee opnår dette ved at tilbyde hundredvis af modeller, algoritmer og transformationer, der kan bruges som byggesten i en vektor data ETL-pipeline. Oven i dette tilbyder Towhee også en letanvendelig Python-API, der giver udviklere mulighed for at bygge og teste disse ETL-pipelines i en enkelt linje kode.

Selv om Towhee er et selvstændigt projekt, er det også en del af den bredere vektor database-økosystem, der er centreret omkring Milvus, som Zilliz skaber. Vi forestiller os, at Milvus og Towhee skal være to højst komplementære projekter, der, når de bruges sammen, kan virkelig demokratisere ustruktureret dataprocessing.

Zilliz har nyligt samlet 60 millioner dollars i en serie B-runde. Hvordan vil dette accelerere Zilliz-missionen?

Først og fremmest vil jeg gerne takke Prosperity7 Ventures, Pavilion Capital, Hillhouse Capital, 5Y Capital, Yunqi Capital og andre for at tro på Zilliz-missionen og støtte os med denne serie B-udvidelse. Vi har nu samlet i alt 113 millioner dollars, og denne seneste runde af finansiering vil støtte vores bestræbelser på at skalerer vores ingeniør- og go-to-market-hold. Specifikt vil vi forbedre vores managed cloud-tilbud, der i øjeblikket er i tidlig adgang, men planlagt til at åbne op for alle senere i år. Vi vil også fortsætte med at investere i spidskompetence database- og AI-forskning, som vi har gjort de sidste 4 år.

Er der noget andet, du gerne vil dele om Zilliz?

Som virksomhed vokser vi hurtigt, men det, der virkelig adskiller vores nuværende hold fra andre i database- og ML-rummet, er vores enestående passion for det, vi bygger. Vi er på en mission for at demokratisere ustruktureret dataprocessing, og det er absolut fantastisk at se så mange talenter på Zilliz arbejde mod et fælles mål. Hvis noget af det, vi laver, lyder interessant for dig, så føl gerne kontakt med os på vores karriereside. Vi ville elske at have dig om bord.

Hvis du gerne vil vide mere, er jeg også personligt åben for at diskutere Zilliz, vektor databaser eller indlejring-relaterede fremskridt i AI/ML. Min (figurative) dør er altid åben, så føl gerne kontakt med mig direkte på Twitter/LinkedIn.

Til sidst tak for at læse!

Tak for det gode interview, læsere, der ønsker at lære mere, skal besøge Zilliz.

Antoine er en visionær leder og medstifter af Unite.AI, drevet af en urokkelig passion for at forme og fremme fremtiden for AI og robotteknologi. En serieiværksætter, han tror, at AI vil være lige så omvæltende for samfundet som elektricitet, og han bliver ofte fanget i at tale om potentialet for omvæltende teknologier og AGI.

Som en futurist, er han dedikeret til at udforske, hvordan disse innovationer vil forme vores verden. Derudover er han grundlægger af Securities.io, en platform, der fokuserer på at investere i skarp teknologi, der gendefinerer fremtiden og omformer hele sektorer.