Guía de preparación técnica para la ejecución local de modelos de Inteligencia Artificial directamente en tu navegador mediante la GPU.
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.
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 |
Los navegadores basados en Chromium ofrecen el mejor rendimiento con WebGPU.
Ve a Configuración > Sistema y asegúrate de activar "Usar aceleración por hardware cuando esté disponible".
chrome://settings/system
Pega en la barra de direcciones, cambia el valor a Enabled y reinicia el navegador:
chrome://flags/#enable-unsafe-webgpu
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
Abre el panel de diagnóstico y verifica que WebGPU figure como "Hardware accelerated":
chrome://gpu
WebGPU está en fase de despliegue activo en Firefox y requiere habilitar parámetros específicos:
Escribe en la barra de direcciones y pulsa "Aceptar el riesgo y continuar":
about:config
Busca este parámetro y asegúrate de que esté configurado como true:
dom.webgpu.enabled
Permite a Firefox utilizar WebGPU incluso si el controlador no está verificado en la lista oficial:
gfx.webgpu.ignore-status
Revisa la sección Gráficos > WebGPU para confirmar la detección del adaptador:
about:support
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:
context_window_size): Desplegable para seleccionar el tamaño máximo de tokens en la KV Cache (por ejemplo: 2048, 4096, 8192, 16384, 32768). Por defecto en navegadores suele venir limitado a 2048 o 4096 para evitar fallos de memoria en GPUs integradas. Si tu GPU dispone de abundante VRAM, aumentarlo permite mantener conversaciones más largas y procesar documentos extensos sin truncado.
prefill_chunk_size): Desplegable para seleccionar el número de tokens que la GPU procesa en paralelo durante la fase de carga del prompt (512, 1024, 2048, 4096). Un valor mayor aprovecha mejor el paralelismo de GPUs dedicadas potentes, acelerando el tiempo hasta el primer token (TTFT).
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.
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:
Accede de nuevo a la dirección del flag y selecciona Default en el selector desplegable:
chrome://flags/#enable-unsafe-webgpu
Pulsa el botón Relaunch (Reiniciar) que aparecerá en la parte inferior para reiniciar el navegador con la configuración por defecto.
Si modificaste varios parámetros y deseas devolver todos los flags a su estado de fábrica, visita la página principal de flags y haz clic en el botón "Reset all" (o "Restablecer todo") en la esquina superior derecha:
chrome://flags
En chrome://settings/system, puedes volver a marcar o desmarcar la opción "Usar aceleración por hardware cuando esté disponible" según tu preferencia habitual.
Escribe en la barra de direcciones y acepta la advertencia:
about:config
Busca cada parámetro modificado. Verás que su nombre figura en negrita, lo que indica que tiene un valor personalizado distinto del predeterminado:
dom.webgpu.enabled (valor predeterminado de fábrica: false)gfx.webgpu.ignore-status (valor predeterminado de fábrica: false o inexistente)Haz clic en el botón Restablecer (icono de flecha curva hacia atrás a la derecha de la fila) o haz doble clic para que regrese a false y deje de mostrarse en negrita.
Cierra y vuelve a abrir Firefox para que el subsistema gráfico se reinicie con la configuración por defecto.
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:
webllm/model y pulsa Eliminar.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.