From d254d508be9c6b14c474fd643ad448a4e261ca72 Mon Sep 17 00:00:00 2001 From: Yi Liu <106061964+yiliu30@users.noreply.github.com> Date: Wed, 24 Jul 2024 21:50:44 +0800 Subject: [PATCH] Update doc for client-usage and LWQ (#1947) Signed-off-by: yiliu30 --- README.md | 2 +- docs/source/3x/PT_WeightOnlyQuant.md | 27 ++++++++++++++++++++++++++- docs/{ => source}/3x/client_quant.md | 16 +++------------- docs/source/3x/imgs/lwq.png | Bin 0 -> 59763 bytes 4 files changed, 30 insertions(+), 15 deletions(-) rename docs/{ => source}/3x/client_quant.md (51%) create mode 100644 docs/source/3x/imgs/lwq.png diff --git a/README.md b/README.md index ad97ad451fc..4aac08639b2 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ support AMD CPU, ARM CPU, and NVidia GPU through ONNX Runtime with limited testi ## What's New * [2024/07] From 3.0 release, framework extension API is recommended to be used for quantization. -* [2024/07] Performance optimizations and usability improvements on [client-side](https://github.com/intel/neural-compressor/blob/master/docs/3x/client_quant.md). +* [2024/07] Performance optimizations and usability improvements on [client-side](https://github.com/intel/neural-compressor/blob/master/docs/source/3x/client_quant.md). ## Installation diff --git a/docs/source/3x/PT_WeightOnlyQuant.md b/docs/source/3x/PT_WeightOnlyQuant.md index 65d9367e9fa..1b7a6e760ff 100644 --- a/docs/source/3x/PT_WeightOnlyQuant.md +++ b/docs/source/3x/PT_WeightOnlyQuant.md @@ -15,6 +15,7 @@ PyTorch Weight Only Quantization - [HQQ](#hqq) - [Specify Quantization Rules](#specify-quantization-rules) - [Saving and Loading](#saving-and-loading) +- [Layer Wise Quantization](#layer-wise-quantization) - [Efficient Usage on Client-Side](#efficient-usage-on-client-side) - [Examples](#examples) @@ -277,9 +278,33 @@ loaded_model = load( ) # Please note that the original_model parameter passes the original model. ``` +## Layer Wise Quantization + +As the size of LLMs continues to grow, loading the entire model into a single GPU card or the RAM of a client machine becomes impractical. To address this challenge, we introduce Layer-wise Quantization (LWQ), a method that quantizes LLMs layer by layer or block by block. This approach significantly reduces memory consumption. The diagram below illustrates the LWQ process. + + + +*Figure 1: The process of layer-wise quantization for PyTorch model. The color grey means empty parameters and the color blue represents parameters need to be quantized. Every rectangle inside model represents one layer.* + + +Currently, we support LWQ for `RTN`, `AutoRound`, and `GPTQ`. + +Here, we take the `RTN` algorithm as example to demonstrate the usage of LWQ. + +```python +from neural_compressor.torch.quantization import RTNConfig, convert, prepare +from neural_compressor.torch import load_empty_model + +model_state_dict_path = "/path/to/model/state/dict" +float_model = load_empty_model(model_state_dict_path) +quant_config = RTNConfig(use_layer_wise=True) +prepared_model = prepare(float_model, quant_config) +quantized_model = convert(prepared_model) +``` + ## Efficient Usage on Client-Side -For client machines with limited RAM and cores, we offer optimizations to reduce computational overhead and minimize memory usage. For detailed information, please refer to [Quantization on Client](https://github.com/intel/neural-compressor/blob/master/docs/3x/client_quant.md). +For client machines with limited RAM and cores, we offer optimizations to reduce computational overhead and minimize memory usage. For detailed information, please refer to [Quantization on Client](https://github.com/intel/neural-compressor/blob/master/docs/source/3x/client_quant.md). ## Examples diff --git a/docs/3x/client_quant.md b/docs/source/3x/client_quant.md similarity index 51% rename from docs/3x/client_quant.md rename to docs/source/3x/client_quant.md index 181834caf23..9921560c798 100644 --- a/docs/3x/client_quant.md +++ b/docs/source/3x/client_quant.md @@ -2,20 +2,15 @@ Quantization on Client ========================================== 1. [Introduction](#introduction) -2. [Get Started](#get-started) \ - 2.1 [Get Default Algorithm Configuration](#get-default-algorithm-configuration)\ - 2.2 [Optimal Performance and Peak Memory Usage](#optimal-performance-and-peak-memory-usage) - +2. [Get Started](#get-started) ## Introduction -For `RTN`, `GPTQ`, and `Auto-Round` algorithms, we provide default algorithm configurations for different processor types (`client` and `sever`). Generally, lightweight configurations are tailored specifically for client devices to enhance performance and efficiency. +For `RTN`, and `GPTQ` algorithms, we provide default algorithm configurations for different processor types (`client` and `sever`). Generally, lightweight configurations are tailored specifically for client devices to enhance performance and efficiency. ## Get Started -### Get Default Algorithm Configuration - Here, we take the `RTN` algorithm as example to demonstrate the usage on a client machine. ```python @@ -42,9 +37,4 @@ python main.py > [!TIP] > For Linux systems, users need to configure the environment variables appropriately to achieve optimal performance. For example, set the `OMP_NUM_THREADS` explicitly. For processors with hybrid architecture (including both P-cores and E-cores), it is recommended to bind tasks to all P-cores using `taskset`. -### Optimal Performance and Peak Memory Usage - -Below are approximate performance and memory usage figures conducted on a client machine with 24 cores and 32GB of RAM. These figures provide a rough estimate for quick reference and may vary based on specific hardware and configurations. - -- 7B models (e.g., [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf)): the quantization process takes about 65 seconds, with a peak memory usage of around 6GB. -- 1.5B models (e.g., [Qwen/Qwen2-1.5B-Instruct](https://huggingface.co/Qwen/Qwen2-1.5B-Instruct)), the quantization process takes about 20 seconds, with a peak memory usage of around 5GB. +RTN quantization is a quick process, finishing in tens of seconds and using several GB of RAM when working with 7B models, e.g.,[meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf). However, for the higher accuracy, GPTQ algorithm is recommended, but be prepared for a longer quantization time. diff --git a/docs/source/3x/imgs/lwq.png b/docs/source/3x/imgs/lwq.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e75bc5d8e404c4535cdfa5b032e3f4f69ee22c GIT binary patch literal 59763 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]qG1)IN)%I8hQ-CobP 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 C{>kG2 literal 0 HcmV?d00001