首页 > 系统相关 >windows11 使用pytorch transformers运行Qwen2-0.5B-Instruct模型 (基于anaconda python虚拟环境管理平台)

windows11 使用pytorch transformers运行Qwen2-0.5B-Instruct模型 (基于anaconda python虚拟环境管理平台)

时间:2024-07-17 14:01:52浏览次数:15  
标签:transformers Qwen2 ids Instruct 虚拟环境 Pycharm model 安装

吾名爱妃,性好静亦好动。好编程,常沉浸于代码之世界,思维纵横,力求逻辑之严密,算法之精妙。亦爱篮球,驰骋球场,尽享挥洒汗水之乐。且喜跑步,尤钟马拉松,长途奔袭,考验耐力与毅力,每有所进,心甚喜之。

 
吾以为,编程似布阵,算法如谋略,需精心筹谋,方可成就佳作。篮球乃团队之艺,协作共进,方显力量。跑步与马拉松,乃磨炼身心之途,愈挫愈勇,方能达至远方。愿交志同道合之友,共探此诸般妙趣。

诸君,此文尚佳,望点赞收藏,谢之!

1. 下载anaconda安装包:Index of /

2. 直接点击安装即可

3. 运行Anacode Navigator,创建虚拟环境,名称是pytorch-gpu-transformers。选择Python3.8.19版本。(后续使用这个环境进行pytorch、transformers的安装以及Qwen2-0.5B-Instruct模型的运行)

4. 运行Pycharm IDE(Pycharm安装步骤略,我安装的是PyCharm Community Edition 2024.1.4)可以选择官网下载安装包,可以直接在anaconda界面选择install,但是安装时注意切换到刚才创建好的虚拟环境

Pycharm安装好之后,后续就不需要运行anaconda了,除非想要管理虚拟环境。

5. 给Pycharm配置conda虚拟环境,使用刚才新建的pytorch-gpu-transformers虚拟环境

File -> Settings -> Python Interpreter

如果没有刚才新建的虚拟环境可选项,点击Add Interpreter添加。

Pycharm会自动检测本机安装好的conda虚拟环境。

配置成功后,当前Pycharm的开发环境已经切换到了刚才新建的虚拟环境中。在此环境安装的所有依赖包将与其他环境不影响。

6. 在当前虚拟环境安装Pytorch、transformers平台依赖:

GPU版本:CSDN

CPU版本:CSDN

7. 下载Qwen-0.5B-Instruct模型(以为GPU比较垃圾,所以选择小参数量的非量化模型)

魔搭社区

将所有文件下载,存储到自己定义的目录即可

8. 运行Qwen-0.5B-Instruct

from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto

model = AutoModelForCausalLM.from_pretrained(
    "path to Qwen2-0.5B-Instruct",
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("path to Qwen2-0.5B-Instruct")

prompt = "解释一下'人生得意须尽欢,莫使金樽空对月'"
messages = [
    {"role": "system", "content": "你是个擅长研究中国唐诗的专家."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)

generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=512
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)

9. 备注:

运行模型时可能会碰到依赖包缺少的情况,根据具体提示,pip install 安装即可。

如果碰到非依赖确实问题,那基本都是依赖版本的问题,要么需要升级版本,要么需要回退版本,根据各个组件官网的版本要求进行安装即可

标签:transformers,Qwen2,ids,Instruct,虚拟环境,Pycharm,model,安装
From: https://blog.csdn.net/andy_april/article/details/140468990

相关文章

  • 虚拟环境优化
    在使用过程中,会发现上述第三步的使用,会有不少局限,譬如必须切换到指定目录才能操作等。通过安装virtualenvwrapper-win可以更加简便的使用虚拟环境(需要先安装virtualenv)1.pip安装pipinstallvirtualenvwrapper-win2.在环境变量中,配置虚拟环境的指定安装目录1.打开系统环......
  • Transformers Pipeline + Mistral-7B-Instruct-v0.x修改Chat Template
    在使用https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3提供的Generatewithtransformers代码进行测试时,产生以下报错:fromtransformersimportpipelinemessages=[{"role":"system","content":"Youareapiratechatbotwhoalw......
  • 一起学Hugging Face Transformers(18) - 使用Transformers 库实现命名实体识别(NER)
    文章目录前言1.环境配置2.加载模型和分词器3.创建命名实体识别管道4.输入文本进行识别5.完整代码示例6.结果解释总结前言命名实体识别(NER)是自然语言处理(NLP)中的一种任务,旨在识别文本中具有特定意义的实体,例如人名、地名、组织名等。NER在信息抽取、文本分析......
  • 数据结构与算法 —— Transformers之Pipeline
    Transformers之Pipeline是HuggingFaceTransformers库中提供的一种使用预训练模型进行推理的极简方式。这些Pipeline对象从库中抽象出大部分复杂代码,为多项任务(如命名实体识别、情感分析、特征提取和问答等)提供了简单的API。以下是对Transformers之Pipeline的详细介绍:一、......
  • 【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)
    ​​​​​​​目录一、引言 二、音频分类(audio-classification)2.1概述2.2技术原理2.2.1 Wav2vec2.0模型 2.2.1HuBERT模型2.3pipeline参数2.3.1pipeline对象实例化参数2.3.2pipeline对象使用参数 2.4 pipeline实战2.4.1指令识别(默认模型) 2.4.2 情......
  • 使用 lmdeploy 部署 Qwen/Qwen2-7B-Instruct
    使用lmdeploy部署internlm/internlm2_5-7b-chat0.引言1.lmdeploy性能2.lmdeploy支持的模型3.快速开始0.引言LMDeploy由MMDeploy和MMRazor团队联合开发,是涵盖了LLM任务的全套轻量化、部署和服务解决方案。这个强大的工具箱提供以下核心功能:高效的......
  • 一起学Hugging Face Transformers(15)- 使用Transformers 进行情感分析
    文章目录前言一、环境准备二、加载预训练模型三、示例:情感分析四、处理数据集五、自定义模型总结思考前言情感分析(SentimentAnalysis)是自然语言处理(NLP)中的一个重要任务,旨在确定文本的情感倾向,如积极、消极或中性。HuggingFace的Transformers库提供了强大的工......
  • 【人工智能】Transformers之Pipeline(概述):30w+大模型极简应用
    ​​​​​​​目录一、引言 二、pipeline库2.1概述2.2使用task实例化pipeline对象2.2.1基于task实例化“自动语音识别”2.2.2task列表2.2.3 task默认模型2.3 使用model实例化pipeline对象2.3.1基于model实例化“自动语音识别” 2.3.2查看model与task的......
  • 一起学Hugging Face Transformers(13)- 模型微调之自定义训练循环
    文章目录前言一、什么是训练循环1.训练循环的关键步骤2.示例3.训练循环的重要性二、使用HuggingFaceTransformers库实现自定义训练循环1.前期准备1)安装依赖2)导入必要的库2.加载数据和模型1)加载数据集2)加载预训练模型和分词器3)预处理数据4)创建数据加载器3......
  • 基于Qwen2/Lllama3等大模型,部署团队私有化RAG知识库系统的详细教程(Docker+AnythingLLM
    自ChatGPT发布以来,大型语言模型(LargeLanguageModel,LLM,大模型)得到了飞速发展,它在处理复杂任务、增强自然语言理解和生成类人文本等方面的能力让人惊叹,几乎各行各业均可从中获益。然而,在一些垂直领域,这些开源或闭源的通用基础大模型也暴露了一些问题,主要体现在以下3个方面:......