论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
人工智能
›
人工智能
›
使用 llama.cpp 在 Windows 11 上运行 Qwen2.5 和 DeepS ...
使用 llama.cpp 在 Windows 11 上运行 Qwen2.5 和 DeepSeek 模型:从环境搭 ...
北冰洋以北
论坛元老
|
2025-4-3 22:17:00
|
显示全部楼层
|
阅读模式
楼主
主题
1944
|
帖子
1944
|
积分
5832
弁言
llama.cpp vs Ollama:为什么选择 llama.cpp?
1. 机动性与控制力
llama.cpp:
完全开源,你可以根据自己的需求修改代码,甚至优化性能。
支持多种硬件后端(CPU、CUDA、Metal、Vulkan 等),适合需要深度定制的场景。
可以自由选择模型、量化方案和运行参数,机动性极高。
Ollama:
更方向于开箱即用,适合不想折腾的用户。
机动性较低,无法深度定制模型或优化性能。
2. 性能优化
llama.cpp:
支持多种量化方案(如 Q4_K_M、Q5_K_M),显著镌汰显存占用并提升运行速度。
支持 CPU+GPU 混淆推理,即使显存不足也能运行大模型。
通过 SIMD 指令集(如 AVX2、AVX512)和 GPU 加快,性能极致优化。
Ollama:
性能优化较为守旧,主要依赖 CPU 运行,GPU 支持有限。
量化选项较少,无法针对特定硬件举行深度优化。
3. 多平台支持
llama.cpp:
支持 Windows、Linux、macOS 等多种操纵体系。
支持多种硬件架构(x86、ARM、Apple Silicon 等)。
Ollama:
主要面向 macOS 和 Linux,Windows 支持较弱。
硬件兼容性较低,尤其是对 GPU 的支持。
4. 适用场景
llama.cpp:
适合开发者、研究人员和技术爱好者,需要深度定制和优化性能的场景。
适合需要运行特定模型(如 Qwen2.5、DeepSeek)或举行模型实验的用户。
Ollama:
适合平凡用户,希望快速上手并使用预置模型。
适合不需要深度定制或性能优化的场景。
5. 学习与探索
llama.cpp:
通过手动设置和调试,你可以深入了解大模型的运行机制和优化方法。
适合想要学习底层技术或举行二次开发的用户。
Ollama:
更注重用户体验,适合不想深入技术细节的用户。
1. 环境预备
1.1 体系要求:
Windows 11、Visual Studio 2022、CMake、CUDA(可选)。
1.2 安装依赖:
安装 Git、CMake、Visual Studio 2022(确保勾选 C++ 开发工具)。
安装 CUDA(假如需要 GPU 加快)。
2. 编译 llama.cpp
2.1 克隆仓库:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
复制代码
2.2 使用 CMake 天生项目:
CPU 版本:
cmake .. -G "Visual Studio 17 2022" -A x64
复制代码
GPU 版本(CUDA):
cmake .. -G "Visual Studio 17 2022" -A x64
-DGGML_CUDA=ON
复制代码
2.3 编译项目:
cmake --build . --config Release
复制代码
3. 获取和转换模型
3.1 下载 Qwen2.5 和 DeepSeek 模型:
从 Hugging Face 下载模型权重。
3.2 转换模型为 GGUF 格式:
使用 convert-hf-to-gguf.py 脚本:
python convert-hf-to-gguf.py Qwen/Qwen2.5-7B-Instruct --outfile qwen2.5-7b-instruct-f16.gguf
复制代码
量化模型(可选):
./llama-quantize qwen2.5-7b-instruct-f16.gguf qwen2.5-7b-instruct-q5_k_m.gguf q5_k_m
复制代码
4. 运行模型
4.1 运行 Qwen2.5 模型:
./llama-cli -m qwen2.5-7b-instruct-q5_k_m.gguf -ngl 80 -n 512
复制代码
4.2 运行 DeepSeek 模型:
./llama-cli -m deepseek-7b-q5_k_m.gguf -ngl 80 -n 512
复制代码
4.3 调解参数:
–temp:控制天生内容的随机性(默认 0.8)。
-top_k 和 -top_p:控制天生内容的多样性。
-ngl:调解分配到 GPU 的层数(根据显存大小调解)。
5. 踩坑与办理方案
5.1 CMake 缓存冲突:
办理方法:删除 CMakeCache.txt 和 CMakeFiles 目录,或创建新的构建目录。
5.2 CUDA 支持问题:
办理方法:确保 CUDA 已安装,并设置正确的环境变量。
5.3 模型分片文件归并:
办理方法:使用 copy 或 cat 下令归并分片文件。
6. 性能优化
6.1 GPU 加快:
使用 -ngl 参数将模型层分配到 GPU。
6.2 量化模型:
使用 llama-quantize 工具镌汰显存占用。
6.3 多线程优化:
调解 -t 参数,充分使用 CPU 多线程。
7. 结果展示
7.1 Qwen2.5 对话示例:
8. 总结
llama.cpp 是一个强盛而机动的工具,专为对性能和控制力有极高要求的用户设计。尽管初次使用时大概会遇到一些挑战,但通过不断探索和办理问题,你将可以或许充分释放它的潜力,体验到在本地运行大模型的无限乐趣!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
北冰洋以北
论坛元老
这个人很懒什么都没写!
楼主热帖
一零零七、Docker快速入门
超融合,变了?
Linux基础篇(6)---》常用命令大全(网络 ...
鸿蒙最新功能及承载设备详解:HarmonyO ...
作为开发人员,您应该熟悉的 7 个 Java ...
代码审计(Java)——WebGoat_Authentica ...
Kubernetes-namespace
如何快速而优雅的解决问题(提问的智慧 ...
kubernetes之Ingress发布Dashboard(二) ...
零代码,让业务人员实现应用创造自由 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
向量数据库
Java
Nosql
快速回复
返回顶部
返回列表