Официальный код для статьи «Языковое моделирование контекстного языка для целенаправленных систем диалога»
Сайт проекта | 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
Чтобы запустить данные о параллельной мульти-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: 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 в конфигурации. Чтобы распечатать частоту успеха для выполнения самостоятельной игры: 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