Windows下使用chatglm.cpp的量化模型以实现普通电脑配置也可以来使用ChatGLM3-6B

chatglm.cpp是使用cpu驱动,在加上量化以后降低参数精度,可以让cpu配置不够好的情况下也能使用ChatGLM3-6B。由于本人对于C++和Python并不熟悉,可能在文章会有一些错误理解,请读者谅解。

ChatCLM3的GitHub官方链接:

GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

chatglm.cpp量化模型的GitHub官方链接:

GitHub - li-plus/chatglm.cpp:ChatGLM-6B & ChatGLM2-6B & ChatGLM3 & GLM4 的C++实现

首先git环境和python环境肯定是要提前准备好的,然后进入到Windows的命令行模式,cd到我们要保存该项目的目录下,后文所指的chatglm安装所在的绝对路径皆是该路径。

1.将ChatGLM.cpp存储库克隆到本地计算机中:

git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp

2.量化模型

过程略长且麻烦,想要逃课可以直接看下一个标题

安装用于加载和量化 Hugging Face 模型的必要软件包:

python -m pip install -U pip

在执行这个命令的时候可能会报错:

Cannot uninstall TBB 0.2 It is a distutils installed project and thus we cannot accurately det

这个问题是使用无法卸载TBB,具体缘由应该是原先安装python环境使用的是conda,现在使用pip安装对于TBB有冲突,无法卸载。

解决方式:

1.手动删除Python路径下\Lib\site-packages包下的llvmlite文件
2.在执行命令 conda uninstall TBB

安装用于加载和量化 Hugging Face 模型的必要软件包:

python -m pip install torch tabulate tqdm transformers accelerate sentencepiece

在执行这个命令的时候可能会报错:

AttributeError: ‘ChatGLMTokenizer‘ object has no attribute ‘sp_tokenizer‘

导致该问题的主要原因是transformers版本的问题,原python环境下的transformers版本过高,满足需求的transformers<4.34

解决方式:

pip uninstall transformers
pip install transformers==4.33.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.douban.com

用于将 ChatGLM-6B 转换为量化的 GGML 格式。例如,要将 fp16 原始模型转换为q4_0(量化 int4)GGML 模型,请运行:chatglm_cpp/convert.py

python chatglm_cpp/convert.py -i THUDM/chatglm-6b -t q4_0 -o models/chatglm-ggml.bin

可以通过指定以下内容自由尝试以下任何量化类型:-t <type>

 这里需要科学上网才能连接到Hugging Face的官网才可以完成量化模型的转换和下载,且该过程可能会有些长。

量化模型逃课

如果不想完成第二步量化模型的过程或者无法科学上网,我将量化后的模型上传到了百度网盘分享出来,下载后存放到models目录下,可以直接拿来使用。

链接:https://pan.baidu.com/s/17fH053Q-tfFK4nPDyYW0nw?pwd=n6yx 
提取码:n6yx

3. 构建和运行

使用 CMake 编译项目:

cmake -B build
cmake --build build -j --config Release

现在,您可以通过运行以下命令与量化的ChatGLM-6B模型聊天:

.\build\bin\Release\main  -m models\chatglm-ggml.bin -p 想要提问的问题

若要在交互模式下运行模型,请添加标志-i

.\build\bin\Release\main  -m models\chatglm-ggml.bin -i

在交互模式下,聊天记录将作为下一轮对话的背景。

4.使用streamlit来通过可视化的网站启动ChatGLM

首先需要下载streamlit

pip install streamlit 

下载运行chatglm_cpp的所需环境

pip install .

修改examples目录下的chatglm3_demo.py第20行模型文件位置 

修改前:

MODEL_PATH = Path(__file__).resolve().parent.parent / "models/chatglm3-ggml.bin"

修改后:

MODEL_PATH = Path(__file__).resolve().parent.parent / "chatglm安装所在的绝对路径\models\chatglm-ggml.bin"

不修改的话,在后续启动的时候会报错

huggingface_hub.errors.HFValidationError: Repo id must use alphanumeric chars or '-', '_', '.', '--' and '..' are forbidden, '-' and '.' cannot start or end the name, max length is 96: 'C:\AI\chatglm.cpp\models\chatglm3-ggml.bin'

最后需要chatglm.cpp的安装目录下原有的chatglm_cpp文件夹的名称修改成chatglmcpp或者其他的,不然会报错: ModuleNotFoundError: No module named 'chatglm_cpp'

启动项目

python -m streamlit run  examples\chatglm3_demo.py 

启动后的就可以得到一个可视化的网站了

 5.快速启动

桌面新建文本文件写入:

conda env list && activate glm3cpp && python -m streamlit run 安装的绝对路径\chatglm.cpp\examples\chatglm3_demo.py

另存为将保存类型的文本文档修改为所有文件,文件名改为run.bat

以后想要运行这个网页版chatglm可以直接双击这个文件

<think>好的,用户现在问的是家用电脑部署AI的配置应该是多少,以及如何更好地发挥其价值。我需要先回顾之前的对话历史,看看有没有相关的信息。之前用户问过关于CI/CD的理解,我详细介绍了持续集成和持续部署的概念、工具和流程。现在的问题转向了家用电脑的AI配置,这是一个完全不同的领域,可能需要结合硬件知识和AI应用场景来回答。 首先,我需要确定用户的具体需求。家用电脑部署AI可能涉及多种用途,比如机器学习模型的训练、推理、自然语言处理、图像生成等。不同的应用对硬件的要求不同。用户可能是一个对AI感兴趣的开发者,或者是想在家用电脑上运行一些AI应用的个人用户,比如使用Stable Diffusion生成图片,或者运行一些本地的大语言模型。 接下来,我需要考虑用户的潜在需求。用户可能没有明确说明他们具体想做什么类型的AI任务,因此我需要覆盖不同场景下的配置建议,同时也要考虑到预算和使用效率的问题。比如,训练大型模型需要更高的配置,而推理或者轻量级任务可能需求较低。此外,用户可能希望了解如何优化现有硬件,或者推荐具体的硬件组件。 然后,我要整理相关的硬件配置要点。CPU、GPU、内存、存储、散热等都是关键因素。特别是GPU,对于深度学习任务来说至关重要,NVIDIA的显卡因为CUDA生态的支持通常是首选。需要推荐不同预算下的配置方案,比如入门级、中高端和旗舰级,并解释各个组件的选择理由。 此外,用户还问到如何更好地发挥价值,这部分需要包括软件优化、框架选择、模型压缩、任务调度、分布式计算以及实际应用场景的建议。比如使用Docker环境隔离,选择适合的AI框架,调整模型参数以减少资源消耗,合理安排任务时间等。 还需要注意用户可能的误区,比如是否真的需要顶级配置,或者是否有更经济高效的方案,比如云服务。同时,提醒用户注意散热和电源供应,避免硬件损坏。最后,给出实际应用场景的例子,帮助用户理解如何将配置应用到具体项目中,比如个人助手、图像生成、数据分析等。 总结来说,回答需要结构清晰,覆盖硬件配置、软件优化、应用场景和注意事项,同时考虑不同用户的需求和预算,提供实用的建议。需要避免过于技术化的术语,保持易懂,但也要足够详细,让用户能够根据自身情况做出选择。</think>部署家用电脑运行 AI 任务(如训练模型、运行生成式 AI 或本地大语言模型)需要根据具体需求选择硬件配置,同时通过软硬件优化充分发挥性能。以下是详细指南: --- ### **一、硬件配置建议** #### **1. 核心组件选择** | **组件** | **推荐配置** | **说明** | |----------------|-----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | **CPU** | **Intel i7/i9 或 AMD Ryzen 7/9**(12核以上) | 多线程处理能力对数据预处理、小模型训练至关重要,AMD Ryzen 性价比更高。 | | **GPU** | **NVIDIA RTX 3060/3080/4090**(显存 ≥12GB) | NVIDIA GPU 对 PyTorch/TensorFlow 支持最佳,显存越大可运行的模型越大(如本地部署 LLM 需 ≥16GB 显存)。 | | **内存** | **32GB DDR4/DDR5**(预算允许可升级至 64GB) | 大内存支持复杂数据处理和模型缓存,避免因内存不足导致崩溃。 | | **存储** | **1TB NVMe SSD + 机械硬盘**(或 2TB PCIe 4.0 SSD) | 高速 SSD 加速数据读写,机械硬盘用于存储大型数据集。 | | **电源** | **≥750W 金牌电源**(根据 GPU 功耗调整) | 高端 GPU(如 RTX 4090)功耗可达 450W,需留足余量。 | | **散热** | **风冷/水冷散热系统 + 机箱风道优化** | AI 任务高负载运行时发热严重,需确保散热稳定(GPU 温度 ≤85℃)。 | #### **2. 不同预算方案** - **入门级(约 ¥8,000-12,000)**: - RTX 3060(12GB 显存) + i5/Ryzen 5 + 32GB 内存 + 1TB SSD - 适合:本地运行 Stable Diffusion、轻量级 LLM(如 ChatGLM-6B)、小数据集训练。 - **中高端(约 ¥15,000-25,000)**: - RTX 4080/4090(24GB 显存) + i7/Ryzen 7 + 64GB 内存 + 2TB SSD - 适合:多任务并发、微调中等规模模型(如 LLaMA-13B)、高清图像生成。 - **旗舰级(¥30,000+)**: - 双显卡(如 RTX 4090×2) + 线程撕裂者 + 128GB 内存 + RAID 0 SSD - 适合:本地训练大模型、多用户共享算力(需注意家用电源和散热限制)。 --- ### **二、如何发挥硬件价值:软件与优化** #### **1. 软件环境配置** - **操作系统**:优先选择 Linux(如 Ubuntu),对 AI 框架支持更友好;若用 Windows,建议安装 WSL2。 - **驱动与工具链**: - 安装最新 NVIDIA 驱动 + CUDA Toolkit + cuDNN。 - 使用 `conda` 或 `Docker` 管理 Python 环境,避免依赖冲突。 - **框架选择**: - 推理/生成任务:PyTorch + Hugging Face Transformers(支持多数开源模型)。 - 图像生成:Stable Diffusion WebUI + xFormers 加速插件。 - 本地 LLM:llama.cpp、ollama 或 vLLM(量化模型降低显存占用)。 #### **2. 性能优化技巧** - **模型压缩**: - 使用量化(4-bit/8-bit)、剪枝或 LoRA 微调,减少显存占用(如用 GPTQ 量化 LLaMA 模型)。 - 示例代码(量化加载): ```python from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("model_path", load_in_4bit=True) ``` - **任务调度**: - 限制并发任务数量,避免显存溢出(如设置 `max_workers=1`)。 - 使用任务队列(Celery)管理长时间任务。 - **分布式计算**: - 多 GPU 并行:通过 PyTorch 的 `DataParallel` 或 `DeepSpeed` 加速训练。 - CPU-GPU 协同:将数据预处理放在 CPU,模型推理/训练放在 GPU。 #### **3. 场景化应用建议** - **个人助手**: - 部署本地 LLM(如 Mistral-7B) + RAG(检索增强生成),结合 LangChain 处理个人文档。 - 硬件要求:RTX 3080(16GB 显存) + 32GB 内存。 - **图像生成**: - 使用 Stable Diffusion XL + ControlNet,通过 `--medvram` 参数优化显存。 - 示例启动命令: ```bash python launch.py --precision full --no-half --medvram ``` - **数据分析**: - 用 CPU 运行轻量级模型(如 Scikit-learn/XGBoost),GPU 加速特征工程(如 RAPIDS 库)。 --- ### **三、注意事项** 1. **功耗与散热**: - 长期高负载运行可能缩短硬件寿命,建议设置温度墙(如 `nvidia-smi -pl 300` 限制 GPU 功耗)。 2. **云服务补充**: - 训练超大模型时,可临时租用云服务器(如 AWS EC2/AutoDL),家用电脑仅用于推理。 3. **数据安全**: - 敏感数据需加密存储,避免本地模型泄露隐私(如使用私有化部署的 ChatGLM3)。 --- ### **四、实际案例参考** - **案例 1**:家用 RTX 4090 运行 LLaMA-13B 模型 - 配置:13B 模型经 4-bit 量化后显存占用约 10GB,响应速度 15 token/秒。 - 用途:本地知识库问答、自动化文档摘要。 - **案例 2**:双 RTX 3090 训练 Stable Diffusion 微调模型 - 配置:24GB 显存 ×2,支持 batch_size=8 的 512×512 图像训练。 - 优化:启用混合精度训练(`--amp`),速度提升 40%。 --- 通过合理配置硬件并优化软件,家用电脑可胜任多数中小规模 AI 任务,平衡成本与性能。若追求极致效率,建议结合云计算资源弹性扩展。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值