Rasa DAGs 与缓存
Rasa 2.x 对NLU管道文件的单个更改将触发对其中所有组件的重新训练,整个流程都被视为一个整体,这可能会导致Rasa认为所有组件都要重新训练,即使只是发生了很小的变化。但是如果将计算后台表示为DAG,那么就有了更多的选择。假设我们从下图开始。这个图表示了一个启用端到端的Rasa管道。
现在假设我们改变了第二个CountVectorizer的超参数。这将影响到DIETClassifier、TED和Policy Ensemble。但其余的组件不需要再训练。
如果我们能够在磁盘上缓存已经训练过的组件,那么只需要训练红色的组件,并保持绿色的组件不变。当你为你的会话助理尝试新的设置时,这可以避免大量的计算。
例子
如果你现在安装了Rasa开源的主要分支,你就可以对缓存的体验有一个大致的了解。
python -m pip install --upgrade "rasa @ git+https://github.com/RasaHQ/rasa.git"
当你用这个版