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

1. Anaconda安装

shell 复制代码
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

shell 复制代码
yum install git
yum install git-lfs # 安装依赖
git lfs install 

3.安装g++

shell 复制代码
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 安装

shell 复制代码
# 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!

相关推荐
十年Java程序媛12 小时前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
言简行敏,心静致远。18 小时前
llama-bench使用说明及其应用
llama
2501_9151063219 小时前
Windows 用 KXBuild 开发 iOS 项目,CocoaPods、SPM 怎么处理?
windows·vscode·ios·个人开发·swift·敏捷流程·cocoapods
2501_9159090620 小时前
KXApp 能打开哪些 iOS 项目?xcodeproj 与 CocoaPods 支持清单
ide·vscode·ios·个人开发·xcode·敏捷流程·cocoapods
AI_Gump1 天前
模型篇|llama.cpp 推理引擎深度解读:从一人练手到 LLM 端侧的事实标准
llama·llama.cpp
2501_916008892 天前
Windows 上写第一个 SwiftUI App,KXBuild 空工程起步,跑到 iPhone 真机
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
星野云联AIoT技术洞察4 天前
设备手册离线 RAG:先管住版本、权限和引文,再谈本地大模型
llama·rag·设备告警·rag知识库·设备运维·设备离线·设备手册
2501_915106324 天前
KXApp 的 VS Code 真机调试:按下 Cmd+R 之后发生了什么
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
四六的六5 天前
一次改回去越界的沙箱复盘:配置恢复了,token 还活着,检测器漏了最关键的那条
人工智能·openai·agent·个人开发·ai编程·ai大模型·ai产品
晚风吹北巷6 天前
基于LLama-Factory 进行Lora微调
llama