hf_text-generation-inference/server
Daniël de Kok 8511669cb2
Move quantized weight handling out of the `Weights` class (#2194)
Quantized weights were loaded in the `Weights` class, but this was
getting quite unwieldy, where every higher level method to load weights
was a long conditional to cover all the different quantizers.

This change moves loading of quantized weights out of the `Weights`
class. This is done by defining a simple `WeightsLoader` interface
that is implemented by `Exl2WeightsLoader`, `GPTQWeightsLoader`,
and `MarlinWeightsLoader`. These implementations are in the quantizers'
respective modules. The `Weights` class provides the low-level load
operations (such as loading tensors or sharded tensors), but delegates
loads that need quantizer-specific weight processing to a loader. The
loaders still use the low-level functionality provided by `Weights`.

I initially tried making a hierarchy where a class like `GPTQWeights`
would inherit from `Weights`. But it is not very flexible (e.g. does
not work well with the new weight storage mock used in tests) and
the implicit indirections made the code harder to follow.
2024-07-09 20:04:03 +02:00
..
custom_kernels chore: add pre-commit (#1569) 2024-02-16 11:58:58 +01:00
exllama_kernels MI300 compatibility (#1764) 2024-05-17 15:30:47 +02:00
exllamav2_kernels chore: add pre-commit (#1569) 2024-02-16 11:58:58 +01:00
marlin Add support for Marlin 2:4 sparsity (#2102) 2024-06-25 21:09:42 +02:00
tests Move quantized weight handling out of the `Weights` class (#2194) 2024-07-09 20:04:03 +02:00
text_generation_server Move quantized weight handling out of the `Weights` class (#2194) 2024-07-09 20:04:03 +02:00
.gitignore Impl simple mamba model (#1480) 2024-02-08 10:19:45 +01:00
Makefile Fix nccl regression on PyTorch 2.3 upgrade (#2099) 2024-07-08 17:52:10 +02:00
Makefile-awq chore: add pre-commit (#1569) 2024-02-16 11:58:58 +01:00
Makefile-eetq Upgrade EETQ (Fixes the cuda graphs). (#1729) 2024-04-12 08:15:28 +02:00
Makefile-flash-att Hotfixing `make install`. (#2008) 2024-06-04 23:34:03 +02:00
Makefile-flash-att-v2 Hotfixing `make install`. (#2008) 2024-06-04 23:34:03 +02:00
Makefile-lorax-punica Enable multiple LoRa adapters (#2010) 2024-06-25 14:46:27 -04:00
Makefile-selective-scan chore: add pre-commit (#1569) 2024-02-16 11:58:58 +01:00
Makefile-vllm Update LLMM1 bound (#2050) 2024-06-11 19:30:29 +08:00
README.md chore: add pre-commit (#1569) 2024-02-16 11:58:58 +01:00
poetry.lock Making `make install` work better by default. (#2004) 2024-06-04 19:38:46 +02:00
pyproject.toml Making `make install` work better by default. (#2004) 2024-06-04 19:38:46 +02:00
requirements_cuda.txt Fix seeded output. (#1949) 2024-05-24 15:36:13 +02:00
requirements_intel.txt reable xpu, broken by gptq and setuptool upgrade (#1988) 2024-06-03 16:07:50 +02:00
requirements_rocm.txt Fix seeded output. (#1949) 2024-05-24 15:36:13 +02:00

README.md

Text Generation Inference Python gRPC Server

A Python gRPC server for Text Generation Inference

Install

make install

Run

make run-dev