14 puntos por kwonhl0211 2024-07-15 | Aún no hay comentarios. | Compartir por WhatsApp
  • La experiencia de Linus Lee en desarrollo de IA

    • Linus Lee trabaja en Notion como lead AI engineer.
    • Antes de Notion, investigó bastante sobre NLP, machine learning y HCI, y también hizo mucho prototipado y escritura.
    • En Notion desarrolló las funciones Q&A, Autofill y AI Writing, y también ha investigado modelos de espacio latente.
  • Resumen del desarrollo de IA en Notion

    • Linus Lee ha desarrollado diversas herramientas web y de productividad desde su época universitaria.
    • Durante 2022 empezó a leer papers e investigar sobre IA por su cuenta.
    • En octubre de 2022, se unió al proyecto beta de AI Writer de Notion.
    • Cuando entró a Notion, el equipo de IA estaba compuesto por cuatro personas, pero ahora ha crecido a unas 20.
    • Los principales proyectos en los que participó Linus Lee fueron AI Writer, Autofill y Q&A, lanzados en febrero, mayo y noviembre de 2023, respectivamente.
    • En adelante, Notion AI planea mejorar aún más la usabilidad mediante tecnología de agentes.
  • Introducción a las oficinas de Notion y al equipo de IA

    • Notion tiene oficinas en San Francisco y Nueva York, y la oficina de San Francisco se usa para almuerzos y espacios para eventos.
    • La oficina de Nueva York es donde vive y trabaja Linus Lee, y destaca por su entorno laboral de diseño limpio.
    • El desarrollo de funciones de IA en Notion comenzó en 2023, y el CEO y el CTO participan directamente en el desarrollo del producto.
    • En una foto de una reunión del equipo de IA en otoño de 2022, se ve a managers, al CEO Ivan, al CTO Simon, product managers y diseñadores realizando una sesión de Q&A.
    • En el desarrollo de productos de IA, la calidad y la evaluación son factores clave, y se usan técnicas de evaluación que consideran el espectro entre benchmarks de investigación y uso real en producción.
    • Notion verifica el rendimiento entre benchmarks y datos reales, y evalúa con precisión el desempeño de los modelos mediante pruebas programáticas.
    • Los criterios de evaluación incluyen la presencia de ciertas palabras, confianza, inclusión de keywords y rendimiento lingüístico preciso.
  • Desarrollo de productos de IA en Notion

    • La evaluación humana es un elemento importante en el desarrollo de productos de Notion AI.
    • En los datasets de prueba, personas revisan los datos y luego el producto se prueba mediante tests programáticos.
    • Después del desarrollo del producto, se necesita monitoreo continuo basado en el feedback de los usuarios.
    • La IA debe ofrecer capacidades en varios niveles para recopilar casos de falla de los usuarios y responder preguntas de forma efectiva.
    • La clave para desarrollar productos de IA de alta calidad es la edición y la calidad de los datos. Por eso es importante ajustar los datos del mundo real al modelo.
    • El equipo de Notion desarrolla estas funciones discutiéndolas en conjunto entre engineers, researchers, designers y product managers.
    • Usan modelos como GPT-4 para mejorar continuamente el modelo de edición y elevar la calidad de los resultados.
  • Proceso de desarrollo de funciones de IA en Notion

    • Los engineers de Notion AI desarrollan modelos mediante recopilación de información y estructuración de datos. Por eso deben analizar a fondo los datos y ajustarse a las necesidades de los usuarios.
    • Construyen datasets mientras investigan maneras de organizar información como notas de reuniones y páginas web de los usuarios de Notion, porque esto afecta el rendimiento del modelo de IA.
    • A través de la investigación identifican casos de uso como Q&A y prueban los modelos, para poder ofrecer respuestas efectivas a las preguntas de los usuarios.
    • Desarrollan sistemas prototipo usando GPT-4 y modelos en la nube, y luego los prueban internamente para detectar problemas iniciales.
    • Analizan los casos de falla recopilados mediante uso interno y, con base en ellos, mejoran el dataset y el modelo. Así elevan la precisión del modelo mediante pruebas y feedback iterativos.
  • Procedimiento de desarrollo y evaluación de modelos de IA en Notion

    • El proceso iterativo del modelo incluye ajustar prompts, afinar detalles del modelo y agregar una segunda etapa al pipeline del language model.
    • Cuando consideran que resolvieron un problema durante el desarrollo, vuelven a desplegar y recopilan más casos de falla para repetir el proceso.
    • Este ciclo se repite hasta que la calidad de las entradas y salidas en el entorno interno sea satisfactoria.
    • En algún momento, publican el producto para un pequeño grupo de usuarios mediante un programa beta, y monitorean el feedback de usuarios y los datos de logs recopilados automáticamente.
    • En la etapa inicial de construcción del dataset, usan diversos métodos para verificar que refleje bien los casos de uso reales.
  • Etapa inicial del desarrollo de funciones de IA

    • Crean un prototipo y lo prueban con el equipo interno de IA.
    • Así recopilan distintos inputs y ejemplos mediante uso interno.
    • El conjunto inicial de inputs no necesita representar perfectamente todos los casos reales.
    • Después de las pruebas internas, lo despliegan a un grupo más amplio de usuarios para obtener gradualmente datos más realistas.
    • También es posible construir el dataset inicial con base en casos de falla previstos.
    • Al desarrollar funciones de soporte de idiomas, usan datasets de QA existentes traducidos a lenguas extranjeras.
  • Recolección y evaluación de datos mediante pruebas internas y externas

    • El dataset inicial no necesita ser perfectamente realista. Por eso se recopilan mejores datos a través de pruebas.
    • Se prueba el prototipo con usuarios internos o con un pequeño grupo de usuarios externos, y se recopilan ejemplos de salidas incorrectas de varias maneras.
    • Se realizan evaluaciones programáticas basadas en keywords o en la estructura de la salida, y se dejan logs de todas las inferencias de IA. Así se pueden revisar y analizar las salidas fallidas.
    • Mediante entrevistas con usuarios, se pueden entender los casos de uso reales y descubrir formas de uso inesperadas.
    • Por ejemplo, durante las pruebas internas de Autofill descubrieron que muchos empleados lo usaban para traducción, por lo que desarrollaron una versión más optimizada para ese propósito.
  • Métodos de feedback y evaluación de productos de IA

    • Los botones de feedback de me gusta y no me gusta no son muy útiles para los usuarios, por lo que no se usan con frecuencia.
    • Además, con la escala de usuarios de Notion no es posible obtener suficientes datos solo mediante esos botones de feedback.
    • Sin embargo, ocasionalmente ayudan a detectar casos excepcionales que no se habían encontrado por otros casos de uso.
    • Internamente, evalúan el rendimiento del modelo ante inputs inesperados mediante pruebas adversariales.
    • Las pruebas adversariales son útiles para comprender los límites del rendimiento del modelo e identificar dónde aparecen los problemas.
    • Monitorean continuamente las fortalezas y debilidades del modelo a través de datos de uso real.
  • Elementos clave en el desarrollo de productos de IA

    • La evaluación y los logs son lo más importante.
    • Es necesario construir logs integrales y totalmente reproducibles.
    • Con ejemplos de malas salidas en uso real o resultados de pruebas internas, se puede reconstruir y depurar el pipeline.
    • Cada ejemplo se vuelve a ejecutar en el entorno de desarrollo para probarlo con nuevos prompts o modelos y encontrar una solución.
    • Después de resolver el problema, ese ejemplo se agrega al dataset de prueba para evitar que vuelva a ocurrir el mismo problema.
  • Lecciones importantes del desarrollo de IA

    • Hay que usar el producto pronto y probarlo con frecuencia para refinar la comprensión de la tarea.
    • El factor diferenciador en IA no es el rendimiento del modelo, sino la comprensión de la tarea.
    • Al crear aplicaciones de IA para usuarios finales, el equipo de IA debe entender profundamente la dificultad de la tarea y las limitaciones del modelo.
    • Es importante dividir la tarea en partes pequeñas e identificar en qué falla con frecuencia el modelo y en qué se desempeña bien de forma natural.
    • La mejor manera de entender la dificultad de la tarea es usar el producto con frecuencia, analizar las salidas y comprender las causas de error del modelo.
  • Puntos de atención al desarrollar productos de IA

    • Las especificaciones del producto deben indicar no solo la interfaz y las funciones, sino también los criterios de evaluación y qué se considera una buena salida.
    • Los criterios de evaluación sirven como un punto central de comunicación entre responsables de producto, engineers e investigadores.
    • La experiencia en machine learning tradicional también puede aplicarse a LLM y modelos de IA generativa, y aporta más insights de los que parece.
    • Sin embargo, mientras que en el machine learning tradicional se trabaja con grandes datasets y se analizan clusters o grandes subconjuntos, en los language models se revisan con mayor frecuencia casos de falla individuales y logs individuales.
    • Por lo tanto, se necesitan herramientas y workflows distintos para trabajar con language models.
  • La importancia de evaluar modelos de IA y cómo abordarla

    • La evaluación parte del usuario y de lo que realmente hace; ahí está la fuente de verdad.
    • Por eso, el material de evaluación debe reflejar casos de uso reales basados en datos de uso internos y externos.
    • Un reto importante en el proceso de evaluación es asegurar que se cubra suficientemente todo el espacio de inputs donde se espera que el sistema funcione bien.
    • Construir un pipeline de evaluación automática puede ahorrar tiempo más adelante, cuando haya que procesar muchos datos, pero al inicio es importante que los miembros del equipo revisen y entiendan directamente los resultados.
    • Esto ayuda a identificar las causas de falla del modelo y sus tendencias frente a tareas específicas.
  • Cómo formar un equipo de IA

    • Hay dos enfoques principales: el primero es convertir un equipo existente de machine learning en un equipo de IA.
    • Eso puede dar lugar a un equipo centrado en datos, validación y benchmarks. Por eso es importante evaluar en función de las necesidades del usuario y las expectativas del mundo real.
    • El segundo enfoque es que un equipo de engineers existente aprenda a usar APIs de language models como la de OpenAI. Notion también usó este método. Por eso su equipo inicial de IA estaba compuesto en su mayoría por web engineers.
    • La ventaja de estos equipos es que son fuertes en comprensión del usuario y en experimentos de prueba. Sin embargo, tuvieron que aprender la importancia de la evaluación rigurosa y de datasets de alta calidad.
    • Además, las buenas prácticas de higiene y workflow son importantes para mantener los datasets. Por lo tanto, asegurar data points de alta calidad es esencial.

Aún no hay comentarios.

Aún no hay comentarios.