如何在ubuntu上安装并使用llama.cpp

如何在ubuntu上安装使用llama.cpp

1.安装依赖

sudoapt update &&sudoapt upgrade -ysudoaptinstall build-essential cmake git libopenblas-dev libcurl4-openssl-dev 

2.获取llama.cpp的源文件

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

3.开始编译

#进入目录cd llama.cpp/ mkdir build cd build #带openblas加速库进行编译# cmake .. -DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS cmake ..-DGGML_CUDA=ON cmake --build.--config Release -j

4.模型格式转换

#进入工作目录cd llama.cpp/build/bin #将huggingface格式的模型转化从gguf python3 convert_hf_to_gguf.py /path/to/src_model \--outtype f16 --outfile /path/to/target_model.gguf 

注意此处src_model不是单个文件,包含包括模型结构配置,权重配置,分词器配置在内的完整模型目录。taget_model.gguf是单个文件

量化
如果需要运行更小的模型文件,可以使用llama.cpp自带的量化工具

#进入工作目录cd llama.cpp/build/bin #将原来的模型量化成Q3_K_S ./llama-quantize src_model.gguf target_model_Q3_K_S.gguf Q3_K_S #可以查看其他可用的量化方案 ./llama-quantize --help

如果上述工具运行报错,记得安装好依赖

#建议用conda做好环境隔离后再安装下列依赖,避免污染系统的基础环境 pip install transformers torch mistral_common sentencepiece \-i https://pypi.tuna.tsinghua.edu.cn/simple \ --trusted-host https://pypi.tuna.tsinghua.edu.cn 

5.运行
直接使用llama-server

./llama-server -m model.gguf -c4096--host0.0.0.0 

在浏览器上打开下列链接,即可开始对话

http://localhost:8080 

获取模型

由于huggingface下载太慢,本文选择使用阿里的魔塔社区

这里以下载llama3.1-8B的模型为例

#0.安装modelscope工具 pip install modelscope #1.下载完整模型文件 modelscope download --model LLM-Research/Meta-Llama-3-8B-Instruct #2.查看模型位置,默认会存放在缓存目录ls ~/.cache/modelscope/hub/ 

Read more

【嵌入式开发必看】C语言在无人机传感器处理中的7大核心技巧

第一章:C语言在无人机传感器处理中的核心地位 在现代无人机系统中,传感器数据的实时采集、处理与响应是保障飞行稳定性和任务执行能力的关键。C语言凭借其高效的执行性能、对硬件的直接控制能力以及广泛的嵌入式平台支持,在无人机传感器处理领域占据不可替代的核心地位。 高效性与实时性需求 无人机搭载的惯性测量单元(IMU)、气压计、GPS和磁力计等传感器每秒生成数千次数据采样,系统必须在极短时间内完成滤波、融合与姿态解算。C语言能够贴近底层硬件运行,避免高级语言的垃圾回收和虚拟机开销,确保关键代码路径的可预测执行时间。 硬件资源受限环境下的优势 多数无人机飞控系统采用ARM Cortex-M系列微控制器,资源有限,内存通常仅有几十KB。C语言允许开发者精确管理内存布局与外设寄存器访问,实现最优资源利用。 * 直接操作内存地址以读取传感器寄存器 * 使用位运算优化数据打包与解析 * 通过中断服务程序实现高优先级数据捕获 典型传感器数据读取示例 以下代码展示了使用C语言通过I²C接口读取IMU传感器加速度数据的基本流程: // 初始化I²C通信并读取加速度传感器值 void

Retinaface+CurricularFace部署教程:GPU利用率监控与batch size调优建议

Retinaface+CurricularFace部署教程:GPU利用率监控与batch size调优建议 你是不是也遇到过这种情况:好不容易把一个人脸识别模型部署上线,结果发现GPU利用率低得可怜,大部分时间都在“摸鱼”?或者想提高处理速度,一调大batch size,程序就直接崩溃了? 今天,我们就以Retinaface+CurricularFace这个人脸识别组合为例,手把手带你解决这两个核心的部署优化问题。这不是一篇枯燥的参数说明书,而是一份从实际工程经验中提炼出的“避坑指南”和“调优手册”。我会告诉你如何监控GPU的真实工作状态,以及如何科学地找到那个“又快又稳”的batch size黄金值。 1. 环境准备与快速上手 在开始调优之前,我们得先把模型跑起来。这个镜像已经为我们准备好了所有环境,省去了大量配置时间。 1.1 激活推理环境 镜像启动后,第一件事就是进入工作目录并激活预置的Conda环境。这就像打开工具箱,准备干活。 # 进入工作目录 cd /root/Retinaface_CurricularFace # 激活预置的PyTorch环境 conda

FPGA使用IIC协议完成OLED的驱动---附完整工程

FPGA使用IIC协议完成OLED的驱动---附完整工程

本次使用开发环境: 软件:Quartus II 64-Bit 开发板及芯片型号:至芯 --EP4CE6E22C8N 1.2V 完整工程因为会失效的风险请移步到公粽号:发拉不拉电,回复“OLED显示”获取最新网盘链接 协议核心概述 1. 物理层特性 2. 双线制:仅需 SCL(时钟线)和 SDA(数据线)两根线,均需外接上拉电阻,空闲时保持高电平 3. 多主多从:支持多个主机和从机,通过设备地址(通常 7 位)区分不同外设,地址后接 1 位读写标志位(0 写 / 1 读) 4. 半双工通信:数据线 SDA 同一时刻只能单向传输,由主机控制时序

【有手就行】:为QQ群快速接入下载本子的JM机器人

【有手就行】:为QQ群快速接入下载本子的JM机器人

前言 广大漫画爱好者的福音来了,由于国内通过正常手段访问不了JM,,所以就有diao大的弄了个JM爬虫,专门用来下载本子等操作;但是,在这个随时随地都离不开手机的年代,如果不能直接通过手机快速获取,那就等于零。所以它来了,JM机器人,也是个diao大的整合现有技术搞出来的,感兴趣的可以给个Star(ncatbotPlugin)。所以,我只个代码的搬运工,给大家简单介绍下如何使用 先看结果 环境准备 * GitHub * Python3.7+(不知道怎么安装Python的建议去百度一下,只需要会安装即可) * 云服务器(单纯自己学习可以不要) 开整 万事具备,直接开整 1、先Clone JM机器人项目 git clone https://github.com/FunEnn/ncatbotPlugin.git 2、安装依赖 进入到项目根目录,安装必要的python模块依赖 cd ncatbotPlugin pip install -r requirements.