Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ML] Inference models management #74978

Merged
merged 37 commits into from
Aug 19, 2020
Merged

Conversation

darnautov
Copy link
Contributor

@darnautov darnautov commented Aug 13, 2020

Summary

This PR introduces basic listing capabilities for inference trained models.

The table contains the following columns:

  • Model ID
  • Model type
  • Date created

Available actions include

  • Viewing the training data in case the model was produced by DFA job
  • Model deletion

It's also possible to delete multiple models. In case the models have associated pipelines there is a warning message shown in a dialog.

image

Content of the expandable row:

  • Model details
  • Inference and DFA job configs
  • Stats
  • Pipelines definitions

Checklist

@alvarezmelissa87
Copy link
Contributor

Curious about James's question about the license check for the endpoints but aside from that the code LGTM 👍

@qn895
Copy link
Member

qn895 commented Aug 13, 2020

Gave this a quick test and functionality works well. I like the split between the new tabs for Jobs and the Models 💯 .

One thing I wonder if it's worth doing is make the font size for the tabs same as the ones we have in the DFA Job List.

Screen Shot 2020-08-13 at 2 39 19 PM

Another issue I came across is if we have an invalid (?) inference object, then expanding it will cause a blank page. The lang_ident_model_1 I have here doesn't have inference_config for some reasons.

2020-08-13 at 2 40 PM

Another item, which I think might be on your todo list already is to have an indicator that the models were successfully deleted.

@darnautov
Copy link
Contributor Author

@qn895 thanks for testing! I've fixed expanded row and adjusted the layout in 41a8a10 and added a successful deletion toast in 4ce85fb

Copy link
Contributor

@walterra walterra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Latest changes LGTM

@darnautov
Copy link
Contributor Author

Functionality looks good! Confirmed the issue Walter was seeing with the expanded rows is fixed 👌 Looks like the expanded row component might need key props:
image

thanks for spotting this @alvarezmelissa87, I switched some panels to use EuiStats instead of EuiDescriptionList and forgot to add the key prop, fixed in 2fde1ad

Copy link
Contributor

@peteharverson peteharverson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested latest edits and confirmed stats tab updates on refresh. LGTM!

@darnautov darnautov merged commit 8f7d213 into elastic:master Aug 19, 2020
@darnautov darnautov deleted the ML-model-management branch August 19, 2020 14:22
darnautov added a commit to darnautov/kibana that referenced this pull request Aug 19, 2020
* [ML] init tabs

* [ML] init inference API service in UI

* [ML] server-side routes

* [ML] basic table

* [ML] support deletion

* [ML] delete multiple models

* [ML] WIP expanded row

* [ML] fix types

* [ML] expanded row

* [ML] fix types

* [ML] fix i18n id

* [ML] change server-side permission check

* [ML] refactor types

* [ML] show success toast on model deletion, fix models counter

* [ML] update expanded row

* [ML] pipelines stats

* [ML] use refresh observable

* [ML] endpoint to fetch associated pipelines

* [ML] update the endpoint to fetch associated pipelines

* [ML] show pipelines definition in expanded row

* [ML] change stats layout

* [ML] fix headers

* [ML] change breadcrumb title

* [ML] fetch models config with pipelines

* [ML] change default size to 1000

* [ML] fix collections keys, fix double fetch on initial page load

* [ML] adjust models deletion text

* [ML] fix DFA jobs on the management page

* [ML] small tabs in expanded row

* [ML] fix headers text

* [ML] fix models fetching without pipelines get permissions

* [ML] stats rendering as a description list

* [ML] fix i18n id

* [ML] remove an extra copyright comment, add selectable messages

* [ML] update stats on refresh
gmmorris added a commit to gmmorris/kibana that referenced this pull request Aug 19, 2020
* master: (30 commits)
  [code coverage] always download node before team assignment (elastic#75424)
  [Form lib] Allow new "defaultValue" to be provided when resetting the… (elastic#75302)
  [Logs UI] Add "View in machine learning" links in the anomaly explorer (elastic#74555)
  skip flaky suite (elastic#75440)
  skip flaky suite (elastic#75386)
  [Saved objects] Add support for version on create & bulkCreate when overwriting a document (elastic#75172)
  [Functional]Table Vis increase sleep time in order filter to be applied (elastic#75138)
  MOAR RAM (elastic#75423)
  [Visualize] Horizontal Bar Percentiles Overlapping (elastic#75315)
  [ML] DF Analytics / Transforms: Fix job row actions menu invalid DOM nesting warning (elastic#74499)
  [ML] Inference models management (elastic#74978)
  [Monitoring] Migrate karma tests (elastic#75301)
  [Index template] Add filters to simulate preview (elastic#74497)
  Bump and consolidate dependencies (elastic#75360)
  [Ingest Manager] Fix agent config rollout rate limit to use constants (elastic#75364)
  Update Node.js to version 10.22.0 (elastic#75254)
  [ML] Anomaly Explorer / Single Metric Viewer: Fix error reporting for annotations. (elastic#74953)
  [Discover] Fix histogram cloud tests (elastic#75268)
  Uiactions to navigate to visualize or maps (elastic#74121)
  Use prefix search invis editor field/agg combo box (elastic#75290)
  ...
darnautov added a commit that referenced this pull request Aug 19, 2020
* [ML] init tabs

* [ML] init inference API service in UI

* [ML] server-side routes

* [ML] basic table

* [ML] support deletion

* [ML] delete multiple models

* [ML] WIP expanded row

* [ML] fix types

* [ML] expanded row

* [ML] fix types

* [ML] fix i18n id

* [ML] change server-side permission check

* [ML] refactor types

* [ML] show success toast on model deletion, fix models counter

* [ML] update expanded row

* [ML] pipelines stats

* [ML] use refresh observable

* [ML] endpoint to fetch associated pipelines

* [ML] update the endpoint to fetch associated pipelines

* [ML] show pipelines definition in expanded row

* [ML] change stats layout

* [ML] fix headers

* [ML] change breadcrumb title

* [ML] fetch models config with pipelines

* [ML] change default size to 1000

* [ML] fix collections keys, fix double fetch on initial page load

* [ML] adjust models deletion text

* [ML] fix DFA jobs on the management page

* [ML] small tabs in expanded row

* [ML] fix headers text

* [ML] fix models fetching without pipelines get permissions

* [ML] stats rendering as a description list

* [ML] fix i18n id

* [ML] remove an extra copyright comment, add selectable messages

* [ML] update stats on refresh
@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Build metrics

@kbn/optimizer bundle module count

id value diff baseline
ml 1364 +9 1355

async chunks size

id value diff baseline
ml 8.1MB +100.7KB 8.0MB

page load bundle size

id value diff baseline
ml 573.6KB +232.0B 573.4KB

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants