Qwen-7B-Chat大模型安装训练推理-helloworld

2024-09-04 02:12

本文主要是介绍Qwen-7B-Chat大模型安装训练推理-helloworld,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

初始大模型之helloworld编写

开发环境:modelscope GPU版本上测试的,GPU免费36小时

ps:可以不用conda直接用环境自带的python环境使用

魔搭社区

  1. 安装conda
    1. wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

1.2 bash Miniconda3-latest-Linux-x86_64.sh

需要多次确认 按enter或者输入yes

no change     /root/miniconda3/condabin/conda

no change     /root/miniconda3/bin/conda

no change     /root/miniconda3/bin/conda-env

no change     /root/miniconda3/bin/activate

no change     /root/miniconda3/bin/deactivate

no change     /root/miniconda3/etc/profile.d/conda.sh

no change     /root/miniconda3/etc/fish/conf.d/conda.fish

no change     /root/miniconda3/shell/condabin/Conda.psm1

no change     /root/miniconda3/shell/condabin/conda-hook.ps1

no change     /root/miniconda3/lib/python3.12/site-packages/xontrib/conda.xsh

no change     /root/miniconda3/etc/profile.d/conda.csh

安装成功后设置环境变量

1.3 source ~/.bashrc

最后查看是否安装成功

Thank you for installing Miniconda3!

root@dsw-637832-67644985ff-l2r6g:/mnt/workspace# source ~/.bashrc

(base) root@dsw-637832-67644985ff-l2r6g:/mnt/workspace# conda --version

conda 24.7.1

1.4 创建conda虚拟环境

conda create -n myenv python=3.10 -y

1.5 激活环境

conda activate myenv

1.6 查看生效版本

conda env list

1.7 pip list 查看安装的依赖包

1.8 添加清华源

conda config --add channels Index of /anaconda/pkgs/main/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

  1. 基于conda,安装依赖
  1. 新建文件requirements.txt,内容如下

transformers>=4.32.0,<4.38.0

accelerate

tiktoken

einops

transformers_stream_generator==0.0.4

scipy

vllm

  1. pip install -r requirements.txt

或者逐个安装

  1. 下载大模型

modelscope download --model qwen/Qwen-7B-Chat

   有多种方式可以下载

这种方式下载到了/home/admin/workspace/.cache/modelscope/hub/qwen/Qwen-7B-Chat ,可以通过find / -name Qwen-7B-Chat 找到位置

其他下载方式

通过pip list查看所有已经安装的依赖

4. 输入命令 python进入python脚本开发

from modelscope import AutoModelForCausalLM, AutoTokenizer

from modelscope import GenerationConfig

#这里可以写下载好的路径

tokenizer = AutoTokenizer.from_pretrained("./qwen/Qwen-7B-Chat", trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained("./qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True).eval()

response, history = model.chat(tokenizer, "你好", history=None)

print(response)

#可以开始不停的输入问题了,要想记住会话,就写history=history

response, history = model.chat(tokenizer, "你好", history=None)

print(response)

#history不能无限次的计住的,达到一定限制就会删除部分历史了

response, history = model.chat(tokenizer, "如果借款10W,年利息3点,算复利,3年本息共计多少", history=None)

print(response)

总结:这几步骤是运行大模型通用且必须的

from modelscope import AutoModelForCausalLM, AutoTokenizer

from modelscope import GenerationConfig

#这里可以写下载好的路径

tokenizer = AutoTokenizer.from_pretrained("./qwen/Qwen-7B-Chat", trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained("./qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True).eval()

推理

from modelscope import AutoModelForCausalLM, AutoTokenizer

from modelscope import GenerationConfig

#这里可以写下载好的路径

tokenizer = AutoTokenizer.from_pretrained("./qwen/Qwen-7B-Chat", trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained("./qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True).eval()

device = "cuda"

prefix = "北京是中国的首都"

model_inputs = tokenizer([prefix], return_tensors="pt").to(device)

generated_ids = model.generate(

  model_inputs.input_ids,

  max_new_tokens=400,

  repetition_penalty=1.15

)

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)

这篇关于Qwen-7B-Chat大模型安装训练推理-helloworld的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134709

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Pycharm安装报错:Cannot detect a launch configuration解决办法

《Pycharm安装报错:Cannotdetectalaunchconfiguration解决办法》本文主要介绍了Pycharm安装报错:Cannotdetectalaunchconfigur... 本文主要介绍了Pycharm安装报错:Cannot detect a launch configuratio

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想