Defensive Output Generation for LLM Protection Against Knowledge Distillation
TLDR: We make LLMs much more difficult to distill while maintaining their performance/quality.
Simply run bash setup.sh under the root directory of this repository to set up the environment.
Launch the model through vllm, for example:
CUDA_VISIBLE_DEVICES=0 vllm serve --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --port 2333
Then check the generate.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash generate.sh
Check out the train-doge.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash train-doge.sh
Check out the train-distill.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash train-distill.sh
Check out the eval-task.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash eval-task.sh
9 commits
Python
98.1%
Shell
1.9%
Defensive Output Generation for LLM Protection Against Knowledge Distillation
TLDR: We make LLMs much more difficult to distill while maintaining their performance/quality.
Simply run bash setup.sh under the root directory of this repository to set up the environment.
Launch the model through vllm, for example:
CUDA_VISIBLE_DEVICES=0 vllm serve --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --port 2333
Then check the generate.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash generate.sh
Check out the train-doge.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash train-doge.sh
Check out the train-distill.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash train-distill.sh
Check out the eval-task.sh script, you might want to comment/modify some lines/parameters to fit your needs.
bash eval-task.sh
9 commits
Python
98.1%
Shell
1.9%