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] Adds E5 model configs #172053

Merged
merged 29 commits into from Dec 1, 2023
Merged

[ML] Adds E5 model configs #172053

merged 29 commits into from Dec 1, 2023

Conversation

darnautov
Copy link
Contributor

@darnautov darnautov commented Nov 28, 2023

Summary

  • Adds E5 model configurations available for download, portable and x86 linux optimized.
  • Adds getCuratedModelConfig shared service to retrieve the model ID and configuration appropriate for the current cluster architecture.
  • Updates description for the ELSER model
  • Renames tabs in the "Add trained model" flyout
  • Renames the name property in the ModelDefinitionResponse interface with model_id
image

Checklist

@darnautov darnautov requested a review from a team as a code owner November 28, 2023 11:46
@darnautov darnautov added release_note:enhancement :ml Feature:3rd Party Models ML 3rd party models Team:ML Team label for ML (also use :ml) v8.12.0 labels Nov 28, 2023
@darnautov darnautov self-assigned this Nov 28, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/ml-ui (:ml)

@jgowdyelastic jgowdyelastic requested review from jgowdyelastic and removed request for walterra November 28, 2023 13:17
@saikatsarkar056
Copy link
Contributor

LGTM

…l_flyout.tsx

Co-authored-by: István Zoltán Szabó <istvan.szabo@elastic.co>
@serenachou
Copy link

serenachou commented Nov 28, 2023

The Search team is going to use the follow text for copy, proposed by Steve D, it'd be nice if the flyout had the same copy :)
ELSER (Elastic Learned Sparse EncodeR) is Elastic's NLP model for English semantic search, utilizing sparse vectors. It prioritizes intent and contextual meaning over literal term matching, optimized specifically for English documents and queries on the Elastic platform.

E5 (EmbEddings from bidirEctional Encoder rEpresentations) is an NLP model that enables you to perform multi-lingual semantic search by using dense vector representations. This model performs best for non-English language documents and queries.

Copy link
Member

@jgowdyelastic jgowdyelastic left a comment

Choose a reason for hiding this comment

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

LGTM

@darnautov darnautov requested a review from a team as a code owner November 30, 2023 15:57
@darnautov darnautov requested a review from a team as a code owner November 30, 2023 15:59
Copy link
Contributor

@demjened demjened left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@spong spong left a comment

Choose a reason for hiding this comment

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

Security Solution/Assistant changes LGTM! Thanks @darnautov!

@darnautov
Copy link
Contributor Author

@elasticmachine merge upstream

@darnautov darnautov enabled auto-merge (squash) December 1, 2023 09:19
@kibana-ci
Copy link
Collaborator

💚 Build Succeeded

Metrics [docs]

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
@kbn/ml-trained-models-utils 27 30 +3

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
enterpriseSearch 2.6MB 2.6MB +823.0B
lists 148.4KB 148.4KB +27.0B
ml 3.6MB 3.6MB +2.5KB
total +3.3KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
core 374.5KB 374.6KB +27.0B
Unknown metric groups

API count

id before after diff
@kbn/ml-trained-models-utils 29 32 +3

History

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

cc @darnautov

@darnautov darnautov merged commit 823552f into elastic:main Dec 1, 2023
31 checks passed
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label Dec 1, 2023
@darnautov darnautov deleted the ml-add-e5-config branch December 1, 2023 10:18
@mdefazio
Copy link
Contributor

mdefazio commented Dec 4, 2023

Apologies for just now looking at this. I know this is now merged (and we are at FF). So I'm dropping these comments here for visibility to those participating on this PR and happy to move them to a follow-up issue if it's easier.

A few thoughts as we look at this flyout with both models added:

  1. The tab labels are a bit ambiguous to me and wonder if we can start referring to E5 and ELSER as 'prepared' models?
  2. While potentially not a blocker, but with the options segmented into two groups, I'm wondering if its clear that they can only select one of these? Granted once they click on the other model, it should be obvious. However, the keyboard focus sequence jumps to the documentation and then the license link before getting to the second set of radio buttons. This could be problematic.

Here are two updated mocks (again, late to the party...sorry).

Option 1

  • Maintain the segmentation of radio buttons with headings + description
  • Update tab labels

image

Option 2

  • Move platform choice to be shown after model is selected
  • Update tab labels
  • Add a one-liner describing 'Prepared models'

image

Screenshot--2023-12-04--ML - Trained Models - ELSER v2   Inference API - 8 12

@serenachou
Copy link

@mdefazio - let's do a bit of user testing on it, and keep the tabs names as is. We can iterate quickly on this so we don't do unnecessary churn on FF right now. as long as we get the license link and documentation as we needed I feel comfortable taking what we have into the release. https://github.com/elastic/ml-team/issues/1075 (WDYT @arisonl ? )

@mdefazio
Copy link
Contributor

mdefazio commented Dec 4, 2023

@serenachou Sounds good.

One last question though: Should E5 have a download link in the table, like ELSER?

Screenshot--2023-12-04--Trained Models - Machine Learning - Elastic

@serenachou
Copy link

Nah, no need with this new button to add a model, we strike a good balance of having the primary callout for ELSER but the secondary be for e5 @mdefazio

@peteharverson peteharverson added release_note:feature Makes this part of the condensed release notes and removed release_note:enhancement labels Dec 8, 2023
@szabosteve szabosteve changed the title [ML] Add E5 model configs [ML] Adds E5 model configs Dec 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting Feature:3rd Party Models ML 3rd party models :ml release_note:feature Makes this part of the condensed release notes Team:ML Team label for ML (also use :ml) v8.12.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet