transformers.js
tvm
transformers.js | tvm | |
---|---|---|
27 | 16 | |
7,943 | 11,316 | |
- | 1.1% | |
9.3 | 9.9 | |
7 days ago | 4 days ago | |
JavaScript | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
transformers.js
-
Transformers.js: Machine Learning for the Web
We have some other WebGPU demos, including:
- WebGPU embedding benchmark: https://huggingface.co/spaces/Xenova/webgpu-embedding-benchm...
- Real-time object detection: https://huggingface.co/spaces/Xenova/webgpu-video-object-det...
- Real-time background removal: https://huggingface.co/spaces/Xenova/webgpu-video-background...
- WebGPU depth estimation: https://huggingface.co/spaces/Xenova/webgpu-depth-anything
- Image background removal: https://huggingface.co/spaces/Xenova/remove-background-webgp...
You can follow the progress for full WebGPU support in the v3 development branch (https://github.com/xenova/transformers.js/pull/545).
To answer your question, while there are certain ops missing, the main limitation at the moment is for models with decoders... which are not very fast (yet) due to inefficient buffer reuse and many redundant copies between CPU and GPU. We're working closely with the ORT team to fix these issues though!
-
Deep Learning in JavaScript
BTW: you might want to add support for typed arrays.
See: https://github.com/xenova/transformers.js/blob/8804c36591d11...
This is really old, but added as part of the shape of the vector as well: https://github.com/nicolaspanel/numjs/blob/master/src/dtypes...
-
Deja-Vu your AI✦ Bookmarking Tool
Made possible by Xenova and Supabase / gte-small
-
Extracting YouTube video data with OpenAI and LangChain
To build the application, you’ll use the youtube-transcript package to retrieve YouTube video transcripts. You will then use LangChain and the Transformers.js package to generate free Hugging Face embeddings for the given transcript and store them in a vector store instead of relying on potentially expensive OpenAI embeddings. Lastly, you will use LangChain and an OpenAI model to retrieve information stored in the vector store.
- Transformers.js releases Zero-shot audio classification support
-
How to Use AI/ML Models for Your Projects
Transformers.js: A groundbreaking library, Transformers.js brings transformer models like GPT-3, BERT, and Whisper straight to your browser. With the introduction of technologies like webGPU and LLM, Transformers.js has garnered significant attention. If you’d like to learn how to integrate a small model in the UI, check out their code and examples here.
-
Show HN: Tiny LLMs – Browser-based private AI models for a wide array of tasks
The announcement seems somewhat disingenuous. The PR[1] found from their release notes[2] seems to contain only boilerplate and no real support for Mistral models or their weights.
[1]: https://github.com/xenova/transformers.js/pull/379
- Transformers.js
- Transformers.js: Run Machine Learning models directly in the browser
- What is the most cost-efficient way to have an embedding generator endpoint that is using an open-source embedding model? [Q]
tvm
-
Show HN: I built a free in-browser Llama 3 chatbot powered by WebGPU
Yes. Web-llm is a wrapper of tvmjs: https://github.com/apache/tvm
Just wrappers all the way down
-
Making AMD GPUs competitive for LLM inference
Yes, this is coming! Myself and others at OctoML and in the TVM community are actively working on multi-gpu support in the compiler and runtime. Here are some of the merged and active PRs on the multi-GPU (multi-device) roadmap:
Support in TVM’s graph IR (Relax) - https://github.com/apache/tvm/pull/15447
-
VSL; Vlang's Scientific Library
Would it make sense to have a backend support for OpenXLA, Apache TVM, Jittor or other similar to get free GPU, TPU and other accelerators for free ?
- Apache TVM
-
MLC LLM - "MLC LLM is a universal solution that allows any language model to be deployed natively on a diverse set of hardware backends and native applications, plus a productive framework for everyone to further optimize model performance for their own use cases."
I have tried the iPhone app. It's fast. They're using Apache TVM which should allow better use of native accelerators on different devices. Like using metal on Apple and Vulcan or CUDA or whatever instead of just running the thing on the CPU like llama.cpp.
-
ONNX Runtime merges WebGPU back end
I was going to answer the same, I find the approach of machine learning compilers that directly compile models to host and device code better than having to bring a huge runtime. There are exciting projects in this area like TVM Unity, IREE [2], or torch.export [3]
[1] https://github.com/apache/tvm/tree/unity
[2] https://pytorch.org/get-started/pytorch-2.0/#inference-and-e...
[3] https://pytorch.org/get-started/pytorch-2.0/#inference-and-e...
-
Esp32 tensorflow lite
Apache TVM home page: https://tvm.apache.org/
-
Decompiling x86 Deep Neural Network Executables
It's pretty clear its referring to the output of Apache TVM and Meta's Glow
-
Run Stable Diffusion on Your M1 Mac’s GPU
As mentioned in sibling comments, Torch is indeed the glue in this implementation. Other glues are TVM[0] and ONNX[1]
These just cover the neural net though, and there is lots of surrounding code and pre-/post-processing that isn't covered by these systems.
For models on Replicate, we use Docker, packaged with Cog for this stuff.[2] Unfortunately Docker doesn't run natively on Mac, so if we want to use the Mac's GPU, we can't use Docker.
I wish there was a good container system for Mac. Even better if it were something that spanned both Mac and Linux. (Not as far-fetched as it seems... I used to work at Docker and spent a bit of time looking into this...)
[0] https://tvm.apache.org/
-
How to get started with machine learning.
Or use TVM, the idea is to compile your model into code that you can load at runtime. Similar to onnxruntime, it only does DNN inference; so you need domain-specific code.
What are some alternatives?
onnxruntime - ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
TensorRT - NVIDIA® TensorRT™ is an SDK for high-performance deep learning inference on NVIDIA GPUs. This repository contains the open source components of TensorRT.
web-stable-diffusion - Bringing stable diffusion models to web browsers. Everything runs inside the browser with no server support.
mlc-llm - Universal LLM Deployment Engine with ML Compilation
web-ai - Run modern deep learning models in the browser.
spark-nlp - State of the Art Natural Language Processing
stable-diffusion - This version of CompVis/stable-diffusion features an interactive command-line script that combines text2img and img2img functionality in a "dream bot" style interface, a WebGUI, and multiple features and other enhancements. [Moved to: https://github.com/invoke-ai/InvokeAI]
memory64 - Memory with 64-bit indexes
nebuly - The user analytics platform for LLMs
vertex-ai-samples - Sample code and notebooks for Vertex AI, the end-to-end machine learning platform on Google Cloud
stable-diffusion