RASA 3.0 large amount of memory how to reduce it?

Reducing the memory consumption of Rasa models and controlling CPU core usage during training or startup can be essential for efficient conversational agent development. Here are some insights based on your questions:

  1. Reducing Memory Consumption:
  • You mentioned that each model consumes between 800MB-1GB of RAM. One approach to reduce memory usage is to consider using smaller, more efficient models. Rasa allows you to customize the pipeline and choose smaller language models if possible.
  • Additionally, you can experiment with reducing the batch size during training. Smaller batch sizes generally consume less memory, but they might affect training time and accuracy, so it’s a trade-off to consider.
  1. Controlling CPU Core Usage:
  • Rasa itself doesn’t provide built-in options to limit the number of CPU cores it uses during training or startup. However, you can manage CPU core usage at the system level.

  • On Linux, you can use tools like “taskset” to control which CPU cores a process can run on. On Windows, you can use Task Manager to set CPU affinity for a specific process.

  • Be cautious when adjusting CPU core affinity, as it can impact system stability and performance. It’s advisable to test these changes in a controlled environment.

  • Additionally, the Rasa documentation may provide updates and best practices for managing memory and training parameters in newer versions.

Remember that optimizing memory and CPU usage is a delicate balance between model size, training time, and system performance. Experimentation and testing with different configurations are key to finding the right setup for your conversational agents.