Can't deploy model on ML node due to insufficient memory

I am using Elasticsearch cloud. I currently host the free-tier ML node, but the same behavior occurs on the next available tier (node w/ 2GB of memory).

I am trying to deploy the E5 embedding model, preferably base, but small could also be considered. When I start deploying the model (base or small), we receive this error:

Could not start deployment because no suitable nodes were found

`Reason: This node has insufficient available memory. Available memory for ML [432013312 (412mb)], free memory [432013312 (412mb)], estimated memory required for this model [501554824 (478.3mb)]`

I understand that the required memory exceeds the available memory. When I upgrade the node, the same error still occurs. However, after upgrading, the required memory is less than the available memory - how can I explain that?

In addition, I am not able to change xpack.ml.max_machine_memory_percent and/or xpack.ml.use_auto_machine_memory_percent setting, not from developer tools, neither from cluster management.

I need a clear explanation of how ES memory calculations work, because I can't wrap my head around:

- If required memory is more than avialable - I can't deploy.

  • If required memory is less than available - I can't deploy.
  • What is the case when I can deploy?

In addition, which part of the docs mention this, if explanation exists?