构建llama.cpp并在linux上使用gpu

使用gpu构建llama.cpp

更多详情参见https://github.com/abetlen/llama-cpp-python,官网网站会随着版本迭代更新。

下载并进入llama.cpp

地址:https://github.com/ggerganov/llama.cpp
可以下载到本地再传到服务器上

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp

编译源码(make)

生成./main和./quantize等二进制文件。详见:https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md

使用CPU
make
使用GPU
make GGML_CUDA=1
可能出现的报错及解决方法

I ccache not found. Consider installing it for faster compilation.

sudo apt-get install ccache

Makefile:1002: *** I ERROR: For CUDA versions < 11.7 a target CUDA architecture must be explicitly provided via environment variable CUDA_DOCKER_ARCH, e.g. by running "export CUDA_DOCKER_ARCH=compute_XX" on Unix-like systems, where XX is the minimum compute capability that the code needs to run on. A list with compute capabilities can be found here: https://developer.nvidia.com/cuda-gpus . Stop.
说明cuda版本太低,如果不是自己下载好的,参考该文章nvcc -V 显示的cuda版本和实际版本不一致更换
NOTICE: The 'server' binary is deprecated. Please use '

### anythingllmllama.cpp 项目介绍 anythingllm 是一种专注于构建轻量级、高性能的语言模型框架,旨在降低大型语言模型部署的成本和技术门槛[^1]。该框架通过优化推理过程中的计算资源利用效率来实现这一目标。 llama.cpp 则是一个用于运行 LLaMA (Large Language Model Meta AI) 的 C++ 推理引擎库[^2]。它允许开发者在各种硬件平台上高效地执行预训练好的大尺寸语言模型,提供了良好的性能表现以及较低的内存占用特性。 ### 使用教程 对于希望使用 anythingllm 或者 llama.cpp 来开发应用的人来说: #### 安装依赖项 为了能够顺利编译运行这些工具包,通常需要安装一些必要的软件包和库文件。具体来说,在 Linux 系统上可以采用如下命令完成环境准备: ```bash sudo apt-get update && sudo apt-get install -y build-essential cmake git libomp-dev python3-pip pip3 install --upgrade pip setuptools wheel torch torchvision torchaudio ``` #### 获取源代码 可以通过 Git 克隆官方仓库获取最新版本的源码: ```bash git clone https://github.com/your-repo/anythingllm.git cd anythingllm # 对于 llama.cpp 同样适用 git clone https://github.com/facebookresearch/llama-cpp.git cd llama-cpp ``` #### 编译与测试 按照各自项目的文档说明来进行本地编译操作;一般情况下会有一个简单的 `Makefile` 文件帮助简化此流程。 ```bash make clean all test ``` ### 源码解析 anythingllm 的核心在于其高效的调度算法设计,这使得即使是较小规模的服务端设备也能支持较大体量的语言模型加载和服务请求处理[^1]。而 llama.cpp 主要关注如何有效地管理 GPU/CPU 资源分配给不同的层间运算任务,从而达到最佳化的速度效果[^2]。 ```cpp // 示例:LLaMA 模型前向传播函数定义(来自 llama.cpp) void forward(const std::vector<float>& input, std::vector<float>& output); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值