client VS llama.cpp

Compare client vs llama.cpp and see what are their differences.

client

Triton Python, C++ and Java client libraries, and GRPC-generated client examples for go, java and scala. (by triton-inference-server)

llama.cpp

LLM inference in C/C++ (by ggerganov)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
client llama.cpp
2 792
510 59,810
5.5% -
9.5 10.0
1 day ago 7 days ago
C++ C++
BSD 3-clause "New" or "Revised" License 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.

client

Posts with mentions or reviews of client. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-08.
  • Ollama releases OpenAI API compatibility
    12 projects | news.ycombinator.com | 8 Feb 2024
    - While keeping power utilization below X

    They will take the exported model and dynamically deploy the package to a triton instance running on your actual inference serving hardware, then generate requests to meet your SLAs to come up with the optimal model configuration. You even get exported metrics and pretty reports for every configuration used/attempted. You can take the same exported package, change the SLA params, and it will automatically re-generate the configuration for you.

    - Performance on a completely different level. TensorRT-LLM especially is extremely new and very early but already at high scale you can start to see > 10k RPS on a single node.

    - gRPC support. Especially when using pre/post processing, ensemble, etc you can configure clients programmatically to use the individual models or the ensemble chain (as one example). This opens up a very wide range of powerful architecture options that simply aren't available anywhere else. gRPC could probably be thought of as AsyncLLMEngine, it can abstract actual input/output or expose raw in/out so models, tokenizers, decoders, etc can send/receive raw data/numpy/tensors.

    - DALI support[5]. Combined with everything above, you can add DALI in the processing chain to do things like take input image/audio/etc, copy to GPU once, GPU accelerate scaling/conversion/resampling/whatever, and get output.

    vLLM and HF TGI are very cool and I use them in certain cases. The fact you can give them a HF model and they just fire up with a single command and offer good performance is very impressive but there are an untold number of reasons these providers use Triton. It's in a class of its own.

    [0] - https://mistral.ai/news/la-plateforme/

    [1] - https://www.cloudflare.com/press-releases/2023/cloudflare-po...

    [2] - https://www.nvidia.com/en-us/case-studies/amazon-accelerates...

    [3] - https://github.com/triton-inference-server/model_navigator

    [4] - https://github.com/triton-inference-server/client/blob/main/...

    [5] - https://github.com/triton-inference-server/dali_backend

  • Show HN: Software for Remote GPU-over-IP
    6 projects | news.ycombinator.com | 14 Dec 2022
    Inference servers essentially turn a model running on CPU and/or GPU hardware into a microservice.

    Many of them support the kserve API standard[0] that supports everything from model loading/unloading to (of course) inference requests across models, versions, frameworks, etc.

    So in the case of Triton[1] you can have any number of different TensorFlow/torch/tensorrt/onnx/etc models, versions, and variants. You can have one or more Triton instances running on hardware with access to local GPUs (for this example). Then you can put standard REST and or grpc load balancers (or whatever you want) in front of them, hit them via another API, whatever.

    Now all your applications need to do to perform inference is do an HTTP POST (or use a client[2]) for model input, Triton runs it on a GPU (or CPU if you want), and you get back whatever the model output is.

    Not a sales pitch for Triton but it (like some others) can also do things like dynamic batching with QoS parameters, automated model profiling and performance optimization[3], really granular control over resources, response caching, python middleware for application/biz logic, accelerated media processing with Nvidia DALI, all kinds of stuff.

    [0] - https://github.com/kserve/kserve

    [1] - https://github.com/triton-inference-server/server

    [2] - https://github.com/triton-inference-server/client

    [3] - https://github.com/triton-inference-server/model_analyzer

llama.cpp

Posts with mentions or reviews of llama.cpp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-06-10.
  • Apple Intelligence, the personal intelligence system
    4 projects | news.ycombinator.com | 10 Jun 2024
    > Doing everything on-device would result in a horrible user experience. They might as well not participate in this generative AI rush at all if they hoped to keep it on-device.

    On the contrary, I'm shocked over the last few months how "on device" on a Macbook Pro or Mac Studio competes plausibly with last year's early GPT-4, leveraging Llama 3 70b or Qwen2 72b.

    There are surprisingly few things you "need" 128GB of so-called "unified RAM" for, but with M-series processors and the memory bandwidth, this is a use case that shines.

    From this thread covering performance of llama.cpp on Apple Silicon M-series …

    https://github.com/ggerganov/llama.cpp/discussions/4167

    "Buy as much memory as you can afford would be my bottom line!"

  • Partial Outage on Claude.ai
    1 project | news.ycombinator.com | 4 Jun 2024
    I'd love to use local models, but seems like most of the easy to use software out there (LM Studio, Backyard AI, koboldcpp) doesn't really play all that nicely with my Intel Arc GPU and it's painfully slow on my Ryzen 5 4500. Even my M1 MacBook isn't that fast at generating text with even 7B models.

    I wonder if llama.cpp with SYCL could help, will have to try it out: https://github.com/ggerganov/llama.cpp/blob/master/README-sy...

    But even if that worked, I'd still have the problem that IDEs and whatever else I have open already eats most of the 32 GB of RAM my desktop PC has. Whereas if I ran a small code model on the MacBook and connected to it through my PC, it'd still probably be too slow for autocomplete, when compared to GitHub Copilot and less accurate than ChatGPT or Phind for most stuff.

  • Why YC Went to DC
    3 projects | news.ycombinator.com | 3 Jun 2024
    You're correct if you're focused exclusively on the work surrounding building foundation models to begin with. But if you take a broader view, having open models that we can legally fine tune and hack with locally has created a large and ever-growing community of builders and innovators that could not exist without these open models. Just take a look at projects like InvokeAI [0] in the image space or especially llama.cpp [1] in the text generation space. These projects are large, have lots of contributors, move very fast, and drive a lot of innovation and collaboration in applying AI to various domains in a way that simply wouldn't be possible without the open models.

    [0] https://github.com/invoke-ai/InvokeAI

    [1] https://github.com/ggerganov/llama.cpp

  • Show HN: Open-Source Load Balancer for Llama.cpp
    6 projects | news.ycombinator.com | 1 Jun 2024
  • RAG with llama.cpp and external API services
    2 projects | dev.to | 31 May 2024
    The first example will build an Embeddings database backed by llama.cpp vectorization.
  • Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
    10 projects | news.ycombinator.com | 30 May 2024
    and at some point (https://github.com/ggerganov/llama.cpp/issues/7444)
  • Deploying llama.cpp on AWS (with Troubleshooting)
    1 project | dev.to | 28 May 2024
    git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp LLAMA_CUDA=1 make -j
  • Devoxx Genie Plugin : an Update
    6 projects | dev.to | 28 May 2024
    I focused on supporting Ollama, GPT4All, and LMStudio, all of which run smoothly on a Mac computer. Many of these tools are user-friendly wrappers around Llama.cpp, allowing easy model downloads and providing a REST interface to query the available models. Last week, I also added "👋🏼 Jan" support because HuggingFace has endorsed this provider out-of-the-box.
  • Mistral Fine-Tune
    2 projects | news.ycombinator.com | 25 May 2024
    The output of the LLM is not just one token, but a statistical distribution across all possible output tokens. The tool you use to generate output will sample from this distribution with various techniques, and you can put constraints on it like not being too repetitive. Some of them support getting very specific about the allowed output format, e.g. https://github.com/ggerganov/llama.cpp/blob/master/grammars/... So even if the LLM says that an invalid token is the most likely next token, the tool will never select it for output. It will only sample from valid tokens.
  • Distributed LLM Inference with Llama.cpp
    1 project | news.ycombinator.com | 24 May 2024

What are some alternatives?

When comparing client and llama.cpp you can also consider the following projects:

YetAnotherChatUI - Yet another ChatGPT UI. Bring your own API key.

ollama - Get up and running with Llama 3, Mistral, Gemma, and other large language models.

kserve - Standardized Serverless ML Inference Platform on Kubernetes

gpt4all - gpt4all: run open-source LLMs anywhere

server - The Triton Inference Server provides an optimized cloud and edge inferencing solution.

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

lookma - LookMa connects Android devices to locally-run LLMs

GPTQ-for-LLaMa - 4 bits quantization of LLaMA using GPTQ

llamafile - Distribute and run LLMs with a single file.

ggml - Tensor library for machine learning

dali_backend - The Triton backend that allows running GPU-accelerated data pre-processing pipelines implemented in DALI's python API.

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

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured