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] Deprecate machine learning on Intel macOS #104087

Merged
merged 3 commits into from
Jan 16, 2024

Conversation

droberts195
Copy link
Contributor

PyTorch is no longer going to provide macOS x86_64 builds after version 2.2. This doesn't instantly affect us, as we build PyTorch from source ourselves and they've said that they will not deliberately break macOS x86_64. They just won't build or test on that platform themselves. As a result it's inevitable that we'll have to make some tweaks to the PyTorch code to get it to build, and as the years go by it will become harder and harder to make the code compile on an unsupported platform. Since PyTorch is such a critical component of Elastic ML we won't be able to keep it running on macOS x86_64 for more than a few releases after PyTorch drops support. This change gives notice of our intentions.

PyTorch is no longer going to provide macOS x86_64 builds after
version 2.2. This doesn't instantly affect us, as we build PyTorch
from source ourselves and they've said that they will not
deliberately break macOS x86_64. They just won't build or test on
that platform themselves. As a result it's inevitable that we'll
have to make some tweaks to the PyTorch code to get it to build,
and as the years go by it will become harder and harder to make
the code compile on an unsupported platform. Since PyTorch is
such a critical component of Elastic ML we won't be able to keep
it running on macOS x86_64 for more than a few releases after
PyTorch drops support. This change gives notice of our intentions.
@elasticsearchmachine elasticsearchmachine added the Team:ML Meta label for the ML team label Jan 8, 2024
@elasticsearchmachine
Copy link
Collaborator

Hi @droberts195, I've created a changelog YAML for you. Note that since this PR is labelled >deprecation, you need to update the changelog YAML to fill out the extended information sections.

@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/ml-core (Team:ML)

Copy link
Member

@maxhniebergall maxhniebergall left a comment

Choose a reason for hiding this comment

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

LGTM

droberts195 added a commit to droberts195/elasticsearch that referenced this pull request Jan 9, 2024
As previously advised in elastic#104087, machine learning functionality
will no longer be available on macOS x86_64.

Machine learning functionality _is_ still available on macOS by
using an arm64 machine (Apple silicon). It is also possible to
run Elasticsearch with machine learning functionality within a
Docker container on macOS x86_64.
@droberts195 droberts195 merged commit 8e1f214 into elastic:main Jan 16, 2024
15 checks passed
@droberts195 droberts195 deleted the deprecate_intel_macos_for_ml branch January 16, 2024 17:13
@elasticsearchmachine
Copy link
Collaborator

💚 Backport successful

Status Branch Result
8.12

droberts195 added a commit to droberts195/elasticsearch that referenced this pull request Jan 16, 2024
PyTorch is no longer going to provide macOS x86_64 builds after
version 2.2. This doesn't instantly affect us, as we build PyTorch
from source ourselves and they've said that they will not
deliberately break macOS x86_64. They just won't build or test on
that platform themselves. As a result it's inevitable that we'll
have to make some tweaks to the PyTorch code to get it to build,
and as the years go by it will become harder and harder to make
the code compile on an unsupported platform. Since PyTorch is
such a critical component of Elastic ML we won't be able to keep
it running on macOS x86_64 for more than a few releases after
PyTorch drops support. This change gives notice of our intentions.
elasticsearchmachine pushed a commit that referenced this pull request Jan 16, 2024
PyTorch is no longer going to provide macOS x86_64 builds after
version 2.2. This doesn't instantly affect us, as we build PyTorch
from source ourselves and they've said that they will not
deliberately break macOS x86_64. They just won't build or test on
that platform themselves. As a result it's inevitable that we'll
have to make some tweaks to the PyTorch code to get it to build,
and as the years go by it will become harder and harder to make
the code compile on an unsupported platform. Since PyTorch is
such a critical component of Elastic ML we won't be able to keep
it running on macOS x86_64 for more than a few releases after
PyTorch drops support. This change gives notice of our intentions.
edsavage added a commit that referenced this pull request Nov 29, 2024
As previously advised in #104087, machine learning functionality will no longer be available on macOS x86_64.

Machine learning functionality is still available on macOS by using an arm64 machine (Apple silicon). It is also possible to run Elasticsearch with machine learning functionality within a Docker container on macOS x86_64.

This PR should be merged to main after the branch is split for the last minor release scheduled for before December 2024. For example, suppose 8.17.0 is scheduled for release in November 2024 and 8.18.0 is scheduled for release in January 2025. Then this PR should be merged to main after the 8.17 branch is split.

One this PR is merged a followup PR should be opened against the ml-cpp repo to remove the build system for darwin-x86_64. It has been confirmed that with this change in place the Elasticsearch build system works with an ml-cpp bundle that does not contain a platform/darwin-x86_64 directory. It still produces an Elasticsearch build that will run providing xpack.ml.enabled is not explicitly set to true.

After the build system for darwin-x86_64 has been removed from the ml-cpp repo, we will be able to do another PyTorch upgrade without having to worry about tweaking the build system to work on Intel macOS.
---------

Co-authored-by: Ed Savage <[email protected]>
Co-authored-by: Valeriy Khakhutskyy <[email protected]>
edsavage added a commit to edsavage/elasticsearch that referenced this pull request Nov 29, 2024
As previously advised in elastic#104087, machine learning functionality will no longer be available on macOS x86_64.

Machine learning functionality is still available on macOS by using an arm64 machine (Apple silicon). It is also possible to run Elasticsearch with machine learning functionality within a Docker container on macOS x86_64.

This PR should be merged to main after the branch is split for the last minor release scheduled for before December 2024. For example, suppose 8.17.0 is scheduled for release in November 2024 and 8.18.0 is scheduled for release in January 2025. Then this PR should be merged to main after the 8.17 branch is split.

One this PR is merged a followup PR should be opened against the ml-cpp repo to remove the build system for darwin-x86_64. It has been confirmed that with this change in place the Elasticsearch build system works with an ml-cpp bundle that does not contain a platform/darwin-x86_64 directory. It still produces an Elasticsearch build that will run providing xpack.ml.enabled is not explicitly set to true.

After the build system for darwin-x86_64 has been removed from the ml-cpp repo, we will be able to do another PyTorch upgrade without having to worry about tweaking the build system to work on Intel macOS.
---------

Co-authored-by: Ed Savage <[email protected]>
Co-authored-by: Valeriy Khakhutskyy <[email protected]>
edsavage added a commit that referenced this pull request Nov 29, 2024
As previously advised in #104087, machine learning functionality will no longer be available on macOS x86_64.

Machine learning functionality is still available on macOS by using an arm64 machine (Apple silicon). It is also possible to run Elasticsearch with machine learning functionality within a Docker container on macOS x86_64.

This PR should be merged to main after the branch is split for the last minor release scheduled for before December 2024. For example, suppose 8.17.0 is scheduled for release in November 2024 and 8.18.0 is scheduled for release in January 2025. Then this PR should be merged to main after the 8.17 branch is split.

One this PR is merged a followup PR should be opened against the ml-cpp repo to remove the build system for darwin-x86_64. It has been confirmed that with this change in place the Elasticsearch build system works with an ml-cpp bundle that does not contain a platform/darwin-x86_64 directory. It still produces an Elasticsearch build that will run providing xpack.ml.enabled is not explicitly set to true.

After the build system for darwin-x86_64 has been removed from the ml-cpp repo, we will be able to do another PyTorch upgrade without having to worry about tweaking the build system to work on Intel macOS.

Backports #104125
---------

Co-authored-by: David Roberts <[email protected]>
Co-authored-by: Valeriy Khakhutskyy <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>deprecation :ml Machine learning Team:ML Meta label for the ML team v8.12.1 v8.13.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants