논문에 대한 공식 코드 "목표 지향 대화 시스템에 대한 문맥-인식 언어 모델링"
프로젝트 사이트 | arxiv
conda create --name CALM python=3.9.7conda activate CALMpip install -r requirements.txtconda install pytorch==1.9.0 cudatoolkit=11.3 -c pytorch -c conda-forgeexport PYTHONPATH="$PWD/offline_airdialogue"outputs/ 폴더에는 기본 모델, 작업 사전 치료 모델 및 고객 봇에 대한 검문소가 포함되어 있습니다. (참고 : 모든 교육 실행은 기본적으로 WANDB를 사용하면 구성에서 WANDB 동기화를 해제 할 수 있습니다.)
cd scripts/train
Data-Parallel Multi-GPU 교육을 실행하려면 아래 명령 중 하나에서 python <script_path> python -m torch.distributed.launch --nproc_per_node <n_GPUs> --use_env <script_path> 로 바꾸십시오.
사전 여분의 침착
(보조 손실 함수의 두 가지 변형)
스크립트 : python train_pretrain_table_agent.py
config : config/train_pretrain_table_agent.yaml
스크립트 : python train_pretrain_simplified_aux_gpt2.py
config : config/train_pretrain_simplified_aux_gpt2.yaml
고객 봇 훈련
python train_customer.pyconfig/train_customer_bot.yaml 훈련 진정
(보조 손실 함수의 두 가지 변형)
스크립트 : python train_real_table_agent.py
구성 : config/train_real_table_agent.yaml
스크립트 : python train_simplified_aux_gpt2.py
config : config/train_simplified_aux_agent.yaml
훈련 표준 LM
python train_basic_agent.pyconfig/train_basic_agent.yaml모델 기반 롤아웃 계획에 대한 보상 모델 교육
python train_constraint_parser.pyconfig/train_constraint_parser.yaml cd scripts/eval
시뮬레이션 된 평가
python selfplay_eval.pyconfig/selfplay_eval.yamlselfplay/outputs_file 에 의해 지정된 위치에 저장됩니다. Selfplay Run의 성공률을 인쇄하려면 : python compute_results.py --results_file <your_eval_outputs_file>CUDA_VISIBLE_DEVICES=<comma_seperated_list_of_gpu_indicies> 로 명령을 접두사하십시오.언어 품질 평가
python language_quality_eval.pyconfig/language_eval.yamlpython -m torch.distributed.launch --nproc_per_node <n_GPUs> --use_env language_quality_eval.py