当前位置:   article > 正文

qwen1.5-7B 部署运行方法

qwen1.5-7B 部署运行方法

qwen1.5 模型的问答生成方式发生了变化,不再支持 mode.chat(),但整体来看, 1.5版本的问答效果确实有了很大提升。

本文仍在编辑中

qwen-7B 大语言模型的加载方式如下

qwen1.5B 大语言模型的加载方式如下:

  1. import pandas as pd
  2. from transformers import AutoModelForCausalLM, AutoTokenizer # transformer>=4.37.2
  3. """================Qwen-7B-15GB-推理运行大小-17GB-微调训练32GB--================="""
  4. device = "cuda"
  5. model_id = "../model/Qwen1.5-7B-Chat"
  6. # 这里设置torch_dtype=torch.bfloat16 ,否则模型会按照全精度加载,GPU推理运存会从17G翻倍到34G
  7. model= AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=False)
  8. tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=False)
  9. prompt = """帮我把空调打开。
  10. 空调温度调节到24℃。
  11. 空调打开制冷模式,风速设为低档。
  12. 根据上述信息,分别提取出空调的开关状态、温度设置、风速设置、空调模式 """
  13. print("=== * ==="*50)
  14. def qwen_chat(prompt):
  15. messages = [
  16. {"role": "system", "content": "You are a helpful assistant. "},
  17. {"role": "user", "content": prompt}
  18. ]
  19. text = tokenizer.apply_chat_template(
  20. messages,
  21. tokenize=False,
  22. add_generation_prompt=True
  23. )
  24. print("=== tokenizer is finished ===")
  25. model_inputs = tokenizer([text], return_tensors="pt").to(device)
  26. # 注意这里需要设置 pad_token_id=tokenizer.eos_token_id,否则会出现warnning错误, hf上的脚本示例没有写
  27. generated_ids = model.generate(
  28. model_inputs.input_ids,
  29. max_new_tokens=512,
  30. pad_token_id=tokenizer.eos_token_id
  31. )
  32. generated_ids = [
  33. output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
  34. ]
  35. response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
  36. print(f'response: {response}')
  37. return response
  38. if __name__ == '__main__':
  39. prompt = prompt
  40. output = qwen_chat(prompt=prompt)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/385901
推荐阅读
  

闽ICP备14008679号