首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最大序列长度对Grover的影响

最大序列长度对Grover的影响
EN

Stack Overflow用户
提问于 2020-10-19 07:01:36
回答 1查看 146关注 0票数 0

一直在研究rowanz的grover模型。我能够对grover的大型模型进行4批大小的培训,但是在微调超级模型的同时,我得到了内存分配错误,然后将批处理大小减少到1,现在正在进行培训。我还试图将max_seq_length减少到512,并将batch_size设置为4,这是可行的。

我的问题是,哪个参数将更多地影响性能,减少批处理大小或减少max_seq_length?

另外,我可以设置max_seq_length的值,而不是2的幂,类似于512到1024之间的某个值吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-24 14:02:54

我的问题是,哪个参数将更多地影响性能,减少批处理大小或减少max_seq_length?

批次大小的影响:

  1. 关于表演:没有。对于批次大小以任何方式影响最终度量(例如准确性),这是一个很大的误解。虽然更细的批次大小意味着以更短的间隔报告度量,但这使人产生了比实际更大的变异性的假象。由于明显的原因,在批量=1的情况下,效果是非常明显的。较大的批处理大小往往会报告更高的度量准确性,因为它们是在多个数据点上计算的。终端度量通常是相同的(考虑了随机初始化权值)。
  2. 效率:更大的批处理大小意味着计算的次数较少,但同时在内存中有更多的空间,因为度量是按照批处理大小在多个数据点上进行聚合的。你所面临的同样的问题。因此,批量大小更多地是一个效率问题,而不是一个性能问题。此外,您需要多久检查一次模型的输出。

Max_seq_length的影响:

  1. 关于性能:可能是Grover这样基于语言的模型性能的最重要指标。这背后的原因是人类书写文本的困惑程度低于随机抽样文本,并且这种差距随着序列长度的增加而增大。通常,序列长度越长,语言模型在整个输出过程中就越容易保持一致。所以是的,这确实有助于模特的表演。但是,您可能需要查看序列长度的“Goldilocks区域”的特定模型的文档,以及2的幂序列是否比其他模型更理想。
  2. 关于效率:更大的序列大小当然需要更多的处理能力和计算内存,所以你需要更高的序列长度,需要更多的能量。

另外,我可以设置max_seq_length的值,而不是2的幂,类似于512到1024之间的某个值吗?

是啊为什么不呢?没有任何模型设计用于处理一组固定的值。不同的序列长度,看看哪个最适合你。二次方中的一些参数由于其简单的二进制表示而具有较小的计算优势,而在大模型的情况下则是可以忽略不计的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64422552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档