Ubuntu系统上通义千问1.5-1.8B-Chat-GPTQ-Int4的部署教程
本文介绍了如何在星图GPU平台上自动化部署通义千问1.5-1.8B-Chat-GPTQ-Int4镜像,实现高效的本地大语言模型应用。该平台简化了部署流程,用户可快速搭建智能对话系统,适用于文本生成、代码编写和日常问答等场景,显著提升开发效率。
Ubuntu系统上通义千问1.5-1.8B-Chat-GPTQ-Int4的部署教程
十分钟搞定大模型本地部署,零基础也能轻松上手
1. 前言:为什么选择这个模型?
最近很多朋友都在问,有没有适合新手入门的大模型,既要容易部署,又能在普通电脑上运行。今天介绍的这款通义千问1.5-1.8B-Chat-GPTQ-Int4版本,就是个很不错的选择。
这个模型最大的特点就是"轻量高效"——模型大小只有1.8B参数,经过GPTQ量化后更是大大降低了硬件需求,普通家用电脑就能跑起来。而且它是专门为对话场景优化的,日常问答、文本生成、代码编写等任务都能胜任。
我自己在Ubuntu系统上实测了一下,从零开始到能正常对话,整个过程不到十分钟。下面就把这个详细的部署过程分享给大家,跟着步骤走,你也能快速搭建自己的AI助手。
2. 准备工作:检查你的系统环境
在开始之前,先确认一下你的Ubuntu系统是否符合要求。这个模型对硬件要求不高,但有些基础依赖是必须的。
系统要求:
- Ubuntu 18.04或更高版本(推荐20.04 LTS或22.04 LTS)
- 至少8GB内存(16GB更流畅)
- 至少10GB可用磁盘空间
- Python 3.8或更高版本
检查Python版本: 打开终端,输入以下命令:
python3 --version
如果显示Python 3.8或更高版本,就可以继续下一步。如果版本太低,需要先升级Python:
sudo apt update
sudo apt install python3.9 # 安装Python 3.9
3. 第一步:系统更新与依赖安装
好的开始是成功的一半,我们先来更新系统和安装必要的依赖包。
在终端中依次执行以下命令:
# 更新软件包列表
sudo apt update
# 升级已安装的包
sudo apt upgrade -y
# 安装必要的依赖
sudo apt install -y python3-pip python3-venv git wget curl
# 安装PyTorch相关依赖(选择适合你硬件的版本)
# 如果你有NVIDIA显卡,安装CUDA版本的PyTorch:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 如果没有独立显卡,安装CPU版本:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
这些命令会确保你的系统处于最新状态,并安装好运行模型所需的基础环境。整个过程大概需要5-10分钟,取决于你的网速。
4. 第二步:创建虚拟环境
为什么需要虚拟环境?就像给这个项目单独准备一个"房间",避免与其他Python项目产生冲突。
创建并激活虚拟环境:
# 创建名为qwen的虚拟环境
python3 -m venv qwen-env
# 激活虚拟环境
source qwen-env/bin/activate
激活后,你的命令行前面会出现(qwen-env)的提示,表示已经在虚拟环境中了。接下来所有操作都在这个环境中进行。
5. 第三步:安装模型运行库
现在我们来安装运行通义千问模型所需的Python库:
# 安装transformers库(这是运行模型的核心库)
pip install transformers
# 安装加速推理的库
pip install accelerate
# 安装其他辅助库
pip install sentencepiece protobuf
这些库的作用:
transformers:提供了加载和运行模型的接口accelerate:加速模型推理过程sentencepiece:处理文本分词protobuf:数据序列化工具
安装过程大概需要2-3分钟,耐心等待即可。
6. 第四步:下载模型文件
模型文件有点大,我们直接用代码来自动下载。创建一个Python脚本来自动完成这个过程:
新建一个名为download_model.py的文件:
from transformers import AutoModelForCausalLM, AutoTokenizer
# 模型名称(这就是我们要下载的通义千问量化版本)
model_name = "Qwen/Qwen1.5-1.8B-Chat-GPTQ-Int4"
print("开始下载模型,这可能需要一些时间...")
# 自动下载模型和分词器
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto", # 自动选择设备(GPU或CPU)
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
print("模型下载完成!")
运行下载脚本:
python download_model.py
第一次运行时会自动下载模型文件,大小约1.2GB。下载时间取决于你的网速,一般需要5-15分钟。
小贴士:如果下载中断,可以重新运行命令,它会自动续传。
7. 第五步:测试模型是否正常工作
下载完成后,我们来写一个简单的测试脚本,验证模型是否能正常工作:
创建test_model.py文件:
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和分词器
model_name = "Qwen/Qwen1.5-1.8B-Chat-GPTQ-Int4"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
trust_remote_code=True
)
# 准备输入问题
question = "你好,请介绍一下你自己"
# 编码输入
inputs = tokenizer(question, return_tensors="pt")
# 生成回答
outputs = model.generate(**inputs, max_new_tokens=100)
# 解码输出
answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
print("问:", question)
print("答:", answer)
运行测试脚本:
python test_model.py
如果一切正常,你会看到模型生成的自我介绍。第一次运行可能会稍慢一些,因为需要加载模型到内存中。
8. 第六步:创建交互式对话脚本
现在我们来创建一个更实用的交互式对话脚本,可以连续与模型交流:
创建chat.py文件:
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型
model_name = "Qwen/Qwen1.5-1.8B-Chat-GPTQ-Int4"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
trust_remote_code=True
)
# 设置模型为评估模式
model.eval()
print("通义千问1.8B模型已加载完成!")
print("输入'退出'或'quit'可以结束对话")
print("=" * 50)
while True:
# 获取用户输入
user_input = input("你:")
if user_input.lower() in ['退出', 'quit', 'exit']:
print("再见!")
break
# 构建对话格式
messages = [
{"role": "user", "content": user_input}
]
# 编码输入
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = tokenizer(text, return_tensors="pt")
# 生成回复
outputs = model.generate(
**inputs,
max_new_tokens=256,
do_sample=True,
temperature=0.7,
top_p=0.8
)
# 解码并打印回复
response = tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True)
print("AI:", response)
print("-" * 50)
运行对话脚本:
python chat.py
现在你可以开始与模型对话了!试试问它一些问题,比如:"写一首关于春天的诗"或者"用Python写一个计算器程序"。
9. 常见问题解决
在部署过程中可能会遇到一些问题,这里列举几个常见的:
问题1:内存不足
OutOfMemoryError: CUDA out of memory
解决:尝试减小max_new_tokens参数的值,或者在加载模型时设置device_map="cpu"强制使用CPU。
问题2:下载中断
ConnectionError: Error while downloading
解决:重新运行下载命令,支持断点续传。如果一直失败,可以尝试设置代理。
问题3:版本冲突
ImportError: cannot import name 'xxx'
解决:确保在虚拟环境中安装依赖,可以尝试重新创建虚拟环境。
问题4:生成速度慢 解决:这是正常现象,因为是在CPU上运行。如果有NVIDIA显卡,确保安装了CUDA版本的PyTorch。
10. 使用技巧和建议
为了让模型表现更好,这里分享几个实用技巧:
1. 提问要具体
- 不好:"写文章"
- 好:"写一篇关于人工智能在医疗领域应用的短文,300字左右"
2. 控制生成长度 通过调整max_new_tokens参数来控制回复长度,一般设置100-500之间。
3. 调整创造性
temperature=0.1:更保守、确定性强的回答temperature=0.9:更创造性、多样性的回答
4. 批量处理问题 如果需要处理多个问题,可以修改脚本批量处理,避免重复加载模型。
5. 定期更新 记得定期更新transformers库,获取性能改进和新功能:
pip install --upgrade transformers
11. 总结
整个部署过程比想象中要简单很多吧?其实大模型部署并没有那么神秘,只要跟着步骤一步步来,谁都能在自己的电脑上运行AI助手。
这个1.8B的版本虽然参数不多,但日常使用完全够用了。写写文案、生成创意内容、解答技术问题,表现都还不错。最重要的是它真的很轻量,普通笔记本电脑都能流畅运行。
建议你先从简单的对话开始,熟悉模型的特点和能力边界。等熟练之后,可以尝试用它来辅助编程、写作或者学习。有时候它给出的答案可能会让你惊喜。
如果在使用过程中遇到其他问题,或者发现了什么有趣的使用技巧,欢迎分享出来。技术就是在这样的交流中不断进步的。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)