Skip to content

Releases: intel/xFasterTransformer

v1.8.2

10 Oct 08:17
b43edc8
Compare
Choose a tag to compare

v1.8.2

Performance

  • Enable flash attention by default for W8A8 dtype to accelerate the performance of the 1st token.

Benchmark

  • When the number of ranks is 1, run in single mode to avoid the dependency on mpirun.
  • Support SNC-3 platform.

v1.8.1

31 Jul 08:08
df57cb2
Compare
Choose a tag to compare

v1.8.1

Functionality

  • Expose the interface of embedding lookup.

Performance

  • Optimized the performance of grouped query attention (GQA).
  • Enhanced the performance of creating keys for the oneDNN primitive cache.
  • Set the [bs][nh][seq][hs] layout as the default for KV Cache, resulting in better performance.
  • Improved the task split imbalance issue in self-attention.

v1.8.0 Continuous Batching on Single ARC GPU and AMX_FP16 Support.

23 Jul 01:25
faa25f4
Compare
Choose a tag to compare

Highlight

  • Continuous Batching on Single ARC GPU is supported and can be integrated by vllm-xft.
  • Introduce Intel AMX instructions support for float16 data type.

Models

  • Support ChatGLM4 series models.
  • Introduce BF16/FP16 full path support for Qwen series models.

BUG fix

  • Fixed memory leak of oneDNN primitive cache.
  • Fixed SPR-HBM flat QUAD mode detect issue in benchmark scripts.
  • Fixed heads Split error for distributed Grouped-query attention(GQA).
  • Fixed an issue with the invokeAttentionLLaMA API.

What's Changed

Generated release nots

What's Changed

  • [Kernel] Enable continuous batching on single GPU. by @changqi1 in #452
  • [Bugfix] fixed shm reduceAdd & rope error when batch size is large by @abenmao in #457
  • [Feature] Enable AMX FP16 on next generation CPU by @wenhuanh in #456
  • [Kernel] Cache oneDNN primitive when M < XFT_PRIMITIVE_CACHE_M, default 256. by @Duyi-Wang in #460
  • [Denpendency] Pin python requirements.txt version. by @Duyi-Wang in #458
  • [Dependency] Bump web_demo requirement. by @Duyi-Wang in #463
  • [Layers] Enable AMX FP16 of FlashAttn by @abenmao in #459
  • [Layers] Fix invokeAttentionLLaMA API by @wenhuanh in #464
  • [Readme] Add accepted papers by @wenhuanh in #465
  • [Kernel] Make SelfAttention prepared for AMX_FP16; More balanced task split in Cross Attention by @pujiang2018 in #466
  • [Kernel] Upgrade xDNN to v1.5.2 and make AMX_FP16 work by @pujiang2018 in #468

Full Changelog: v1.7.3...v1.8.0

v1.7.3

01 Jul 01:52
Compare
Choose a tag to compare

BUG fix

  • Fixed SHM reduceAdd & rope error when batch size is large.
  • Fixed the issue of abnormal usage of oneDNN primitive cache.

v1.7.2 - Continuous batching feature supports Qwen 1.0 & hybrid data types.

18 Jun 05:07
da2a7fa
Compare
Choose a tag to compare

v1.7.2 - Continuous batching feature supports Qwen 1.0 & hybrid data types.

Functionality

  • Add continuous batching support of Qwen 1.0 models.
  • Enable hybrid data types for continuous batching feature, including BF16_FP16, BF16_INT8, BF16_W8A8, BF16_INT4, BF16_NF4, W8A8_INT8, W8A8_int4, W8A8_NF4.

BUG fix

  • Fixed the convert fault in Baichuan1 models.

What's Changed

Generated release nots

Full Changelog: v1.7.1...v1.7.2

v1.7.1 - Continuous batching feature supports ChatGLM2/3.

12 Jun 05:27
38658b1
Compare
Choose a tag to compare

v1.7.1 - Continuous batching feature supports ChatGLM2/3.

Functionality

  • Add continuous batching support of ChatGLM2/3 models.
  • Qwen2Convert supports quantized Qwen2 models by GPTQ, such as GPTQ-Int8 and GPTQ-Int4, by param from_quantized_model="gptq".

BUG fix

  • Fixed the segament fault error when running with more than 2 ranks in vllm-xft serving.

What's Changed

Generated release nots

Full Changelog: v1.7.0...v1.7.1

v1.7.0 - Continuous batching feature supported.

05 Jun 05:13
76ddad7
Compare
Choose a tag to compare

v1.7.0 - Continuous batching feature supported.

Functionality

  • Refactor framework to support continuous batching feature. vllm-xft, a fork of vllm, integrates the xFasterTransformer backend and maintains compatibility with most of the official vLLM's features.
  • Remove FP32 data type option of KV Cache.
  • Add get_env() python API to get recommended LD_PRELOAD set.
  • Add GPU build option for Intel Arc GPU series.
  • Exposed the interface of the LLaMA model, including Attention and decoder.

Performance

  • Update xDNN to release v1.5.1
  • Baichuan series models supports full FP16 pipline to improve performance.
  • More FP16 data type kernel added, including MHA, MLP, YARN rotary_embedding, rmsnorm and rope.
  • Kernel implementation of crossAttnByHead.

Dependency

  • Bump torch to 2.3.0.

BUG fix

  • Fixed the segament fault error when running with more than 4 ranks.
  • Fixed the bugs of core dump && hang when running croos nodes.

What's Changed

Generated release nots

New Contributors

Full Changelog: v1.6.0...v1.7.0

v1.6.0 - Llama3 and Qwen2 series models supported.

26 Apr 07:48
f9cdcba
Compare
Choose a tag to compare

v1.6.0 - Llama3 and Qwen2 series models supported.

Functionality

  • Support Llama3 and Qwen2 series models.
  • Add INT8 KV cache datatype, using kv_cache_dtype params to specify, including int8, fp16(default) and fp32.
  • More models enable full BF16 pipline, includes Chatglm2/3 and yarn-llama.
  • Add invokeMLPLLaMA FP16 API.
  • Support logits output using forward() api.

Dependency

  • Bump transformers to 4.40.0 to support Llama3 models.

Performance

  • Update xDNN to release v1.4.6

BUG fix

  • Fix numeric overflow when calculate softmax in sampling.
  • fix assert bug when concat gate&up.

What's Changed

Generated release nots

New Contributors

Full Changelog: v1.5.0...v1.6.0

v1.5.0 - Gemma series models supported.

12 Apr 06:10
Compare
Choose a tag to compare

v1.5.0 - Gemma series models supported.

Functionality

  • Support Gemma series medels, including Gemma and CodeGemma, and DeepSeek model.
  • Llama Converter support convert quantized huggingface model by params from_quantized_model='gptq' into xFt format INT8/INT4 model files.
  • Support loading INT4 data weights directly from local files.
  • Optimize memory usage during QWen model conversion, particularly for QWen 72B.

Dependency

  • Bump transformers to 4.38.1 to support Gemma models.
  • Add protobuf to support new behavier in tokenzier.

Performance

  • Update xDNN to release v1.4.5
  • Add GPU kernel library gpuDNN v0.1 to support Intel Arc GPU series.
  • Optimize ROPE perfermance by reducing repeated sin and cos embedding table data.
  • Accelerate KVCache copy by increasing parallelism in self attention.
  • Accelerate addreduce operation in long sequence case by transposing KVCache and tuned comm.

BUG fix

  • Fix a incorrect computing which should be in float, but was in integer.
  • Fix timeline is disordered.
  • Fix runtime issue of Qwen when seq_length is bigger than 32768.
Generated release nots

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0 - Fully BF16 support in Llama for better performance and serving framework support.

08 Mar 05:55
7587560
Compare
Choose a tag to compare

Functionality

  • Introduce pure BF16 support to Llama series models, now can use fully BF16 data type to to utilize AMX more effectively when deploying Llama models.
  • Add MLServer serving framework support and demo in serving directory.
  • GCC for compiling release binary files has been updated from GCC 8.5 to GCC 12.
  • Introduce pipeline parallel feature for distributing deployment. Enabled by cmake .. -DWITH_PIPELINE_PARALLEL=ON in compilation and use XFT_PIPELINE_STAGE Marco to define pipeline parallel stages num.
  • Deprecate convert tool scripts in tools directory and it recommended to using Convert in xfastertransformer python wheel.
  • Support loading int8 data weights directly from local files.

Performance

  • Update xDNN to release v1.4.4.
  • Accelerate model weights loading by optimizing cast operation after loading and gain up to 50% speed up.
  • Optimize BF16 performance using AMX instruction when batchsize <= 8, and add XFT_USE_AMX_M to set threshold of M using AMX instead of AVX512, default 1.

Demo & Benchmark

  • Update dependency transformers requirement from 4.30.0 to 4.36.0 for high risk CVE Vulnerabilities.
  • Add distributed inference benchmark script which support deployment across platfrom.
  • Add single node platform support in benchmark script.
  • Add Yi model web demo.
  • Enhance the command-line chat mode in pytorch demo.py, using --chat true to enable.

BUG fix

  • Fix calculation issue in Qwen models and enhance LogN support for long token sequence.
  • Fix unsync issue in multi-rank model when do_sample is enabled.
  • Fix Baichuan models calculation and convert issue.
  • Fix repetition penalties not taking effect on other batches.

What's Changed

New Contributors

Full Changelog: v1.3.1...v1.4.0