Offizieller Code für das Papier "Kontextbewusste Sprachmodellierung für zielorientierte Dialogsysteme"
Projektseite | 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/ Ordner enthält Checkpoints für unser Hauptmodell, unser Task -Presained -Modell und unseren Kundenbot. (Hinweis: Alle Trainingsläufe verwenden standardmäßig Wandb. Sie können die WANDB -Synchronisierung in der Konfiguration deaktivieren.)
cd scripts/train
Um das datenparallele Multi-GPU-Training auszuführen, ersetzen Sie bei allen folgenden Befehlen python <script_path> durch python -m torch.distributed.launch --nproc_per_node <n_GPUs> --use_env <script_path> .
Vorbereitung
(Zwei Varianten der Hilfsverlustfunktion)
Skript: python train_pretrain_table_agent.py
Konfiguration: config/train_pretrain_table_agent.yaml
Skript: python train_pretrain_simplified_aux_gpt2.py
Konfiguration: config/train_pretrain_simplified_aux_gpt2.yaml
Schulung des Kundenbots
python train_customer.pyconfig/train_customer_bot.yaml Training ruhig
(Zwei Varianten der Hilfsverlustfunktion)
Skript: python train_real_table_agent.py
config: config/train_real_table_agent.yaml
Skript: python train_simplified_aux_gpt2.py
config: config/train_simplified_aux_agent.yaml
Trainingsstandard LM
python train_basic_agent.pyconfig/train_basic_agent.yamlTraining des Belohnungsmodells für modellbasierte Rollout -Planung
python train_constraint_parser.pyconfig/train_constraint_parser.yaml cd scripts/eval
Simulierte Bewertung
python selfplay_eval.pyconfig/selfplay_eval.yamlselfplay/outputs_file in der Konfiguration angegebenen Stelle gespeichert. So drucken Sie die Erfolgsrate für den Selfplay -Lauf aus: python compute_results.py --results_file <your_eval_outputs_file>CUDA_VISIBLE_DEVICES=<comma_seperated_list_of_gpu_indicies>Sprachqualitätsbewertung
python language_quality_eval.pyconfig/language_eval.yamlpython -m torch.distributed.launch --nproc_per_node <n_GPUs> --use_env language_quality_eval.py