
Фреймворк защиты, который смягчает вредоносное дообучение LLM с помощью выборочного восстановления слоёв и динамической маршрутизации, со скриптами для обучения, оценки вредоносности и оценки джейлбрейков.
Клонируйте репозиторий, создайте и активируйте окружение Conda, затем установите необходимые зависимости:
git clone https://github.com/Stardust457/SLDR.git
cd SLDR
conda create -n sldr python=3.12 -y
conda activate sldr
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Модели Llama требуют запроса доступа на Hugging Face.
Перед использованием модели войдите в Hugging Face, перейдите на страницу нужной модели в разделе Meta Llama, примите условия использования и отправьте запрос на доступ. После предоставления доступа с той же учётной записи создайте Access Token с правами на чтение целевой модели на странице настроек Access Tokens. Подробности см. в руководстве Hugging Face по моделям с ограниченным доступом.
Сначала настройте HF-Mirror в терминале Bash:
export HF_ENDPOINT="https://hf-mirror.com"
Затем выполните следующую команду для входа:
hf auth login
Введите только что созданный Hugging Face Access Token, когда появится соответствующий запрос.
Выполните следующие команды из корня репозитория, чтобы обучить и оценить каждую модель:
bash scripts/run_llama31_downstream.sh
bash scripts/run_llama3_downstream.sh
bash scripts/run_qwen25_downstream.sh
bash scripts/run_mistral_downstream.sh
После сбора ответов модели разверните Llama Guard и запустите сервис в терминале:
bash scripts/run_llama_guard.sh serve
Оставьте этот терминал работающим и дождитесь готовности сервиса. Затем откройте другой терминал, активируйте окружение sldr и выполните следующую команду из корня репозитория, чтобы оценить вредоносность ответов модели:
bash scripts/run_llama_guard.sh score
Перед запуском оценки Llama 3.1 на наборе данных Alpaca настройте базовый URL API и API-ключ GPT-судьи в том же терминале:
export GPT_JUDGE_BASE_URL='your base url'
export OPENAI_API_KEY='your API key'
Замените заполнители на ваш базовый URL API и API-ключ перед началом оценки.
После генерации соответствующих downstream-чекпоинтов выполните следующую команду, чтобы оценить Llama 3.1 на дополнительных вредоносных бенчмарках, включая DirectHarm4, HarmBench и HEx-PHI:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
SEEDS="42" \
VARIANTS="defended" \
bash /root/scripts/run_llama31_harm_benchmarks.sh
Выполните следующую команду, чтобы оценить Llama 3.1 против джейлбрейк-атак Zulu и IJP с использованием соответствующих downstream-чекпоинтов:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
TRAIN_SAMPLES="1000" \
SEEDS="42" \
VARIANTS="defended" \
JAILBREAK_ATTACKS="zulu ijp" \
bash /root/scripts/run_llama31_jailbreak.sh
Примечание: Ответы модели, сгенерированные для набора данных Zulu, необходимо перевести на английский язык перед оценкой их вредоносности с помощью Llama Guard.