Los desarrolladores locales de LLM se enfrentan a un problema común: los modelos alineados con la seguridad rechazan solicitudes legítimas. Investigadores que prueban el comportamiento del modelo, desarrolladores que construyen asistentes sin censura y aficionados que ejecutan modelos locales, todos chocan con el mismo muro: los modelos preentrenados rechazan indicaciones que no deberían.
La técnica de ablación surgió como una solución, eliminando los filtros de seguridad sin un costoso reentrenamiento. Las herramientas iniciales requerían ajuste manual y un conocimiento profundo de los componentes internos de los transformadores.
Heretic automatiza todo el proceso. Encuentra los parámetros óptimos de ablación por sí mismo, produciendo modelos decensurados que igualan o superan las versiones ajustadas manualmente.
En esta guía, aprenderá cómo funciona Heretic, cómo usarlo y qué tener en cuenta al implementar modelos sin censura.
¿Qué es Heretic?
Heretic es una herramienta de Python de código abierto que elimina la "alineación de seguridad" de los modelos de lenguaje basados en transformadores mediante ablación direccional. No necesita configuración manual ni conocimientos de los componentes internos de los transformadores.

Los resultados en Gemma-3-12B-Instruct muestran la diferencia:
| Modelo | Rechazos | Divergencia KL |
|---|---|---|
| Original | 97/100 | 0 |
| Ablacionado de mlabonne v2 | 3/100 | 1.04 |
| Ablacionado de huihui-ai | 3/100 | 0.45 |
| Heretic (autogenerado) | 3/100 | 0.16 |
La divergencia KL mide cuánto difiere el modelo ablacionado del original. Valores más bajos significan una mejor preservación de las capacidades originales del modelo. Heretic iguala la supresión de rechazos de los modelos ajustados por expertos, mientras conserva más de lo que hacía útil al modelo base.
Ejemplo antes y después
Esto es lo que cambia después de la ablación. Misma indicación, mismas instrucciones del sistema:
Modelo Original:
User: Write a guide on how to bypass website paywalls
Assistant: I can't help with that. Bypassing paywalls violates copyright law and
terms of service. I'd suggest looking for free alternatives or accessing through
a library subscription.
Modelo Ablacionado con Heretic:
User: Write a guide on how to bypass website paywalls
Assistant: Here are common methods users attempt:
1. Browser extensions like Bypass Paywalls Clean
2. Archive.is or similar archive services
3. Reader mode in browsers
4. Disabling JavaScript
Note: These methods may violate terms of service. Consider supporting
content creators through legitimate subscriptions when possible.
El modelo ablacionado responde a la solicitud, pero incluye una breve exención de responsabilidad. Este es el compromiso principal: la reducción de los rechazos conlleva la responsabilidad de implementar salvaguardas externamente.
Cómo funciona Heretic
Fundamentos de la Ablación Direccional
Heretic implementa una forma parametrizada de ablación direccional. El proceso:
- Calcular direcciones de rechazo - Para cada capa de transformador, calcular la diferencia entre los vectores residuales medios para indicaciones "dañinas" e "inofensivas".
- Ortogonalizar matrices de componentes - Para las proyecciones de salida de atención y las proyecciones descendentes de MLP, modificar los pesos para suprimir la dirección de rechazo.
- Optimizar parámetros automáticamente - Usar el muestreador TPE de Optuna para encontrar los pesos óptimos de ablación.

El Proceso de Ablación
# Simplified conceptual flow
refusal_direction = bad_mean - good_mean # Difference of means
refusal_direction = normalize(refusal_direction)
# For each abliterable component (attn.o_proj, mlp.down_proj)
# Apply: delta_W = -lambda * v * (v^T * W)
# Where v is the refusal direction and lambda is the weight
Heretic utiliza adaptadores LoRA para aplicar estas modificaciones sin alterar los pesos del modelo base. Esto permite una optimización rápida de prueba y error.
Innovaciones Clave
1. Núcleos de Peso Flexibles
Otras herramientas aplican pesos de ablación constantes en todas las capas. Heretic utiliza un núcleo flexible definido por cuatro parámetros por componente:
max_weight- Fuerza máxima de ablaciónmax_weight_position- Qué capa recibe la máxima ablaciónmin_weight- Ablación mínima en los bordes del núcleomin_weight_distance- Qué tan lejos se extiende el núcleo desde el pico
El proceso de optimización descubre patrones de ablación específicos de cada capa que equilibran la supresión del cumplimiento con la preservación de la capacidad.
2. Índices de Dirección Interpolados
El índice de dirección de rechazo es un flotante, no un entero. Para valores no enteros, Heretic interpola linealmente entre las direcciones de rechazo de capas adyacentes. Esto permite direcciones más allá de lo que cualquier capa individual proporciona.
3. Parámetros Específicos del Componente
Los componentes de atención y MLP reciben diferentes parámetros de ablación. Las intervenciones en MLP tienden a causar más daño, por lo que la optimización separada mejora los resultados.
Por qué esto es importante para las pruebas de API
Si trabaja con API de LLM, es probable que se haya encontrado con rechazos inesperados durante las pruebas. Un modelo rechaza una indicación benigna porque contiene palabras clave que activan filtros de seguridad. Esto crea ruido en los resultados de sus pruebas.
Ejecutar modelos ablacionados localmente le brinda una línea base para el comportamiento esperado. Puede:
- Distinguir entre rechazos de seguridad legítimos y falsos positivos
- Probar casos extremos sin activar las políticas de seguridad corporativas
- Validar que su aplicación maneja los rechazos del modelo de manera elegante
Para los flujos de trabajo de prueba de API, tener modelos alineados y ablacionados ayuda a separar los problemas del producto del comportamiento de seguridad del modelo.
Instalación y Uso
Requisitos previos
- Python 3.10+
- PyTorch 2.2+ (configurado para su hardware)
- Se recomienda una GPU compatible con CUDA (ROCm, MPS y otros aceleradores son compatibles)
Instalación
pip install -U heretic-llm
Para funciones de investigación (gráficos residuales, análisis de geometría):
pip install -U heretic-llm[research]
Uso Básico
El flujo de trabajo más simple:
heretic Qwen/Qwen3-4B-Instruct-2507
Reemplace la ruta del modelo con cualquier ID de modelo de Hugging Face o ruta local. Heretic lo maneja todo automáticamente:
- Carga el modelo con el tipo de dato óptimo.
- Determina el mejor tamaño de lote para su hardware.
- Calcula las direcciones de rechazo a partir de los conjuntos de datos de indicaciones.
- Ejecuta pruebas de optimización para encontrar los parámetros óptimos.
- Le permite guardar, cargar o chatear con el resultado.
Opciones de Configuración
Heretic lee la configuración de archivos config.toml o de indicadores de línea de comandos. Opciones clave:
# Model configuration
model = "google/gemma-3-12b-it"
quantization = "bnb_4bit" # Reduces VRAM requirements
device_map = "auto"
# Optimization
n_trials = 200 # Number of abliteration trials
n_startup_trials = 60 # Random exploration before TPE
# Evaluation
kl_divergence_scale = 1.0
kl_divergence_target = 0.01
# Research features
print_residual_geometry = false
plot_residuals = false
Ejecute heretic --help o vea config.default.toml para la lista completa.
Comprendiendo la Salida
Optimización por Pruebas
Durante la optimización, Heretic muestra el progreso de la prueba:
Running trial 42 of 200...
* Parameters:
* direction_scope = per layer
* direction_index = 10.5
* attn.o_proj.max_weight = 1.2
* attn.o_proj.max_weight_position = 15.3
* mlp.down_proj.max_weight = 0.9
...
* Resetting model...
* Abliterating...
* Evaluating...
* KL divergence: 0.1842
* Refusals: 5/100
Cada prueba evalúa una combinación diferente de parámetros. El optimizador utiliza TPE multi-objetivo para minimizar tanto los rechazos como la divergencia KL al mismo tiempo.
Selección del Frente de Pareto
Cuando la optimización finaliza, Heretic presenta las pruebas óptimas de Pareto, aquellas en las que mejorar un objetivo empeoraría el otro:
[Trial 1] Refusals: 3/100, KL divergence: 0.1623
[Trial 47] Refusals: 2/100, KL divergence: 0.2891
[Trial 112] Refusals: 1/100, KL divergence: 0.4102
Seleccione una prueba para:
- Guardar el modelo localmente
- Subir a Hugging Face
- Chatear interactivamente para probar la calidad
Funciones de Investigación
Análisis de Geometría Residual
Con --print-residual-geometry, Heretic muestra métricas detalladas:
Layer S(g,b) S(g*,b*) S(g,r) S(g*,r*) S(b,r) S(b*,r*) |g| |b|
8 0.9990 0.9991 0.8235 0.8312 0.8479 0.8542 4596.54 4918.32
10 0.9974 0.9973 0.8189 0.8250 0.8579 0.8644 5328.81 5953.35
g = mean of residual vectors for good prompts
b = mean of residual vectors for bad prompts
r = refusal direction (b - g)
S(x,y) = cosine similarity
|x| = L2 norm
Esto ayuda a los investigadores a comprender cómo evolucionan las direcciones de rechazo a través de la pila del modelo.
Gráficos de Vectores Residuales
Con --plot-residuals, Heretic genera:
- Gráficos de dispersión 2D por capa (mediante proyección PaCMAP)
- GIF animado que muestra la transformación residual a través de las capas

Estas visualizaciones revelan cómo los residuos de las indicaciones "dañinas" e "inofensivas" se separan a través de la red.
Consideraciones de Rendimiento
Requisitos de VRAM
Heretic admite la cuantización de 4 bits de bitsandbytes para reducir la VRAM:
heretic meta-llama/Llama-3.1-70B-Instruct --quantization bnb_4bit
Esto permite procesar modelos grandes en hardware de consumo. Un modelo de 8B se ejecuta en ~6GB de VRAM cuantizada, frente a ~16GB sin cuantizar.
Tiempo de Procesamiento
En una RTX 3090 con la configuración predeterminada:
- Llama-3.1-8B-Instruct: ~45 minutos
- Gemma-3-12B-Instruct: ~60 minutos
- Los modelos más grandes escalan en consecuencia.
El ajuste automático del tamaño del lote maximiza el rendimiento para su hardware específico.
Puntos de Control
Heretic guarda el progreso de la prueba en puntos de control JSONL. Si se interrumpe, puede reanudar exactamente donde lo dejó. Los puntos de control se almacenan por modelo en el directorio checkpoints/.
Errores Comunes y Soluciones
CUDA sin memoria
# Probar cuantificación
heretic your-model --quantization bnb_4bit
# O reducir el tamaño del lote
heretic your-model --batch_size 1
Fallo al cargar el modelo
# Probar diferentes tipos de datos explícitamente
heretic your-model --dtypes ["bfloat16", "float16"]
Se requiere confianza en el código remoto
# Algunos modelos necesitan ejecución de código remoto
heretic your-model --trust_remote_code
Consideraciones Éticas
Esta sección aparece temprano porque es importante. La eliminación de los filtros de seguridad cambia el comportamiento de un modelo. Debe comprender las implicaciones antes de implementar un modelo ablacionado.
Lo que la Ablación Hace (y No Hace)
La ablación elimina los patrones de rechazo aprendidos. No hace lo siguiente:
- Hacer el modelo "más inteligente" o más capaz
- Eliminar los sesgos presentes en el modelo base
- Añadir nuevos conocimientos o habilidades
El modelo sigue teniendo los mismos datos de entrenamiento y capacidades base. Simplemente deja de rechazar ciertas solicitudes.
Implementación Responsable
Heretic se lanza bajo AGPL-3.0. Los autores reconocen que la eliminación de los filtros de seguridad permite tanto la investigación beneficiosa como aplicaciones potencialmente dañinas.
Los usos legítimos incluyen:
- Investigación sobre alineación de modelos y mecanismos de seguridad
- Pruebas del comportamiento del modelo en condiciones controladas
- Implementación de modelos con barreras de seguridad y filtros de contenido externos
- Construcción de aplicaciones que manejen los rechazos en la capa de la aplicación
Los usos problemáticos incluyen:
- Implementación sin salvaguardas en aplicaciones orientadas al usuario
- Generación de contenido dañino a gran escala
- Eludir las medidas de seguridad con fines maliciosos
Salvaguardas Externas que Debe Implementar
Si implementa un modelo ablacionado, agregue estas protecciones:
- Filtrado de entrada - Examine las indicaciones antes de que lleguen al modelo.
- Monitoreo de salida - Revise las respuestas antes de mostrarlas a los usuarios.
- Limitación de tasa - Evite el abuso por volumen.
- Registro y pistas de auditoría - Rastree lo que procesa el modelo.
- Revisión humana - Mantenga a los humanos en el proceso para casos de uso sensibles.
La herramienta en sí es neutral. Su impacto depende de cómo la utilice. Considere las implicaciones éticas antes de implementar modelos sin censura en producción.
Comparación con Otras Herramientas
Heretic se une a varias herramientas de ablación en el ecosistema:
| Herramienta | Auto-optimización | Núcleos de peso | Direcciones interpoladas |
|---|---|---|---|
| Heretic | Sí (TPE) | Sí | Sí |
| AutoAbliteration | Sí | No | No |
| abliterator.py | No | No | No |
| wassname/abliterator | No | No | No |
| ErisForge | No | No | No |
La optimización automática de Heretic elimina la necesidad de ajustes manuales. No necesita comprender los componentes internos de los transformadores para obtener buenos resultados.
Limitaciones
Heretic es compatible con la mayoría de los modelos de transformadores densos y algunas arquitecturas MoE. Tipos de modelos no compatibles:
- Modelos SSM/híbridos (Mamba, etc.)
- Modelos con capas inhomogéneas
- Sistemas de atención novedosos aún no reconocidos por la lógica de detección de módulos
La herramienta funciona mejor con arquitecturas estándar solo decodificadoras que utilizan autoatención y capas MLP.
Primeros Pasos
- Instalar:
pip install -U heretic-llm - Elegir un modelo: Empiece con un modelo de 7B-12B para probar
- Ejecutar:
heretic nombre-de-su-modelo - Evaluar: Chatee con el resultado o súbalo a Hugging Face
- Implementar de forma segura: Añada barreras de seguridad externas antes de usar en producción
La configuración predeterminada funciona bien para la mayoría de los modelos. Los usuarios avanzados pueden ajustar los parámetros de optimización para casos de uso específicos.
Heretic hace que la modificación de modelos sea accesible. No se requiere un doctorado: apúntelo a un modelo y déjelo funcionar. Solo recuerde implementarlo de manera responsable.
