乐于分享
好东西不私藏

4GB显存电脑跑Gemma4 26B A4B大模型

4GB显存电脑跑Gemma4 26B A4B大模型

电脑是win10系统,4GB显存  32GB内存

显卡型号:NVIDIA GeForce GTX 1050 Ti

处理器:i7-7700HQ 2.80GHz

最终的速度: Prompt: 18.7 t/s    

                    Generation: 11.3 t/s

计算了下,12个汉字每秒(不包含所有标点符号,数字和英文字母)

速度还不错

下面是具体的步骤:

开发环境准备

1.Git for Windows,从GitHub下载源代码

2.CMake (≥3.14),配置和管理编译流程

3.Visual Studio 2022,提供Windows平台的核心C/C++编译器和库,下载社区版(Community),安装时务必勾选使用C++的桌面开发

4.NVIDIA 显卡驱动更新到最新

5.CUDA Toolkit (12.x)  让你的程序能调用NVIDIA GPU进行加速,需对应自己的显卡驱动

确认环境都准备好之后,就可以开始编译了

克隆仓库,powershell(管理员),执行:

git clone https://github.com/ggml-org/llama.cpp

cd llama.cpp

接着执行:

mkdir build

cd build

继续执行:

cmake .. -G "Visual Studio 17 2022" -A x64 -DGGML_CUDA=ON -DLLAMA_AVX2=ON -DLLAMA_FMA=ON

因为Windows 用户名包含中文字符,执行上面的代码报错了

CUDA 编译器 nvcc 无法正确处理包含非 ASCII 字符(如中文)的路径

解决方法很简单:将整个 llama.cpp 项目移动到一个纯英文路径下,例如C:\llama.cpp

修改系统环境变量 TEMP 和 TMP 为 C:\Temp

创建 build 目录并配置 CMake(启用 CUDA):

cd C:\llama.cpp

mkdir build && cd build

cmake .. -G "Visual Studio 17 2022" -A x64 -DGGML_CUDA=ON -DLLAMA_AVX2=ON -DLLAMA_FMA=ON

编译:

cmake --build . --config Release -j 8

然后运行模型,但出现bug

运行时,出现大模型正在思考,就退成的情况,分析了下,原因是默认上下文大小 n_ctx=4096,长思考过程超出限制导致截断

增大上下文:-c 8192

启用上下文滚动:--context-shift

保持 -ngl 99 不变(全量 offload)

运行模型(这个是最终版的运行命令):cd C:\llama.cpp\build.\bin\Release\llama-cli.exe -m "C:\anzhuangruanjian\DaMoXing\gemma-4-26B-A4B-it-Q4_K_M.gguf" --cpu-moe -ngl 99 -cnv -c 8192 --context-shift -n -1

模型回答完问题后,会有运行的速度,但不显示出来,复制最后几行到txt中,就会显示出来

想退出模型,输入:/exit