gpt4 book ai didi

amazon-web-services - 使用 MITIE 和 Rasa 加速模型训练

转载 作者:行者123 更新时间:2023-12-05 00:50:06 26 4
gpt4 key购买 nike

我正在训练一个模型,用于使用 Rasa 中的 MITIE 后端识别短的、一到三个句子的文本字符串。该模型使用 spaCy 进行训练和工作,但它并不像我想要的那么准确。 spaCy 的训练时间不超过 5 分钟,但是 MITIE 的训练在我的 16GB RAM 的计算机上不间断地运行了几天。因此,我开始在具有 255GB RAM 和 32 个线程的 Amazon EC2 r4.8xlarge 实例上对其进行训练,但它似乎并未使用所有可用资源。

在 Rasa 配置文件中,我有 num_threads: 32并设置 max_training_processes: 1 ,我认为这将有助于使用所有可用的内存和计算能力。但是现在它已经运行了几个小时,CPU 使用率只有 3%(100% 使用率,但仅在一个线程上),内存使用率保持在 25GB 左右,是可能的十分之一。

你们中有人有尝试加速 MITIE 培训的经验吗?我的模型有 175 个意图和总共 6000 个意图示例。在 Rasa 配置文件中有什么需要调整的吗?

最佳答案

所以我将尝试从几个角度来解决这个问题。首先具体从Rasa NLU角度the docs specifically say :

Training MITIE can be quite slow on datasets with more than a few intents.



并提供两种选择:
  • 使用 mite_sklearn pipeline使用 sklearn 进行训练。
  • 使用 MITIE fork来自 Rasa 的 Tom B 修改了代码以在大多数情况下运行得更快。

  • 鉴于您只使用了一个内核,我怀疑这会产生影响,但 Rasa 的 Alan 建议将 num_threads 设置为内核数的 2-3 倍。

    如果您尚未评估这两种可能性,那么您可能应该这样做。

    并非 MITIE 的所有方面都是多线程的。见 this issue由其他人在 MITIE GitHub 页面上使用 Rasa 打开并在此处引用:

    Some parts of MITIE aren't threaded. How much you benefit from the threading varies from task to task and dataset to dataset. Sometimes only 100% CPU utilization happens and that's normal.



    特别是与训练数据相关的我建议您查看 evaluate工具最近引入 Rasa 存储库。它包括一个混淆矩阵,可能有助于识别问题区域。

    这可能允许您切换到 spaCy 并使用 6000 个示例中的一部分作为评估集,并将示例添加回表现不佳的意图。

    我对 6000 个示例的来源有更多问题,如果它们是平衡的,以及每个意图有多大不同,您是否验证过训练示例中的单词是否在您使用的语料库中,等等,但我认为以上就足够了开始。

    对于 Rasa 团队来说,MITIE 花费很长时间来训练并不奇怪,更令人惊讶的是你无法从另一个管道中获得良好的准确性。

    作为最后的手段,我鼓励您在 Rasa NLU GitHub 页面上打开一个问题,并与那里的团队联系以获得进一步的支持。或者加入 Gitter 对话。

    关于amazon-web-services - 使用 MITIE 和 Rasa 加速模型训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46259946/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com