如何在Cloud TPU v2中使用SQUAD 2.0训练BERT模型?

时间:2019-06-12 05:14:34

标签: tensorflow google-cloud-platform google-cloud-storage google-compute-engine google-cloud-tpu

免责声明:我是神经网络和Tensorflow的新手。

我正在尝试创建一个QA应用程序,其中用户提出问题,然后该应用程序给出答案。我尝试过的大多数传统方法都行不通,或者不够准确,或者需要人工干预。我正在研究无人监督的质量检查应用程序,也就是在我遇到BERT时。

谷歌声称

BERT是最先进的神经网络模型,在Squad 2.0的排行榜中获得了最高分。我希望将此模型用于我的应用程序并测试其性能。

我已在Compute Engine.中创建了Windows 2012 Datacenter版虚拟机,并已使用ctpu.创建了Cloud TPU

我在云存储中有BERT large uncased model

如何使用SQUAD 2.0训练BERT大型无盒模型?

如果我错了,请随时纠正我,我了解到Cloud TPU只是CPU或GPU之类的设备。但是,如果您阅读this,他们的解释就像Cloud TPU是一台虚拟机(“在Cloud TPU上,您可以将BERT-Large作为...运行。”。

我在哪里运行run_squad.py中提到的here

python run_squad.py \
  --vocab_file=$BERT_LARGE_DIR/vocab.txt \
  --bert_config_file=$BERT_LARGE_DIR/bert_config.json \
  --init_checkpoint=$BERT_LARGE_DIR/bert_model.ckpt \
  --do_train=True \
  --train_file=$SQUAD_DIR/train-v2.0.json \
  --do_predict=True \
  --predict_file=$SQUAD_DIR/dev-v2.0.json \
  --train_batch_size=24 \
  --learning_rate=3e-5 \
  --num_train_epochs=2.0 \
  --max_seq_length=384 \
  --doc_stride=128 \
  --output_dir=gs://some_bucket/squad_large/ \
  --use_tpu=True \
  --tpu_name=$TPU_NAME \
  --version_2_with_negative=True

如何为此参数vocab_file从虚拟机访问存储桶文件?

外部IP地址是$TPU_NAME环境变量的值吗?

1 个答案:

答案 0 :(得分:1)

因此TPU当前仅从GCS读取。您下载的模型应上传到您自己创建的另一个GCS存储桶中。这就是TPU访问vocab_file和其他文件的方式。