《llama.cpp从零编译教程:Windows + Linux完整环境搭建》

LlamaAI本地部署实战专栏第2篇

从源码编译开始,搭建属于自己的本地大模型推理环境。


一、为什么选择自己编译llama.cpp?

在上一篇文章中,我们介绍了为什么越来越多开发者开始部署本地大模型。

目前运行本地LLM主要有几种方式:

  • Ollama
  • LM Studio
  • GPT4All
  • llama.cpp

对于普通用户:

下载软件 → 选择模型 → 点击运行

即可。

但是对于开发者而言,我们更推荐:

源码编译 llama.cpp

原因:

  1. 可以开启GPU加速
  2. 可以自定义编译参数
  3. 方便二次开发
  4. 了解底层推理流程
  5. 后续部署服务器、嵌入式设备更加灵活

llama.cpp本质上是一个:

使用C/C++实现的大语言模型推理框架。

它负责:

复制代码
复制代码
GGUF模型文件

        ↓

加载模型

        ↓

Tensor计算

        ↓

Token生成

        ↓

输出文本

二、llama.cpp整体架构

在正式安装之前,我们先了解它的组成。

复制代码
复制代码
                用户输入

                   ↓

              llama-cli

                   ↓

          llama.cpp核心引擎

                   ↓

        --------------------

        |                  |

    CPU Backend       CUDA Backend


        |

     GGUF模型

        |

    Token输出

核心组件:

组件 作用
llama-cli 命令行聊天程序
llama-server 启动API服务
libllama 核心推理库
ggml 底层计算框架

其中:

  • ggml负责矩阵计算
  • llama.cpp负责模型推理逻辑

三、环境准备

本文覆盖两个环境:

  • Windows 11
  • Ubuntu Linux

推荐配置:

最低配置

硬件 要求
CPU 4核心以上
内存 8GB
硬盘 20GB

GPU推荐

NVIDIA显卡:

显卡 适合模型
RTX3060 12G 7B模型
RTX4060 8G 3B~7B量化模型
RTX4090 24G 13B+模型

四、Windows环境安装

1. 安装Git

首先安装Git:

下载:

Git

检查:

打开PowerShell:

复制代码
复制代码
git --version

输出:

复制代码
复制代码
git version 2.xx.x

表示成功。


2. 安装CMake

llama.cpp使用CMake管理工程。

CMake作用:

简单理解:

根据项目配置生成不同平台的编译文件。

流程:

复制代码
复制代码
CMakeLists.txt

        ↓

CMake

        ↓

Visual Studio工程

        ↓

编译

        ↓

exe文件

安装:

CMake - Upgrade Your Software Build System

检查:

复制代码
复制代码
cmake --version

3. 安装Visual Studio Build Tools

Windows下需要C++编译环境。

安装:

Visual Studio Installer

选择:

复制代码
复制代码
Desktop development with C++

必须包含:

  • MSVC编译器
  • Windows SDK
  • CMake工具

安装完成后:

打开:

复制代码
复制代码
Developer Command Prompt

五、下载llama.cpp源码

进入你的工作目录:

例如:

复制代码
复制代码
cd D:\AI

克隆:

复制代码
复制代码
git clone https://github.com/ggerganov/llama.cpp.git

进入:

复制代码
复制代码
cd llama.cpp

目录结构:

复制代码
复制代码
llama.cpp

├── examples
├── common
├── src
├── ggml
├── CMakeLists.txt
└── README.md

六、Windows编译llama.cpp

方式1:CMake编译(推荐)

创建build目录:

复制代码
复制代码
cmake -B build

成功:

复制代码
复制代码
Configuring done

Generating done

然后:

复制代码
复制代码
cmake --build build --config Release

等待完成。

生成:

复制代码
复制代码
build/bin/

├── llama-cli.exe

├── llama-server.exe

└── llama-quantize.exe

七、理解cmake和make的区别

很多初学者会疑惑:

为什么有cmake,又有make?

实际上:

CMake

负责:

复制代码
复制代码
生成编译方案

例如:

Windows:

复制代码
复制代码
CMake
 ↓
Visual Studio项目

Linux:

复制代码
复制代码
CMake
 ↓
Makefile

Make

负责:

复制代码
复制代码
真正执行编译

例如:

复制代码
复制代码
make

执行:

复制代码
复制代码
.cpp

↓

.o

↓

可执行文件

简单理解:

工具 作用
CMake 设计施工方案
Make 真正施工

八、Linux Ubuntu安装

如果你使用:

  • Ubuntu服务器
  • WSL2
  • Linux电脑

流程更简单。


1. 安装依赖

复制代码
复制代码
sudo apt update

sudo apt install \
build-essential \
cmake \
git

检查:

复制代码
复制代码
gcc --version

cmake --version

2. 下载源码

复制代码
复制代码
git clone https://github.com/ggerganov/llama.cpp

cd llama.cpp

3. 编译

直接:

复制代码
复制代码
make

完成后:

查看:

复制代码
复制代码
ls

生成:

复制代码
复制代码
llama-cli

llama-server

llama-quantize

运行:

复制代码
复制代码
./llama-cli --help

如果出现:

复制代码
复制代码
usage:
  llama-cli [options]

说明成功。


九、开启CUDA GPU加速

默认:

复制代码
复制代码
CPU推理

速度有限。

如果拥有NVIDIA GPU:

需要开启CUDA。


Linux CUDA编译

进入源码:

复制代码
复制代码
cmake \
-B build \
-DGGML_CUDA=ON

编译:

复制代码
复制代码
cmake --build build --config Release

检查:

复制代码
复制代码
./build/bin/llama-cli \
--help

运行模型时:

复制代码
复制代码
--n-gpu-layers 50

表示:

将部分网络层放入GPU。


十、常见编译错误解决

错误1:

复制代码
复制代码
CMAKE_C_COMPILER not found

原因:

没有安装C++编译器。

解决:

Windows:

安装:

复制代码
复制代码
Visual Studio Build Tools

Linux:

复制代码
复制代码
sudo apt install build-essential

错误2:

复制代码
复制代码
NMake Makefiles missing

原因:

CMake选择了错误生成器。

解决:

使用:

复制代码
复制代码
cmake -B build

或者指定:

复制代码
复制代码
cmake -G "Visual Studio 17 2022" -B build

错误3:

CUDA找不到

检查:

复制代码
复制代码
nvidia-smi

确认:

  • NVIDIA驱动正常
  • CUDA Toolkit安装

十一、验证llama.cpp安装成功

查看版本:

复制代码
复制代码
./llama-cli --version

启动帮助:

复制代码
复制代码
./llama-cli --help

看到:

复制代码
复制代码
Options:

-m, --model

-ngl, --gpu-layers

-c, --ctx-size

说明:

你的本地大模型运行环境已经搭建完成。


十二、本篇总结

本篇完成了:

✅ 了解llama.cpp架构

✅ Windows编译环境搭建

✅ Linux环境搭建

✅ CMake与Make区别

✅ CUDA加速编译

现在你的电脑已经具备运行本地大模型的基础环境。

下一篇我们将进入真正的模型运行:

《手把手运行第一个本地大模型:Llama/Qwen GGUF模型部署》

内容包括:

  • 什么是GGUF模型
  • 如何下载Qwen/Llama模型
  • 模型量化原理
  • llama-cli运行模型
  • 参数调优
  • 打造第一个本地ChatGPT

敬请期待。

相关推荐
二宝哥1 小时前
CentOS 7.9 离线安装 Nginx 并配置openssl1.1.1
linux·nginx·centos
程序员老陆1 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg
IT摆渡者2 小时前
VM EXSI7.0存储硬盘故障处理
大数据·linux·github
赵民勇2 小时前
systemd-cgtop命令详解
linux·运维
hhwyqwqhhwy3 小时前
Ubuntu22.04 安装vitis
linux
刚入门的大一新生4 小时前
Linux-Linux第一个系统程序-进度条
linux·运维·服务器
wuminyu4 小时前
JDK21解决虚拟线程IO阻塞原理剖析
java·linux·c语言·jvm·c++
茫忙然4 小时前
Linux提权辅助查询工具——BinLens的安装和使用
linux·提权·binlens
FlightYe4 小时前
linux系统编程(八):阻塞与非阻塞IO对比
android·linux·运维·服务器·github·vim
.Peter4 小时前
.NET/WPF 程序在部分 Windows 电脑无法保存用户环境变量:使用 DPAPI 实现安全兼容
windows·信息安全·c#·.net·wpf·环境变量·dpapi