【个人开发】llama2部署实践(一)——基于CPU部署

1. Anaconda安装

mkdir -p /opt/anaconda
cd /opt/anaconda
# 参考链接:https://repo.anaconda.com/archive/index.html
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh
sh Anaconda3-2023.07-2-Linux-x86_64.sh

2.安装git

yum install git
yum install git-lfs # 安装依赖
git lfs install 

3.安装g++

yum install gcc-c++
## 升级版本,否则会报错
sudo yum install centos-release-scl
sudo yum install devtoolset-9-gcc*
scl enable devtoolset-9 bash## 查看版本
gcc -v

4.llama2 安装


# 1.下载项目
git clone https://github.com/ggerganov/llama.cpp
pip3 install -r requirements.txt
make# GPU编译方式。## 2.获取 下载链接、下载模型 
#  注意代理节点跟所选地址的关系。
# https://llama.meta.com/llama-downloads/
git clone https://github.com/facebookresearch/llama.git## 下载(输入邮箱链接)
./download.sh 
## 得到模型文件 llama-2-7b# 3.文件转化
## 将llama中的文件tokenizer.model 复制到模型的位置 llama-2-7b,否则会报错
## Found vocab files: {'tokenizer.model': None, 'vocab.json': None, 'tokenizer.json': None}      FileNotFoundError: spm vocab not found.## 模型转化
cd llama.cpp
mkdir -p models/7B/
mkdir -p models/13B/
python3 convert.py --outfile models/7B/ggml-model-f16.bin ../llama-2-7b/
python3 convert.py --outfile models/13B/ggml-model-f16.bin ../llama-2-13b/python3 convert.py --outfile /data/opt/llama2_model/llama-2-7b-bin/ggml-model-f16.bin /data/opt/llama2_model/llama-2-7b## 模型量化(q4_0为原始的量化)
./quantize ./models/7B/ggml-model-f16.bin ./models/7B/ggml-model-q4_0.gguf q4_0
## 启动服务
./server -m ./models/7B/ggml-model-q4_0.gguf  -c 2048 -ngl 1 --host localhost --port 8080 
## 终端对话
./main -m ./models/7B/ggml-model-q4_0.gguf -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt 
## 服务调用
curl --request POST \--url http://localhost:8080/completion \--header "Content-Type: application/json" \--data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 128}'

以上,End!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【动态规划】代码随想录算法训练营第四十三天 |1049. 最后一块石头的重量 II,494. 目标和,474.一和零 (待补充)

1049. 最后一块石头的重量 II 1、题目链接:. - 力扣(LeetCode) 2、文章讲解:代码随想录 3、题目: 有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出任意两块石头,然后…

PCB行业IPC标准内容介绍及子标准文件总结

🏡《总目录》 目录 1,概述2,标准内容简介3,IPC标准总结4,总结1,概述 IPC二级标准是针对电路板质量而制定的国际标准。它主要涉及到电路板的设计、制造和检验等方面,旨在确保电路板的质量、可靠性和性能达到一定的标准。 2,标准内容简介 IPC标准主要包括如下四个方面的…

Text Field文本输入框

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Text Field文本输入框 一、最基本的本文输入框1、基础示例2、一些表单属性3、验证 二、多行文本 一、最基本的本文输入框 1、基础示例 import {Box, TextField} from "…

Ele admin pro和iView Admin pro的用户管理页面对比

Ele admin pro和iView Admin pro都是非常优秀的B端框架,功能大同小异,本文就着重比对一下二者的用户案例页面,让老铁们感知一些细节。 一、用户列表 用户列表 用户列表 二、用户编辑 三、用户添加 四、角色管理 五、权限分配 六、角色添加

我曾走在崩溃的边缘:俞敏洪亲述新东方创业发展之路 -- 读书笔记

读完这本书后,启发很大,尤其说的只要坚持做正确的事情,好的结果自然会来。人生就是一场马拉松,起起伏伏很正常,关键是要坚持做正确的事情,从绝望中寻找希望。这本书,是在微信阅读app上阅读的。 …

基于GIS、RS、VORS模型、CCDM模型、geodetecto、GWR模型集成的生态系统健康的耦合协调分析

城市群是一国经济发展水平的象征,也是一国经济发展到一定阶段的标志,我国城市群建设体量不断增加,将成为全球经济的核心,中国城市群的建设逐步引领全球进入到了21世纪的中国新时代。然而,高速的城镇化发展,…

Elastic Stack--07--JavaAPI----文档(新增 、修改 、 查询 、 删除)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 JavaAPI-文档1.新增 Insert2.修改 Update3.查询 Get4.删除 Delete5.批量操作 BulkRequest批量新增批量删除 高级查询1.查询所有索引数据2.条件查询3.分页查询4.查询…

Mysql数据库-基本表操作

1.表操作 创建表:CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; field 表示列名 datatype 表示列的类型 character set 字符集,如果没有指定字符集&#xff…

深入解读 Elasticsearch 磁盘水位设置

本文将带你通过查看 Elasticsearch 源码来了解磁盘使用阈值在达到每个阶段的处理情况。 跳转文章末尾获取答案 环境 本文使用 Macos 系统测试,512M 的磁盘,目前剩余空间还有 60G 左右,所以按照 Elasticsearch 的设定,ES 中分片应…

CatBoost高级教程:分布式训练与大规模数据处理

导言 CatBoost是一种高效的梯度提升算法,可以处理大规模数据集并支持分布式训练。在实际应用中,处理大规模数据集时,分布式训练可以大大加快模型训练的速度,并提高训练效果。本教程将详细介绍如何在Python中使用CatBoost进行分布…

解决 cx-programmer 梯形图中繁体中文乱码问题

我的情况 cx-programmer9.5是繁体版,梯形图编辑区中打出的字体,简体繁体 都是乱码。 但是状态栏显示注解是正常的繁体。 原因 简体和繁体的编码不一样。繁体的BIG5和简体的GB2312不能互转,A编码的用B解码也是乱码。 解决 把系统字体调整为繁…

picGo 图床配置 - gitee

记录一下,怕忘记了 PicGo 下载安装 官网下载地址 从下面随意复制一个链接到浏览器上打开 我下载的是.exe版本的,你可以选择自己想安装的方式 安装完之后打开就是这个样子 配置PicGo 首先安装这个插件 安装完之后会有一个gitee,点击&#xff…

Java性能优化秘籍:内存管理、垃圾回收与性能调优

Java性能优化:内存管理、垃圾回收和性能调优 作为一名软件研发专家,深入理解Java性能优化的重要性不言而喻。本文将围绕Java性能优化的核心主题——内存管理、垃圾回收和性能调优,与大家分享一些实用的技巧和案例。 1. 内存管理 内存管理是…

STM32CubeMX学习笔记18——FSMC(TFT-LCD屏触摸)

1.触摸屏简介 目前最常用的触摸屏有两种:电阻式触摸屏和电容式触摸屏 1.1 电阻式触摸屏 电阻式的触摸屏结构如下图示,它主要由表面硬涂层、两个ITO层、间隔点以及玻璃底层构成,这些结构层都是透明的,整个触摸屏覆盖在液晶面板上…

集合框架(一)Set系列集合

Set<E>是一个接口 特点 无序&#xff1a;添加数据的顺序和获取出的数据顺序不一致&#xff1b;不重复&#xff0c;无索引 注意&#xff1a;Set要用到的常用方法&#xff0c;基本上就是collection提供的!自己几乎没有额外新增一些常用功能! HashSet集合的底层原理 前置知…

[Mac软件]VMware Fusion Pro for Mac 13.5.1 Build 23298085 VM虚拟机中文版

黑果魏叔网站VMware Fusion Pro – 无需重启即可在 Mac 上运行 Windows、Linux 和其他系统的虚拟化软件。最新版本完全支持 Windows 10、macOS Mojave 和最新的 Mac&#xff0c;包括 18 核 iMac Pro 和配备 6 核 Intel i9 CPU 的 MacBook Pro。VMware Fusion 支持 DirectX 10.1…

Mybatis 如何引用其他文件中的sql 片段

假设: 有一些通用的sql,在整个项目中都有可能使用的到, 但是我不太想定义java接口,结合着java逻辑来实现功能, 又或者,在每一处的mapper.xml内都定义sql片段, 那么如果需要调整sql,我就需要调整好多处相同的代码. 如何后期维护方便,使用起来又简单呢? 想法: 单独创建一个mapp…

RocketMQ学习笔记二

课程来源&#xff1a;马士兵教育官网 - IT职业领路人 马士兵初级版&#xff08;4.5h&#xff09; 本课程讲解的是RocketMQ4.8版本。 消息中间件的使用场景&#xff1f; 异步与解耦&#xff1b;流量削峰&#xff1b;数据分发。 RocketMQ的角色 RocketMQ的基本概念 RocketMQ…

微服务篇-B 深入理解SOA框架(Dubbo)_I 服务注册和发现(学习总结)

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;转载请注明原作者&#xff0c;严禁复制转载 Part 1 理论部分 1 什么是Dubbo? Dubbo是一个面向服务设计的SOA框架&#xff0c;提供了高性能、透明化的RPC远程服务调用的能力、出色的S…

denied: requested access to the resource is denied报错解决

Docker 镜像在文件中包含一组指令&#xff0c;可在 Docker 容器中执行代码。大多数情况下&#xff0c;在创建 docker 镜像之后&#xff0c;当尝试将镜像推送到远程仓库时&#xff0c;会发生这种类型的报错“Docker denied: requested access to the resource is denied” 由于错…