Configuración de WebLLM y WebGPU

Guía de preparación técnica para la ejecución local de modelos de Inteligencia Artificial directamente en tu navegador mediante la GPU.

¿Qué es WebLLM y qué ventajas ofrece?

WebLLM es una tecnología que ejecuta modelos de lenguaje (LLM) íntegramente dentro del navegador web aprovechando la tarjeta gráfica (GPU) mediante la API estándar WebGPU.

Requisitos Previos de Hardware

WebGPU requiere compatibilidad gráfica y memoria de vídeo (VRAM) adecuada según el tamaño del modelo seleccionado:

Tamaño de Modelo VRAM recomendada Ejemplos disponibles
0.5B – 1.5B ~1.0 GB a 1.8 GB Qwen2.5-0.5B, Llama-3.2-1B, SmolLM2-1.7B
3B – 4B ~2.5 GB a 3.5 GB Llama-3.2-3B, Phi-3.5-mini-instruct
7B – 8B ~5.0 GB a 6.5 GB Llama-3.1-8B-Instruct, Mistral-7B-Instruct
Nota: Los adaptadores gráficos modernos (NVIDIA, AMD Radeon, Apple Silicon M1/M2/M3/M4 e Intel Iris Xe/Arc) cuentan con soporte nativo de WebGPU con los controladores oficiales actualizados.

Configuración por Navegador

Google Chrome, Edge y Chromium

Los navegadores basados en Chromium ofrecen el mejor rendimiento con WebGPU.

  1. Activa la aceleración por hardware:

    Ve a Configuración > Sistema y asegúrate de activar "Usar aceleración por hardware cuando esté disponible".

    chrome://settings/system
  2. Habilitar WebGPU no seguro (Recomendado para máxima compatibilidad):

    Pega en la barra de direcciones, cambia el valor a Enabled y reinicia el navegador:

    chrome://flags/#enable-unsafe-webgpu
  3. Interoperabilidad WebGPU en Linux (Recomendado en Linux y Wayland):

    En Linux (especialmente con Wayland o gráficas dedicadas NVIDIA/AMD), activa esta opción para conectar el cómputo de WebGPU directamente con la ventana del navegador sin sobrecargar la CPU:

    chrome://flags/#force-enable-webgpu-interop
  4. Comprobar el estado de la GPU:

    Abre el panel de diagnóstico y verifica que WebGPU figure como "Hardware accelerated":

    chrome://gpu

Mozilla Firefox

WebGPU está en fase de despliegue activo en Firefox y requiere habilitar parámetros específicos:

  1. Accede al editor de configuración avanzada:

    Escribe en la barra de direcciones y pulsa "Aceptar el riesgo y continuar":

    about:config
  2. Habilita la API WebGPU:

    Busca este parámetro y asegúrate de que esté configurado como true:

    dom.webgpu.enabled
  3. Ignorar lista de bloqueo de controladores (Recomendado en Linux/Windows):

    Permite a Firefox utilizar WebGPU incluso si el controlador no está verificado en la lista oficial:

    gfx.webgpu.ignore-status
  4. Comprobar estado en Firefox:

    Revisa la sección Gráficos > WebGPU para confirmar la detección del adaptador:

    about:support

Cómo usar WebLLM en ZeroChat

  1. En ZeroChat, abre la ventana de Mantenimiento de Perfiles.
  2. Selecciona el tipo de API WebLLM (local).
  3. Si ya tienes modelos descargados: Aparecerán automáticamente como los primeros de la lista en el combo de selección. Puedes escoger cualquiera de ellos y guardar el perfil directamente sin necesidad de pulsar Query.
  4. Para descargar un nuevo modelo: Pulsa el botón Query. Se desplegará el catálogo de modelos disponibles con sus requisitos de memoria VRAM. Pulsa el icono de descarga junto al modelo deseado y espera a que termine la compilación de shaders.
  5. Una vez completada la descarga, el modelo quedará marcado como "En caché" y guardado permanentemente en el navegador.

Parámetros Avanzados de Rendimiento WebGPU

Al configurar un perfil con el proveedor WebLLM, junto al selector de modelo encontrarás un botón con icono de engranaje que abre el panel de parámetros avanzados de rendimiento. Estos desplegables permiten adaptar el consumo de VRAM y la velocidad de inferencia a la potencia de tu GPU:

La primera opción de cada desplegable es "Por defecto del modelo" (default), con la que ZeroChat respetará la configuración predeterminada del modelo. Al guardar el perfil, estos parámetros se conservan asociados a la configuración de la conexión.

Cómo revertir los cambios y restaurar la configuración por defecto

Si deseas deshacer las modificaciones técnicas realizadas en tu navegador o en ZeroChat y regresar a los valores predeterminados de fábrica, sigue estos pasos según tu navegador:

1. Google Chrome, Microsoft Edge y navegadores Chromium

2. Mozilla Firefox

3. Liberar espacio en disco (Eliminar modelos descargados de la caché)

Los modelos locales de WebLLM se almacenan en el almacenamiento persistente del navegador (Cache Storage / IndexedDB) y pueden ocupar varios gigabytes. Si deseas eliminarlos para recuperar espacio en disco:

Resolución de Problemas Frecuentes y Compatibilidad

ZeroChat ejecuta WebLLM mediante un Web Worker clásico autocontenido en memoria, garantizando compatibilidad total tanto en Google Chrome como en Mozilla Firefox de forma completamente estática (sin requerir compilaciones locales ni flags especiales). El runtime de JavaScript se almacena de forma persistente en Cache Storage y se actualiza periódicamente de manera automática cada 7 días siempre que haya conexión disponible (con respaldo offline transparente si no hay red).

Configuración → Borrar todo elimina los datos del origen actual, incluidos RAG, adjuntos, modelos descargados, IndexedDB, Cache Storage y archivos privados del navegador. Cierra las otras pestañas antes de confirmar. El borrado es irreversible y afecta a aplicaciones que compartan el origen. Repite la operación en cada origen HTTP o HTTPS que hayas utilizado. No elimina archivos descargados en tu ordenador, cookies HttpOnly ni la caché HTTP interna del navegador.

Si la preparación falla, la fila del modelo muestra el detalle del error recibido de WebLLM. Copia ese mensaje completo para diagnosticar el acceso a los recursos de hardware y a la aceleración WebGPU de tu GPU.