首页
/ BigDL项目中使用IPEX-LLM低精度推理的注意事项

BigDL项目中使用IPEX-LLM低精度推理的注意事项

2025-05-29 04:57:33作者:江焘钦

在基于BigDL项目的IPEX-LLM组件进行大语言模型低精度推理时,开发者需要注意一些关键配置细节,以确保模型能够正确加载和运行。本文将详细介绍这些注意事项。

低精度推理支持情况

目前IPEX-LLM组件支持以下两种低精度格式:

  • 非对称4位整型(asym_int4)
  • 对称4位整型(sym_int4)

需要注意的是,fp4和mixed_fp4格式目前尚未得到支持,开发者应避免使用这些格式。

关键环境变量配置

正确的环境变量配置对性能至关重要,以下是推荐配置:

export USE_XETLA=OFF
export SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=2
export TORCH_LLM_ALLREDUCE=0

# 张量并行相关配置
export CCL_WORKER_COUNT=2
export SYCL_CACHE_PERSISTENT=1
export FI_PROVIDER=shm
export CCL_ATL_TRANSPORT=ofi
export CCL_ZE_IPC_EXCHANGE=sockets
export CCL_ATL_SHM=1

启动脚本优化

推荐使用numactl工具来绑定CPU核心,这可以显著提高性能并避免资源争用问题。一个经过验证的有效启动脚本如下:

numactl -C 0-7 python -m ipex_llm.vllm.xpu.entrypoints.openai.api_server \
  --port 8004 \
  --model "MODEL_PATH" \
  --served-model-name "MODEL_NAME" \
  --trust-remote-code \
  --gpu-memory-utilization "0.95" \
  --device xpu \
  --dtype float16 \
  --enforce-eager \
  --load-in-low-bit "sym_int4" \
  --max-model-len "3000" \
  --max-num-batched-tokens "3000" \
  --max-num-seqs "256" \
  --tensor-parallel-size "4" \
  --pipeline-parallel-size "1" \
  --block-size 8 \
  --distributed-executor-backend ray \
  --disable-async-output-proc \
  --disable-log-requests

不推荐使用的功能

当前版本中,以下功能尚未完全支持,建议开发者暂时避免使用:

  • 前缀缓存(--enable-prefix-caching)
  • 分块预填充(--enable-chunked-prefill)

启用这些功能可能导致程序异常或性能下降。

常见问题排查

如果在模型转换阶段出现CPU占用100%且进程卡住的情况,可以尝试以下解决方案:

  1. 确保使用numactl正确绑定CPU核心
  2. 检查是否使用了支持的精度格式(asym_int4或sym_int4)
  3. 移除不支持的参数选项
  4. 验证环境变量配置是否正确

通过遵循上述建议,开发者可以更高效地在BigDL项目中使用IPEX-LLM组件进行大语言模型的低精度推理,同时避免常见的陷阱和性能问题。

登录后查看全文
热门项目推荐
相关项目推荐