kserve VS client

Compare kserve vs client and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
kserve client
3 2
3,047 482
7.3% 6.4%
9.4 9.4
6 days ago 5 days ago
Python C++
Apache License 2.0 BSD 3-clause "New" or "Revised" 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.

kserve

Posts with mentions or reviews of kserve. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-14.
  • 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

  • Run your first Kubeflow pipeline
    5 projects | dev.to | 20 Nov 2021
    Kubeflow has multiple components: central dashboard, Kubeflow Notebooks to manage Jupyter notebooks, Kubeflow Pipelines for building and deploying portable, scalable machine learning (ML) workflows based on Docker containers, KF Serving for model serving (apparently superseded by KServe), Katib for hyperparameter tuning and model search, and training operators such as TFJob for training TF models on Kubernetes.
  • [D] Serverless solutions for GPU inference (if there's such a thing)
    2 projects | /r/MachineLearning | 22 Feb 2021
    If you can run on Kubernetes then KFServing is an open source solution that allows for GPU inference and is built upon Knative to allow scale to zero for GPU based inference. From release 0.5 it also has capabilities for multi-model serving as a alpha feature to allow multiple models to share the same server (and via NVIDIA Triton the same GPU).

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

What are some alternatives?

When comparing kserve and client you can also consider the following projects:

kubeflow - Machine Learning Toolkit for Kubernetes

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

aws-virtual-gpu-device-plugin - AWS virtual gpu device plugin provides capability to use smaller virtual gpus for your machine learning inference workloads

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

awesome-mlops - A curated list of references for MLOps

lookma - LookMa connects Android devices to locally-run LLMs

kind - Kubernetes IN Docker - local clusters for testing Kubernetes

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

kubeflow-learn

llamafile - Distribute and run LLMs with a single file.

Python-Schema-Matching - A python tool using XGboost and sentence-transformers to perform schema matching task on tables.

model_navigator - Triton Model Navigator is an inference toolkit designed for optimizing and deploying Deep Learning models with a focus on NVIDIA GPUs.