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數據集存儲庫中獲得。