如何减少小数据集的计算时间?

问题描述 投票:0回答:1

我一直致力于文本检测作为我研究的一部分,重点关注各种特征。我遇到了计算时间的重大问题。我的数据集由 3400 行和 2 列组成。我正在使用 BERT 模型来训练和评估数据集。目前,我正在使用 Colab Pro,因为我无法使用 GPU。最初,对于 50 个 epoch,计算处理大约需要 65 小时。然后我将其减少到 20 个 epoch,但对于仅包含 3400 个文本的数据集来说,仍然花费了意想不到的长时间(大约 24 小时)

训练参数:

training_args = TrainingArguments(
    output_dir='./output',
    do_train=True,
    do_eval=True,
    num_train_epochs=20,
    per_device_train_batch_size=32,
    per_device_eval_batch_size=16,
    warmup_steps=100,
    weight_decay=0.05,
    logging_strategy='steps',
    logging_dir='./multi-class-logs',
    logging_steps=50,
    evaluation_strategy="steps",
    eval_steps=50,
    save_strategy="steps",
    load_best_model_at_end=True
)

这里有什么东西如果改变的话我的计算可能会变得更快吗? 我期待我的代码发生变化,从而加快计算时间。

nlp bert-language-model
1个回答
0
投票

一些值得尝试的事情:

  1. 更小/轻量级的 BERT 模型:
    根据任务要求,您可能可以使用更小的版本 BERT(DistilBERT) 具有相当的准确性。
  2. 减少评估模型的频率。
    评估步数=100
  3. 降低记录频率。
    logging_steps=100

值得使用探查器来确定哪个操作消耗最多的时间和资源。

© www.soinside.com 2019 - 2024. All rights reserved.