17 Repos
Grouping multiple model inference requests into a single hardware execution pass to maximize throughput.
Distinct from Request Batching: Focuses on GPU/NPU compute batching for model inference rather than general data operation or network request batching.
Explore 17 awesome GitHub repositories matching data & databases · Inference Batching. Refine with filters or upvote what's useful.
Dieses Projekt ist ein BERT-Einbettungsdienst mit hoher Leistung und ein Inferenzserver, der darauf ausgelegt ist, Textsequenzen in numerische Vektoren fester Länge abzubilden. Es fungiert als Microservice für maschinelles Lernen und verteilter Modellserver, der die Anforderungsbehandlung von rechenintensiven Aufgaben entkoppelt. Das System nutzt eine ZeroMQ-Messaging-Infrastruktur, um eine Kommunikation mit geringer Latenz zwischen verteilten Clients und dem Inferenzserver bereitzustellen. Es integriert serverseitige Batch-Verarbeitung und GPU-Workload-Skalierung, um die Hardwareauslastung zu maximieren und hohe Anforderungsvolumina zu verwalten. Die Plattform unterstützt die Infrastruktur für semantische Suche durch die Generierung modalübergreifender Einbettungen für Text und Bilder innerhalb eines gemeinsamen Vektorraums. Dies ermöglicht modalübergreifende Suche, Relevanz-Ranking von Inhalten und das Re-Ranking von Ergebnissen basierend auf der semantischen Ausrichtung zwischen visuellem Inhalt und Textbeschreibungen. Der Dienst kann als elastischer Microservice bereitgestellt werden, der über gRPC-, HTTP- oder WebSocket-Protokolle zugänglich ist, und bietet nicht-blockierendes Duplex-Streaming für die Handhabung großer Datensätze.
Groups individual requests into optimized batches to maximize GPU throughput during inference.
StreamDiffusion is an interactive generative AI framework and inference engine designed for the low-latency delivery of image and video streams. It provides a real-time Stable Diffusion pipeline for text-to-image and image-to-image generation, enabling the creation of continuous generative image streams with minimized computational delay. The framework optimizes throughput using a pre-computed cache engine and residual-based guidance approximation to reduce the number of required model passes. It further manages GPU load through similarity-based frame skipping, which avoids redundant computat
Implements batching of inference requests to maximize GPU throughput and minimize computational overhead.
FlexLLMGen is an inference engine and runtime designed to run large language models on a single GPU by combining weight compression with tensor offloading. It reduces model weight memory usage by approximately 70% through 4-bit quantization, and stores model parameters, attention cache, and hidden states across GPU, CPU, and disk to fit models larger than available GPU memory. The project distinguishes itself through a throughput-oriented batching approach that processes multiple generation requests together in large batches to maximize throughput on a single GPU. It also supports distributed
Processes multiple generation requests together in large batches to maximize throughput on a single GPU.
This project is an AI singing voice conversion system and vocal processor used for training generative voice models and converting vocal recordings or live input into a target voice. It functions as a VITS model trainer and a real-time voice changer that transforms vocal timbre and pitch to change the identity of a singer. The system provides a graphical management dashboard for controlling training hyperparameters and voice conversion presets. It supports low-latency audio streaming for live microphone input and employs pitch estimation to ensure precise matching between source and target vo
Implements grouping of multiple audio segments into single GPU execution passes to accelerate batch inference throughput.
KServe is a Kubernetes-native platform for deploying and serving machine learning models as scalable inference services. It supports both generative AI models, including large language models, and traditional predictive models from frameworks such as TensorFlow, PyTorch, Scikit-Learn, XGBoost, and ONNX. The platform manages the full lifecycle of model deployments, including revision tracking, canary rollouts, A/B testing, and automatic rollbacks, and provides serverless scale-to-zero capabilities for cost-efficient resource management. KServe distinguishes itself through a standardized infere
Groups multiple prediction requests into a single batch to improve throughput on GPU and CPU runtimes.
KServe is an open platform for deploying and serving generative and predictive AI models on Kubernetes. It defines inference services as custom resources with declarative YAML specifications, enabling a Kubernetes-native approach to model deployment and lifecycle management. The platform leverages Knative-based serverless scaling for automatic scale-to-zero and revision management, and supports a pluggable serving runtime architecture that maps model formats to containerized execution environments. KServe distinguishes itself through model-aware autoscaling that scales replicas based on token
Accumulates multiple prediction requests and processes them together to increase throughput.
Dieses Projekt ist ein MLOps-Architekturleitfaden und ein Framework für das Design und Deployment von Deep-Learning-Systemen in Produktionsumgebungen. Es bietet einen strukturierten Ansatz für das Deployment von Modell-Inferenz, ML-Pipeline-Orchestrierung und die Erstellung von Machine-Learning-Architekturen auf Produktionsebene. Das Projekt zeichnet sich durch einen Fokus auf verteiltes Deep Learning und Edge-KI-Optimierung aus. Es deckt Methoden zur Parallelisierung des Modelltrainings über mehrere GPUs hinweg ab, um große Datensätze zu verarbeiten, und wendet Techniken wie Quantisierung und Destillation an, um die Modellgröße für Embedded-Hardware zu reduzieren. Die Funktionsfläche erstreckt sich auf Monitoring und Observability, einschließlich der Verfolgung von Modell-Performance, Data-Drift und Experiment-Metriken. Es adressiert zudem die Orchestrierung von Daten-Workflows, Datensatz-Versionierung über Object-Stores und die Verwaltung von Inferenzanfragen mit hohem Volumen mithilfe von adaptivem Batching und Container-basierter Orchestrierung.
Implements adaptive batching to maximize GPU throughput while maintaining latency limits for model inference.
exllamav2 ist eine Hochleistungs-Inferenzbibliothek, die für das lokale Ausführen von Large Language Models auf Consumer-GPUs entwickelt wurde. Sie bietet einen GPU-beschleunigten Runner und Quantisierungstools, um die Modellausführung ohne Abhängigkeit von Cloud-Computing-Diensten zu ermöglichen. Das Projekt verfügt über ein Quantisierungs-Dienstprogramm, das Modelle in gemischte Bitraten zwischen zwei und acht Bit komprimiert, um den VRAM-Bedarf zu reduzieren. Es zeichnet sich durch einen gebatchten Textgenerator aus, der gruppierte Anfragen verarbeitet und Cache-Daten dedupliziert, um den Durchsatz zu erhöhen. Die Bibliothek deckt ein breites Funktionsspektrum ab, einschließlich asynchronem Token-Streaming für Echtzeit-Ausgabe, benutzerdefinierter GPU-Kernel-Ausführung für lineare Algebra-Operationen und lokalem Memory-Mapping für den Zugriff auf Modellgewichte mit geringer Latenz.
Groups multiple model inference requests into a single hardware execution pass to maximize GPU throughput.
exllamav2 ist eine Hochleistungs-Inferenz-Engine und ein Framework für das lokale Ausführen von Large Language Models auf Consumer-GPUs. Es bietet ein vollständiges System für das lokale Modell-Deployment, einschließlich einer spezialisierten Inferenz-Engine und Tools für die Modellquantisierung. Das Projekt verfügt über ein Multi-GPU-Inferenz-Framework, das Arbeitslasten auf mehrere Grafikkarten verteilt, um Modelle auszuführen, die die Speicherkapazität eines einzelnen Geräts überschreiten. Es enthält einen GPU-Modell-Quantisierer, der Modelle in gemischte Präzisionsformate zwischen 2 und 8 Bit konvertieren kann, um Speichernutzung und Genauigkeit auszubalancieren. Die Engine unterstützt Textgenerierung mit hohem Durchsatz durch batch-basierte parallele Inferenz und asynchrones Output-Streaming. Diese Funktionen werden durch benutzerdefinierte CUDA-Kernel und Cache-Deduplizierung unterstützt, um die Hardwareauslastung zu optimieren und die Latenz während der Token-Generierung zu reduzieren.
Executes multiple text completion prompts simultaneously using batch-based parallel inference to maximize GPU utilization.
Dieses Projekt ist ein PyTorch-Framework für das Model-Serving, das darauf ausgelegt ist, Machine-Learning-Modelle in der Produktion über skalierbare Netzwerk-Endpunkte bereitzustellen. Es fungiert als leistungsstarker Inference-Server, Optimierer und Modell-Lifecycle-Manager, der das Laden von Modellen, Request-Batching und Hardware-Beschleunigung übernimmt. Das System zeichnet sich durch fortschrittliche Orchestrierungs- und Optimierungsfunktionen aus, wie etwa das Verketten mehrerer Modelle zu sequenziellen Workflows mittels Ausführungsgraphen und den Einsatz von Dynamic Batching zur Verbesserung von Durchsatz und Latenz. Es bietet spezialisierte Unterstützung für generative KI und Large Language Models durch Continuous Batching und Tensor-Parallelität. Zu den breiten Funktionsbereichen gehören GPU-Ressourcenmanagement für diverse Hardware wie NVIDIA, AMD und Apple Silicon sowie ein umfassendes Lifecycle-Management für Registrierung, Versionierung und Worker-Skalierung. Zudem integriert es Observability-Tools zur Überwachung des Systemzustands und der Modellleistung über Prometheus-kompatible Metriken. Der Server wird über eine Kommandozeilenschnittstelle verwaltet, die zur Steuerung des Lifecycles und zur Konfiguration von Laufzeitparametern dient.
Groups multiple model inference requests into a single hardware execution pass to maximize GPU throughput.
tiny-llm ist eine Inferenz-Engine für große Sprachmodelle und eine Transformer-Modell-Implementierung. Sie dient als Laufzeitumgebung für quantisierte Modelle und als Paged-Key-Value-Cache-Manager und bietet einen spezialisierten Inferenz-Stack, der für Apple Silicon optimiert ist. Das System zeichnet sich durch High-Throughput-Ausführungstechniken aus, einschließlich Continuous Batching und Paged Attention. Es nutzt ein Paged-Memory-System, um Fragmentierung während der Token-Generierung zu eliminieren, und verwendet On-the-Fly-Dequantisierung komprimierter Gewichte, um den Speicherbedarf während der Matrixmultiplikation zu reduzieren. Das Projekt deckt ein breites Spektrum an Modellarchitektur- und Performance-Funktionen ab, wie Mixture-of-Experts-Routing, Grouped Query Attention und Flash Attention. Es umfasst Unterstützung für fortgeschrittene Decoding-Logik, einschließlich Greedy Decoding und Sampling via Temperature, Top-K- und Top-P-Methoden. Die Implementierung ist in Python geschrieben und enthält benutzerdefinierte Low-Level-Kernel zur Beschleunigung der Tensor-Verarbeitung auf der Hardware.
Groups multiple incoming requests into a single hardware execution pass to maximize throughput.
LitServe ist ein Python-Framework für KI-Inferenzserver und LLM-Serving, das für Inferenz mit hoher Nebenläufigkeit konzipiert ist. Es fungiert als verteilter KI-Modellserver und Inferenz-Engine mit dynamischem Batching und bietet die Werkzeuge zum Erstellen und Hosten benutzerdefinierter Server, auf denen KI-Modelle laufen. Das Framework zeichnet sich durch eine Request-Queue mit dynamischem Batching aus, die einzelne Inferenzanfragen zu einzelnen Tensoren gruppiert, um den GPU-Durchsatz zu maximieren. Es unterstützt verteiltes GPU-Skalieren, wodurch Modell-Workloads auf mehrere Hardware-Beschleuniger verteilt werden können, um Rechenlasten auszugleichen und die Gesamtkapazität zu erhöhen. Das System bietet eine High-Level-Wrapper-Schnittstelle, die Request-Preprocessing und Postprocessing von der Kern-Modellausführungslogik entkoppelt. Es enthält zudem Funktionen für Echtzeit-Modell-Streaming zur inkrementellen Bereitstellung von Ausgaben und nutzt eine asynchrone Event-Loop zur Handhabung gleichzeitiger Netzwerkanfragen.
Groups multiple incoming AI requests into single batches to maximize GPU hardware utilization.
LightLLM is a high-performance serving framework for deploying and executing large language models. It functions as a multi-GPU inference engine and server capable of handling dense architectures, mixture-of-experts designs, and multimodal models that process both text and images. The system is distinguished by its specialized support for Mixture-of-Experts models using expert parallelism and fused kernels. It implements structured text generation through deterministic state machines and pushdown automata to enforce precise output formats. To optimize throughput, the framework employs specula
Merges new requests into active inference batches by calculating estimated token usage against hardware capacity.
WhisperLive is a real-time speech-to-text server that converts live audio streams into text using Whisper models. It functions as a backend service that receives microphone input via WebSockets and provides incremental transcriptions with word-level timestamps. The system utilizes a GPU-accelerated inference engine and a keyword-boosted transcription API to improve the recognition accuracy of domain-specific jargon, acronyms, and product names. It also includes a speaker diarization tool that clusters audio embeddings to identify and label different participants within a recording. Additiona
Groups multiple concurrent user audio segments into single GPU calls to maximize system throughput.
Lorax is a GPU-accelerated inference server and multi-adapter engine designed for serving large language models. It functions as a high-throughput system capable of deploying models via Kubernetes and managing the dynamic swapping of Low-Rank Adaptation adapters per request. The server distinguishes itself through multi-adapter dynamic batching, which allows requests using different adapter weights to be processed in a single GPU forward pass. It employs just-in-time adapter loading and weighted adapter merging to maximize throughput and enable multi-tasking without sacrificing performance.
Processes requests using different LoRA adapters in a single GPU forward pass to maximize throughput.
mini-sglang is a collection of tools for large language model inference, serving as an OpenAI-compatible inference server, a memory-efficient prefill engine, and a tensor parallelism runtime. It also functions as a local batch processing engine for offline benchmarking and ablation studies. The project focuses on acceleration and memory management through a KV cache manager that reuses precomputed caches for shared request prefixes. It handles large model workloads by distributing tasks across multiple GPUs and manages peak memory consumption by splitting long input sequences into smaller chu
Provides a local batch processing engine to maximize hardware utilization for offline benchmarking.
llm-d is a distributed serving framework designed for large language model inference. It functions as an inference orchestrator and gateway, providing a control plane for deploying model replicas and managing hardware accelerators. The system includes a batch inference scheduler and a cache manager to coordinate request flow and memory utilization. The project is distinguished by a disaggregated serving architecture that separates prefill and decode execution phases across specialized workers to maximize throughput. It employs a hardware-agnostic control plane and tiered cache offloading, mov
Manages large volumes of offline inference requests through queuing and flow control to maximize hardware utilization.