Arctic Inference is an open-source vLLM plugin developed by Snowflake AI Research, designed for high-throughput, low-latency inference of Large Language Models (LLMs) and embeddings. It achieves this through advanced optimizations like Shift Parallelism, Speculative Decoding, SwiftKV, and Arctic Ulysses. The library seamlessly integrates with and automatically patches vLLM (v0.8.4 and later), allowing users to leverage these performance gains while continuing to use familiar vLLM APIs and CLI. The current version is 0.1.2, with an active development cycle releasing updates and research findings.
pip install arctic-inference[vllm]No compatibility data collected yet for this library.
This quickstart demonstrates programmatic offline inference using `vLLM` after `arctic-inference` has been installed. Arctic Inference implicitly applies its optimizations to `vLLM` if enabled via an environment variable or specific `vLLM` CLI flags. For full feature utilization, running `vLLM` via the command line with parameters like `--enable-shift-parallel` and `--speculative-config` is the primary method.
Upgrade vLLM to version 0.8.4 or later: `pip install "vllm>=0.8.4"`.
Ensure `ARCTIC_INFERENCE_ENABLED=1` is set in your environment or use the appropriate CLI arguments (like `--enable-shift-parallel`, `--ulysses-sequence-parallel-size`, `--speculative-config`) when launching `vllm serve`.
As a workaround, disable speculative decoding for parallel structured output requests, or monitor the official GitHub repository for a fix and upgrade when available.
Verify that your CUDA toolkit version is compatible with your PyTorch and vLLM installations. Ensure Python 3.10 is used (as seen in examples). Check vLLM's official documentation for exact hardware and software requirements. Ensure the model path is correct and accessible. Reinstall `arctic-inference[vllm]` in a fresh virtual environment if necessary.
Evaluate your GPU resources and model size. Consider adjusting `vLLM`'s parallelization settings (`--tensor-parallel-size`, `--pipeline-parallel-size`). Try disabling `arctic-suffix=True` temporarily to isolate if suffix decoding is the root cause, and then re-evaluate performance with adjusted parameters. Check GitHub issues for similar problems and suggested configurations.