ekzhang

Joined 6 years ago

Karma
522
Submissions
153
Member since
Jan 4
https://www.ekzhang.com/
View on Hacker News

Recent submissions

Comment · 1 month ago
The spacing and style of the hand sketched lines are really perfect. Was it hard get such clean drawings, even using principal curvature fields?
Comment · 3 months ago
Maybe try using https://www.npmjs.com/package/@jax-js/onnx ? It supports most ONNX ops and should be drop-in replacement, e.g., https://jax-js.com/d-fine

Disclaimer: I am the author

Comment · 10 months ago
I don’t think this is straightforward but it may be a skill issue on my part. It would require dockerizing headless Chrome with WebGPU support and dynamically injecting custom bundled JavaScript into the page, then extracting the results with Chrome IPC
Comment · 10 months ago
Yes, we are actively working on it! The goal is to be a full ML research library, not just a model inference runtime. You can join the Discord to follow along
Comment · 10 months ago
Hm okay, seems like an interesting set of benchmarks — let me know if there’s anything I can do to help make jax-js more compatible with your docker setup
Comment · 10 months ago
Comment · 10 months ago
Since ONNX is just a model data format, you can actually parse and run ONNX files in jax-js as well. Here’s an example of running DETR ResNet-50 from Xenova’s transformers.js checkpoint in jax-js

https://jax-js.com/detr-resnet-50

I don’t think I intend to support everything in ONNX right now, especially quant/dequant, but eventually it would be interesting to see if we can help accelerate transformers.js with a jax-js backend + goodies like kernel fusion

jax-js is more trying to explore being an ML research library, rather than ONNX which is a runtime for exported models

Comment · 10 months ago
I don’t think tf.tidy() is a sound API under jvp/grad transformations, also it prevents you from using async which makes it incompatible with GPU backends (or blocks the page), a pretty big issue. https://github.com/tensorflow/tfjs/issues/5468

Thanks for the feedback though, just explaining how we arrived at this API. I hope you’d at least try it out — hopefully you will see when developing that the refs are more flexible than alternatives.

Comment · 10 months ago
For sure! It looks like this is benchmarking the autodiff cpu time, not the actual kernels though, which (correct me if I’m wrong) isn’t really relevant for an ML library — it’s more for if you have a really complex scientific expression
Comment · 10 months ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton