rust-bert VS ggml

Compare rust-bert vs ggml and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
rust-bert ggml
7 69
2,418 9,642
- -
6.8 9.8
about 2 months ago 4 days ago
Rust C
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

rust-bert

Posts with mentions or reviews of rust-bert. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-07.
  • How to leverage the state-of-the-art NLP models in Rust
    3 projects | /r/infinilabs | 7 Jun 2023
    brew install libtorch brew link libtorch brew ls --verbose libtorch | grep dylib export LIBTORCH=$(brew --cellar pytorch)/$(brew info --json pytorch | jq -r '.[0].installed[0].version') export LD_LIBRARY_PATH=${LIBTORCH}/lib:$LD_LIBRARY_PATH git clone https://github.com/guillaume-be/rust-bert.git cd rust-bert ORT_STRATEGY=system cargo run --example sentence_embeddings
  • Transformers.js
    9 projects | news.ycombinator.com | 16 Mar 2023
    I'd like to use this transformer model in rust (because it's on the backend, because I can use data munging and it will be faster, and for other reasons). It looks like a good model! But, it doesn't compile on Apple Silicon for wierd linking issues that aren't apparent - https://github.com/guillaume-be/rust-bert/issues/338. I've spent a large part of today and yesterday attempting to find out why. The only other library that I've found for doing this kind of thing programmatically (particularly sentiment analysis) is this (https://github.com/JohnSnowLabs/spark-nlp). Some of the models look a little older, which is OK, but it does mean that I'd have to do this in another language.

    Does anyone know of any sentiment analysis software that can be tuned (other than VADER - I'm looking for more along the lines of a transformer model) - like BERT, but is pretrained and can be used in Rust or Python? Otherwise I'll probably using spark-nlp and having to spin another process.

    Thanks.

  • Running large language models like ChatGPT on a single GPU
    7 projects | news.ycombinator.com | 20 Feb 2023
    Give this a look: https://github.com/guillaume-be/rust-bert

    If you have Pytorch configured correctly, this should "just work" for a lot of the smaller models. It won't be a 1:1 ChatGPT replacement, but you can build some pretty cool stuff with it.

    > it's basically Python or bust in this space

    More or less, but that doesn't have to be a bad thing. If you're on Apple Silicon, you have plenty of performance headroom to deploy Python code for this. I've gotten this library to work on systems with as little as 2gb of memory, so outside of ultra-low-end use cases, you should be fine.

  • Self-hosted Whisper-based voice recognition server for open Android phones
    2 projects | news.ycombinator.com | 13 Feb 2023
    I suspect something similar is possible with ChatGPT. Using the GPT-neo-125m model I've been able to get some really convincing (if lackluster) answers on 4 core ARM hardware and less than 2gb of memory. With enough sampling, you can get legible paragraph-length responses out in less than 10 seconds; that's pretty good for an offline program in my book.

    I'm using rust-bert to serve it over a Discord bot, similar to one of their examples[0]. It's running on Oracle VCPUs right now, but with dedi hardware and ML acceleration I can imagine the field moving really quickly.

    [0] https://github.com/guillaume-be/rust-bert/blob/master/exampl...

  • Ask HN: What AI developer tools do you wish you'd discovered sooner?
    2 projects | news.ycombinator.com | 12 Feb 2023
    Maybe a little played-out, but I've been having a blast with the rust-bert library this weekend: https://github.com/guillaume-be/rust-bert

    With a little fanagling, you can get the GPT-Neo-1.3b model running on those free Oracle ARM VMs you can provision. I'm impressed, especially with the performance of the smallest model that uses less than a gig of memory.

  • Ask HN: Has anyone made a toy that integrates ChatGPT with voice into a toy?
    2 projects | news.ycombinator.com | 9 Feb 2023
    Nope, but it's probably possible on a smaller, hobbyist scale. I've been playing with a few GPT libraries this week (namely rust-bert[0]) and I've been really impressive with local generation results on my crappy 2 core netbook. I can get 2 sentences to generate in ~5 seconds, which is pretty good in my book.

    Armed with a Pi-style SBC and your AI library of choice, I bet you could get pretty far implementing some stuff. Bonus points if you use Whisper for speech-to-text, and double brownie points if you can get an AI voice to read the generation back.

    [0] https://github.com/guillaume-be/rust-bert/tree/master/exampl...

  • [D] Is Rust stable/mature enough to be used for production ML? Is making Rust-based python wrappers a good choice for performance heavy uses and internal ML dependencies in 2021?
    8 projects | /r/MachineLearning | 30 Dec 2021
    If you are using BERT models and some miscellaneous other related stuff then you should check out the rust-bert and Bert Sentence repos https://github.com/guillaume-be/rust-bert

ggml

Posts with mentions or reviews of ggml. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-11.
  • LLMs on your local Computer (Part 1)
    7 projects | dev.to | 11 Mar 2024
    git clone https://github.com/ggerganov/ggml cd ggml mkdir build cd build cmake .. make -j4 gpt-j ../examples/gpt-j/download-ggml-model.sh 6B
  • GGUF, the Long Way Around
    2 projects | news.ycombinator.com | 29 Feb 2024
    Cool. I was just learning about GGUF by creating my own parser for it based on the spec https://github.com/ggerganov/ggml/blob/master/docs/gguf.md (for educational purposes)
  • Ask HN: People who switched from GPT to their own models. How was it?
    3 projects | news.ycombinator.com | 26 Feb 2024
    If you don't care about the details of how those model servers work, then something that abstracts out the whole process like LM Studio or Ollama is all you need.

    However, if you want to get into the weeds of how this actually works, I recommend you look up model quantization and some libraries like ggml[1] that actually do that for you.

    [1] https://github.com/ggerganov/ggml

  • GGUF File Format
    1 project | news.ycombinator.com | 31 Dec 2023
  • Google just shipped libggml from llama-cpp into its Android AICore
    2 projects | /r/LocalLLaMA | 9 Dec 2023
    Because the library is called ggml, but it supports gguf.
  • Q-Transformer
    2 projects | news.ycombinator.com | 30 Nov 2023
    Apparently this guy like a bunch of others like https://github.com/ggerganov/ggml are implementing transformers from papers for people that want them. Pretty cool.
  • [P] Inference Vision Transformer (ViT) in plain C/C++ with ggml
    2 projects | /r/MachineLearning | 26 Nov 2023
    You can access it here: https://github.com/staghado/vit.cpp It has been added to the ggml library on GitHub: https://github.com/ggerganov/ggml
  • Falcon 180B Released
    1 project | news.ycombinator.com | 6 Sep 2023
    https://github.com/ggerganov/ggml

    One note is that prompt ingestion is extremely slow on CPU compared to GPU. So short prompts are fine (as tokens can be streamed once the prompt is ingested), but long prompts feel extremely sluggish.

  • Stable Diffusion in pure C/C++
    8 projects | news.ycombinator.com | 19 Aug 2023
    I did a quick run under profiler and on my AVX2-laptop the slowest part (>50%) was matrix multiplication (sgemm).

    In current version of GGML if OpenBLAS is enabled, they convert matrices to FP32 before running sgemm.

    If OpenBLAS is disabled, on AVX2 plaftorm they convert FP16 to FP32 on every FMA operation, which even worse (due to repetition). After that, both ggml_vec_dot_f16 and ggml_vec_dot_f32 took first place in profiler.

    Source: https://github.com/ggerganov/ggml/blob/master/src/ggml.c#L10...

  • Accessing Llama 2 from the command-line with the LLM-replicate plugin
    16 projects | news.ycombinator.com | 18 Jul 2023
    For those getting started, the easiest one click installer I've used is Nomic.ai's gpt4all: https://gpt4all.io/

    This runs with a simple GUI on Windows/Mac/Linux, leverages a fork of llama.cpp on the backend and supports GPU acceleration, and LLaMA, Falcon, MPT, and GPT-J models. It also has API/CLI bindings.

    I just saw a slick new tool https://ollama.ai/ that will let you install a llama2-7b with a single `ollama run llama2` command that has a very simple 1-click installer for Apple Silicon Mac (but need to build from source for anything else atm). It looks like it only supports llamas OOTB but it also seems to use llama.cpp (via Go adapter) on the backend - it seemed to be CPU-only on my MBA, but I didn't poke too much and it's brand new, so we'll see.

    For anyone on HN, they should probably be looking at https://github.com/ggerganov/llama.cpp and https://github.com/ggerganov/ggml directly. If you have a high-end Nvidia consumer card (3090/4090) I'd highly recommend looking into https://github.com/turboderp/exllama

    For those generally confused, the r/LocalLLaMA wiki is a good place to start: https://www.reddit.com/r/LocalLLaMA/wiki/guide/

    I've also been porting my own notes into a single location that tracks models, evals, and has guides focused on local models: https://llm-tracker.info/

What are some alternatives?

When comparing rust-bert and ggml you can also consider the following projects:

Dlib - A toolkit for making real world machine learning and data analysis applications in C++

llama.cpp - LLM inference in C/C++

speak - Talk with your machine in this minimalistic Rust crate!

alpaca.cpp - Locally run an Instruction-Tuned Chat-Style LLM

FlexGen - Running large language models like OPT-175B/GPT-3 on a single GPU. Focusing on high-throughput generation. [Moved to: https://github.com/FMInference/FlexGen]

alpaca-lora - Instruct-tune LLaMA on consumer hardware

are-we-learning-yet - How ready is Rust for Machine Learning?

mlc-llm - Enable everyone to develop, optimize and deploy AI models natively on everyone's devices.

lightseq - LightSeq: A High Performance Library for Sequence Processing and Generation

text-generation-webui - A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models.

tokenizers - 💥 Fast State-of-the-Art Tokenizers optimized for Research and Production

llm - An ecosystem of Rust libraries for working with large language models