ipex-llm/python/llm/example/GPU/Speculative-Decoding
Ruonan Wang 60b35db1f1 LLM: add chatglm3 speculative decoding example (#9966)
* add chatglm3 example

* update

* fix
2024-01-23 15:54:12 +08:00
..
chatglm3 LLM: add chatglm3 speculative decoding example (#9966) 2024-01-23 15:54:12 +08:00
llama2 LLM: add chatglm3 speculative decoding example (#9966) 2024-01-23 15:54:12 +08:00
README.md LLM: add chatglm3 speculative decoding example (#9966) 2024-01-23 15:54:12 +08:00

BigDL-LLM Speculative Decoding Optimization for Large Language Model on Intel GPUs

You can use BigDL-LLM to run almost every Huggingface Transformer models with speculative decoding optimizations on Intel GPUs. This directory contains example scripts to help you quickly get started using BigDL-LLM to run some popular open-source models in the community. Each model has its own dedicated folder, where you can find detailed instructions on how to install and run it.

Verified Hardware Platforms

  • Intel Arc™ A-Series Graphics
  • Intel Data Center GPU Flex Series
  • Intel Data Center GPU Max Series

To apply Intel GPU acceleration, therere several steps for tools installation and environment preparation. See the GPU installation guide for mode details.

Step 1, only Linux system is supported now, Ubuntu 22.04 is prefered.

Step 2, please refer to our driver installation for general purpose GPU capabilities.

Note

: IPEX 2.1.10+xpu requires Intel GPU Driver version >= stable_775_20_20231219.

Step 3, you also need to download and install Intel® oneAPI Base Toolkit. OneMKL and DPC++ compiler are needed, others are optional.

Note

: IPEX 2.1.10+xpu requires Intel® oneAPI Base Toolkit's version == 2024.0.

Best Known Configuration on Linux

For optimal performance on Intel Arc™ A-Series Graphics and Intel Data Center GPU Flex Series, it is recommended to set several environment variables.

export USE_XETLA=OFF
export SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1

For optimal performance on Intel Data Center GPU Max Series, it is recommended to set several environment variables.

export LD_PRELOAD=${LD_PRELOAD}:${CONDA_PREFIX}/lib/libtcmalloc.so
export SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
export ENABLE_SDP_FUSION=1