OpenSearch/x-pack/plugin/ml/qa
Benjamin Trent 9666a895f7
[ML] inference performance optimizations and refactor (#57674) (#57753)
This is a major refactor of the underlying inference logic.

The main refactor is now we are separating the model configuration and
the inference interfaces.

This has the following benefits:
 - we can store extra things with the model that are not
   necessary for inference (i.e. treenode split information gain)
 - we can optimize inference separate from model serialization and storage.
 - The user is oblivious to the optimizations (other than seeing the benefits).

A major part of this commit is removing all inference related methods from the
trained model configurations (ensemble, tree, etc.) and moving them to a new class.

This new class satisfies a new interface that is ONLY for inference.

The optimizations applied currently are:
- feature maps are flattened once
- feature extraction only happens once at the highest level
  (improves inference + feature importance through put)
- Only storing what we need for inference + feature importance on heap
2020-06-05 14:20:58 -04:00
..
basic-multi-node [ML] Return assigned node in start/open job/datafeed response (#55570) 2020-04-22 12:06:53 +01:00
disabled Deprecate disabling basic-license features (#54816) (#55405) 2020-04-17 15:04:17 -04:00
ml-with-security [7.x][ML] More advanced model snapshot retention options (#56194) 2020-05-05 14:31:58 +01:00
native-multi-node-tests [ML] inference performance optimizations and refactor (#57674) (#57753) 2020-06-05 14:20:58 -04:00
no-bootstrap-tests Apply 2-space indent to all gradle scripts (#49071) 2019-11-14 11:01:23 +00:00
single-node-tests Deprecate disabling basic-license features (#54816) (#55405) 2020-04-17 15:04:17 -04:00
build.gradle [7.x] Smarter copying of the rest specs and tests (#52114) (#52798) 2020-02-26 08:13:41 -06:00