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

news2024/11/15 2:04:30

初始大模型之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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2103027.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

港科夜闻 | 香港科大举办开学嘉年华,叶玉如校长勉励新生发掘潜能传承凡事皆可为精神...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大举办开学嘉年华&#xff0c;叶玉如校长勉励新生发掘潜能传承「凡事皆可为」精神。迎接新学年&#xff0c;香港科大于9月2日起举行为期两天的开学嘉年华「Fire Up Your Year」&#xff0c;校长叶玉如教授联同一众…

AI写作保姆级方法论第六节-AI的终极调教心法(问题+解决方案)

效果是什么 大象基于大量的实战经验&#xff0c;总结出了AI prompt调教的终极杀手锏&#xff1a;【终极调教心法&#xff1a;1个原则和3个技巧】 一个原则&#xff0c;是指AI的【角色扮演法】&#xff0c;openai官方基于AI原理给出的让AI听话的技巧。所有AI的使用玩法&#xff…

Leetcode3250. 单调数组对的数目 I

Every day a Leetcode 题目来源&#xff1a;3250. 单调数组对的数目 I 解法1&#xff1a;记忆化搜索 题目输入一个数组nums。 假设有两个数组A和B&#xff0c;A递增&#xff0c;B递减&#xff0c;且 Ai Bi numsi ​ 问有多少对(A,B)数组对。 解法&#xff1a; 代码&…

java基础知识-JVM知识详解

一、JVM内存结构 Java虚拟机(JVM)的内存结构主要分为几个不同的区域,每个区域都有其特定的目的和功能。以下是JVM内存结构的主要组成部分: 先看一下总体的结构图 程序计数器(Program Counter Register) 这是一个较小的内存块,用于存储当前线程所执行的字节码指令的地址…

第T4周:猴痘病识别

本文为&#x1f517;365天深度学习训练营 中的学习记录博客原作者&#xff1a;K同学啊 我的环境&#xff1a; ● 语言环境&#xff1a;Python3.6.5 ● 编译器&#xff1a;jupyter notebook ● 深度学习框架&#xff1a;TensorFlow 2.6.2 ● 数据&#xff1a;猴痘病数据集 一、…

非 congda 环境 ubuntu 22.04 源码编译安装 pytorch 并初步检查可用性

非 congda 环境 编译安装 pytorch 0, 安装 cuda sdk &#xff0c;cudnn 及 nccl 按照官网步骤&#xff0c;blacklist需要特别注意 0.1 cuda sdk 0.2 cudnn 0.3 安装nccl git clone --recursive https://github.com/NVIDIA/nccl.git ls cd nccl/ make -j src.build sudo apt…

使用 docker 部署 kvm 图形化管理工具 WebVirtMgr

文章目录 [toc]前提条件镜像构建启动 webvirtmgr创建其他 superuser配置 nginx 反向代理和域名访问绑定 kvm 宿主机local sockettcp 连接 虚拟机创建创建快照虚拟机克隆删除虚拟机 kvm 官方提供了以下这些图形化管理&#xff0c;license 这块也提示了是商业版&#xff08;Comme…

rometheus Blackbox监控网站

Blackbox Exporter简介 blackbox_exporter 是 Prometheus 拿来对 http/https、tcp、icmp、dns、进行的黑盒监控工具&#xff0c;也就是从服务、主机等外部进行探测&#xff0c;来查看服务、主机等是否可用。 Blackbox Exporter 默认端口是 9115&#xff0c; 安装1 wget htt…

Codeforces Round (Div.3) C.Sort (前缀和的应用)

原题&#xff1a; time limit per test&#xff1a;5 seconds memory limit per test&#xff1a;256 megabytes You are given two strings a and b of length n. Then, you are (forced against your will) to answer q queries. For each query, you are given a range …

Dify 与 FastGPT 流程编排能力对比分析

Dify 与 FastGPT 流程编排能力对比分析 一、引言 在人工智能快速发展的今天&#xff0c;大语言模型&#xff08;LLM&#xff09;应用平台正在重塑各行各业的工作流程。其中&#xff0c;Dify 和 FastGPT 作为两款具有重要影响力的工具&#xff0c;凭借各自独特的流程编排能力&a…

智能化升级:AI在客服知识库中的应用

引言 在数字化时代&#xff0c;客户服务已成为企业竞争的关键一环。随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;传统客服模式正经历着前所未有的变革。AI与客服知识库的深度融合&#xff0c;不仅极大地提升了客服处理的效率与准确性&#xff0c;还为用…

unreal engine 5.4.4 runtime 使用PCG

Unreal PCG Runtime runtime环境下控制PCG PCG Graph 这里简单的在landscape上Spawn Static Mesh 和 Spawn Actor GraphSetting 自定义的参数&#xff0c;方便修改 场景 这里新建了一个蓝图Actor PCG_Ctrl, 用来runtime的时候控制PCG生成 Construct 获取场景中的PCGVolum…

Oracle版本简介手册

Oracle版本简介手册 图1—数据库发布路线图表 Oracle数据库的各个版本反映了其技术的发展历程和功能增强&#xff0c;从最早的Oracle 1&#xff08;1979年&#xff09;到最新的版本&#xff0c;每个版本都带来了新的特性和改进&#xff0c;以满足不断变化的企业需求。以下是Or…

【数学建模国赛思路预约】2024全国大学生数学建模竞赛助攻思路、代码、论文

2024年全国大学生数学建模大赛马上就要开始了&#xff0c;大家有没有准备好呢&#xff0c;今年将会和之前一样&#xff0c;将会在比赛赛中时期为大家提供比赛各题的相关解题思路、可运行代码参考以及成品论文。 一、分享计划表如下所示 1、 赛中分享内容包括&#xff08;2023国…

详解React setState调用原理和批量更新的过程

1. React setState 调用的原理 setState目录 1. React setState 调用的原理2. React setState 调用之后发生了什么&#xff1f;是同步还是异步&#xff1f;3. React中的setState批量更新的过程是什么&#xff1f; 具体的执行过程如下&#xff08;源码级解析&#xff09;&#x…

马尔科夫决策过程(MDP):详解与应用

马尔科夫决策过程&#xff08;MDP&#xff09;&#xff1a;详解与应用 引言 在人工智能、机器学习和运筹学等领域&#xff0c;马尔科夫决策过程&#xff08;Markov Decision Process&#xff0c;MDP&#xff09;是一个基础而重要的数学模型。MDP 被广泛应用于优化决策问题&am…

1.1什么是SQL注入

SQL 注入&#xff08;Injection&#xff09; 概述 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严&#xff0c;攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句&#xff0c;在管理员不知情的情况下实现非法操作&#xff0c;以此来…

异步 “一发入魂“

异步 概述&#xff1a; 异步就是从主线程发射一个子线程来完成任务。 什么时候用异步编程 主线程作为一个线程&#xff0c;不能够同时接受多方面的请求。所以&#xff0c;当一个事件没有结束时&#xff0c;界面将无法处理其他请求。 为了避免这种情况的发生&#xff0c;我们…

zookeeper是啥?在kafka中有什么作用

一、Zookeeper是啥 问AI&#xff0c;它是这么说&#xff1a; ZooKeeper是一个开源的分布式协调服务。 ZooKeeper最初由雅虎研究院开发&#xff0c;用于解决大型分布式系统中的协调问题&#xff0c;特别是为了避免分布式单点故障。它被设计成一个简单易用的接口集&#xff0c;封…

家教管理系统设计与实现

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装家教管理系统软件来发挥其高效地信息处理的作用&#xff0c…