airockchip / rknn-llm

Other
368 stars 30 forks source link

RK3588推理MiniCPM-V 2.6(Qwen2 7B)使用Embedding输入时推理结果不正常 #101

Open happyme531 opened 5 days ago

happyme531 commented 5 days ago

模型是使用MiniCPM-V 2.6的llm的权重初始化的Qwen2 7B

使用huggingface transformers库可以正常推理:

from transformers import AutoModelForCausalLM, AutoTokenizer
import numpy as np
import torch
device = "cpu"  # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained(
    ".", device_map=device, trust_remote_code=True#, torch_dtype=torch.bfloat16
)
tokenizer = AutoTokenizer.from_pretrained(".", trust_remote_code=True)
model.eval()
input_embeds = np.load("image_embeddings_pth_orig.npy")  # 1x105x3584
with torch.no_grad():
    input_embeds = torch.from_numpy(input_embeds).to(device)#.bfloat16()
    generated_ids = model.generate(
        inputs_embeds=input_embeds,
        max_new_tokens=15,
    )
    response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
    print(response)
python ./test.py                                                                                                                                     (rknn) 
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [01:41<00:00, 25.50s/it]
Some weights of the model checkpoint at . were not used when initializing Qwen2ForCausalLM: ['resampler.attn.in_proj_bias', 'resampler.attn.in_proj_weight', 'resampler.attn.out_proj.bias', 'resampler.attn.out_proj.weight', 'resampler.kv_proj.weight', 'resampler.ln_kv.bias', 'resampler.ln_kv.weight', 'resampler.ln_post.bias', 'resampler.ln_post.weight', 'resampler.ln_q.bias', 'resampler.ln_q.weight', 'resampler.proj', 'resampler.query', 'vpm.embeddings.patch_embedding.bias', 'vpm.embeddings.patch_embedding.weight', 'vpm.embeddings.position_embedding.weight', 'vpm.encoder.layers.0.layer_norm1.bias', 'vpm.encoder.layers.0.layer_norm1.weight', 'vpm.encoder.layers.0.layer_norm2.bias', 'vpm.encoder.layers.0.layer_norm2.weight', 'vpm.encoder.layers.0.mlp.fc1.bias', 'vpm.encoder.layers.0.mlp.fc1.weight', 'vpm.encoder.layers.0.mlp.fc2.bias', 'vpm.encoder.layers.0.mlp.fc2.weight', 'vpm.encoder.layers.0.self_attn.k_proj.bias', 'vpm.encoder.layers.0.self_attn.k_proj.weight', 'vpm.encoder.layers.0.self_attn.out_proj.bias', 'vpm.encoder.layers.0.self_attn.out_proj.weight', 'vpm.encoder.layers.0.self_attn.q_proj.bias', 'vpm.encoder.layers.0.self_attn.q_proj.weight', 'vpm.encoder.layers.0.self_attn.v_proj.bias', 'vpm.encoder.layers.0.self_attn.v_proj.weight', 'vpm.encoder.layers.1.layer_norm1.bias', 'vpm.encoder.layers.1.layer_norm1.weight', 'vpm.encoder.layers.1.layer_norm2.bias', 'vpm.encoder.layers.1.layer_norm2.weight', 'vpm.encoder.layers.1.mlp.fc1.bias', 'vpm.encoder.layers.1.mlp.fc1.weight', 'vpm.encoder.layers.1.mlp.fc2.bias', 'vpm.encoder.layers.1.mlp.fc2.weight', 'vpm.encoder.layers.1.self_attn.k_proj.bias', 'vpm.encoder.layers.1.self_attn.k_proj.weight', 'vpm.encoder.layers.1.self_attn.out_proj.bias', 'vpm.encoder.layers.1.self_attn.out_proj.weight', 'vpm.encoder.layers.1.self_attn.q_proj.bias', 'vpm.encoder.layers.1.self_attn.q_proj.weight', 'vpm.encoder.layers.1.self_attn.v_proj.bias', 'vpm.encoder.layers.1.self_attn.v_proj.weight', 'vpm.encoder.layers.10.layer_norm1.bias', 'vpm.encoder.layers.10.layer_norm1.weight', 'vpm.encoder.layers.10.layer_norm2.bias', 'vpm.encoder.layers.10.layer_norm2.weight', 'vpm.encoder.layers.10.mlp.fc1.bias', 'vpm.encoder.layers.10.mlp.fc1.weight', 'vpm.encoder.layers.10.mlp.fc2.bias', 'vpm.encoder.layers.10.mlp.fc2.weight', 'vpm.encoder.layers.10.self_attn.k_proj.bias', 'vpm.encoder.layers.10.self_attn.k_proj.weight', 'vpm.encoder.layers.10.self_attn.out_proj.bias', 'vpm.encoder.layers.10.self_attn.out_proj.weight', 'vpm.encoder.layers.10.self_attn.q_proj.bias', 'vpm.encoder.layers.10.self_attn.q_proj.weight', 'vpm.encoder.layers.10.self_attn.v_proj.bias', 'vpm.encoder.layers.10.self_attn.v_proj.weight', 'vpm.encoder.layers.11.layer_norm1.bias', 'vpm.encoder.layers.11.layer_norm1.weight', 'vpm.encoder.layers.11.layer_norm2.bias', 'vpm.encoder.layers.11.layer_norm2.weight', 'vpm.encoder.layers.11.mlp.fc1.bias', 'vpm.encoder.layers.11.mlp.fc1.weight', 'vpm.encoder.layers.11.mlp.fc2.bias', 'vpm.encoder.layers.11.mlp.fc2.weight', 'vpm.encoder.layers.11.self_attn.k_proj.bias', 'vpm.encoder.layers.11.self_attn.k_proj.weight', 'vpm.encoder.layers.11.self_attn.out_proj.bias', 'vpm.encoder.layers.11.self_attn.out_proj.weight', 'vpm.encoder.layers.11.self_attn.q_proj.bias', 'vpm.encoder.layers.11.self_attn.q_proj.weight', 'vpm.encoder.layers.11.self_attn.v_proj.bias', 'vpm.encoder.layers.11.self_attn.v_proj.weight', 'vpm.encoder.layers.12.layer_norm1.bias', 'vpm.encoder.layers.12.layer_norm1.weight', 'vpm.encoder.layers.12.layer_norm2.bias', 'vpm.encoder.layers.12.layer_norm2.weight', 'vpm.encoder.layers.12.mlp.fc1.bias', 'vpm.encoder.layers.12.mlp.fc1.weight', 'vpm.encoder.layers.12.mlp.fc2.bias', 'vpm.encoder.layers.12.mlp.fc2.weight', 'vpm.encoder.layers.12.self_attn.k_proj.bias', 'vpm.encoder.layers.12.self_attn.k_proj.weight', 'vpm.encoder.layers.12.self_attn.out_proj.bias', 'vpm.encoder.layers.12.self_attn.out_proj.weight', 'vpm.encoder.layers.12.self_attn.q_proj.bias', 'vpm.encoder.layers.12.self_attn.q_proj.weight', 'vpm.encoder.layers.12.self_attn.v_proj.bias', 'vpm.encoder.layers.12.self_attn.v_proj.weight', 'vpm.encoder.layers.13.layer_norm1.bias', 'vpm.encoder.layers.13.layer_norm1.weight', 'vpm.encoder.layers.13.layer_norm2.bias', 'vpm.encoder.layers.13.layer_norm2.weight', 'vpm.encoder.layers.13.mlp.fc1.bias', 'vpm.encoder.layers.13.mlp.fc1.weight', 'vpm.encoder.layers.13.mlp.fc2.bias', 'vpm.encoder.layers.13.mlp.fc2.weight', 'vpm.encoder.layers.13.self_attn.k_proj.bias', 'vpm.encoder.layers.13.self_attn.k_proj.weight', 'vpm.encoder.layers.13.self_attn.out_proj.bias', 'vpm.encoder.layers.13.self_attn.out_proj.weight', 'vpm.encoder.layers.13.self_attn.q_proj.bias', 'vpm.encoder.layers.13.self_attn.q_proj.weight', 'vpm.encoder.layers.13.self_attn.v_proj.bias', 'vpm.encoder.layers.13.self_attn.v_proj.weight', 'vpm.encoder.layers.14.layer_norm1.bias', 'vpm.encoder.layers.14.layer_norm1.weight', 'vpm.encoder.layers.14.layer_norm2.bias', 'vpm.encoder.layers.14.layer_norm2.weight', 'vpm.encoder.layers.14.mlp.fc1.bias', 'vpm.encoder.layers.14.mlp.fc1.weight', 'vpm.encoder.layers.14.mlp.fc2.bias', 'vpm.encoder.layers.14.mlp.fc2.weight', 'vpm.encoder.layers.14.self_attn.k_proj.bias', 'vpm.encoder.layers.14.self_attn.k_proj.weight', 'vpm.encoder.layers.14.self_attn.out_proj.bias', 'vpm.encoder.layers.14.self_attn.out_proj.weight', 'vpm.encoder.layers.14.self_attn.q_proj.bias', 'vpm.encoder.layers.14.self_attn.q_proj.weight', 'vpm.encoder.layers.14.self_attn.v_proj.bias', 'vpm.encoder.layers.14.self_attn.v_proj.weight', 'vpm.encoder.layers.15.layer_norm1.bias', 'vpm.encoder.layers.15.layer_norm1.weight', 'vpm.encoder.layers.15.layer_norm2.bias', 'vpm.encoder.layers.15.layer_norm2.weight', 'vpm.encoder.layers.15.mlp.fc1.bias', 'vpm.encoder.layers.15.mlp.fc1.weight', 'vpm.encoder.layers.15.mlp.fc2.bias', 'vpm.encoder.layers.15.mlp.fc2.weight', 'vpm.encoder.layers.15.self_attn.k_proj.bias', 'vpm.encoder.layers.15.self_attn.k_proj.weight', 'vpm.encoder.layers.15.self_attn.out_proj.bias', 'vpm.encoder.layers.15.self_attn.out_proj.weight', 'vpm.encoder.layers.15.self_attn.q_proj.bias', 'vpm.encoder.layers.15.self_attn.q_proj.weight', 'vpm.encoder.layers.15.self_attn.v_proj.bias', 'vpm.encoder.layers.15.self_attn.v_proj.weight', 'vpm.encoder.layers.16.layer_norm1.bias', 'vpm.encoder.layers.16.layer_norm1.weight', 'vpm.encoder.layers.16.layer_norm2.bias', 'vpm.encoder.layers.16.layer_norm2.weight', 'vpm.encoder.layers.16.mlp.fc1.bias', 'vpm.encoder.layers.16.mlp.fc1.weight', 'vpm.encoder.layers.16.mlp.fc2.bias', 'vpm.encoder.layers.16.mlp.fc2.weight', 'vpm.encoder.layers.16.self_attn.k_proj.bias', 'vpm.encoder.layers.16.self_attn.k_proj.weight', 'vpm.encoder.layers.16.self_attn.out_proj.bias', 'vpm.encoder.layers.16.self_attn.out_proj.weight', 'vpm.encoder.layers.16.self_attn.q_proj.bias', 'vpm.encoder.layers.16.self_attn.q_proj.weight', 'vpm.encoder.layers.16.self_attn.v_proj.bias', 'vpm.encoder.layers.16.self_attn.v_proj.weight', 'vpm.encoder.layers.17.layer_norm1.bias', 'vpm.encoder.layers.17.layer_norm1.weight', 'vpm.encoder.layers.17.layer_norm2.bias', 'vpm.encoder.layers.17.layer_norm2.weight', 'vpm.encoder.layers.17.mlp.fc1.bias', 'vpm.encoder.layers.17.mlp.fc1.weight', 'vpm.encoder.layers.17.mlp.fc2.bias', 'vpm.encoder.layers.17.mlp.fc2.weight', 'vpm.encoder.layers.17.self_attn.k_proj.bias', 'vpm.encoder.layers.17.self_attn.k_proj.weight', 'vpm.encoder.layers.17.self_attn.out_proj.bias', 'vpm.encoder.layers.17.self_attn.out_proj.weight', 'vpm.encoder.layers.17.self_attn.q_proj.bias', 'vpm.encoder.layers.17.self_attn.q_proj.weight', 'vpm.encoder.layers.17.self_attn.v_proj.bias', 'vpm.encoder.layers.17.self_attn.v_proj.weight', 'vpm.encoder.layers.18.layer_norm1.bias', 'vpm.encoder.layers.18.layer_norm1.weight', 'vpm.encoder.layers.18.layer_norm2.bias', 'vpm.encoder.layers.18.layer_norm2.weight', 'vpm.encoder.layers.18.mlp.fc1.bias', 'vpm.encoder.layers.18.mlp.fc1.weight', 'vpm.encoder.layers.18.mlp.fc2.bias', 'vpm.encoder.layers.18.mlp.fc2.weight', 'vpm.encoder.layers.18.self_attn.k_proj.bias', 'vpm.encoder.layers.18.self_attn.k_proj.weight', 'vpm.encoder.layers.18.self_attn.out_proj.bias', 'vpm.encoder.layers.18.self_attn.out_proj.weight', 'vpm.encoder.layers.18.self_attn.q_proj.bias', 'vpm.encoder.layers.18.self_attn.q_proj.weight', 'vpm.encoder.layers.18.self_attn.v_proj.bias', 'vpm.encoder.layers.18.self_attn.v_proj.weight', 'vpm.encoder.layers.19.layer_norm1.bias', 'vpm.encoder.layers.19.layer_norm1.weight', 'vpm.encoder.layers.19.layer_norm2.bias', 'vpm.encoder.layers.19.layer_norm2.weight', 'vpm.encoder.layers.19.mlp.fc1.bias', 'vpm.encoder.layers.19.mlp.fc1.weight', 'vpm.encoder.layers.19.mlp.fc2.bias', 'vpm.encoder.layers.19.mlp.fc2.weight', 'vpm.encoder.layers.19.self_attn.k_proj.bias', 'vpm.encoder.layers.19.self_attn.k_proj.weight', 'vpm.encoder.layers.19.self_attn.out_proj.bias', 'vpm.encoder.layers.19.self_attn.out_proj.weight', 'vpm.encoder.layers.19.self_attn.q_proj.bias', 'vpm.encoder.layers.19.self_attn.q_proj.weight', 'vpm.encoder.layers.19.self_attn.v_proj.bias', 'vpm.encoder.layers.19.self_attn.v_proj.weight', 'vpm.encoder.layers.2.layer_norm1.bias', 'vpm.encoder.layers.2.layer_norm1.weight', 'vpm.encoder.layers.2.layer_norm2.bias', 'vpm.encoder.layers.2.layer_norm2.weight', 'vpm.encoder.layers.2.mlp.fc1.bias', 'vpm.encoder.layers.2.mlp.fc1.weight', 'vpm.encoder.layers.2.mlp.fc2.bias', 'vpm.encoder.layers.2.mlp.fc2.weight', 'vpm.encoder.layers.2.self_attn.k_proj.bias', 'vpm.encoder.layers.2.self_attn.k_proj.weight', 'vpm.encoder.layers.2.self_attn.out_proj.bias', 'vpm.encoder.layers.2.self_attn.out_proj.weight', 'vpm.encoder.layers.2.self_attn.q_proj.bias', 'vpm.encoder.layers.2.self_attn.q_proj.weight', 'vpm.encoder.layers.2.self_attn.v_proj.bias', 'vpm.encoder.layers.2.self_attn.v_proj.weight', 'vpm.encoder.layers.20.layer_norm1.bias', 'vpm.encoder.layers.20.layer_norm1.weight', 'vpm.encoder.layers.20.layer_norm2.bias', 'vpm.encoder.layers.20.layer_norm2.weight', 'vpm.encoder.layers.20.mlp.fc1.bias', 'vpm.encoder.layers.20.mlp.fc1.weight', 'vpm.encoder.layers.20.mlp.fc2.bias', 'vpm.encoder.layers.20.mlp.fc2.weight', 'vpm.encoder.layers.20.self_attn.k_proj.bias', 'vpm.encoder.layers.20.self_attn.k_proj.weight', 'vpm.encoder.layers.20.self_attn.out_proj.bias', 'vpm.encoder.layers.20.self_attn.out_proj.weight', 'vpm.encoder.layers.20.self_attn.q_proj.bias', 'vpm.encoder.layers.20.self_attn.q_proj.weight', 'vpm.encoder.layers.20.self_attn.v_proj.bias', 'vpm.encoder.layers.20.self_attn.v_proj.weight', 'vpm.encoder.layers.21.layer_norm1.bias', 'vpm.encoder.layers.21.layer_norm1.weight', 'vpm.encoder.layers.21.layer_norm2.bias', 'vpm.encoder.layers.21.layer_norm2.weight', 'vpm.encoder.layers.21.mlp.fc1.bias', 'vpm.encoder.layers.21.mlp.fc1.weight', 'vpm.encoder.layers.21.mlp.fc2.bias', 'vpm.encoder.layers.21.mlp.fc2.weight', 'vpm.encoder.layers.21.self_attn.k_proj.bias', 'vpm.encoder.layers.21.self_attn.k_proj.weight', 'vpm.encoder.layers.21.self_attn.out_proj.bias', 'vpm.encoder.layers.21.self_attn.out_proj.weight', 'vpm.encoder.layers.21.self_attn.q_proj.bias', 'vpm.encoder.layers.21.self_attn.q_proj.weight', 'vpm.encoder.layers.21.self_attn.v_proj.bias', 'vpm.encoder.layers.21.self_attn.v_proj.weight', 'vpm.encoder.layers.22.layer_norm1.bias', 'vpm.encoder.layers.22.layer_norm1.weight', 'vpm.encoder.layers.22.layer_norm2.bias', 'vpm.encoder.layers.22.layer_norm2.weight', 'vpm.encoder.layers.22.mlp.fc1.bias', 'vpm.encoder.layers.22.mlp.fc1.weight', 'vpm.encoder.layers.22.mlp.fc2.bias', 'vpm.encoder.layers.22.mlp.fc2.weight', 'vpm.encoder.layers.22.self_attn.k_proj.bias', 'vpm.encoder.layers.22.self_attn.k_proj.weight', 'vpm.encoder.layers.22.self_attn.out_proj.bias', 'vpm.encoder.layers.22.self_attn.out_proj.weight', 'vpm.encoder.layers.22.self_attn.q_proj.bias', 'vpm.encoder.layers.22.self_attn.q_proj.weight', 'vpm.encoder.layers.22.self_attn.v_proj.bias', 'vpm.encoder.layers.22.self_attn.v_proj.weight', 'vpm.encoder.layers.23.layer_norm1.bias', 'vpm.encoder.layers.23.layer_norm1.weight', 'vpm.encoder.layers.23.layer_norm2.bias', 'vpm.encoder.layers.23.layer_norm2.weight', 'vpm.encoder.layers.23.mlp.fc1.bias', 'vpm.encoder.layers.23.mlp.fc1.weight', 'vpm.encoder.layers.23.mlp.fc2.bias', 'vpm.encoder.layers.23.mlp.fc2.weight', 'vpm.encoder.layers.23.self_attn.k_proj.bias', 'vpm.encoder.layers.23.self_attn.k_proj.weight', 'vpm.encoder.layers.23.self_attn.out_proj.bias', 'vpm.encoder.layers.23.self_attn.out_proj.weight', 'vpm.encoder.layers.23.self_attn.q_proj.bias', 'vpm.encoder.layers.23.self_attn.q_proj.weight', 'vpm.encoder.layers.23.self_attn.v_proj.bias', 'vpm.encoder.layers.23.self_attn.v_proj.weight', 'vpm.encoder.layers.24.layer_norm1.bias', 'vpm.encoder.layers.24.layer_norm1.weight', 'vpm.encoder.layers.24.layer_norm2.bias', 'vpm.encoder.layers.24.layer_norm2.weight', 'vpm.encoder.layers.24.mlp.fc1.bias', 'vpm.encoder.layers.24.mlp.fc1.weight', 'vpm.encoder.layers.24.mlp.fc2.bias', 'vpm.encoder.layers.24.mlp.fc2.weight', 'vpm.encoder.layers.24.self_attn.k_proj.bias', 'vpm.encoder.layers.24.self_attn.k_proj.weight', 'vpm.encoder.layers.24.self_attn.out_proj.bias', 'vpm.encoder.layers.24.self_attn.out_proj.weight', 'vpm.encoder.layers.24.self_attn.q_proj.bias', 'vpm.encoder.layers.24.self_attn.q_proj.weight', 'vpm.encoder.layers.24.self_attn.v_proj.bias', 'vpm.encoder.layers.24.self_attn.v_proj.weight', 'vpm.encoder.layers.25.layer_norm1.bias', 'vpm.encoder.layers.25.layer_norm1.weight', 'vpm.encoder.layers.25.layer_norm2.bias', 'vpm.encoder.layers.25.layer_norm2.weight', 'vpm.encoder.layers.25.mlp.fc1.bias', 'vpm.encoder.layers.25.mlp.fc1.weight', 'vpm.encoder.layers.25.mlp.fc2.bias', 'vpm.encoder.layers.25.mlp.fc2.weight', 'vpm.encoder.layers.25.self_attn.k_proj.bias', 'vpm.encoder.layers.25.self_attn.k_proj.weight', 'vpm.encoder.layers.25.self_attn.out_proj.bias', 'vpm.encoder.layers.25.self_attn.out_proj.weight', 'vpm.encoder.layers.25.self_attn.q_proj.bias', 'vpm.encoder.layers.25.self_attn.q_proj.weight', 'vpm.encoder.layers.25.self_attn.v_proj.bias', 'vpm.encoder.layers.25.self_attn.v_proj.weight', 'vpm.encoder.layers.26.layer_norm1.bias', 'vpm.encoder.layers.26.layer_norm1.weight', 'vpm.encoder.layers.26.layer_norm2.bias', 'vpm.encoder.layers.26.layer_norm2.weight', 'vpm.encoder.layers.26.mlp.fc1.bias', 'vpm.encoder.layers.26.mlp.fc1.weight', 'vpm.encoder.layers.26.mlp.fc2.bias', 'vpm.encoder.layers.26.mlp.fc2.weight', 'vpm.encoder.layers.26.self_attn.k_proj.bias', 'vpm.encoder.layers.26.self_attn.k_proj.weight', 'vpm.encoder.layers.26.self_attn.out_proj.bias', 'vpm.encoder.layers.26.self_attn.out_proj.weight', 'vpm.encoder.layers.26.self_attn.q_proj.bias', 'vpm.encoder.layers.26.self_attn.q_proj.weight', 'vpm.encoder.layers.26.self_attn.v_proj.bias', 'vpm.encoder.layers.26.self_attn.v_proj.weight', 'vpm.encoder.layers.3.layer_norm1.bias', 'vpm.encoder.layers.3.layer_norm1.weight', 'vpm.encoder.layers.3.layer_norm2.bias', 'vpm.encoder.layers.3.layer_norm2.weight', 'vpm.encoder.layers.3.mlp.fc1.bias', 'vpm.encoder.layers.3.mlp.fc1.weight', 'vpm.encoder.layers.3.mlp.fc2.bias', 'vpm.encoder.layers.3.mlp.fc2.weight', 'vpm.encoder.layers.3.self_attn.k_proj.bias', 'vpm.encoder.layers.3.self_attn.k_proj.weight', 'vpm.encoder.layers.3.self_attn.out_proj.bias', 'vpm.encoder.layers.3.self_attn.out_proj.weight', 'vpm.encoder.layers.3.self_attn.q_proj.bias', 'vpm.encoder.layers.3.self_attn.q_proj.weight', 'vpm.encoder.layers.3.self_attn.v_proj.bias', 'vpm.encoder.layers.3.self_attn.v_proj.weight', 'vpm.encoder.layers.4.layer_norm1.bias', 'vpm.encoder.layers.4.layer_norm1.weight', 'vpm.encoder.layers.4.layer_norm2.bias', 'vpm.encoder.layers.4.layer_norm2.weight', 'vpm.encoder.layers.4.mlp.fc1.bias', 'vpm.encoder.layers.4.mlp.fc1.weight', 'vpm.encoder.layers.4.mlp.fc2.bias', 'vpm.encoder.layers.4.mlp.fc2.weight', 'vpm.encoder.layers.4.self_attn.k_proj.bias', 'vpm.encoder.layers.4.self_attn.k_proj.weight', 'vpm.encoder.layers.4.self_attn.out_proj.bias', 'vpm.encoder.layers.4.self_attn.out_proj.weight', 'vpm.encoder.layers.4.self_attn.q_proj.bias', 'vpm.encoder.layers.4.self_attn.q_proj.weight', 'vpm.encoder.layers.4.self_attn.v_proj.bias', 'vpm.encoder.layers.4.self_attn.v_proj.weight', 'vpm.encoder.layers.5.layer_norm1.bias', 'vpm.encoder.layers.5.layer_norm1.weight', 'vpm.encoder.layers.5.layer_norm2.bias', 'vpm.encoder.layers.5.layer_norm2.weight', 'vpm.encoder.layers.5.mlp.fc1.bias', 'vpm.encoder.layers.5.mlp.fc1.weight', 'vpm.encoder.layers.5.mlp.fc2.bias', 'vpm.encoder.layers.5.mlp.fc2.weight', 'vpm.encoder.layers.5.self_attn.k_proj.bias', 'vpm.encoder.layers.5.self_attn.k_proj.weight', 'vpm.encoder.layers.5.self_attn.out_proj.bias', 'vpm.encoder.layers.5.self_attn.out_proj.weight', 'vpm.encoder.layers.5.self_attn.q_proj.bias', 'vpm.encoder.layers.5.self_attn.q_proj.weight', 'vpm.encoder.layers.5.self_attn.v_proj.bias', 'vpm.encoder.layers.5.self_attn.v_proj.weight', 'vpm.encoder.layers.6.layer_norm1.bias', 'vpm.encoder.layers.6.layer_norm1.weight', 'vpm.encoder.layers.6.layer_norm2.bias', 'vpm.encoder.layers.6.layer_norm2.weight', 'vpm.encoder.layers.6.mlp.fc1.bias', 'vpm.encoder.layers.6.mlp.fc1.weight', 'vpm.encoder.layers.6.mlp.fc2.bias', 'vpm.encoder.layers.6.mlp.fc2.weight', 'vpm.encoder.layers.6.self_attn.k_proj.bias', 'vpm.encoder.layers.6.self_attn.k_proj.weight', 'vpm.encoder.layers.6.self_attn.out_proj.bias', 'vpm.encoder.layers.6.self_attn.out_proj.weight', 'vpm.encoder.layers.6.self_attn.q_proj.bias', 'vpm.encoder.layers.6.self_attn.q_proj.weight', 'vpm.encoder.layers.6.self_attn.v_proj.bias', 'vpm.encoder.layers.6.self_attn.v_proj.weight', 'vpm.encoder.layers.7.layer_norm1.bias', 'vpm.encoder.layers.7.layer_norm1.weight', 'vpm.encoder.layers.7.layer_norm2.bias', 'vpm.encoder.layers.7.layer_norm2.weight', 'vpm.encoder.layers.7.mlp.fc1.bias', 'vpm.encoder.layers.7.mlp.fc1.weight', 'vpm.encoder.layers.7.mlp.fc2.bias', 'vpm.encoder.layers.7.mlp.fc2.weight', 'vpm.encoder.layers.7.self_attn.k_proj.bias', 'vpm.encoder.layers.7.self_attn.k_proj.weight', 'vpm.encoder.layers.7.self_attn.out_proj.bias', 'vpm.encoder.layers.7.self_attn.out_proj.weight', 'vpm.encoder.layers.7.self_attn.q_proj.bias', 'vpm.encoder.layers.7.self_attn.q_proj.weight', 'vpm.encoder.layers.7.self_attn.v_proj.bias', 'vpm.encoder.layers.7.self_attn.v_proj.weight', 'vpm.encoder.layers.8.layer_norm1.bias', 'vpm.encoder.layers.8.layer_norm1.weight', 'vpm.encoder.layers.8.layer_norm2.bias', 'vpm.encoder.layers.8.layer_norm2.weight', 'vpm.encoder.layers.8.mlp.fc1.bias', 'vpm.encoder.layers.8.mlp.fc1.weight', 'vpm.encoder.layers.8.mlp.fc2.bias', 'vpm.encoder.layers.8.mlp.fc2.weight', 'vpm.encoder.layers.8.self_attn.k_proj.bias', 'vpm.encoder.layers.8.self_attn.k_proj.weight', 'vpm.encoder.layers.8.self_attn.out_proj.bias', 'vpm.encoder.layers.8.self_attn.out_proj.weight', 'vpm.encoder.layers.8.self_attn.q_proj.bias', 'vpm.encoder.layers.8.self_attn.q_proj.weight', 'vpm.encoder.layers.8.self_attn.v_proj.bias', 'vpm.encoder.layers.8.self_attn.v_proj.weight', 'vpm.encoder.layers.9.layer_norm1.bias', 'vpm.encoder.layers.9.layer_norm1.weight', 'vpm.encoder.layers.9.layer_norm2.bias', 'vpm.encoder.layers.9.layer_norm2.weight', 'vpm.encoder.layers.9.mlp.fc1.bias', 'vpm.encoder.layers.9.mlp.fc1.weight', 'vpm.encoder.layers.9.mlp.fc2.bias', 'vpm.encoder.layers.9.mlp.fc2.weight', 'vpm.encoder.layers.9.self_attn.k_proj.bias', 'vpm.encoder.layers.9.self_attn.k_proj.weight', 'vpm.encoder.layers.9.self_attn.out_proj.bias', 'vpm.encoder.layers.9.self_attn.out_proj.weight', 'vpm.encoder.layers.9.self_attn.q_proj.bias', 'vpm.encoder.layers.9.self_attn.q_proj.weight', 'vpm.encoder.layers.9.self_attn.v_proj.bias', 'vpm.encoder.layers.9.self_attn.v_proj.weight', 'vpm.post_layernorm.bias', 'vpm.post_layernorm.weight']
- This IS expected if you are initializing Qwen2ForCausalLM from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing Qwen2ForCausalLM from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.
Setting `pad_token_id` to `eos_token_id`:151643 for open-end generation.
The attention mask is not set and cannot be inferred from input because pad token is same as eos token. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.
这张图片捕捉到了一个城市街道的瞬间,可能是在一个晴朗

使用以下代码转换成rkllm:

from rkllm.api import RKLLM

modelpath = '.'
llm = RKLLM()

ret = llm.load_huggingface(model=modelpath, model_lora=None, device='cpu')
if ret != 0:
    print('Load model failed!')
    exit(ret)

qparams = None
ret = llm.build(do_quantization=True, optimization_level=1, quantized_dtype='w8a8',
                quantized_algorithm='normal', target_platform='rk3588', num_npu_core=3, extra_qparams=qparams)

if ret != 0:
    print('Build model failed!')
    exit(ret)

# Export rkllm model
ret = llm.export_rkllm("./qwen.rkllm")
if ret != 0:
    print('Export model failed!')
    exit(ret)
>python ./rkllm-convert.py                                                                                                                                                (rknn) 
INFO: rkllm-toolkit version: 1.1.0
The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [01:50<00:00, 27.73s/it]
Some weights of the model checkpoint at . were not used when initializing Qwen2ForCausalLM: ['resampler.attn.in_proj_bias', 'resampler.attn.in_proj_weight', 'resampler.attn.out_proj.bias', 'resampler.attn.out_proj.weight', 'resampler.kv_proj.weight', 'resampler.ln_kv.bias', 'resampler.ln_kv.weight', 'resampler.ln_post.bias', 'resampler.ln_post.weight', 'resampler.ln_q.bias', 'resampler.ln_q.weight', 'resampler.proj', 'resampler.query', 'vpm.embeddings.patch_embedding.bias', 'vpm.embeddings.patch_embedding.weight', 'vpm.embeddings.position_embedding.weight', 'vpm.encoder.layers.0.layer_norm1.bias', 'vpm.encoder.layers.0.layer_norm1.weight', 'vpm.encoder.layers.0.layer_norm2.bias', 'vpm.encoder.layers.0.layer_norm2.weight', 'vpm.encoder.layers.0.mlp.fc1.bias', 'vpm.encoder.layers.0.mlp.fc1.weight', 'vpm.encoder.layers.0.mlp.fc2.bias', 'vpm.encoder.layers.0.mlp.fc2.weight', 'vpm.encoder.layers.0.self_attn.k_proj.bias', 'vpm.encoder.layers.0.self_attn.k_proj.weight', 'vpm.encoder.layers.0.self_attn.out_proj.bias', 'vpm.encoder.layers.0.self_attn.out_proj.weight', 'vpm.encoder.layers.0.self_attn.q_proj.bias', 'vpm.encoder.layers.0.self_attn.q_proj.weight', 'vpm.encoder.layers.0.self_attn.v_proj.bias', 'vpm.encoder.layers.0.self_attn.v_proj.weight', 'vpm.encoder.layers.1.layer_norm1.bias', 'vpm.encoder.layers.1.layer_norm1.weight', 'vpm.encoder.layers.1.layer_norm2.bias', 'vpm.encoder.layers.1.layer_norm2.weight', 'vpm.encoder.layers.1.mlp.fc1.bias', 'vpm.encoder.layers.1.mlp.fc1.weight', 'vpm.encoder.layers.1.mlp.fc2.bias', 'vpm.encoder.layers.1.mlp.fc2.weight', 'vpm.encoder.layers.1.self_attn.k_proj.bias', 'vpm.encoder.layers.1.self_attn.k_proj.weight', 'vpm.encoder.layers.1.self_attn.out_proj.bias', 'vpm.encoder.layers.1.self_attn.out_proj.weight', 'vpm.encoder.layers.1.self_attn.q_proj.bias', 'vpm.encoder.layers.1.self_attn.q_proj.weight', 'vpm.encoder.layers.1.self_attn.v_proj.bias', 'vpm.encoder.layers.1.self_attn.v_proj.weight', 'vpm.encoder.layers.10.layer_norm1.bias', 'vpm.encoder.layers.10.layer_norm1.weight', 'vpm.encoder.layers.10.layer_norm2.bias', 'vpm.encoder.layers.10.layer_norm2.weight', 'vpm.encoder.layers.10.mlp.fc1.bias', 'vpm.encoder.layers.10.mlp.fc1.weight', 'vpm.encoder.layers.10.mlp.fc2.bias', 'vpm.encoder.layers.10.mlp.fc2.weight', 'vpm.encoder.layers.10.self_attn.k_proj.bias', 'vpm.encoder.layers.10.self_attn.k_proj.weight', 'vpm.encoder.layers.10.self_attn.out_proj.bias', 'vpm.encoder.layers.10.self_attn.out_proj.weight', 'vpm.encoder.layers.10.self_attn.q_proj.bias', 'vpm.encoder.layers.10.self_attn.q_proj.weight', 'vpm.encoder.layers.10.self_attn.v_proj.bias', 'vpm.encoder.layers.10.self_attn.v_proj.weight', 'vpm.encoder.layers.11.layer_norm1.bias', 'vpm.encoder.layers.11.layer_norm1.weight', 'vpm.encoder.layers.11.layer_norm2.bias', 'vpm.encoder.layers.11.layer_norm2.weight', 'vpm.encoder.layers.11.mlp.fc1.bias', 'vpm.encoder.layers.11.mlp.fc1.weight', 'vpm.encoder.layers.11.mlp.fc2.bias', 'vpm.encoder.layers.11.mlp.fc2.weight', 'vpm.encoder.layers.11.self_attn.k_proj.bias', 'vpm.encoder.layers.11.self_attn.k_proj.weight', 'vpm.encoder.layers.11.self_attn.out_proj.bias', 'vpm.encoder.layers.11.self_attn.out_proj.weight', 'vpm.encoder.layers.11.self_attn.q_proj.bias', 'vpm.encoder.layers.11.self_attn.q_proj.weight', 'vpm.encoder.layers.11.self_attn.v_proj.bias', 'vpm.encoder.layers.11.self_attn.v_proj.weight', 'vpm.encoder.layers.12.layer_norm1.bias', 'vpm.encoder.layers.12.layer_norm1.weight', 'vpm.encoder.layers.12.layer_norm2.bias', 'vpm.encoder.layers.12.layer_norm2.weight', 'vpm.encoder.layers.12.mlp.fc1.bias', 'vpm.encoder.layers.12.mlp.fc1.weight', 'vpm.encoder.layers.12.mlp.fc2.bias', 'vpm.encoder.layers.12.mlp.fc2.weight', 'vpm.encoder.layers.12.self_attn.k_proj.bias', 'vpm.encoder.layers.12.self_attn.k_proj.weight', 'vpm.encoder.layers.12.self_attn.out_proj.bias', 'vpm.encoder.layers.12.self_attn.out_proj.weight', 'vpm.encoder.layers.12.self_attn.q_proj.bias', 'vpm.encoder.layers.12.self_attn.q_proj.weight', 'vpm.encoder.layers.12.self_attn.v_proj.bias', 'vpm.encoder.layers.12.self_attn.v_proj.weight', 'vpm.encoder.layers.13.layer_norm1.bias', 'vpm.encoder.layers.13.layer_norm1.weight', 'vpm.encoder.layers.13.layer_norm2.bias', 'vpm.encoder.layers.13.layer_norm2.weight', 'vpm.encoder.layers.13.mlp.fc1.bias', 'vpm.encoder.layers.13.mlp.fc1.weight', 'vpm.encoder.layers.13.mlp.fc2.bias', 'vpm.encoder.layers.13.mlp.fc2.weight', 'vpm.encoder.layers.13.self_attn.k_proj.bias', 'vpm.encoder.layers.13.self_attn.k_proj.weight', 'vpm.encoder.layers.13.self_attn.out_proj.bias', 'vpm.encoder.layers.13.self_attn.out_proj.weight', 'vpm.encoder.layers.13.self_attn.q_proj.bias', 'vpm.encoder.layers.13.self_attn.q_proj.weight', 'vpm.encoder.layers.13.self_attn.v_proj.bias', 'vpm.encoder.layers.13.self_attn.v_proj.weight', 'vpm.encoder.layers.14.layer_norm1.bias', 'vpm.encoder.layers.14.layer_norm1.weight', 'vpm.encoder.layers.14.layer_norm2.bias', 'vpm.encoder.layers.14.layer_norm2.weight', 'vpm.encoder.layers.14.mlp.fc1.bias', 'vpm.encoder.layers.14.mlp.fc1.weight', 'vpm.encoder.layers.14.mlp.fc2.bias', 'vpm.encoder.layers.14.mlp.fc2.weight', 'vpm.encoder.layers.14.self_attn.k_proj.bias', 'vpm.encoder.layers.14.self_attn.k_proj.weight', 'vpm.encoder.layers.14.self_attn.out_proj.bias', 'vpm.encoder.layers.14.self_attn.out_proj.weight', 'vpm.encoder.layers.14.self_attn.q_proj.bias', 'vpm.encoder.layers.14.self_attn.q_proj.weight', 'vpm.encoder.layers.14.self_attn.v_proj.bias', 'vpm.encoder.layers.14.self_attn.v_proj.weight', 'vpm.encoder.layers.15.layer_norm1.bias', 'vpm.encoder.layers.15.layer_norm1.weight', 'vpm.encoder.layers.15.layer_norm2.bias', 'vpm.encoder.layers.15.layer_norm2.weight', 'vpm.encoder.layers.15.mlp.fc1.bias', 'vpm.encoder.layers.15.mlp.fc1.weight', 'vpm.encoder.layers.15.mlp.fc2.bias', 'vpm.encoder.layers.15.mlp.fc2.weight', 'vpm.encoder.layers.15.self_attn.k_proj.bias', 'vpm.encoder.layers.15.self_attn.k_proj.weight', 'vpm.encoder.layers.15.self_attn.out_proj.bias', 'vpm.encoder.layers.15.self_attn.out_proj.weight', 'vpm.encoder.layers.15.self_attn.q_proj.bias', 'vpm.encoder.layers.15.self_attn.q_proj.weight', 'vpm.encoder.layers.15.self_attn.v_proj.bias', 'vpm.encoder.layers.15.self_attn.v_proj.weight', 'vpm.encoder.layers.16.layer_norm1.bias', 'vpm.encoder.layers.16.layer_norm1.weight', 'vpm.encoder.layers.16.layer_norm2.bias', 'vpm.encoder.layers.16.layer_norm2.weight', 'vpm.encoder.layers.16.mlp.fc1.bias', 'vpm.encoder.layers.16.mlp.fc1.weight', 'vpm.encoder.layers.16.mlp.fc2.bias', 'vpm.encoder.layers.16.mlp.fc2.weight', 'vpm.encoder.layers.16.self_attn.k_proj.bias', 'vpm.encoder.layers.16.self_attn.k_proj.weight', 'vpm.encoder.layers.16.self_attn.out_proj.bias', 'vpm.encoder.layers.16.self_attn.out_proj.weight', 'vpm.encoder.layers.16.self_attn.q_proj.bias', 'vpm.encoder.layers.16.self_attn.q_proj.weight', 'vpm.encoder.layers.16.self_attn.v_proj.bias', 'vpm.encoder.layers.16.self_attn.v_proj.weight', 'vpm.encoder.layers.17.layer_norm1.bias', 'vpm.encoder.layers.17.layer_norm1.weight', 'vpm.encoder.layers.17.layer_norm2.bias', 'vpm.encoder.layers.17.layer_norm2.weight', 'vpm.encoder.layers.17.mlp.fc1.bias', 'vpm.encoder.layers.17.mlp.fc1.weight', 'vpm.encoder.layers.17.mlp.fc2.bias', 'vpm.encoder.layers.17.mlp.fc2.weight', 'vpm.encoder.layers.17.self_attn.k_proj.bias', 'vpm.encoder.layers.17.self_attn.k_proj.weight', 'vpm.encoder.layers.17.self_attn.out_proj.bias', 'vpm.encoder.layers.17.self_attn.out_proj.weight', 'vpm.encoder.layers.17.self_attn.q_proj.bias', 'vpm.encoder.layers.17.self_attn.q_proj.weight', 'vpm.encoder.layers.17.self_attn.v_proj.bias', 'vpm.encoder.layers.17.self_attn.v_proj.weight', 'vpm.encoder.layers.18.layer_norm1.bias', 'vpm.encoder.layers.18.layer_norm1.weight', 'vpm.encoder.layers.18.layer_norm2.bias', 'vpm.encoder.layers.18.layer_norm2.weight', 'vpm.encoder.layers.18.mlp.fc1.bias', 'vpm.encoder.layers.18.mlp.fc1.weight', 'vpm.encoder.layers.18.mlp.fc2.bias', 'vpm.encoder.layers.18.mlp.fc2.weight', 'vpm.encoder.layers.18.self_attn.k_proj.bias', 'vpm.encoder.layers.18.self_attn.k_proj.weight', 'vpm.encoder.layers.18.self_attn.out_proj.bias', 'vpm.encoder.layers.18.self_attn.out_proj.weight', 'vpm.encoder.layers.18.self_attn.q_proj.bias', 'vpm.encoder.layers.18.self_attn.q_proj.weight', 'vpm.encoder.layers.18.self_attn.v_proj.bias', 'vpm.encoder.layers.18.self_attn.v_proj.weight', 'vpm.encoder.layers.19.layer_norm1.bias', 'vpm.encoder.layers.19.layer_norm1.weight', 'vpm.encoder.layers.19.layer_norm2.bias', 'vpm.encoder.layers.19.layer_norm2.weight', 'vpm.encoder.layers.19.mlp.fc1.bias', 'vpm.encoder.layers.19.mlp.fc1.weight', 'vpm.encoder.layers.19.mlp.fc2.bias', 'vpm.encoder.layers.19.mlp.fc2.weight', 'vpm.encoder.layers.19.self_attn.k_proj.bias', 'vpm.encoder.layers.19.self_attn.k_proj.weight', 'vpm.encoder.layers.19.self_attn.out_proj.bias', 'vpm.encoder.layers.19.self_attn.out_proj.weight', 'vpm.encoder.layers.19.self_attn.q_proj.bias', 'vpm.encoder.layers.19.self_attn.q_proj.weight', 'vpm.encoder.layers.19.self_attn.v_proj.bias', 'vpm.encoder.layers.19.self_attn.v_proj.weight', 'vpm.encoder.layers.2.layer_norm1.bias', 'vpm.encoder.layers.2.layer_norm1.weight', 'vpm.encoder.layers.2.layer_norm2.bias', 'vpm.encoder.layers.2.layer_norm2.weight', 'vpm.encoder.layers.2.mlp.fc1.bias', 'vpm.encoder.layers.2.mlp.fc1.weight', 'vpm.encoder.layers.2.mlp.fc2.bias', 'vpm.encoder.layers.2.mlp.fc2.weight', 'vpm.encoder.layers.2.self_attn.k_proj.bias', 'vpm.encoder.layers.2.self_attn.k_proj.weight', 'vpm.encoder.layers.2.self_attn.out_proj.bias', 'vpm.encoder.layers.2.self_attn.out_proj.weight', 'vpm.encoder.layers.2.self_attn.q_proj.bias', 'vpm.encoder.layers.2.self_attn.q_proj.weight', 'vpm.encoder.layers.2.self_attn.v_proj.bias', 'vpm.encoder.layers.2.self_attn.v_proj.weight', 'vpm.encoder.layers.20.layer_norm1.bias', 'vpm.encoder.layers.20.layer_norm1.weight', 'vpm.encoder.layers.20.layer_norm2.bias', 'vpm.encoder.layers.20.layer_norm2.weight', 'vpm.encoder.layers.20.mlp.fc1.bias', 'vpm.encoder.layers.20.mlp.fc1.weight', 'vpm.encoder.layers.20.mlp.fc2.bias', 'vpm.encoder.layers.20.mlp.fc2.weight', 'vpm.encoder.layers.20.self_attn.k_proj.bias', 'vpm.encoder.layers.20.self_attn.k_proj.weight', 'vpm.encoder.layers.20.self_attn.out_proj.bias', 'vpm.encoder.layers.20.self_attn.out_proj.weight', 'vpm.encoder.layers.20.self_attn.q_proj.bias', 'vpm.encoder.layers.20.self_attn.q_proj.weight', 'vpm.encoder.layers.20.self_attn.v_proj.bias', 'vpm.encoder.layers.20.self_attn.v_proj.weight', 'vpm.encoder.layers.21.layer_norm1.bias', 'vpm.encoder.layers.21.layer_norm1.weight', 'vpm.encoder.layers.21.layer_norm2.bias', 'vpm.encoder.layers.21.layer_norm2.weight', 'vpm.encoder.layers.21.mlp.fc1.bias', 'vpm.encoder.layers.21.mlp.fc1.weight', 'vpm.encoder.layers.21.mlp.fc2.bias', 'vpm.encoder.layers.21.mlp.fc2.weight', 'vpm.encoder.layers.21.self_attn.k_proj.bias', 'vpm.encoder.layers.21.self_attn.k_proj.weight', 'vpm.encoder.layers.21.self_attn.out_proj.bias', 'vpm.encoder.layers.21.self_attn.out_proj.weight', 'vpm.encoder.layers.21.self_attn.q_proj.bias', 'vpm.encoder.layers.21.self_attn.q_proj.weight', 'vpm.encoder.layers.21.self_attn.v_proj.bias', 'vpm.encoder.layers.21.self_attn.v_proj.weight', 'vpm.encoder.layers.22.layer_norm1.bias', 'vpm.encoder.layers.22.layer_norm1.weight', 'vpm.encoder.layers.22.layer_norm2.bias', 'vpm.encoder.layers.22.layer_norm2.weight', 'vpm.encoder.layers.22.mlp.fc1.bias', 'vpm.encoder.layers.22.mlp.fc1.weight', 'vpm.encoder.layers.22.mlp.fc2.bias', 'vpm.encoder.layers.22.mlp.fc2.weight', 'vpm.encoder.layers.22.self_attn.k_proj.bias', 'vpm.encoder.layers.22.self_attn.k_proj.weight', 'vpm.encoder.layers.22.self_attn.out_proj.bias', 'vpm.encoder.layers.22.self_attn.out_proj.weight', 'vpm.encoder.layers.22.self_attn.q_proj.bias', 'vpm.encoder.layers.22.self_attn.q_proj.weight', 'vpm.encoder.layers.22.self_attn.v_proj.bias', 'vpm.encoder.layers.22.self_attn.v_proj.weight', 'vpm.encoder.layers.23.layer_norm1.bias', 'vpm.encoder.layers.23.layer_norm1.weight', 'vpm.encoder.layers.23.layer_norm2.bias', 'vpm.encoder.layers.23.layer_norm2.weight', 'vpm.encoder.layers.23.mlp.fc1.bias', 'vpm.encoder.layers.23.mlp.fc1.weight', 'vpm.encoder.layers.23.mlp.fc2.bias', 'vpm.encoder.layers.23.mlp.fc2.weight', 'vpm.encoder.layers.23.self_attn.k_proj.bias', 'vpm.encoder.layers.23.self_attn.k_proj.weight', 'vpm.encoder.layers.23.self_attn.out_proj.bias', 'vpm.encoder.layers.23.self_attn.out_proj.weight', 'vpm.encoder.layers.23.self_attn.q_proj.bias', 'vpm.encoder.layers.23.self_attn.q_proj.weight', 'vpm.encoder.layers.23.self_attn.v_proj.bias', 'vpm.encoder.layers.23.self_attn.v_proj.weight', 'vpm.encoder.layers.24.layer_norm1.bias', 'vpm.encoder.layers.24.layer_norm1.weight', 'vpm.encoder.layers.24.layer_norm2.bias', 'vpm.encoder.layers.24.layer_norm2.weight', 'vpm.encoder.layers.24.mlp.fc1.bias', 'vpm.encoder.layers.24.mlp.fc1.weight', 'vpm.encoder.layers.24.mlp.fc2.bias', 'vpm.encoder.layers.24.mlp.fc2.weight', 'vpm.encoder.layers.24.self_attn.k_proj.bias', 'vpm.encoder.layers.24.self_attn.k_proj.weight', 'vpm.encoder.layers.24.self_attn.out_proj.bias', 'vpm.encoder.layers.24.self_attn.out_proj.weight', 'vpm.encoder.layers.24.self_attn.q_proj.bias', 'vpm.encoder.layers.24.self_attn.q_proj.weight', 'vpm.encoder.layers.24.self_attn.v_proj.bias', 'vpm.encoder.layers.24.self_attn.v_proj.weight', 'vpm.encoder.layers.25.layer_norm1.bias', 'vpm.encoder.layers.25.layer_norm1.weight', 'vpm.encoder.layers.25.layer_norm2.bias', 'vpm.encoder.layers.25.layer_norm2.weight', 'vpm.encoder.layers.25.mlp.fc1.bias', 'vpm.encoder.layers.25.mlp.fc1.weight', 'vpm.encoder.layers.25.mlp.fc2.bias', 'vpm.encoder.layers.25.mlp.fc2.weight', 'vpm.encoder.layers.25.self_attn.k_proj.bias', 'vpm.encoder.layers.25.self_attn.k_proj.weight', 'vpm.encoder.layers.25.self_attn.out_proj.bias', 'vpm.encoder.layers.25.self_attn.out_proj.weight', 'vpm.encoder.layers.25.self_attn.q_proj.bias', 'vpm.encoder.layers.25.self_attn.q_proj.weight', 'vpm.encoder.layers.25.self_attn.v_proj.bias', 'vpm.encoder.layers.25.self_attn.v_proj.weight', 'vpm.encoder.layers.26.layer_norm1.bias', 'vpm.encoder.layers.26.layer_norm1.weight', 'vpm.encoder.layers.26.layer_norm2.bias', 'vpm.encoder.layers.26.layer_norm2.weight', 'vpm.encoder.layers.26.mlp.fc1.bias', 'vpm.encoder.layers.26.mlp.fc1.weight', 'vpm.encoder.layers.26.mlp.fc2.bias', 'vpm.encoder.layers.26.mlp.fc2.weight', 'vpm.encoder.layers.26.self_attn.k_proj.bias', 'vpm.encoder.layers.26.self_attn.k_proj.weight', 'vpm.encoder.layers.26.self_attn.out_proj.bias', 'vpm.encoder.layers.26.self_attn.out_proj.weight', 'vpm.encoder.layers.26.self_attn.q_proj.bias', 'vpm.encoder.layers.26.self_attn.q_proj.weight', 'vpm.encoder.layers.26.self_attn.v_proj.bias', 'vpm.encoder.layers.26.self_attn.v_proj.weight', 'vpm.encoder.layers.3.layer_norm1.bias', 'vpm.encoder.layers.3.layer_norm1.weight', 'vpm.encoder.layers.3.layer_norm2.bias', 'vpm.encoder.layers.3.layer_norm2.weight', 'vpm.encoder.layers.3.mlp.fc1.bias', 'vpm.encoder.layers.3.mlp.fc1.weight', 'vpm.encoder.layers.3.mlp.fc2.bias', 'vpm.encoder.layers.3.mlp.fc2.weight', 'vpm.encoder.layers.3.self_attn.k_proj.bias', 'vpm.encoder.layers.3.self_attn.k_proj.weight', 'vpm.encoder.layers.3.self_attn.out_proj.bias', 'vpm.encoder.layers.3.self_attn.out_proj.weight', 'vpm.encoder.layers.3.self_attn.q_proj.bias', 'vpm.encoder.layers.3.self_attn.q_proj.weight', 'vpm.encoder.layers.3.self_attn.v_proj.bias', 'vpm.encoder.layers.3.self_attn.v_proj.weight', 'vpm.encoder.layers.4.layer_norm1.bias', 'vpm.encoder.layers.4.layer_norm1.weight', 'vpm.encoder.layers.4.layer_norm2.bias', 'vpm.encoder.layers.4.layer_norm2.weight', 'vpm.encoder.layers.4.mlp.fc1.bias', 'vpm.encoder.layers.4.mlp.fc1.weight', 'vpm.encoder.layers.4.mlp.fc2.bias', 'vpm.encoder.layers.4.mlp.fc2.weight', 'vpm.encoder.layers.4.self_attn.k_proj.bias', 'vpm.encoder.layers.4.self_attn.k_proj.weight', 'vpm.encoder.layers.4.self_attn.out_proj.bias', 'vpm.encoder.layers.4.self_attn.out_proj.weight', 'vpm.encoder.layers.4.self_attn.q_proj.bias', 'vpm.encoder.layers.4.self_attn.q_proj.weight', 'vpm.encoder.layers.4.self_attn.v_proj.bias', 'vpm.encoder.layers.4.self_attn.v_proj.weight', 'vpm.encoder.layers.5.layer_norm1.bias', 'vpm.encoder.layers.5.layer_norm1.weight', 'vpm.encoder.layers.5.layer_norm2.bias', 'vpm.encoder.layers.5.layer_norm2.weight', 'vpm.encoder.layers.5.mlp.fc1.bias', 'vpm.encoder.layers.5.mlp.fc1.weight', 'vpm.encoder.layers.5.mlp.fc2.bias', 'vpm.encoder.layers.5.mlp.fc2.weight', 'vpm.encoder.layers.5.self_attn.k_proj.bias', 'vpm.encoder.layers.5.self_attn.k_proj.weight', 'vpm.encoder.layers.5.self_attn.out_proj.bias', 'vpm.encoder.layers.5.self_attn.out_proj.weight', 'vpm.encoder.layers.5.self_attn.q_proj.bias', 'vpm.encoder.layers.5.self_attn.q_proj.weight', 'vpm.encoder.layers.5.self_attn.v_proj.bias', 'vpm.encoder.layers.5.self_attn.v_proj.weight', 'vpm.encoder.layers.6.layer_norm1.bias', 'vpm.encoder.layers.6.layer_norm1.weight', 'vpm.encoder.layers.6.layer_norm2.bias', 'vpm.encoder.layers.6.layer_norm2.weight', 'vpm.encoder.layers.6.mlp.fc1.bias', 'vpm.encoder.layers.6.mlp.fc1.weight', 'vpm.encoder.layers.6.mlp.fc2.bias', 'vpm.encoder.layers.6.mlp.fc2.weight', 'vpm.encoder.layers.6.self_attn.k_proj.bias', 'vpm.encoder.layers.6.self_attn.k_proj.weight', 'vpm.encoder.layers.6.self_attn.out_proj.bias', 'vpm.encoder.layers.6.self_attn.out_proj.weight', 'vpm.encoder.layers.6.self_attn.q_proj.bias', 'vpm.encoder.layers.6.self_attn.q_proj.weight', 'vpm.encoder.layers.6.self_attn.v_proj.bias', 'vpm.encoder.layers.6.self_attn.v_proj.weight', 'vpm.encoder.layers.7.layer_norm1.bias', 'vpm.encoder.layers.7.layer_norm1.weight', 'vpm.encoder.layers.7.layer_norm2.bias', 'vpm.encoder.layers.7.layer_norm2.weight', 'vpm.encoder.layers.7.mlp.fc1.bias', 'vpm.encoder.layers.7.mlp.fc1.weight', 'vpm.encoder.layers.7.mlp.fc2.bias', 'vpm.encoder.layers.7.mlp.fc2.weight', 'vpm.encoder.layers.7.self_attn.k_proj.bias', 'vpm.encoder.layers.7.self_attn.k_proj.weight', 'vpm.encoder.layers.7.self_attn.out_proj.bias', 'vpm.encoder.layers.7.self_attn.out_proj.weight', 'vpm.encoder.layers.7.self_attn.q_proj.bias', 'vpm.encoder.layers.7.self_attn.q_proj.weight', 'vpm.encoder.layers.7.self_attn.v_proj.bias', 'vpm.encoder.layers.7.self_attn.v_proj.weight', 'vpm.encoder.layers.8.layer_norm1.bias', 'vpm.encoder.layers.8.layer_norm1.weight', 'vpm.encoder.layers.8.layer_norm2.bias', 'vpm.encoder.layers.8.layer_norm2.weight', 'vpm.encoder.layers.8.mlp.fc1.bias', 'vpm.encoder.layers.8.mlp.fc1.weight', 'vpm.encoder.layers.8.mlp.fc2.bias', 'vpm.encoder.layers.8.mlp.fc2.weight', 'vpm.encoder.layers.8.self_attn.k_proj.bias', 'vpm.encoder.layers.8.self_attn.k_proj.weight', 'vpm.encoder.layers.8.self_attn.out_proj.bias', 'vpm.encoder.layers.8.self_attn.out_proj.weight', 'vpm.encoder.layers.8.self_attn.q_proj.bias', 'vpm.encoder.layers.8.self_attn.q_proj.weight', 'vpm.encoder.layers.8.self_attn.v_proj.bias', 'vpm.encoder.layers.8.self_attn.v_proj.weight', 'vpm.encoder.layers.9.layer_norm1.bias', 'vpm.encoder.layers.9.layer_norm1.weight', 'vpm.encoder.layers.9.layer_norm2.bias', 'vpm.encoder.layers.9.layer_norm2.weight', 'vpm.encoder.layers.9.mlp.fc1.bias', 'vpm.encoder.layers.9.mlp.fc1.weight', 'vpm.encoder.layers.9.mlp.fc2.bias', 'vpm.encoder.layers.9.mlp.fc2.weight', 'vpm.encoder.layers.9.self_attn.k_proj.bias', 'vpm.encoder.layers.9.self_attn.k_proj.weight', 'vpm.encoder.layers.9.self_attn.out_proj.bias', 'vpm.encoder.layers.9.self_attn.out_proj.weight', 'vpm.encoder.layers.9.self_attn.q_proj.bias', 'vpm.encoder.layers.9.self_attn.q_proj.weight', 'vpm.encoder.layers.9.self_attn.v_proj.bias', 'vpm.encoder.layers.9.self_attn.v_proj.weight', 'vpm.post_layernorm.bias', 'vpm.post_layernorm.weight']
- This IS expected if you are initializing Qwen2ForCausalLM from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing Qwen2ForCausalLM from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
We detected that you are passing `past_key_values` as a tuple and this is deprecated and will be removed in v4.43. Please use an appropriate `Cache` class (https://huggingface.co/docs/transformers/v4.41.3/en/internal/generation_utils#transformers.Cache)
Optimizing model: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [30:33<00:00, 65.47s/it]
Building model: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 398/398 [03:17<00:00,  2.02it/s]
WARNING: The bos token has two ids: 151644 and 151643, please ensure that the bos token ids in config.json and tokenizer_config.json are consistent!
Converting model: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 339/339 [00:00<00:00, 3645818.09it/s]
INFO: Model has been saved to ./qwen.rkllm!

推理代码:

#include "rkllm.h"
#include <csignal>
#include <filesystem>
#include <iostream>
#include <string.h>
#include <string>
#include <unistd.h>
#include <vector>
#include "cnpy.h"

const std::string MODEL_PATH = "Qwen2-7B-minicpmv/qwen.rkllm";
const std::string input_embeds_path = "Qwen2-7B-minicpmv/image_embeddings_pth_orig.npy";

using namespace std;
LLMHandle llmHandle = nullptr;

void exit_handler(int signal) {
  if (llmHandle != nullptr) {
    {
      cout << "程序即将退出" << endl;
      LLMHandle _tmp = llmHandle;
      llmHandle = nullptr;
      rkllm_destroy(_tmp);
    }
  }
  exit(signal);
}

void callback(RKLLMResult *result, void *userdata, LLMCallState state) {
  if (state == RKLLM_RUN_FINISH) {
    printf("\n");
  } else if (state == RKLLM_RUN_ERROR) {
    printf("\\run error\n");
  } else if (state == RKLLM_RUN_GET_LAST_HIDDEN_LAYER) {
  } else if (state == RKLLM_RUN_NORMAL) {
    printf("%s", result->text);
    // for(int i=0; i<result->num; i++)
    // {
    //     printf("%d token_id: %d logprob: %f\n", i, result->tokens[i].id,
    //     result->tokens[i].logprob);
    // }
  }
}

int main(int argc, char **argv) {
  if (argc < 4) {
    std::cerr << "Usage: " << argv[0]
              << " model_path max_new_tokens max_context_len\n";
    return 1;
  }

  signal(SIGINT, exit_handler);
  printf("rkllm init start\n");

  // 设置参数及初始化
  RKLLMParam param = rkllm_createDefaultParam();
  param.model_path = MODEL_PATH.c_str();
  param.top_k = 1;
  param.max_new_tokens = std::atoi(argv[2]);
  param.max_context_len = std::atoi(argv[3]);

  // if use multimodel mode, need to set img_start,img_end and img_content
//   param.img_start = "<image>";
//   param.img_end = "</image>\n";
//   param.img_content = "<unk>";

  param.skip_special_token = false;

  int ret = rkllm_init(&llmHandle, &param, callback);
  if (ret == 0) {
    printf("rkllm init success\n");
  } else {
    printf("rkllm init failed\n");
    exit_handler(-1);
  }

  string text;
  RKLLMInput rkllm_input;

  // 初始化 infer 参数结构体
  RKLLMInferParam rkllm_infer_params;
  memset(&rkllm_infer_params, 0,
         sizeof(RKLLMInferParam)); // 将所有内容初始化为 0

  // // 1. 初始化并设置 LoRA 参数(如果需要使用 LoRA)
  // RKLLMLoraParam lora_params;
  // lora_params.lora_adapter_name = "test";  // 指定用于推理的 lora 名称

  // // 2. 初始化并设置 Prompt Cache 参数(如果需要使用 prompt cache)
  // RKLLMPromptCacheParam prompt_cache_params;
  // prompt_cache_params.save_prompt_cache = true;                  // 是否保存
  // prompt cache prompt_cache_params.prompt_cache_path = "./prompt_cache.bin";
  // // 若需要保存prompt cache, 指定 cache 文件路径

  rkllm_infer_params.mode = RKLLM_INFER_GENERATE;
  // rkllm_infer_params.lora_params = &lora_params;
  // rkllm_infer_params.prompt_cache_params = &prompt_cache_params;

  // rkllm_load_prompt_cache(llmHandle, "./prompt_cache.bin");

  float *img_embed_data_ptr = (float *)malloc(105 * 3584 * sizeof(float));
  cnpy::NpyArray arr = cnpy::npy_load(input_embeds_path);
  memcpy(img_embed_data_ptr, arr.data<float>(), 105 * 3584 * sizeof(float));

  rkllm_input.input_type = RKLLM_INPUT_EMBED;
  rkllm_input.embed_input.embed = img_embed_data_ptr;
  rkllm_input.embed_input.n_tokens = 105;
  printf("robot: ");
  rkllm_run(llmHandle, &rkllm_input, &rkllm_infer_params, NULL);
  free(img_embed_data_ptr);
  rkllm_destroy(llmHandle);

  return 0;
}

结果输出:

> ./rkllm_test sad 256 512
rkllm init start
I rkllm: rkllm-runtime version: 1.1.0, rknpu driver version: 0.9.8, platform: RK3588

rkllm init success
robot: <|im_start|> z marked pedestrian cross\run error
vincenzodentamaro commented 4 days ago

Hi, @happyme531 how did update the npu kernel driver to 0.9.8? I have read the documentation, but I don't have the updated kernel

happyme531 commented 3 days ago

模型文件: https://huggingface.co/happyme531/MiniCPM-V-2_6-rkllm