リポジトリをクローンし、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 Tokens 設定ページで対象モデルへの読み取りアクセス権を持つ Access Token を作成します。詳細については、Hugging Face ゲート付きモデルガイドを参照してください。
まず、Bash ターミナルで HF-Mirror を設定します:
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
Alpaca データセットで Llama 3.1 の評価を実行する前に、同じターミナルで GPT ジャッジの API ベース URL と API キーを設定してください:
export GPT_JUDGE_BASE_URL='your base url'
export OPENAI_API_KEY='your API key'
評価を開始する前に、プレースホルダーを実際の API ベース URL と API キーに置き換えてください。
対応する下流チェックポイントを生成した後、以下のコマンドを実行して、DirectHarm4、HarmBench、HEx-PHI を含む追加の有害ベンチマークで Llama 3.1 を評価します:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
SEEDS="42" \
VARIANTS="defended" \
bash /root/scripts/run_llama31_harm_benchmarks.sh
対応する下流チェックポイントを使用して、Zulu および IJP ジェイルブレイク攻撃に対して Llama 3.1 を評価するには、以下のコマンドを実行します:
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 を使用して有害性を評価する前に英語に翻訳する必要があります。