Connect with us

Frank Liu, Director de Operaciones en Zilliz – Serie de Entrevistas

Entrevistas

Frank Liu, Director de Operaciones en Zilliz – Serie de Entrevistas

mm

Frank Liu es el Director de Operaciones en Zilliz, un proveedor líder de bases de datos vectoriales y tecnologías de inteligencia artificial. También son los ingenieros y científicos que crearon LF AI Milvus®, la base de datos vectorial de código abierto más popular del mundo.

¿Qué te atrajo inicialmente a la inteligencia artificial?

Mi primera exposición al poder de la inteligencia artificial se produjo cuando era estudiante de pregrado en Stanford, a pesar de que era un poco ajeno a mi especialidad (Ingeniería Eléctrica). Me sentí atraído por la ingeniería eléctrica como campo porque la capacidad de reducir sistemas eléctricos y físicos complejos a aproximaciones matemáticas me parecía muy poderosa, y las estadísticas y el aprendizaje automático me parecían lo mismo. Terminé tomando más clases de visión por computadora y aprendizaje automático durante la escuela de posgrado, y terminé escribiendo mi tesis de maestría sobre el uso de aprendizaje automático para puntuar la belleza estética de las imágenes. Todo esto me llevó a mi primer trabajo en el equipo de Visión por Computadora y Aprendizaje Automático de Yahoo, donde estaba en un papel de investigación y desarrollo de software híbrido. Todavía estábamos en los días pre-transformadores de AlexNet y VGG en ese momento, y ver cómo un campo y una industria entera se movían tan rápidamente, desde la preparación de datos hasta el entrenamiento de modelos masivamente paralelo hasta la producción de modelos, ha sido increíble. En muchos sentidos, parece un poco ridículo usar la frase “en ese entonces” para referirme a algo que sucedió menos de 10 años atrás, pero tal es el progreso que se ha logrado en este campo.

Después de Yahoo, serví como CTO de una startup que co-fundé, donde aprovechamos el aprendizaje automático para la localización en interiores. Allí, tuvimos que optimizar modelos secuenciales para microcontroladores muy pequeños, un desafío de ingeniería relacionado pero diferente a los grandes modelos de lenguaje y modelos de difusión de hoy en día. También construimos hardware, paneles de visualización y aplicaciones cloud-native simples, pero la inteligencia artificial y el aprendizaje automático siempre fueron un componente central del trabajo que estábamos haciendo.

Aunque he estado en o cerca del aprendizaje automático durante la mayor parte de los últimos 7 u 8 años, todavía mantengo mucho cariño por el diseño de circuitos y la lógica digital. Tener una formación en ingeniería eléctrica es, en muchos sentidos, increíblemente útil para mucho del trabajo en el que estoy involucrado estos días. Muchos conceptos importantes en el diseño digital, como la memoria virtual, la predicción de ramas y la ejecución concurrente en HDL, ayudan a proporcionar una visión de pileta completa de muchos sistemas de aprendizaje automático y sistemas distribuidos de hoy en día. Si bien entiendo el atractivo de la informática, espero ver un resurgimiento en campos de ingeniería más tradicionales, como la ingeniería eléctrica, la ingeniería mecánica, la ingeniería química, etc., en los próximos años.

Para los lectores que no están familiarizados con el término, ¿qué es la datos no estructurados?

Los datos no estructurados se refieren a “datos complejos”, que es esencialmente datos que no se pueden almacenar en un formato predefinido o encajar en un modelo de datos existente. Para comparar, los datos estructurados se refieren a cualquier tipo de datos que tienen una estructura predefinida, como datos numéricos, cadenas, tablas, objetos y almacenes de clave/valor, que son todos ejemplos de datos estructurados.

Para ayudar a entender realmente qué son los datos no estructurados y por qué tradicionalmente ha sido difícil procesarlos computacionalmente, ayuda compararlos con los datos estructurados. En los términos más simples, los datos estructurados tradicionales se pueden almacenar mediante un modelo relacional. Por ejemplo, una base de datos relacional con una tabla para almacenar información de libros: cada fila dentro de la tabla podría representar un libro en particular indexado por número de ISBN, mientras que las columnas denotarían la categoría correspondiente de información, como título, autor, fecha de publicación, etc. Hoy en día, hay modelos de datos mucho más flexibles, como almacenes de columnas anchas, bases de datos de objetos, bases de datos de grafos, etc. Pero la idea general sigue siendo la misma: estas bases de datos están diseñadas para almacenar datos que encajan en un molde de datos o modelo de datos particular.

Los datos no estructurados, por otro lado, se pueden considerar como un blob binario pseudo-aleatorio. Pueden representar cualquier cosa, ser arbitrariamente grandes o pequeños y pueden transformarse y leerse de innumerables maneras diferentes. Esto hace que sea imposible encajarlos en cualquier modelo de datos, y menos aún en una tabla en una base de datos relacional.

¿Cuáles son algunos ejemplos de este tipo de datos?

Los datos generados por humanos, como imágenes, video, audio, lenguaje natural, etc., son excelentes ejemplos de datos no estructurados. Pero hay una variedad de ejemplos menos mundanos de datos no estructurados también. Los perfiles de usuario, las estructuras de proteínas, las secuencias de genoma y incluso el código legible por humanos son ejemplos excelentes de datos no estructurados. La razón principal por la que los datos no estructurados han sido tradicionalmente tan difíciles de gestionar es que los datos no estructurados pueden tomar cualquier forma y pueden requerir tiempos de ejecución muy diferentes para procesarlos.

Usando las imágenes como ejemplo, dos fotos de la misma escena podrían tener valores de píxeles muy diferentes, pero ambos tienen un contenido general similar. El lenguaje natural es otro ejemplo de datos no estructurados que me gusta referir. Las frases “Ingeniería Eléctrica” y “Ciencias de la Computación” están extremadamente relacionadas, tanto que los edificios de EE y CS en Stanford están uno al lado del otro, pero sin una forma de codificar el significado semántico detrás de estas dos frases, una computadora podría pensar ingenuamente que “Ciencias de la Computación” y “Ciencias Sociales” están más relacionadas.

¿Qué es una base de datos vectorial?

Para entender una base de datos vectorial, primero ayuda entender qué es una incrustación. Lo explicaré momentáneamente, pero la versión corta es que una incrustación es un vector de alta dimensión que puede representar la semántica de los datos no estructurados. En general, dos incrustaciones que están cerca una de la otra en términos de distancia son muy probablemente corresponden a datos de entrada semánticamente similares. Con la inteligencia artificial moderna, tenemos el poder de codificar y transformar una variedad de diferentes tipos de datos no estructurados, como imágenes y texto, en vectores de incrustación semánticamente poderosos.

Desde la perspectiva de una organización, los datos no estructurados se vuelven increíblemente difíciles de gestionar una vez que la cantidad crece más allá de un cierto límite. Es aquí donde entra en juego una base de datos vectorial como Zilliz Cloud. Una base de datos vectorial está diseñada para almacenar, indexar y buscar a través de cantidades masivas de datos no estructurados aprovechando las incrustaciones como la representación subyacente. La búsqueda en una base de datos vectorial se realiza típicamente con vectores de consulta, y el resultado de la consulta es los N resultados más similares basados en la distancia.

Las mejores bases de datos vectoriales tienen muchas de las características de usabilidad de las bases de datos relacionales tradicionales: escalado horizontal, caché, replicación, conmutación por error y ejecución de consultas son solo algunas de las muchas características que una base de datos vectorial debe implementar. Como definidor de categoría, hemos sido activos en círculos académicos, habiendo publicado artículos en SIGMOD 2021 y VLDB 2022, las dos principales conferencias de bases de datos de hoy en día.

¿Podrías discutir qué es una incrustación?

En general, una incrustación es un vector de alta dimensión que proviene de las activaciones de una capa intermedia en una red neuronal de múltiples capas. Muchas redes neuronales están entrenadas para producir incrustaciones ellas mismas y algunas aplicaciones utilizan vectores concatenados de múltiples capas intermedias como la incrustación, pero no me adentraré demasiado en eso por ahora. Otra forma menos común pero igualmente importante de generar incrustaciones es a través de características elaboradas a mano. En lugar de tener un modelo de aprendizaje automático que aprenda automáticamente las representaciones correctas para los datos de entrada, la ingeniería de características tradicional puede funcionar para muchas aplicaciones también. Independientemente del método subyacente, las incrustaciones para objetos semánticamente similares están cerca una de la otra en términos de distancia, y esta propiedad es lo que impulsa las bases de datos vectoriales.

¿Cuáles son algunos de los casos de uso más populares con esta tecnología?

Las bases de datos vectoriales son ideales para cualquier aplicación que requiera alguna forma de búsqueda semántica, como la recomendación de productos, el análisis de video, la búsqueda de documentos, la detección de amenazas y fraude, y los chatbots impulsados por inteligencia artificial son algunos de los casos de uso más populares para las bases de datos vectoriales hoy en día. Para ilustrar esto, Milvus, la base de datos vectorial de código abierto creada por Zilliz y el núcleo subyacente de Zilliz Cloud, ha sido utilizada por más de mil usuarios empresariales en una variedad de diferentes casos de uso.

Me gusta hablar sobre estas aplicaciones y ayudar a la gente a entender cómo funcionan, pero definitivamente disfruto mucho hablando sobre algunos de los casos de uso menos conocidos de las bases de datos vectoriales también. El descubrimiento de nuevos fármacos es uno de mis casos de uso favoritos “de nicho” para las bases de datos vectoriales. El desafío para esta aplicación en particular es buscar candidatos potenciales para fármacos para tratar una cierta enfermedad o síntoma entre una base de datos de 800 millones de compuestos. Una empresa farmacéutica con la que nos comunicamos pudo mejorar significativamente el proceso de descubrimiento de fármacos, además de reducir los recursos de hardware, combinando Milvus con una biblioteca de quimioinformática llamada RDKit.

El AI ArtLens del Museo de Arte de Cleveland (CMA) es otro ejemplo que me gusta mencionar. AI ArtLens es una herramienta interactiva que toma una imagen de consulta como entrada y extrae imágenes visualmente similares de la base de datos del museo. Esto se conoce comúnmente como búsqueda de imagen inversa y es un caso de uso bastante común para las bases de datos vectoriales, pero el valor único que Milvus brindó a CMA fue la capacidad de poner la aplicación en marcha y funcionando dentro de una semana con un equipo muy pequeño.

¿Podrías discutir qué es la plataforma de código abierto Towhee?

Cuando nos comunicamos con personas de la comunidad de Milvus, encontramos que muchas de ellas querían tener una forma unificada de generar incrustaciones para Milvus. Esto era cierto para casi todas las organizaciones con las que hablamos, pero especialmente para las empresas que no tenían muchos ingenieros de aprendizaje automático. Con Towhee, nos proponemos solucionar esta brecha a través de lo que llamamos “ETL de datos vectoriales”. Mientras que los pipelines de ETL tradicionales se centran en combinar y transformar datos estructurados de múltiples fuentes en un formato utilizable, Towhee está diseñado para trabajar con datos no estructurados y explícitamente incluye el aprendizaje automático en el pipeline de ETL resultante. Towhee logra esto proporcionando cientos de modelos, algoritmos y transformaciones que se pueden utilizar como bloques de construcción en un pipeline de ETL de datos vectoriales. Además, Towhee también proporciona una API de Python fácil de usar que permite a los desarrolladores construir y probar estos pipelines de ETL en una sola línea de código.

Aunque Towhee es su propio proyecto independiente, también es parte del ecosistema más amplio de bases de datos vectoriales centrado en Milvus que Zilliz está creando. Nosotros visualizamos Milvus y Towhee como dos proyectos altamente complementarios que, cuando se utilizan juntos, pueden verdaderamente democratizar el procesamiento de datos no estructurados.

Zilliz recientemente recaudó una ronda de financiación Series B de $60M. ¿Cómo acelerará esto la misión de Zilliz?

Me gustaría agradecer primero a Prosperity7 Ventures, Pavilion Capital, Hillhouse Capital, 5Y Capital, Yunqi Capital y otros por creer en la misión de Zilliz y apoyarnos con esta extensión de la ronda Series B. Hemos recaudado un total de $113M, y esta última ronda de financiación apoyará nuestros esfuerzos para ampliar los equipos de ingeniería y marketing. En particular, mejoraremos nuestra oferta de cloud administrada, que actualmente está en acceso anticipado pero programada para abrirse a todos más adelante este año. También seguiremos invirtiendo en investigación de vanguardia en bases de datos y inteligencia artificial, como hemos hecho en los últimos 4 años.

¿Hay algo más que te gustaría compartir sobre Zilliz?

Como empresa, estamos creciendo rápidamente, pero lo que realmente distingue a nuestro equipo actual de otros en el espacio de bases de datos y aprendizaje automático es nuestra pasión singular por lo que estamos construyendo. Estamos en una misión para democratizar el procesamiento de datos no estructurados, y es absolutamente increíble ver a tantas personas talentosas en Zilliz trabajando hacia un objetivo singular. Si algo de lo que estamos haciendo suena interesante para ti, no dudes en ponerte en contacto con nosotros. Nos encantaría tenerte a bordo.

Si deseas saber un poco más, también estoy personalmente abierto a hablar sobre Zilliz, bases de datos vectoriales o avances relacionados con incrustaciones en inteligencia artificial y aprendizaje automático. Mi “puerta” está siempre abierta, así que no dudes en contactarme directamente en Twitter/LinkedIn.

Por último, gracias por leer.

Gracias por la gran entrevista, los lectores que deseen aprender más pueden visitar Zilliz.

Antoine es un líder visionario y socio fundador de Unite.AI, impulsado por una pasión inquebrantable por dar forma y promover el futuro de la IA y la robótica. Un empresario serial, cree que la IA será tan disruptiva para la sociedad como la electricidad, y a menudo se le escucha hablando con entusiasmo sobre el potencial de las tecnologías disruptivas y la AGI. Como un futurista, está dedicado a explorar cómo estas innovaciones darán forma a nuestro mundo. Además, es el fundador de Securities.io, una plataforma enfocada en invertir en tecnologías de vanguardia que están redefiniendo el futuro y remodelando sectores enteros.