Live data from Hacker News

MLX: An array framework for Apple Silicon

github.com

1–10 of 47 posts

Re: MLX: An array framework for Apple Silicon

#6
It seems like it's matching PyTorch's API very closely, which is great. Part of me wishes they took it a step further and just made it completely API-compatible, such that code written for PyTorch could run out-of-the-box with MLX, that would be killer.

Re: MLX: An array framework for Apple Silicon

#7
I wish there was more information as to how this differs from or improves on Jax.

Flax+Jax+OpenXLA seems to finally be building some momentum so when a big player launches yet another competitor, the justification for it would be a good thing to see.

What was “not good enough” with Jax? Why did it make sense to put this human time and energy there instead of doubling down on Flax/Jax/OpenXLA? How will this move the needle at all against Nvidia?

I guess the fact that Google is pushing OpenXLA is making the other giants not want to truly lean in?

I don’t want 10 competing “choices”. I want one clear, open, competitor to Cuda that works on all the competing hardware.

Re: MLX: An array framework for Apple Silicon

#8
Given the API is similar to existing libraries, I’m curious as to whether the performance is better with this one. And if so, what’s stopping existing libraries from being as fast. IIRC, PyTorch at least has a Metal backend.

The README mentions unified memory, but what stops other frameworks from modeling copies as no-ops? I wonder if MLX makes larger architectural decisions based on GPU CPU communication being cheap.

Re: MLX: An array framework for Apple Silicon

#9
I've found the process of porting custom ML models to iOS extremely difficult.

AFAIK the only way to leverage Apple Neural Engine (and get the best performance) is to use CoreML. The only documented way to use CoreML is via coremltools, which takes a trace of a PyTorch model and attempts to translate it into a protobuf graph understood by CoreML.

This process often fails and requires model changes, or worse "succeeds" but gives you the wrong output when you run the model. Additionally, you have to play detective to figure out why some operations run on the CPU, or GPU instead of ANE.

It's exciting to see more tools like this for working with tensor-like objects, but I really wish Apple would make porting custom models in a high performance manner easier.

Re: MLX: An array framework for Apple Silicon

#10
post #9

I've found the process of porting custom ML models to iOS extremely difficult. AFAIK the only way to leverage Apple Neural Engine (and get the best performance) is to use CoreML. The only documented way to use CoreML is via coremltools, which takes a trace of a PyTorch model and attempts to translate it into a protobuf graph understood by CoreML. This process often fails and requires model changes, or worse "succeeds…

I'm not sure why there aren't more companies supporting ONNX. It's so nice to use if it's supported by the platform/model.
Post reply on HN