通义千问1.5-1.8B-Chat-GPTQ-Int4环境部署:Anaconda创建独立Python运行环境

news2026/4/14 20:14:42
通义千问1.5-1.8B-Chat-GPTQ-Int4环境部署Anaconda创建独立Python运行环境想试试通义千问这个轻量级大模型结果第一步就被环境依赖搞晕了PyTorch版本不对、CUDA不匹配、各种包冲突报错是不是让你头大别担心今天咱们就绕开这些坑手把手带你用Anaconda搭建一个干净、独立的Python环境专门用来跑通义千问1.5-1.8B-Chat的GPTQ-Int4量化版本。这个方法的核心思想就是“隔离”给你的模型项目一个专属的“单间”不和系统里其他项目的依赖打架从根源上避免版本冲突。跟着这篇教程走哪怕你之前没怎么用过Anaconda也能轻松搞定。1. 为什么需要独立的Python环境在开始敲命令之前咱们先花两分钟搞清楚为什么非得折腾这个“独立环境”。简单来说就是为了省心。想象一下你的电脑就像一个大厨房。系统自带的Python环境是那个公用的主操作台上面堆满了之前做各种“菜”项目留下的调料瓶依赖包。现在你要做一道新菜运行通义千问需要特定的酱油牌子PyTorch 2.0和醋的年份CUDA 11.8。结果你发现操作台上现有的酱油是另一个牌子的老版本一混进去菜的味道程序运行就全变了甚至直接做不出来报错。Anaconda的conda环境管理工具就是给你在厨房里单独隔出一个小工作台。在这个小台子上你只摆放做这道新菜需要的、指定版本的调料。其他菜用什么调料完全不影响你。这样做有几个实实在在的好处依赖隔离通义千问需要的PyTorch、Transformers等包版本都装在这个环境里不会和你可能正在做的其他机器学习项目比如用TensorFlow的产生冲突。版本锁定你可以精确指定每个包的版本比如Python就用3.9PyTorch就用2.1.0确保和通义千问GPTQ版本兼容避免因为自动升级到最新版导致的不兼容问题。环境可复现一旦在这个环境里把模型跑通了你可以把环境里所有包的名称和版本号导出成一个清单文件。下次换台电脑或者过段时间重装系统照着清单一键就能还原出一模一样的环境省去再次排错的时间。干净卸载如果哪天这个模型项目不玩了直接删除这个conda环境就行系统主环境和其他环境完全不受影响电脑里不会留下一堆散乱的依赖文件。理解了这些咱们就知道花几分钟搭建环境是为后面顺畅运行模型打下的最结实的基础。2. 准备工作安装与检查工欲善其事必先利其器。咱们先把“工具”准备好。2.1 安装Anaconda如果你已经安装过Anaconda或者更轻量化的Miniconda可以跳过这一步直接打开终端Linux/macOS或Anaconda PromptWindows。如果还没安装操作很简单访问Anaconda官网的下载页面。选择对应你操作系统的安装包Windows/macOS/Linux。个人使用的话选择Python 3.9或3.10版本的安装程序都可以。下载后双击安装程序跟着向导一步步来。安装过程中有个重要选项Add Anaconda3 to my PATH environment variable。建议勾选上这样以后在普通的命令行终端里也能直接使用conda命令。如果安装时忘了勾选后续需要手动配置系统环境变量会稍微麻烦一点。安装完成后打开你的终端或Anaconda Prompt输入以下命令来验证是否安装成功conda --version如果显示了类似conda 24.x.x的版本号恭喜你第一步成功了。2.2 确认显卡与CUDA驱动通义千问的GPTQ量化版本依赖GPU进行高效推理所以我们需要确保显卡和驱动没问题。在终端中输入nvidia-smi这个命令会弹出一个表格重点关注右上角显示的CUDA Version。这个不是指你系统安装的CUDA Toolkit版本而是当前显卡驱动最高支持的CUDA版本。例如它显示CUDA Version: 12.4意味着你的驱动可以支持最高到CUDA 12.4的工具包。对于通义千问GPTQ我们通常需要CUDA 11.8或更高版本。只要nvidia-smi显示的版本号 11.8就说明驱动层面没问题。如果版本太低或者命令不识别你需要去NVIDIA官网下载并安装最新的显卡驱动。3. 创建并激活专属环境工具和基础条件都检查完毕现在开始打造我们的专属“工作间”。3.1 创建指定Python版本的环境我们将创建一个名为qwen-gptq的新环境并指定使用Python 3.9。你也可以用3.10但3.9的兼容性通常更广一些。打开终端或Anaconda Prompt执行以下命令conda create -n qwen-gptq python3.9命令解释conda create创建新环境的指令。-n qwen-gptq-n后面跟的是你给新环境取的名字这里叫qwen-gptq你可以按自己喜好改。python3.9指定这个环境要安装的Python版本。执行后conda会分析并列出将要安装的包主要是Python 3.9及其核心依赖然后问你是否继续 (Proceed ([y]/n)?)输入y并按回车它就会开始下载和安装。3.2 激活环境环境创建好后它还是一个“离线”状态。我们需要“进入”这个环境让之后所有的包安装和命令都在这个环境下进行。激活环境的命令是conda activate qwen-gptq激活成功后你会发现命令行的提示符前面从原来的(base)变成了(qwen-gptq)。这个变化非常重要它意味着你现在已经身处qwen-gptq这个独立环境里了。之后所有pip install或conda install的包都会装在这个环境里而不会影响外面的base或其他环境。重要提示每次新打开一个终端窗口想运行通义千问项目时都需要先执行conda activate qwen-gptq来激活这个环境。4. 安装核心深度学习框架环境激活了现在来安装最重要的“地基”——PyTorch。PyTorch的安装需要和你的CUDA版本对应。4.1 安装PyTorch与CUDA根据之前nvidia-smi查到的驱动支持的CUDA最高版本我们去PyTorch官网找到对应的安装命令。这里以CUDA 11.8为例因为这是一个非常通用且稳定的版本。在已激活的(qwen-gptq)环境下执行以下命令pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118这条命令做了几件事使用pip安装在这个环境下pip也是独立的。同时安装torch主框架、torchvision图像处理、torchaudio音频处理三个包。--index-url指定了从PyTorch针对CUDA 11.8的预编译包仓库下载确保版本兼容。如果你的CUDA版本是12.1则将命令中的cu118改为cu121。安装完成后可以写个简单的Python代码片段验证一下import torch print(fPyTorch版本: {torch.__version__}) print(fCUDA是否可用: {torch.cuda.is_available()}) print(fCUDA版本: {torch.version.cuda})将上面几行代码保存为test_cuda.py然后在终端里运行python test_cuda.py。如果输出显示CUDA可用并且版本号与你安装的目标一致那就完美了。4.2 安装Transformer及其他依赖接下来安装运行通义千问模型必需的机器学习库。pip install transformers accelerate sentencepiece tiktoken einopstransformersHugging Face的核心库用于加载和运行模型。accelerateHugging Face的加速库帮助优化模型在GPU上的运行。sentencepiece,tiktoken分词器相关的依赖。einops一种便于操作张量的库很多模型代码会用到。5. 安装GPTQ量化模型运行依赖通义千问1.5-1.8B-Chat-GPTQ-Int4这个模型使用了GPTQ量化技术来压缩模型大小、提升推理速度。运行它需要一些额外的、可能稍微“挑剔”的库。5.1 安装GPTQ专用库目前最常用的GPTQ实现库是auto-gptq。直接使用pip安装指定版本pip install auto-gptq --no-build-isolation这里添加了--no-build-isolation参数有时可以避免在编译安装过程中出现一些环境问题。如果安装过程很慢可能是因为它在本地编译请耐心等待。5.2 解决可能的依赖冲突有时候auto-gptq对torch的版本有比较严格的要求可能会和我们已经安装的PyTorch产生版本冲突。如果在上一步安装auto-gptq时pip提示需要降级或升级torch我们可以尝试安装另一个更兼容的GPTQ库分支pip install https://github.com/PanQiWei/AutoGPTQ/releases/download/v0.5.1/auto_gptq-0.5.1cu118-cp39-cp39-linux_x86_64.whl请注意上面的链接是一个示例它包含了CUDA 11.8 (cu118)、Python 3.9 (cp39)、Linux系统 (linux) 的特定预编译包。你需要根据自己实际的Python版本、CUDA版本和操作系统去 AutoGPTQ发布页面 寻找合适的.whl文件。对于Windows用户通常也有对应的预编译包。使用预编译的wheel文件安装是避免源码编译问题和依赖冲突的一个好办法。6. 验证环境与快速测试所有依赖都装好了最后一步就是验收成果看看我们的环境能不能真的把模型跑起来。6.1 编写一个极简测试脚本创建一个名为test_qwen.py的文件内容如下from transformers import AutoTokenizer, AutoModelForCausalLM # 指定模型路径这里先用一个小的测试模型名实际需替换为下载的模型路径 model_name Qwen/Qwen1.5-1.8B-Chat-GPTQ-Int4 # 注意首次运行需要从Hugging Face Hub下载模型请确保网络通畅或提前下载好模型文件到本地然后将路径替换为本地路径如./models/Qwen1.5-1.8B-Chat-GPTQ-Int4 print(正在加载分词器...) tokenizer AutoTokenizer.from_pretrained(model_name, trust_remote_codeTrue) print(正在加载模型...) model AutoModelForCausalLM.from_pretrained( model_name, device_mapauto, # 自动将模型加载到GPU trust_remote_codeTrue ) print(模型加载成功开始测试对话...) # 构建对话 messages [ {role: system, content: 你是一个乐于助人的助手。}, {role: user, content: 请用一句话介绍一下你自己。} ] text tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue ) # 将输入转换为模型所需的格式 model_inputs tokenizer([text], return_tensorspt).to(model.device) # 生成回复 generated_ids model.generate( **model_inputs, max_new_tokens512 ) 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_tokensTrue)[0] print(模型回复, response)重要提醒这个脚本中的model_name是模型在Hugging Face Hub上的ID。首次运行会下载大约几个GB的模型文件请确保磁盘空间和网络连接。更推荐的做法是先通过git lfs或其他方式将模型文件下载到本地目录例如./models/然后将model_name替换为本地路径如./models/Qwen1.5-1.8B-Chat-GPTQ-Int4这样运行更快且不依赖网络。6.2 运行测试在终端中确保你还在(qwen-gptq)环境下然后运行python test_qwen.py如果一切顺利你会看到程序依次输出“正在加载分词器…”、“正在加载模型…”最后打印出模型的一句自我介绍。看到这个就大功告成了你的专属通义千问GPTQ运行环境已经完美搭建。如果遇到错误最常见的可能是CUDA内存不足1.8B模型虽然小但加载也需要一定显存。可以尝试在from_pretrained中添加参数low_cpu_mem_usageTrue。模型路径错误检查model_name指向的路径或模型名称是否正确模型文件是否完整。缺少依赖回顾安装步骤看是否有库安装失败或版本不对。7. 环境管理与常用命令最后送你几个常用的conda命令方便你管理这个环境退出当前环境conda deactivate查看所有环境列表conda env list星号*标出的是当前所在环境删除一个环境谨慎操作conda env remove -n qwen-gptq导出环境配置用于复现conda env export environment.yaml这会生成一个包含所有包及其精确版本的文件。从YAML文件创建环境conda env create -f environment.yaml好了整个流程走下来你应该已经拥有了一个干干净净、专属于通义千问GPTQ模型的Python环境了。最关键的就是那几步创建环境、激活环境、在激活的环境里安装对的包。以后每次要玩这个模型就打开终端conda activate qwen-gptq一下然后就能愉快地运行你的代码了再也不用担心把其他项目搞乱。这种用独立环境管理项目的习惯特别适合机器学习这类依赖复杂、版本要求多的领域。一开始可能觉得多了一步有点麻烦但长远来看它能帮你节省大量排查依赖冲突的时间让学习和实验过程顺畅很多。下次尝试其他模型时也记得给它建个新的“单间”哦。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…