我正在训练一个模型来识别短的,一到三个句子字符串的文本使用MITIE后端在Rasa。该模型使用spaCy进行培训和工作,但它并不像我所希望的那样精确。关于spaCy的培训不超过5分钟,但是对于MITIE的培训在我的计算机上用16 on内存连续运行了几天。因此,我开始在一个拥有255 be内存和32个线程的AmazonR4.8xLarge实例上训练它,但它似乎并没有使用所有可用的资源。
在Rasa配置文件中,我有num_threads: 32并设置了max_training_processes: 1,我认为这将有助于使用所有可用的内存和计算能力。但是现在它已经运行了几个小时,CPU使用率保持在3% (100%的使用率,但只在一个线程上),内存使用率保持在25 be左右,是它的十分之一。
你们中有谁有过尝试加速MITIE培训的经验吗?我的模型有175个意图和总共6000意图的例子。在Rasa配置文件中有什么需要调整的吗?
发布于 2017-09-17 02:26:33
因此,我将尝试从几个角度来解决这个问题。首先是来自拉萨NLU角度的医生们特别说。
MITIE的培训可能会很慢,在数据集上有很多意图。
并提供两个备选方案:
考虑到你只使用了一个核心,我怀疑这会产生影响,但是拉萨的阿兰建议,num_threads应该被设置为你的核心数量的2-3倍。
如果您还没有评估这两种可能性,那么您可能应该这样做。
并不是MITIE的所有方面都是多线程的。参见由其他人在MITIE GitHub页面上使用Rasa打开的本期,并在此处引用:
MITIE的某些部分不是线程的。您从线程中获益的程度因任务和数据集而异。有时只有100%的CPU利用率发生,这是正常的。
具体来说,关于与培训相关的数据,我建议您看看最近引入repo的评量工具。它包括一个混乱的矩阵,它可能有助于找出麻烦的区域。
这可能允许您切换到spaCy,并使用6000个示例中的一部分作为评估集,并将示例添加到性能不佳的意图中。
我有更多的问题,六千个例子来自哪里,如果它们是平衡的,以及每一个意图有多大的不同,你是否已经证实你正在使用的语料库中有训练示例中的单词,等等,但我认为以上这些已经足够开始了。
这将是不足为奇的拉萨队,MITIE是永远训练,这将是一个更令人惊讶的是,你不能从另一个管道获得良好的准确性。
作为最后的手段,我鼓励您在Rasa NLU GitHub页面上打开一个问题,并与那里的团队接触,以获得进一步的支持。或者加入Gitter的对话。
https://stackoverflow.com/questions/46259946
复制相似问题