Cómo Eliminar la Censura en Modelos LLM con Heretic

Ashley Innocent

Ashley Innocent

19 March 2026

Cómo Eliminar la Censura en Modelos LLM con Heretic

Apidog para empresas

Despliegue local

SSO & RBAC

Conforme con SOC 2

Explorar Apidog Enterprise

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.

Heretic logo

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:

  1. Calcular direcciones de rechazo - Para cada capa de transformador, calcular la diferencia entre los vectores residuales medios para indicaciones "dañinas" e "inofensivas".
  2. 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.
  3. Optimizar parámetros automáticamente - Usar el muestreador TPE de Optuna para encontrar los pesos óptimos de ablación.
Directional Ablation Process Diagram

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:

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:

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

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:

  1. Carga el modelo con el tipo de dato óptimo.
  2. Determina el mejor tamaño de lote para su hardware.
  3. Calcula las direcciones de rechazo a partir de los conjuntos de datos de indicaciones.
  4. Ejecuta pruebas de optimización para encontrar los parámetros óptimos.
  5. 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:

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:

Animated GIF showing residual transformation across layers

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:

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:

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:

Los usos problemáticos incluyen:

Salvaguardas Externas que Debe Implementar

Si implementa un modelo ablacionado, agregue estas protecciones:

  1. Filtrado de entrada - Examine las indicaciones antes de que lleguen al modelo.
  2. Monitoreo de salida - Revise las respuestas antes de mostrarlas a los usuarios.
  3. Limitación de tasa - Evite el abuso por volumen.
  4. Registro y pistas de auditoría - Rastree lo que procesa el modelo.
  5. 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)
AutoAbliteration 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:

La herramienta funciona mejor con arquitecturas estándar solo decodificadoras que utilizan autoatención y capas MLP.

Primeros Pasos

  1. Instalar: pip install -U heretic-llm
  2. Elegir un modelo: Empiece con un modelo de 7B-12B para probar
  3. Ejecutar: heretic nombre-de-su-modelo
  4. Evaluar: Chatee con el resultado o súbalo a Hugging Face
  5. 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.

botón

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.

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs