首页 > 其他分享 >基于GPU在本地部署llama.cpp

基于GPU在本地部署llama.cpp

时间:2024-03-19 12:56:08浏览次数:28  
标签:-- User llama cpp GPU build

基于GPU在本地部署ggerganov/llama.cpp: LLM inference in C/C++ (github.com)

下载llama.cpp

git clone [email protected]:ggerganov/llama.cpp.git
cd llama.cpp

编译GPU环境的程序

我是基于cuda12.4工具包,用cmake进行编译。编译得到的程序保存在./build/bin/

mkdir build
cd build
cmake .. -DLLAMA_CUBLAS=ON
cmake --build . --config Release

运行和使用

运行bin文件中的main程序,首先需要从huggingface上下载GGUF格式的预训练模型。经过网络检索,我的RTX3060-12G的显卡,可以较快速处理7B 4Q大小的模型。于是我下载了llama-2-7b.Q4_0.gguf ,并将该模型保存在./models/llama-7b/ggml-model-q4_0.gguf中。

下面是运行的效果展示,注意,./main程序默认在CPU上运行,若要在GPU上运行,需要设置--n-gpu-layers N参数。

./main -m ../../models/llama-7b/ggml-model-q4_0.gguf -n -1 --color -r "User:" --in-prefix " " -i -p \
  'User: Hi
  AI: Hello. I am an AI chatbot. Would you like to talk?
  User: Sure!
  AI: What would you like to talk about?
  User:' --n-predict 512 --repeat-penalty 1.0 --n-gpu-layers 15000

GPU运行性能如下:

refs:

Running llama.cpp on Linux: A CPU and NVIDIA GPU Guide - Kubito

标签:--,User,llama,cpp,GPU,build
From: https://www.cnblogs.com/ckxkexing/p/18082525

相关文章

  • CVE-2023-48409 Mali GPU 整数溢出导致堆越界写
    CVE-2023-48409MaliGPU整数溢出导致堆越界写https://github.com/0x36/Pixel_GPU_Exploit漏洞原语:假设分配的大小为0x3004​,会执行copy_from_user(ptr-0x4000,from,0x7004),导致越界写由于CONFIG_HARDENED_USERCOPY如果to是slab中的地址,copy_from_user会确保拷......
  • 在16G的GPU上微调Mixtral-8x7B
    Mixtral-8x7B是最好的开源llm之一。但是消费级硬件上对其进行微调也是非常具有挑战性的。因为模型需要96.8GB内存。而微调则需要更多的内存来存储状态和训练数据。比如说80gbRAM的H100GPU是不够的。这时我们就想到了QLoRA,它将模型大小除以4,同时通过仅调整LoRA适配器进行微调来......
  • LLama模型测评:性能卓越、应用广泛,引领自然语言处理新潮流
    在人工智能的浪潮中,自然语言处理(NLP)领域一直备受瞩目。作为其中的佼佼者,LLama模型以其卓越的性能和广泛的应用场景,成为当前NLP领域的热门话题。本文将对LLama模型进行详尽的测评,从性能、应用、创新点及未来发展等多个维度展开探讨。首先,从性能层面来看,LLama模型展现出了强......
  • 微调LLama模型:具体步骤与代码实现
    微调LLama模型是一个涉及多个步骤的过程,包括数据准备、模型加载、设置优化器和损失函数、训练循环以及模型评估。下面,我们将详细介绍这些步骤,并给出相应的代码实现。步骤一:数据准备首先,我们需要准备用于微调的数据集。这通常包括一个输入文本序列和对应的标签或目标输出。......
  • 初见Cpp(C++)
        从本篇开始,往后将开始更新C++有关的文章,本篇作为对C++的一个铺垫。将会较为详细的讲解一些有关C++的基本知识,便于读者从C语言阶段晋升到C++阶段。以下是对C++的一些介绍:    C++是在C的基础上,容纳进去了面对对象的编程思想,并且增加了许多有用的库,以及编程......
  • Linux监控CPU和GPU
    监控显卡占用情况watch-n2nvidia-smicpupower安装sudoaptinstalllinux-tools-commonCPU实时频率查看watch-n1sudocpupowermonitor查看cpu频率watch-n0"cat/proc/cpuinfo|grep-imhz"查看cpu频率模式cpupowerfrequency-info查看当前所有CPU的信息su......
  • 16.【CPP】详解继承
    继承方式如图注意点1.基类private成员在派生类中无论以什么方式继承都是不可见的。这里的不可见是指基类的私有成员还是被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它2.基类private成员在派生类中是不能被访问,如果基类成员不......
  • Ollama 可以在 Windows 上运行了
    Ollama可以在Windows上运行了0.引言1.下载Ollma安装文件2.安装Ollama3.使用Ollama4.(可选)环境变量5.(可选)修改默认模型6.(可选)ollamals不能正确显示OLLAMA_MODELS设置路径的模型0.引言Ollama终于可以在Windows上运行了,一直以来都是“Comingsoon”。运......
  • 在Windows电脑上本地部署Llama2大型语言模型
    在Windows电脑上本地部署Llama2大型语言模型需要一系列具体的步骤。下面,我将详细指导你完成这个过程,并附上相关链接和具体的输入代码或命令行。一、准备环境安装Python:首先,确保你的Windows电脑上已经安装了Python。你可以从Python的官方网站(https://www.python.org/downl......
  • cpp templates :auto推导
    目录常见推导函数的返回值常见推导1auto:产生拷贝,可以修改2auto&:左值引用,接受左值,可以修改3constauto&:const引用,可以接受左右值,不可修改4auto&&:万能引用,可以接受左右值,const引用时不能修改inta=100;constintb=100;autoa1=3;//a1为intautoa2......