openvino icon indicating copy to clipboard operation
openvino copied to clipboard

[Feature Request]: Add Support for `MLX` Frontend

Open NripeshN opened this issue 9 months ago • 4 comments

Request Description

I am writing to propose the inclusion of support for the MLX frontend in the OpenVINO toolkit.

Issue submission checklist

  • [X] The feature request or improvement must be related to OpenVINO

NripeshN avatar May 02 '24 10:05 NripeshN

Hi @NripeshN,

It is quite interesting. I see it is young framework and already collected 28k stars in GitHub. Really great work!

However, is there any objective reason about why research scientist and engineers will select MLX framework for training new models instead of PyTorch? We observe PyTorch to keep a trend despite some new frameworks like JAX, MindSpore made attempts to accelerate training, etc. but anyway scientists select PyTorch. That seems a fact. So our current efforts are absolutely concentrated around PyTorch models support.

In the meantime, we are always open and welcome to our external contributors who want to add new frontend. We can provide more details about how to do this and support this contribution.

Best regards, Roman

rkazants avatar May 02 '24 13:05 rkazants

is there any objective reason about why research scientist and engineers will select MLX framework for training new models instead of PyTorch?

Hi @rkazants I think this comment https://github.com/ml-explore/mlx/issues/12#issuecomment-1843956313 explains this in detail. I'd love to contribute and try add this new frontend. Could you please provide me more details to do so?

NripeshN avatar May 02 '24 14:05 NripeshN

Hi @rkazants I think this comment ml-explore/mlx#12 (comment) explains this in detail. I'd love to contribute and try add this new frontend. Could you please provide me more details to do so?

@NripeshN, cool! Give me some time and I will be back with instructions.

Best regards, Roman

rkazants avatar May 02 '24 14:05 rkazants

@NripeshN, thank you for your interest!

Could you elaborate a bit on proposed workflow and technical side of the proposal? I suppose that we can catch the compute graph from MLX at the same point when mx.eval or mx.compile is called. So it wouldn't suppose that we need to trace something at the level of OpenVINO frontend, and graph representation is provided by MLX itself instead. Right? Could you point to some description that gives the understanding how this graph looks like? Does it have C++ or Python API to access the nodes?

slyalin avatar May 02 '24 16:05 slyalin

@NripeshN any updates on the question above?

andrei-kochin avatar May 15 '24 08:05 andrei-kochin