Conozca WebLLM: un proyecto de IA que lleva el modelo de lenguaje grande y el chatbot basado en LLM a los navegadores web acelerados con WebGPU

Estás leyendo la publicación: Conozca WebLLM: un proyecto de IA que lleva el modelo de lenguaje grande y el chatbot basado en LLM a los navegadores web acelerados con WebGPU

La introducción de LLM en el navegador a través de WebLLM es innovadora en IA y desarrollo web. WebLLM permite que los modelos ajustados de instrucciones se ejecuten de forma nativa en la pestaña del navegador de un usuario, lo que elimina la necesidad de soporte del servidor. Este procesamiento local de datos confidenciales aborda las preocupaciones de privacidad y seguridad, brindando a los usuarios más control sobre su información personal y reduciendo el riesgo de fugas de datos o violaciones de la privacidad, especialmente para los usuarios preocupados por las extensiones de Chrome o las aplicaciones web que envían datos a servidores externos.

El equipo de desarrolladores se ha embarcado en un proyecto para llevar los chats del modelo de lenguaje directamente a los navegadores web, ejecutándose completamente dentro del navegador sin soporte de servidor y acelerados con WebGPU. Este esfuerzo tiene como objetivo permitir la creación de asistentes de IA para todos al tiempo que garantiza la privacidad y se beneficia de la aceleración de la GPU.

El proyecto reconoce el progreso reciente en el desarrollo de modelos de lenguaje e inteligencia artificial generativa, gracias a los esfuerzos de código abierto como LLaMA, Alpaca, Vicuna y Dolly. El objetivo es construir modelos de lenguaje de código abierto y asistentes personales de IA que puedan integrarse en el lado del cliente de los navegadores web, aprovechando el poder cada vez mayor de la informática del lado del cliente.

🔥 Recomendado:  Los mejores momentos para publicar en Twitter

Sin embargo, existen importantes desafíos que superar, incluida la necesidad de marcos Python acelerados por GPU en el entorno del lado del cliente y la optimización del uso de la memoria y la compresión del peso para adaptarse a modelos de lenguaje grandes en la memoria limitada del navegador. El proyecto tiene como objetivo desarrollar un flujo de trabajo que permita un fácil desarrollo y optimización de modelos de lenguaje en un enfoque productivo basado en Python y una implementación universal, incluso en la web.

El proyecto utiliza la compilación de aprendizaje automático (MLC) con Apache TVM Unity, aprovechando la compatibilidad con formas dinámicas nativas para optimizar el IRModule del modelo de lenguaje sin relleno. Los programas TensorIR resultantes se transforman y optimizan para su implementación en varios entornos, incluido JavaScript para la implementación web, utilizando conocimientos expertos y programación automatizada.

El proyecto también utiliza técnicas de cuantificación int4 para comprimir los pesos del modelo, optimizaciones de planificación de memoria estática para reutilizar la memoria en varias capas y un puerto wasm del tokenizador SentencePiece. Todas estas optimizaciones se realizan en Python, excepto la aplicación de JavaScript que conecta los diferentes componentes.

El proyecto utiliza el ecosistema de código abierto, específicamente TVM Unity, para habilitar una experiencia de desarrollo centrada en Python para optimizar e implementar modelos de lenguaje en la web. La compatibilidad con formas dinámicas en TVM Unity aborda la naturaleza dinámica de los modelos de lenguaje sin relleno, y las expresiones de tensor permiten cálculos de tensor parcial sin cálculos de matriz de tensor completo.

Una comparación entre WebGPU y los tiempos de ejecución de GPU nativos revela algunas limitaciones en el rendimiento causadas por la implementación de WebGPU de Chrome. Las soluciones alternativas, como las banderas especiales, pueden mejorar la velocidad de ejecución, y las próximas funciones, como las extensiones fp16, muestran potencial para mejoras significativas. A pesar de las limitaciones, el lanzamiento reciente de WebGPU ha generado entusiasmo por las oportunidades que presenta, con muchas funciones prometedoras en el horizonte para mejorar el rendimiento.

🔥 Recomendado:  Administrar la espada de doble filo de los correos electrónicos teaser

El equipo tiene como objetivo optimizar y expandir el proyecto agregando núcleos de cuantización fusionados y soporte para más plataformas mientras mantiene un enfoque de desarrollo interactivo de Python. El objetivo es llevar la IA de forma nativa a los navegadores web, lo que permite chats de modelos de lenguaje personalizados y protegidos por privacidad directamente en la pestaña del navegador. Esta innovación en IA y desarrollo web tiene el potencial de revolucionar la forma en que se implementan las aplicaciones de IA en la web, ofreciendo privacidad mejorada, rendimiento mejorado y funcionalidad fuera de línea.