Skip to main content
Volver a todos los artículos
Ejecución de LLM en el navegador: edición de privacidad de WebGPU
Blog
A technical deep dive into local AI6 min de lectura
By •Senior software engineer and career tech researcher•Fact checked by ATS specialists•Published

Ejecución de LLM en el navegador: cómo utilizamos WebGPU y WebLLM para la edición de currículums priorizando la privacidad

Todas las herramientas de currículum impulsadas por IA en el mercado actual envían sus datos a un servidor. Te dirán que es “seguro”. Señalarán las insignias de cumplimiento SOC 2. Pero aquí está la realidad de la ingeniería: si su currículum sale de su dispositivo, ya no es exclusivamente suyo. Vive en una base de datos, en un archivo de registro, en un proceso de capacitación o en una filtración de datos esperando a ocurrir.

Nos negamos a aceptar esa compensación. Así que construimos algo diferente: una reescritura de currículums con IA totalmente del lado del cliente que ejecuta un modelo de lenguaje de 500 millones de parámetros directamente en su navegador usando WebGPU y Transformers.js. Sin claves API. Sin inferencia de nubes. Sin servidor.

En esta inmersión técnica profunda, aprenderá:

  • Por qué la IA sin servidor es la única arquitectura verdaderamente privada para documentos confidenciales
  • Cómo WebGPU desbloquea la inferencia acelerada por GPU en el navegador
  • La pila exacta que utilizamos (Astro, Transformers.js, Xenova/Qwen1.5-0.5B-Chat)
  • Los desafíos de ingeniería de enviar un modelo de 300 MB a una pestaña del navegador
  • Puntos de referencia de rendimiento y cifras de latencia en el mundo real

La paradoja de la privacidad de las herramientas modernas de IA

Los reescritores de currículums con IA se han disparado en popularidad. Herramientas como Teal, Resume.io y Jobscan ofrecen una “reescritura de viñetas impulsada por IA” que suena mágica, hasta que lees la letra pequeña. Casi todos operan en una arquitectura cliente-servidor:

  1. Pegas tu currículum en un formulario web
  2. Tus datos están cifrados en tránsito (TLS)
  3. Está descifrado en un servidor en la nube.
  4. Una API LLM (OpenAI, Anthropic o un modelo autohospedado) lo procesa
  5. El texto reescrito se devuelve

Esto parece seguro en la superficie. Pero la superficie de ataque es enorme:

  • Los registros del servidor pueden conservar su currículum completo para su depuración
  • Las API LLM de terceros pueden entrenarse con sus datos a menos que pague por niveles empresariales
  • Las filtraciones de datos exponen currículums que contienen direcciones particulares, números de teléfono, historial laboral y datos salariales.
  • Deficiencias de cumplimiento: la mayoría de las herramientas no cumplen con el RGPD para los usuarios de la UE porque no pueden garantizar la eliminación

El resultado final: Si su currículum llega a un servidor, está confiando en que un tercero no leerá, registrará, filtrará ni monetizará su documento profesional más confidencial. Esa no es una apuesta que estemos dispuestos a pedir a nuestros usuarios que hagan.


Por qué la IA del lado del cliente lo cambia todo

La IA del lado del cliente cambia la arquitectura por completo. En lugar de enviar sus datos al modelo, enviamos el modelo a sus datos. El LLM se descarga directamente en la memoria de su navegador, se ejecuta en su GPU o CPU local y nunca transmite el texto de su currículum desde su dispositivo.

Las implicaciones de privacidad son absolutas:

  • Cero llamadas de red que contengan los datos de su currículum
  • Cero registros del servidor con su información personal
  • Cero API LLM de terceros con políticas de datos opacas
  • Riesgo cero de violación de datos de nuestra infraestructura, porque no tenemos una infraestructura que toque sus datos

Pero la IA del lado del cliente no es solo un juego de privacidad. También ofrece beneficios de rendimiento tangibles:

  • Sin latencia en viajes de ida y vuelta a un centro de datos distante
  • Sin límites de tarifas ni cuotas API
  • Sin puertas de suscripción para funciones de IA
  • Capacidad sin conexión una vez que el modelo está almacenado en caché

WebGPU: el navegador como Compute Engine

Hasta hace poco, ejecutar LLM en el navegador era computacionalmente inviable. WebGL era la única API de GPU disponible y fue diseñada para gráficos, no para computación de uso general. Entonces llegó WebGPU.

¿Qué es WebGPU?

WebGPU es un estándar web de próxima generación que expone las capacidades modernas de GPU (Vulkan, Metal, DirectX 12) directamente a JavaScript. A diferencia de WebGL, admite sombreadores de cálculo de GPU de uso general, lo que lo hace ideal para operaciones con uso intensivo de matrices, como la inferencia de redes neuronales.

Capacidades clave que hacen posibles los LLM sobre navegadores:

  • Canalizaciones de cómputo: ejecuta núcleos de multiplicación de matrices en paralelo de forma masiva
  • Modelo de memoria unificada: acceso directo al búfer de GPU sin costosas copias de CPU-GPU
  • Lenguajes de sombreado: escriba WGSL (lenguaje de sombreado WebGPU) para núcleos de inferencia personalizados.
  • Multiplataforma: funciona en Chrome, Edge, Firefox y Safari con rendimiento nativo

WebGPU frente a WebGL para inferencia LLM

Característica WebGL WebGPU
Sombreadores de cálculo ❌ No ✅ Sí
Operaciones matriciales Lento (simulado) Nativo, paralelo
Eficiencia de la memoria Alta sobrecarga de CPU-GPU Unificado, bajos gastos generales
Velocidad de inferencia LLM ~10-20 fichas/seg ~50-100 fichas/seg
Soporte del navegador Universales Navegadores modernos (94%+)

Para nuestro caso de uso (reescribir viñetas de currículum con un modelo de 500M de parámetros), WebGPU ofrece una inferencia entre 4 y 5 veces más rápida que un respaldo solo de CPU y 2 y 3 veces más rápido que un enfoque basado en WebGL.


Nuestra pila: Astro + Transformers.js + Xenova/Qwen1.5

La creación de una reescritura de IA del lado del cliente requirió elecciones tecnológicas cuidadosas. Necesitábamos un marco que fuera rápido, mínimo y compatible con la computación pesada del lado del navegador. Aquí está la arquitectura exacta en la que aterrizamos.

Framework: Astro

Elegimos Astro por su filosofía zero-JS-by-default. La mayoría de las herramientas de currículum son aplicaciones React infladas que envían más de 500 KB de JavaScript antes de que el usuario pueda siquiera pegar su currículum. Astro nos permite entregar HTML estático para la página de destino y el blog, y luego hidratar solo los componentes interactivos (el editor, el panel de IA) cuando sea necesario.

Por qué Astro es importante para la IA del lado del cliente:

  • La carga de la página inicial es inferior a 50 KB de JavaScript.
  • El modelo de IA pesado se carga bajo demanda cuando el usuario hace clic en “Reescribir con IA”
  • Sin sobrecarga de hidratación para contenido estático como nuestro blog o páginas de marketing

AI Runtime: Transformers.js

Hugging Face’s Transformers.js es el puente que hace esto posible. Es una adaptación de la biblioteca Python Transformers a ONNX Runtime Web, que permite que modelos previamente entrenados se ejecuten en el navegador a través de respaldos de WebGPU o WebGL.

Detalles técnicos clave:

  • Los modelos están cuantificados a INT8 para reducir el tamaño y la huella de memoria.
  • Usamos el backend ONNX Runtime Web con un proveedor de ejecución WebGPU
  • La canalización maneja tokenización, inferencia y decodificación de extremo a extremo en el navegador

Elección de modelo: Xenova/Qwen1.5-0.5B-Chat

Evaluamos varios modelos antes de decidirnos por Qwen1.5-0.5B-Chat a través de los puertos Xenova ONNX:

Criterios de selección:

  • Lo suficientemente pequeño como para descargar (~300 MB cuantificados) sin destruir la experiencia del usuario
  • Seguimiento estricto de instrucciones para mensajes de “reescribe esta viñeta para que tenga más impacto”
  • Licencia permisiva para uso comercial
  • Inferencia rápida en GPU de consumo (generación inferior a 3 segundos para reescrituras de viñetas cortas)

Probamos Llama-2-7B, Mistral-7B y Phi-2. Todos eran demasiado grandes (más de 1,5 GB) o demasiado lentos para la inferencia del navegador en tiempo real. Qwen1.5-0.5B alcanza el punto ideal: lo suficientemente pequeño para ser práctico, lo suficientemente capaz para ser útil.


Los desafíos de ingeniería de los que nadie habla

Enviar un modelo de 300 MB a una pestaña del navegador suena simple en teoría. En la práctica, fue un esfuerzo de ingeniería que duró meses. Estos son los tres problemas más difíciles que resolvimos.

Desafío 1: Descargas progresivas de modelos

Una descarga de 300 MB en una conexión 4G tardaría entre 2 y 3 minutos y probablemente provocaría un tiempo de espera del navegador. Implementamos un sistema de descarga fragmentada progresiva:

  • El modelo se divide en fragmentos de 10 MB.
  • Cada fragmento se descarga con lógica de reintento y retroceso exponencial
  • Una interfaz de usuario de barra de progreso personalizada flota en la esquina superior derecha y muestra los MB descargados en tiempo real
  • El modelo se almacena en caché en IndexedDB después de la primera descarga, por lo que las visitas posteriores se cargan instantáneamente

Resultado: Los usuarios nuevos ven una descarga de ~45 segundos en banda ancha promedio. Los usuarios que regresan obtienen una carga del modelo en menos de 2 segundos desde la memoria caché.

Desafío 2: Gestión del ciclo de vida del contexto WebGPU

Los contextos de los dispositivos WebGPU son complicados. Si un usuario cambia de pestaña, minimiza el navegador o pone su computadora portátil en suspensión, se puede perder el contexto de la GPU. Tuvimos que construir un sistema de recuperación de contexto robusto:

  • Detectar eventos gpu.lost y reinicializar elegantemente el proceso de inferencia
  • Recurrir a la inferencia de CPU (WASM) si WebGPU deja de estar disponible
  • Proporcione mensajes de interfaz de usuario claros: “Cambiar al modo CPU; la reescritura puede tardar un poco más”.

Resultado: La reescritura de IA funciona de manera confiable en Chrome, Edge y Firefox, incluso en sistemas con una administración de energía agresiva.

Desafío 3: Presión de memoria en máquinas con 8 GB de RAM

Un modelo de 500 M de parámetros en INT8 todavía consume ~600 MB de memoria GPU/CPU. Combinado con el análisis de PDF, el editor de texto enriquecido Quill y nuestro tablero Kanban, estábamos superando los límites de las computadoras portátiles económicas.

Nuestras optimizaciones:

  • Carga diferida: el modelo solo se descarga cuando el usuario hace clic explícitamente en “Reescribir”
  • Desalojo del modelo: si el usuario no ha utilizado el panel de IA en 10 minutos, liberamos el modelo de la memoria (permanece en IndexedDB para una recarga rápida).
  • Inferencia fuera del hilo principal: todas las operaciones de LLM se ejecutan en un Web Worker para evitar que la interfaz de usuario se congele

Resultado: El escáner funciona sin problemas en máquinas con 8 GB de RAM, incluidas las Chromebook de gama media.


Puntos de referencia de rendimiento: números reales

Comparamos nuestro reescritor de IA del lado del cliente con alternativas basadas en la nube en condiciones idénticas. Esto es lo que encontramos:

Métrica Nuestra IA del lado del cliente API de nube (GPT-4o-mini) API de nube (Claude Haiku)
Latencia de primera inferencia 45s (descargar) + 2,3s 1,2 s 1,8s
Latencia de inferencia posterior 2,3s 1,2 s 1,8s
Privacidad Absoluta (red cero) Registros del servidor + retención de API Registros del servidor + retención de API
Capacidad sin conexión Sí No No
Límites de tarifas Ninguno Sí (límites de RPM/TPM) Sí (límites de RPM/TPM)
Costo para el usuario Gratis Suscripción de $5-20/mes Suscripción de $5-20/mes
Propiedad de los datos 100% usuario Dependiente de la plataforma Dependiente de la plataforma

La compensación es clara: Los usuarios nuevos sacrifican ~45 segundos para descargar el modelo. Después de eso, cada reescritura es gratuita, privada, ilimitada y sin conexión. Para una herramienta que maneja datos profesionales confidenciales, creemos que es la compensación correcta.


Por qué esta arquitectura es importante para el futuro de la IA web

No solo estamos construyendo un escáner de currículums. Estamos demostrando que el futuro de la IA no requiere entregar sus datos.

Todas las principales empresas de IA están impulsando la inferencia en la nube porque es rentable. Pero la capacidad técnica para una IA potente, privada y del lado del cliente ya está aquí. WebGPU está maduro. Transformers.js está listo para producción. Los modelos cuantificados son sorprendentemente capaces.

Qué significa esto para los usuarios:

  • Puede obtener ayuda para su currículum con tecnología de inteligencia artificial sin confiarle a un tercero su historial laboral
  • Puede utilizar herramientas de inteligencia artificial en Wi-Fi de aviones, firewalls corporativos o redes restrictivas
  • Usted es dueño de sus datos, los pesos de su modelo y sus resultados de inferencia

Lo que esto significa para los desarrolladores:

  • El navegador es un objetivo legítimo de implementación de IA.
  • Puede crear funciones sofisticadas de PNL sin facturas de API
  • La arquitectura que prioriza la privacidad es un diferenciador competitivo, no una limitación

Cómo probar nuestra reescritura de IA del lado del cliente

Nuestro escáner ATS privado incluye la reescritura de IA como característica incorporada. Así es como funciona:

  1. Sube tu currículum (PDF o DOCX): analizado completamente en el navegador, nunca cargado
  2. Seleccione cualquier viñeta en el editor de texto enriquecido
  3. Haga clic en “Reescribir con IA”: el modelo se descarga (solo la primera vez) y genera una versión más potente y optimizada para palabras clave.
  4. Compare, edite y acepte la sugerencia, todo sin una sola llamada de red que transporte sus datos

→ Pruebe la reescritura de currículums de IA privada en nuestro escáner del lado del cliente


Conclusiones clave

  • IA del lado del cliente que utiliza WebGPU y Transformers.js está listo para producción para reescritura de currículums y tareas de PNL
  • WebGPU ofrece una inferencia entre 4 y 5 veces más rápida que los enfoques de solo CPU y es compatible con más del 94 % de los navegadores modernos.
  • Un modelo de 500M de parámetros (Qwen1.5-0.5B-Chat) es suficiente para reescribir viñetas de alta calidad manteniendo menos de 300MB
  • Las descargas progresivas, el almacenamiento en caché de IndexedDB y los trabajadores web son esenciales para enviar modelos grandes a dispositivos de consumo.
  • Los beneficios de privacidad son absolutos: cero registros del servidor, cero retención de API, cero riesgo de violación de datos

El navegador web ya no es solo un visor de documentos. Es un entorno informático de IA privado y seguro. Y apenas estamos comenzando.

¿Quieres verlo en acción? Inicie nuestro escáner ATS privado con reescritura de IA integrada →

Escaneo 100% privado en el navegador. Sin cuenta requerida.

Mejore su currículum sin subirlo a internet.

Compare su currículum con una oferta de trabajo en el navegador. Sus datos se quedan en su dispositivo.

Iniciar estudio privado
YN

Yuvraj Negy

Verified Author & Researcher

Lead Systems Architect & Founder at Keyword Gap

Published 14 de julio de 2026 • Fact checked against 2026 Enterprise ATS Parsers

Specializing in natural language tokenization, client side parsing security, and applicant tracking algorithms. Author of technical guides on passing Workday, Greenhouse, Taleo, and AI resume screening.