
heretic v2.0.0
Modificación de modelos de lenguaje sin entrenamiento: elimina la censura, suprime el slop, reduce la adulación y más
Heretic
Modificación de modelos de lenguaje sin entrenamiento
Elimina la censura, suprime el slop, reduce la adulación y mucho más.
Todo en una tarde, en tu PC de gaming.
Modifica cualquier LLM que puedas ejecutar en tu hardware1
Heretic es una herramienta única que te permite hacer lo que normalmente solo hacen las corporaciones con acceso a una potencia de cómputo masiva: modificar, en lugar de simplemente ejecutar, modelos de lenguaje. No realiza un entrenamiento costoso; en su lugar, utiliza una colección de técnicas matemáticas para dirigir el comportamiento basándose en prompts de ejemplo contrastantes y scorers correspondientes.
Heretic puede, según la configuración:
- Suprimir rechazos/eliminar la censura (esta es la acción predeterminada)
- Reducir el slop (
config.noslop.toml) - Reducir el humor (
config.nohumor.toml) - Reducir la adulación (
config.nosyco.toml) - Alterar la alineación emocional (
config.emotions.toml)
y muchas, muchas otras cosas.
‼️ Usar Heretic NO requiere entender cómo funcionan internamente los modelos de lenguaje ‼️
De hecho, puedes pasar de cero a eliminar la censura de tu primer modelo en cuestión de segundos. Heretic admite la mayoría de los modelos densos, incluidos muchos modelos multimodales, varias arquitecturas MoE diferentes y muchos modelos híbridos modernos.
La comunidad ha creado y publicado miles de modelos con Heretic. Los modelos de Heretic han sido evaluados de forma independiente utilizando métricas estándar como MMLU y GSM8K, y se ha comprobado que se comparan favorablemente con los modelos producidos con herramientas de abliteración de la competencia.23
Uso
Prepara un entorno de Python 3.10+ con PyTorch 2.6+ instalado según corresponda para tu hardware. Luego ejecuta:
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507
Reemplaza Qwen/Qwen3-4B-Instruct-2507 por el modelo que quieras procesar.
Por defecto, Heretic realiza la eliminación de censura (supresión de rechazos).
Si quieres hacer otra cosa, elige uno de los archivos de configuración enlazados
arriba, o escribe el tuyo propio. Consulta config.default.toml
para ver las opciones de configuración disponibles.
[!IMPORTANT]
¡Los archivos de configuración creados para Heretic 1.x no son compatibles con Heretic 2.x! Consulta la guía de migración para saber qué debes cambiar para que tus configuraciones antiguas funcionen.
Al inicio de la ejecución de un programa, Heretic evalúa el sistema para determinar el tamaño de lote óptimo y aprovechar al máximo el hardware disponible. En una RTX 3090, con la configuración predeterminada, procesar Qwen3-4B-Instruct-2507 tarda aproximadamente 30-40 minutos.
Una vez que Heretic ha terminado de procesar un modelo, se te da la opción de guardar el modelo, subirlo a Hugging Face, conversar con él para probar qué tan bien funciona, ejecutar benchmarks estándar sobre él, o cualquier combinación de esas acciones.
Controlar lo que hace Heretic mediante plugins de puntuación
Heretic dirige el comportamiento del modelo optimizando una o varias puntuaciones. Las puntuaciones se calculan mediante plugins de puntuación. Puedes escribir fácilmente tus propios puntuadores para tener control total sobre lo que Heretic hace con los modelos.
La interfaz Scorer (clase base abstracta) de la que debe heredar tu puntuador
está definida en scorer.py. El único método obligatorio
es get_score, pero hay más maquinaria disponible (como la gestión de ajustes)
para cuando la necesites.
Por defecto, Heretic puntúa los modelos según la tasa de rechazo (implementada en
keyword_rate.py) y la divergencia KL
(implementada en kl_divergence.py).
Hay puntuadores adicionales disponibles en el directorio scorers.
Estos puntuadores pueden servir como ejemplos para tus propias implementaciones, y pueden adaptarse
fácilmente a tus necesidades.
Los puntuadores se configuran a través del archivo de configuración principal.
Qué plugins de puntuación están activos lo determina el ajuste scorers, que
también controla si la puntuación de un puntuador debe minimizarse o maximizarse durante
la optimización. Se puede usar cualquier número de puntuadores simultáneamente, y sus puntuaciones
se cooptimizarán. Se pueden configurar múltiples instancias del mismo puntuador
con ajustes diferentes. Consulta el archivo de configuración para la documentación completa
de este mecanismo.
La ruta a un plugin de puntuación se puede especificar como una ruta de importación
totalmente cualificada (fully.qualified.module.MyScorerClass) o como una ruta de archivo seguida de
un nombre de clase (path/to/plugin.py:MyScorerClass). No tienes que modificar
el código del paquete Heretic para usar tus propios plugins.
Heretic también tiene plugins modificadores, que se describen en la siguiente sección.
Cómo funciona Heretic
Footnotes
-
Heretic admite cuantización de modelos de 4 bits al vuelo con bitsandbytes, lo que puede reducir la cantidad de VRAM necesaria para procesar un modelo a la misma cantidad que se utiliza para ejecutar una versión cuantizada típica del mismo, con un ligero coste de precisión. Establece la opción
quantizationenbnb_4bitpara habilitarlo. ↩ -
https://old.reddit.com/r/LocalLLaMA/comments/1sojjoc/abliterlitics_benchmark_and_tensor_analysis/ ↩
-
https://old.reddit.com/r/LocalLLaMA/comments/1sy18lx/abliterlitics_benchmarks_and_tensor_comparison/ ↩