يحتوي هذا المستودع على رمز إعادة إنتاج النتائج الواردة في الورقة التالية:
Orhan AE (2023) الاعتراف واستدعاء والاحتفاظ بذكريات قليلة في نماذج اللغة الكبيرة. Arxiv: 2303.17557.
يحتوي المستودع على ثلاثة ملفات Python train.py و test.py و generate.py (تم تعديلها من مثال نمذجة اللغة السببية هنا) لتدريب (أو Finetune) نموذجًا ، لتشغيل اختبار التعرف ، ولإجراء اختبار استدعاء ، على التوالي.
فيما يلي بعض أمثلة الاستخدام لهذه الملفات.
gpt-j-6B مع جمل الدراسة في seen_data_0.json لعصر واحد (1 التعرض) على 4 وحدات معالجة الرسومات (مع حجم الدفعة الإجمالية 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_cache يحتوي مجلد scripts على البرامج النصية SLURM لإعادة إنتاج جميع التجارب المبلغ عنها في الورقة ، باستخدام هذه الملفات الثلاثة. يحتوي مجلد data على جميع البيانات التجريبية المستخدمة في التجارب. يحتوي مجلد utils على وظائف فائدة تم استخدامها لإنشاء البيانات التجريبية. تتوفر نتائج جميع تجارب الاعتراف والاستدعاء والاحتفاظ المبلغ عنها في الورقة من مستودع مجموعة بيانات HuggingFace.