Qwen2.5 0.5b转换到iree上支持的文件
下载文件
modelscope download --model="Qwen/Qwen2.5-0.5B-Instruct" --local_dir ./model-dir
下载的文件转成onnx格式
optimum-cli export onnx --model model-dir/ --task text-generation-with-past --opset 14 --atol 1e-3 model-dir_onnx/
onnx转成iree上的mlir
iree-import-onnx model-dir_onnx/model.onnx -o qwen2_5_05b.mlir
转成各个平台运行的vmfb
cpu:
iree-compile qwen2_5_05b.mlir --iree-hal-target-backends=llvm-cpu --iree-llvmcpu-target-cpu-features=host --iree-llvmcpu-enable-ukernels=all -o qwen2_5_05b_cpu.vmfb
android cpu:
iree-compile --iree-hal-target-backends=llvm-cpu --iree-llvmcpu-target-triple=aarch64-linux-android31 --iree-llvmcpu-enable-ukernels=all --iree-opt-const-eval=true qwen2_5_05b.mlir -o qwen2_5_05b_android.vmfb
android gpu vulkan
iree-compile --iree-hal-target-device=vulkan --iree-vulkan-target=adreno --iree-opt-const-eval=true qwen2_5_05b.mlir -o qwen2_5_05b_android_gpu.vmfb
测试方法
../iree-run-module --device=local-sync --module=qwen2_5_05b_android.vmfb --function=main_graph --input=@input_ids.npy --input=@attention_mask.npy --input=@position_ids.npy $(for i in {0..23}; do echo --input=@past_k_${i}.npy --input=@past_v_${i}.npy; done)