nlp - 用于机器翻译的 Transformers 架构
问题描述
我已经为我的阿拉伯语-英语对齐句子语料库调整了基本转换器模型。因此,该模型已经训练了 40 个 epoch,并且每个 epoch 的准确性(SparseCategoricalAccuracy)提高了 0.0004 倍。为了获得好的结果,我的估计是在 0.5 左右的任何地方达到最终准确度,40 个 epoch 后的准确度为 0.0592。
我在 tesla 2 p80 GPU 上运行模型。每个 epoch 需要约 2690 秒。这意味着我至少需要 600 个 epoch,训练时间为 15-18 天。我应该继续训练吗?还是因为研究论文中的基础转换器是在英法语语料库上训练的,所以程序有问题吗?
主要亮点:
- 句子的字节对(编码)
- maxlen_len =100
- 批量大小= 64
- 没有使用预训练的嵌入。
解决方案
您是指 aws p2.xlarge 实例上的 Tesla K80。如果是这种情况,这些 gpus 就非常慢。您应该在带有 V100 gpus 的 aws 上使用 p3 实例。您将获得大约 6-7 倍的加速。结帐此以获取更多详细信息。
此外,如果您没有使用标准模型并且对模型或数据集进行了一些更改,请尝试调整超参数。最简单的是尝试降低学习率,看看是否能得到更好的结果。
此外,首先尝试使用标准数据集运行标准模型以基准化在这种情况下所花费的时间,然后进行更改并继续。查看模型何时开始在标准情况下收敛。我觉得它也应该在 40 个 epoch 之后给出一些结果。
推荐阅读
- ios - 动态选择要在表格中编辑的部分
- android - react-native-ffmpeg:本机模块不能为空(ios)并且空不是对象(评估'RNFFmpegModule.enableLogEvents')(android)
- python - 我将如何使用嵌套循环来测量一组中两个坐标的距离?
- actionscript-3 - Moonshine Apache Royal:翻译错误:不允许操作
- reactjs - 如何存储来自 API 的数据,以便可以在其他组件中访问
- angular - 如何在Angular中单击按钮时调用rest api
- c - 输入if条件时变量(char)不出现-C
- python - Python FTP:“ftplib.error_temp:421 超时 - 下次尝试输入快一点”错误
- flutter - 按下材质按钮后如何调用 Stream Builder?
- passwords - 已知长度的十六进制密码容易破解吗?