本实验修改自:https://github.com/Glaciohound/LM-Steer.git
本实验共包含以下部分:
其中1-5为论文复现部分,6-10为创新拓展部份。
实验作者(按名字字母排序)
所有实验均包含 train(训练)、generate(生成)、evaluate(评估) 三个核心阶段。其中为了节约 generate 的时间,可以执行采样脚本(data/prompts/sample_prompts.py),指定采样数量以抽取部分数据用于生成,快速验证结果。
prompt 生成语句,再对生成内容进行评估。prompt.json 格式存在,用于提供生成引导文本。dataset_name:指定加载的数据集,支持的数据集可通过代码 LM-Steer\experiments\training\data.py 中的 load_dataset 函数查看。data_dir:指定数据集文件路径,但部分远程数据集(如 sst-5)无需此参数。prompt 数据集中随机抽取指定数量的数据,用于生成阶段,避免全量数据生成的耗时问题,加速实验迭代。eval_fileprompts 路径。prompt.json 等结构化文件。output_fileeval_file处于同一个文件夹下。metricsdist-n 说明要评估生成文本的多样性。具体查看 LM-Steer\experiments\evaluation\evaluate.py文件model)model 参数指定实验使用的模型(如 gpt2-medium、gpt2-small 等)。ckpt_name、output_file 等参数的命名规则。get_module.py 文件查看。adaptor_class)LM-Steer 模块类型,控制模型的适配逻辑。LM-Steer\lm_steer\models\steers.py 文件中。adaptor_class 需保持一致,确保模型适配逻辑统一。./detoxification_sentiment_continual_control.sh 1
./detoxification_sentiment_continual_control.sh 2 [采样数量]
./detoxification_sentiment_continual_control.sh 3 [采样数量]
data/toxicity/jigsaw-unintended-bias-in-toxicity-classificationlogs/detoxification-gpt2-largegpt2-large(可自行指定)multiply(可自行指定)data/prompts/nontoxic_prompts-10k.jsonl引导数据集,注意修改相关参数。toxicity,ppl-big,dist-n./sentiment_control.sh
positive, neutral, negative)-5(negative)和 5(positive)。sentiment-sst5(远程数据集)data/prompts/sentiment_prompts-10k/${source}_prompts.jsonlgpt2-large,可以自行指定sentiment,ppl-big,dist-nmultiply(可自行指定)logs/sentiment-gpt2-large./steer_transfer.sh
./detoxification_sentiment_continual_control.sh 7
./detoxification_sentiment_continual_control.sh 8
./formal_train.sh
./formal_generate.sh
./formal_evaluate.sh
dataset_name 该参数指定为toxicity,是因为该实验的数据集是组内自己整理的,数据处理格式按照toxicity数据集的格式处理。将dataset_name 该参数指定为toxicity可以借用现成的数据处理代码。./detoxification_gpt_zh.sh
uer/gpt2-large-chinese-cluecorpussmall,可以选用Qwen模型。./input_ex.sh
./auto_sentiment_control.sh
nonlinear_sentiment_control.sh
adaptor_class 需指定为nonlinear本实验修改自:https://github.com/Glaciohound/LM-Steer.git
本实验共包含以下部分:
其中1-5为论文复现部分,6-10为创新拓展部份。
实验作者(按名字字母排序)
所有实验均包含 train(训练)、generate(生成)、evaluate(评估) 三个核心阶段。其中为了节约 generate 的时间,可以执行采样脚本(data/prompts/sample_prompts.py),指定采样数量以抽取部分数据用于生成,快速验证结果。
prompt 生成语句,再对生成内容进行评估。prompt.json 格式存在,用于提供生成引导文本。dataset_name:指定加载的数据集,支持的数据集可通过代码 LM-Steer\experiments\training\data.py 中的 load_dataset 函数查看。data_dir:指定数据集文件路径,但部分远程数据集(如 sst-5)无需此参数。prompt 数据集中随机抽取指定数量的数据,用于生成阶段,避免全量数据生成的耗时问题,加速实验迭代。eval_fileprompts 路径。prompt.json 等结构化文件。output_fileeval_file处于同一个文件夹下。metricsdist-n 说明要评估生成文本的多样性。具体查看 LM-Steer\experiments\evaluation\evaluate.py文件model)model 参数指定实验使用的模型(如 gpt2-medium、gpt2-small 等)。ckpt_name、output_file 等参数的命名规则。get_module.py 文件查看。adaptor_class)LM-Steer 模块类型,控制模型的适配逻辑。LM-Steer\lm_steer\models\steers.py 文件中。adaptor_class 需保持一致,确保模型适配逻辑统一。./detoxification_sentiment_continual_control.sh 1
./detoxification_sentiment_continual_control.sh 2 [采样数量]
./detoxification_sentiment_continual_control.sh 3 [采样数量]
data/toxicity/jigsaw-unintended-bias-in-toxicity-classificationlogs/detoxification-gpt2-largegpt2-large(可自行指定)multiply(可自行指定)data/prompts/nontoxic_prompts-10k.jsonl引导数据集,注意修改相关参数。toxicity,ppl-big,dist-n./sentiment_control.sh
positive, neutral, negative)-5(negative)和 5(positive)。sentiment-sst5(远程数据集)data/prompts/sentiment_prompts-10k/${source}_prompts.jsonlgpt2-large,可以自行指定sentiment,ppl-big,dist-nmultiply(可自行指定)logs/sentiment-gpt2-large./steer_transfer.sh
./detoxification_sentiment_continual_control.sh 7
./detoxification_sentiment_continual_control.sh 8
./formal_train.sh
./formal_generate.sh
./formal_evaluate.sh
dataset_name 该参数指定为toxicity,是因为该实验的数据集是组内自己整理的,数据处理格式按照toxicity数据集的格式处理。将dataset_name 该参数指定为toxicity可以借用现成的数据处理代码。./detoxification_gpt_zh.sh
uer/gpt2-large-chinese-cluecorpussmall,可以选用Qwen模型。./input_ex.sh
./auto_sentiment_control.sh
nonlinear_sentiment_control.sh
adaptor_class 需指定为nonlinear