llm memory
1.0.0
该存储库包含用于复制以下论文报告的结果的代码:
Orhan AE(2023)在大语言模型中识别,召回和保留很少的记忆。 ARXIV:2303.17557。
存储库包含三个python文件train.py , test.py , generate.py (在此处修改了此处的huggingface Causal语言建模示例),以训练(或Finetune)一个模型,以进行识别测试,并分别运行召回测试。
这些文件的一些用法示例如下提供。
seen_data_0.json中具有研究句子的gpt-j-6B模型,使用HuggingFace Accelerate Framework(请参阅此处参见示例Config File),在4 GPU上进行1个时期(1个曝光)(1个曝光)(1个总数为4x4 = 16个句子)。 accelerate launch - - config_file accelerate_config . yaml - - num_cpu_threads_per_process 4 train . py
- - model_name_or_path "EleutherAI/gpt-j-6B"
- - train_file "data/llm-experiment-data/expt1/seen_data_0.json"
- - per_device_train_batch_size 4
- - learning_rate 0.00001
- - output_dir OUTPUT_DIR
- - save_prefix INFORMATIVE_SAVE_PREFIX
- - block_size 128
- - num_train_epochs 1
- - overwrite_cacheseen_data_0.json中的研究句子和unseen_data_0.json中的箔纸上的研究句子上运行识别测试: python - u test . py
- - model_name_or_path MODEL_PATH
- - seen_file "data/llm-experiment-data/expt1/seen_data_0.json"
- - unseen_file "data/llm-experiment-data/expt1/unseen_data_0.json"
- - per_device_eval_batch_size 1
- - output_dir OUTPUT_DIR
- - save_prefix INFORMATIVE_SAVE_PREFIX
- - block_size 128
- - overwrite_cacheseen_data_0.json中进行研究句子: python - u generate . py
- - model_name_or_path MODEL_PATH
- - seen_file "data/llm-experiment-data/expt1/seen_data_0.json"
- - per_device_eval_batch_size 1
- - output_dir OUTPUT_DIR
- - save_prefix INFORMATIVE_SAVE_PREFIX
- - block_size 128
- - overwrite_cachescripts文件夹包含用于使用这三个文件在论文中报告的所有实验的slurm脚本。 data文件夹包含实验中使用的所有实验数据。 utils文件夹包含用于生成实验数据的实用程序函数。本文中报告的所有识别,召回和保留实验的结果可从此HuggingFace数据集存储库中获得。