
heretic v2.0.0
Модификация языковых моделей без обучения: удаление цензуры, подавление slop, снижение сикофантства и многое другое
Heretic
Модификация языковых моделей без обучения
Удаление цензуры, подавление slop, снижение сикофантства и многое другое.
Всё за один вечер, на вашем игровом ПК.
Модифицируйте любую LLM, которую можете запустить на своём оборудовании1
Heretic — уникальный инструмент, позволяющий делать то, что обычно делают только корпорации с доступом к огромным вычислительным мощностям: модифицировать, а не просто запускать языковые модели. Он не выполняет дорогостоящее обучение; вместо этого он использует набор математических методов для управления поведением на основе контрастных примеров промптов и соответствующих скореров.
Heretic может, в зависимости от конфигурации:
- Подавлять отказы/удалять цензуру (это действие по умолчанию)
- Уменьшать slop (
config.noslop.toml) - Уменьшать юмор (
config.nohumor.toml) - Снижать сикофантство (
config.nosyco.toml) - Изменять эмоциональную направленность (
config.emotions.toml)
и многое, многое другое.
‼️ Использование Heretic НЕ требует понимания того, как языковые модели работают изнутри ‼️
На самом деле, вы можете пройти путь от нуля до удаления цензуры из вашей первой модели за считанные секунды. Heretic поддерживает большинство плотных моделей, включая многие мультимодальные модели, несколько различных архитектур MoE и многие современные гибридные модели.
Сообщество создало и опубликовало тысячи моделей с помощью Heretic. Модели Heretic были независимо протестированы с использованием стандартных метрик, таких как MMLU и GSM8K, и было обнаружено, что они выгодно отличаются от моделей, созданных конкурирующими инструментами аблятерации.23
Использование
Подготовьте окружение Python 3.10+ с установленным PyTorch 2.6+, подходящим для вашего оборудования. Затем выполните:
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507
Замените Qwen/Qwen3-4B-Instruct-2507 на любую модель, которую вы хотите обработать.
По умолчанию Heretic выполняет удаление цензуры (подавление отказов).
Если вы хотите сделать что-то другое, выберите один из файлов конфигурации, ссылки на которые приведены
выше, или напишите свой собственный. См. config.default.toml
для доступных параметров конфигурации.
[!IMPORTANT]
Файлы конфигурации, созданные для Heretic 1.x, не совместимы с Heretic 2.x! См. руководство по миграции, чтобы узнать, что нужно изменить, чтобы ваши старые конфигурации заработали.
В начале запуска программы Heretic выполняет бенчмаркинг системы, чтобы определить оптимальный размер пакета для максимального использования доступного оборудования. На RTX 3090 с конфигурацией по умолчанию обработка Qwen3-4B-Instruct-2507 занимает около 30-40 минут.
После завершения обработки модели Heretic предлагает вам выбрать: сохранить модель, загрузить её на Hugging Face, пообщаться с ней, чтобы проверить, насколько хорошо она работает, запустить на ней стандартные бенчмарки или любую комбинацию этих действий.
Управление поведением Heretic с помощью плагинов-скорингов
Heretic управляет поведением модели путём оптимизации одной или нескольких оценок. Оценки вычисляются плагинами-скорингами. Вы можете легко написать свои собственные скоринги, чтобы получить полный контроль над тем, что Heretic делает с моделями.
Интерфейс Scorer (абстрактный базовый класс), от которого должен наследоваться ваш скоринг,
определён в scorer.py. Единственный обязательный метод —
get_score, но при необходимости доступно больше механизмов (например, управление настройками).
По умолчанию Heretic оценивает модели по частоте отказов (реализовано в
keyword_rate.py) и KL-дивергенции
(реализовано в kl_divergence.py).
Дополнительные скоринги доступны в каталоге scorers.
Эти скоринги могут служить примерами для ваших собственных реализаций и легко
адаптируются под ваши нужды.
Скоринги настраиваются через главный файл конфигурации.
Какие плагины-скоринги активны, определяется настройкой scorers, которая
также управляет тем, должна ли оценка скоринга минимизироваться или максимизироваться во время
оптимизации. Можно одновременно использовать любое количество скорингов, и их оценки
будут совместно оптимизироваться. Можно настроить несколько экземпляров одного и того же скоринга
с разными настройками. Полную документацию по этому механизму см. в файле конфигурации.
Путь к плагину-скорингу можно указать либо как полный путь импорта
(fully.qualified.module.MyScorerClass), либо как путь к файлу, за которым следует
имя класса (path/to/plugin.py:MyScorerClass). Вам не нужно изменять
код пакета Heretic, чтобы использовать свои собственные плагины.
Heretic также имеет плагины-модификаторы, которые описаны в следующем разделе.
Как работает Heretic
Footnotes
-
Heretic поддерживает 4-битную квантизацию модели на лету с помощью bitsandbytes, что может сократить объём VRAM, необходимый для обработки модели, до того же объёма, который используется для запуска типичной квантованной версии, при небольшой потере точности. Установите опцию
quantizationв значениеbnb_4bit, чтобы включить это. ↩ -
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/ ↩