玩转AI,笔记本电脑安装属于自己的Llama 3 8B大模型和对话客户端

本地部署 Meta Llama3-8b 和 Llama3-70b 阅读详情

2024 年 4 月 18 日,Meta开源了 Llama 3 大模型,把 AI 的门槛降低到了最低,这是人工智能领域的一个重要飞跃。我们个人也可以部署大模型了,这简直就是给个人开发者发了个大红包!Llama 3 模型有不同的参数版本,本文主要分享我在个人笔记本电脑上部署 8B 参数过程和编写客户端,让我们大家都参与进来,推动 AI 应用更上一层楼……

本文Llama 3 8B客户端源代码地址:https://gitee.com/obullxl/PythonCS/tree/master/Llama-3-8B

选择 Llama 3 模型版本(8B,80 亿参数)

特别注意: Meta 虽然开源了 Llama 3 大模型,但是每个版本都有 Meta 的许可协议,建议大家在接受使用这些模型所需的条款之前仔细阅读。

Llama 3 模型版本有几个,我们主要关注 80 亿参数(Llama 3 8B)和 700 亿参数(Llama 3 70B)这两个版本。它们对电脑系统配置有不同的要求,主要计算资源(即:CPU/GPU)和内存来存储和处理模型权重:

  • Llama 3 8B 版本:对于 80 亿参数的模型,建议至少 4 核 CPU,至少 16GB 内存(推荐 32GB 或更高),以确保模型加载和运行过程中的流畅性;模型文件大小 5 GB 左右,磁盘空间有 10GB 足够了;GPU 是可选的,它可以显著提高推理速度
  • Llama 3 70B 版本:对于 700 亿参数的模型,CPU 要求显著提高(建议 16 核以上),至少需要 64GB 内存(推荐 128GB 或更高),模型在推理时会占用大量的内存资源;模型文件超过 20GB,远超 8B 版本;强烈推荐使用高端 GPU,以实现有效加速

综上所述,8B 版本比较适合我们个人电脑,硬件配置基本能符合,同时模型又不失推理效果:

图片笔记本电脑配置

下载 Llama 3 8B 模型文件

我们第一步是想自己部署尝鲜,因此直接下载压缩后的模型权重,文件为GGUF格式,GGUF格式是为了快速推理和优化内存使用而设计的,相比以前的GGML格式,GGUF支持更复杂的令牌化过程和特殊令牌处理,能更好地应对多样化的语言模型需求。就是因为有GGUF格式,Llama 3大语言模型才可以在笔记本电脑上运行,同时GGUF就一个文件,也简化了模型交换和部署的过程,它对促进模型的普及和应用有着积极作用。

因为Hugging Face官网正常无法访问,需要科学上网,因此推荐国内镜像进行下载:

官网地址:https://huggingface.co/QuantFactory/Meta-Llama-3-8B-Instruct-GGUF/tree/main

国内镜像:https://hf-mirror.com/QuantFactory/Meta-Llama-3-8B-Instruct-GGUF/tree/main

在这里插入图片描述
GGUF模型文件列表

如上述列表中,GGUF 模型文件名称有Meta-Llama-3-8B-Instruct.Q4_K_M.gguf和Meta-Llama-3-8B-Instruct.Q5_K_M.gguf等:

  • Instruct代表本模型是对基线模型进行了微调,用于更好地理解和生成遵循指令(instruction-following)的文本,以提供符合要求的响应
  • Q4/Q5 等代表模型权重的量化位数(其中Q是Quantization的缩小,即量化),是一种模型压缩技术,用于减少模型大小,同时降低对计算资源的需求(特别是内存),但又尽量保持模型的性能;数字4或5则代表量化精度的位数(Q4 是 4 位,Q5 是 5 位等),精度越高模型体积和内存使用也会越大,但仍然远小于未量化的基线模型
  • K_M/K_S代表含义笔者还未明确,K可能是Knowledge的缩写;M应该是Medium缩写(即中等模型),S应该是Small缩小(即小模型);若有明确的朋友,还望不吝告知,共同进步!

若个人电脑配置不是特别好,我们可以选择Q2_K版本(大小 3.2GB),它相较于Q4_K_M版本(大小 4.9GB),Q2版本的推理精度较低,但速度较快,而Q4版本在速度和精度之间均取得了很好的平衡,因此首选推荐Q4_K_M版本。

点击下载图标即可下载,由于文件较大,浏览器的下载容易过程容易终端,重试可继续下载(笔者浏览器中断了好几次,总共耗时 4 个多小时)

启动大模型服务端

GGUF模型量化文件下载完成后,我们就可以来运行Llama 3大模型了。首先打开一个 Terminal 终端窗口,切换到GGUF文件目录,设置 Python虚拟环境:

# 切换到存放GGUF文件目录
cd ~/PythonSpace/Llama3-8B/

# 切换Python 3.12.2版本
conda activate PY3.12.2

# 创建并激活虚拟环境
python -m venv venv
source ./venv/bin/activate

# 安装依赖包
pip install llama-cpp-python
pip install openai
pip install uvicorn
pip install starlette
pip install fastapi
pip install sse_starlette
pip install starlette_context
pip install pydantic_settings

# 启动Llama大模型
python -m llama_cpp.server --host 0.0.0.0 --model \
   ./Meta-Llama-3-8B-Instruct.Q4_K_M.gguf \
   --n_ctx 2048

最后启动 Llama 模型命令中,n_ctx 2048代表单次回话最大 Token 数量。启动成功,我们应该看到类似如下的信息:

在这里插入图片描述
Llama启动成功

恭喜你,你已经迈入 Llama 大模型大厦的大门了,后面存在无限可能,就看我们的创意了!

编写 Llama 模型对话客户端

接下来,我们将使用llama-cpp库和openai库在个人电脑上快速搭建Llama 模型的客户端,开始尝鲜大模型(它目前只是个控制台客户端,还不能如 ChatGPT 那样有可视化的界面,但它的功能一样完备,所以请各位不用着急,我们先来体验一下 Llama 大模型,可视化的界面下文我在和大家分享)。

Python 客户端代码如下,为了后续方便演示,这个 Client.py 文件也放到GGUF模型文件一起:

  1. 我们使用OpenAI接口来与 Llama 交互,上面启动模型的最后,我们看到服务端 IP 是本地,端口是8000
  2. 接着,我们使用 2 条信息对历史记录进行初始化:第一个条是系统信息,第二个条是要求模型自我介绍的用户提示,为了避免长篇大论,我这里限制了回答的长度和字数
  3. 接下来,通过>提示符等待用户(即我们)输入,输入bye、quit和exit任意一个即代表退出客户端
from openai import OpenAI

# 注意服务端端口,因为是本地,所以不需要api_key
client = OpenAI(base_url="http://localhost:8000/v1",
         api_key="not-needed")

# 对话历史:设定系统角色是一个只能助理,同时提交“自我介绍”问题
history = [
    {"role": "system", "content": "你是一个智能助理,你的回答总是正确的、有用的和内容非常精简."},
    {"role": "user", "content": "请用中文进行自我介绍,要求不能超过5句话,总字数不超过100个字。"},
]
print("\033[92;1m")

# 首次自我介绍完毕,接下来是等代码我们的提示
while True:
    completion = client.chat.completions.create(
        model="local-model",
        messages=history,
        temperature=0.7,
        stream=True,
    )

    new_message = {"role": "assistant", "content": ""}

    for chunk in completion:
        if chunk.choices[0].delta.content:
            print(chunk.choices[0].delta.content, end="", flush=True)
            new_message["content"] += chunk.choices[0].delta.content

    history.append(new_message)
    print("\033[91;1m")

    userinput = input("> ")
    if userinput.lower() in ["bye", "quit", "exit"]: # 我们输入bye/quit/exit等均退出客户端
        print("\033[0mBYE BYE!")
        break

    history.append({"role": "user", "content": userinput})
    print("\033[92;1m")

我们新打开一个 Terminal 终端窗口,同样切换目标到 GGUF 文件目录,并且激活 Python 虚拟环境:

# 切换到存放GGUF文件目录
cd ~/PythonSpace/Llama3-8B/

# 切换Python 3.12.2版本
conda activate PY3.12.2

# 激活虚拟环境(之前已经创建)
source ./venv/bin/activate

# 启动客户端
python client.py

首次打开客户端,因为有第一个默认的自我介绍问题,稍微有点忙,但是可以看到,Llama 模型按照我们的要求完成了自我介绍,总体还不赖:
在这里插入图片描述
Llama模型自我介绍

接着,我给Llama 模型来了一个类哲学的问题:请你用中文问答:人为什么要不断追求卓越?

Llama 模型的回答非常精简,且只有 5 句话,所谓言简意赅:
在这里插入图片描述
Llama回答:人为什么要不断追求卓越?

上图中,红色为我的输入,绿色为模型的答复,超级赞!

禅定:总结

现在我们的Llama 模型聊天机器人已准备就绪,我们想问什么就可以问什么,尽情享受吧。

当然,我们废了大半天劲,如果只是和模型简单的聊聊天,那就有点可惜了,或者说如果要人工输入,那我们本地部署的意义就不大。

假设能够通过程序的方式,自动调用本地部署的Llama 模型是不是可以提供我们工作效率;Llama 模型的能力非常广泛,可用于多种场景和任务:

  1. 自然语言生成:Llama 3 能够生成连贯、高质量的文本,包括文章、故事、诗歌等创意写作,以及邮件、报告等实用文体。
  2. 对话系统:模型可以用于构建聊天机器人或 AI 助手,进行自然、流畅的对话交流,提供信息查询、娱乐互动等功能。
  3. 代码生成:它在代码生成任务上表现优异,能够根据描述自动生成或补全代码片段,辅助程序员提高开发效率。
  4. 翻译:Llama 3 支持跨语言应用,可以实现文本的自动翻译,覆盖多种语言对。
  5. 文本摘要:能够自动生成文章、报告的摘要,提取关键信息,帮助用户快速浏览大量内容。
  6. 情感分析和文本分类:可以识别文本中的情绪倾向、主题分类,为企业提供市场洞察、客户服务优化等。
  7. 问答系统:高效准确地回答用户提出的问题,无论是常识性问题还是专业领域的复杂询问。
  8. 个性化推荐:基于用户的历史交互和偏好,生成个性化的推荐内容,如新闻、商品、音乐等。
  9. 文本生成图像描述:结合多模态技术,Llama 3 可以根据文本描述生成图像内容的描述,助力图像生成或图像检索。
  10. 法律文档处理:微调后的模型可以用于法律文档的理解、分析,比如合同审查、案例研究等。

​

本地部署Llama3-8B并进行弱智吧问题测试 当地时间4月18日,Meta开源了Llama3大模型,目前开源版本为8B和70B。Llama 3模型相比Llama 2具有重大飞跃,并在8B和70B参数尺度上建立了LLM模型的新技术。由于预训练和后训练的改进,Llama3模型是目前在8B和70B参数尺度上存在的最好的模型。训练后程序的改进大大降低了错误拒绝率,改善了一致性,增加了模型响应的多样性。我们还看到了推理、代码生成和指令跟踪等功能的极大改进,使Llama 3更具可操控性。 阅读详情

相关推荐

Llama3本地部署与高效微调入门

为了保持公司在AI(人工智能)开源大模型领域的地位,社交巨头Meta推出了旗下最新开源模型。当地时间4月18日,Meta在官网上宣布公布了旗下最新大模型Llama 3。目前,Llama 3已经开放了80亿(8B)和700亿(70B)两个小参数版本,上下文窗口为8k。Meta表示,通过使用更高质量的训练数据和指令微调,Llama 3比前代Llama 2有了“显著提升”。未来,Meta将推出Llama 3的更大参数版本,其将拥有超过4000亿参数。

水工鸟的专栏 6171

大模型实战—Llama3-8B 中文微调

2.1.什么是 Llama3?Lllma3 是 META 公司发布的开源语言大模型,与 chatGPT 类似,它可以完成一系列诸如对话,翻译,上下文理解等等复杂任务,你可以把它理解为一个免费,可以部署在你的电脑无须联网就可以使用的 AI 助手。2.2.什么是 Ollama?Ollama 是一个支持在本地运行大语言模型的工具,兼容 Windows 和 MacOS 操作系统。使用 Ollama,您仅需一行命令即可下载并启动模型。

m0_59235699的博客 6865

Qwen2 阿里最强开源大模型(Qwen2-7B)本地部署、API调用和WebUI对话机器人

阿里云正式开源通义千问Qwen2系列模型,其中Qwen2-72B成为全球性能最强的开源模型,在全球权威测评中,性能超过美国最强开源模型Llama3-70B,也超过文心4.0、豆包pro、混元pro等众多中国闭源大模型。今天老牛同学部署和体验Qwen2-7B中等尺寸模型,包括本地部署、API嗲用和WebUI对话客户端……

老牛啊 1万+

Llama3-8B到底能不能打?实测对比

前几天Meta开源发布了新的Llama大语言模型:Llama-3系列,本次一共发布了两个版本:Llama-3-8B和Llama-3-70B,根据Meta发布的测评报告,Llama-3-8B的性能吊打之前的Llama-2-70B,也就是说80亿参数的模型干掉了700亿参数的模型,这个还真挺让人震惊的。Llama-3-8B真的有这么强吗?鉴于8B的模型可以在24G显存下流畅运行,成本不高,我就在AutoDL上实际测试了一下。

2401_85378759的博客 1849

基于Llama 3搭建中文版(Llama3-Chinese-Chat)大模型对话聊天机器人

前面两篇博文,我们在笔记本部署了Llama 3 8B大模型,使用Ollama搭建了基于Web 可视化对话机器人。在使用过程中,大模型经常出现中文问题英文回答的问题。本博文就用Llama3-Chinese-Chat微调模型来解决这个问题……

老牛啊 9238

超简单在本地部署Llama3的方案

llama3用了15T的token训练,数据量是llama2的7倍,是gemma的2倍。8B的版本,在测评中,打败了前不久刚发布的Gemma7B版本,而70B版本则打败了Gemini Pro1.5,和Claude3。OLLAMA_HOST OLLAMA模型以服务方式运行的时候,即提供API,默认是只能被localhost访问的,设置这个为0.0.0.0,可以被网络访问。客户端软件有非常多。OLLAMA_MODELS OLLAMA模型的下载路径,默认是在C盘的,如果要改变,可以设置这个环境变量。

weixin_47233946的博客 984

打造自己的Llama 3大模型和对话客户端

现在我们的Llama 模型聊天机器人已准备就绪,我们想问什么就可以问什么,尽情享受吧。当然,我们废了大半天劲,如果只是和模型简单的聊聊天,那就有点可惜了,或者说如果要人工输入,那我们本地部署的意义就不大。假设能够通过程序的方式,自动调用本地部署的Llama 模型是不是可以提供我们工作效率;Llama 模型自然语言生成:Llama 3 能够生成连贯、高质量的文本,包括文章、故事、诗歌等创意写作,以及邮件、报告等实用文体。对话系统。

2401_84204413的博客 1598

VGG16

VGG16学习笔记

一去不复返的通信er 1177

使用Ollama本地部署Llama 3.1大模型

Llama 3.1 介绍2024 年 7 月 24 日,Meta 宣布推出迄今为止最强大的开源模型——Llama 3.1 405B,Llama 3.1 405B 支持上下文长度为 128K Tokens, 增加了对八种语言的支持,号称第一个在常识、可操纵性、数学、工具使用和多语言翻译方面与顶级人工智能模型相媲美的模型。当然 405B 新一代大模型所需要的算力成本也是巨大的,一般的中小型企业和个人需要慎重评估一下成本与产出是否值得应用。

2401_85375298的博客 2428

保姆级教程:在华为MateBook E Go上安装安卓子系统(含Hyper-V配置和地区切换避坑指南)

本文提供在华为MateBook E Go(ARM架构)上安装Windows 11安卓子系统(WSA)的详细指南。重点阐述了ARM平台无需指令转译的流畅原生体验优势,并逐步讲解启用Hyper-V虚拟化、切换系统区域以安装Amazon Appstore、配置开发人员模式及使用ADB安装第三方应用(如华为应用市场)的全过程,助您解锁高效的原生安卓应用生态。

kafka6courier的博客 531

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

【LLM大模型】Llama3本地运行:无需编程,只需鼠标点点点

最近几天AI圈又沸腾起来了,原因是 Meta(原Facebook)开源了 Llama 3 8B与70B两款不同规模的模型。据 Meta 透露,这个模型可是用了 24576 个 GPU 训练出来的。

Y525698136的博客 1208

MCU启动流程详解

在MCU启动后,系统从flash主存储区开始执行,先将0x08000000地址存放的堆栈栈顶指针赋给SP寄存器,将0x08000004地址存放的Reset_Handler复位向量地址赋给PC寄存器跳转执行系统复位,期间执行System_Initializes函数配置系统时钟,重定位向量表,执行MDK自带库函数__main将RW、ZI数据段从Flash加载到RAM,并跳转至_rt_entry进行Stack和Heap的初始化,最后跳转到熟悉的main函数。

weixin_50827397的博客 1505

Llama3一键安装,永久使用

4月18日,Meta在官方博客官宣了Llama3,标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验,Llama3 8B效果已经超越GPT-3.5,最为重要的是,Llama3是开源的,我们可以自己部署!本文和大家分享一下如何在个人电脑上部署Llama3,拥有你自己的GPT-3.5+!

m0_59164520的博客 1156

知识图谱-Neo4j-开始构建知识图谱-01

关系(Relationships):连接两个节点,具有方向(→ 或 ←)和类型(Type),可附加属性。 属性(Properties):键值对,存储节点或关系的详细信息(如 , )。 (2) Cypher 查询语言 直观语法:通过模式匹配直接描述图结构。 高效遍历:支持复杂关系路径查询(如最短路径、模式匹配)。 3. 核心优势 (1) 原生图存储 物理存储优化:数据以图结构直接存储,避免传统数据库的“表连接”开销。 高效遍历:通过指针直接访问相邻节点,时间复杂度接近 O(1)。 (2) 高性

寓教于乐。教己助人 1万+

C# + YOLO 实时摄像头检测:Emgu CV + ONNX Runtime,30FPS+ 流畅运行

很多教程只给“单张图片推理”代码,一上摄像头就卡成 PPT(<5 FPS)。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 214

Ollama与Llama 3.1联手:打造高效本地大模型部署方案

Llama 3.1 介绍2024 年 7 月 24 日,Meta 宣布推出迄今为止最强大的开源模型——Llama 3.1 405B,Llama 3.1 405B 支持上下文长度为 128K Tokens, 增加了对八种语言的支持,号称第一个在常识、可操纵性、数学、工具使用和多语言翻译方面与顶级人工智能模型相媲美的模型。当然 405B 新一代大模型所需要的算力成本也是巨大的,一般的中小型企业和个人需要慎重评估一下成本与产出是否值得应用。

2401_85343303的博客 2791

Pyinstaller打包为可执行文件编码错误的问题

Pyinstaller打包为可执行文件编码错误的问题 写好的python程序在vscode上运行没有任何问题,将程序利用pyinstaller打包后,运行程序发生了错误。 错误代码 UnicodeDecodeError: ‘utf-8' codec can't decode byte 0xce in position 20-21:invalid cotinuation byte 网上找到的解决方案是: 1.在命令行中输入 chcp 65001 2.按正常方式进行封装 pyinstaller

xuefeng_he的博客 1559

使用Ollama本地部署Llama 3.1大模型(非常详细),零基础入门到精通,看这一篇就够了

使用Ollama本地部署Llama 3.1大模型(非常详细),零基础入门到精通,看这一篇就够了

Python单行客的博客 3429

【Claude】Disabled organization 错误:组织被禁用的原因与 API Key 绕过方法

如果环境变量存在,下一步是找出它在哪里被设置的。"Disabled organization" 错误的本质不是账户被封,而是认证优先级冲突。环境变量优先级最高始终覆盖 OAuth 订阅认证报错信息具有误导性:"组织被禁用"指的通常是 API Key 所属的组织,而不是你的个人账户旧 Key 是隐形炸弹:即使你已经不再使用某个组织的 API,只要环境变量中残留该 Key,它就会持续覆盖你的订阅认证非交互模式更敏感claude -p模式下,只要有环境变量,就会强制使用它,完全忽略/login。

博客 8856

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

本地部署Llama3教程,断网也能用啦!

Llama3 8B效果已经超越GPT-3.5,最为重要的是,Llama3是开源的,我们可以自己部署!

2301_81940605的博客 6719

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

零成本高效部署:Llama 3本地使用全攻略

Meta公司的Llama 3大模型引领AI新篇章 各位朋友,我是袋鼠帝。近日,真正的“OpenAI”——Meta公司,对“Close AI”进行了有力回应,推出了其开源大模型系列的最新力作——更是青出于蓝,不仅在技术层面实现了对的重大突破,还在各种评估测试中展现出令人瞩目的表现。这标志着AI技术又迈出了坚实的一步。目前,推出了两个版本,分别是8B和70B。在与同等级别的Gemma和Mistral开源模型较量中,8B版本展现出了显著的优势。

程序员鑫港的博客 6463

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 降价!免费!AI大模型开启价格战,企业如何“薅”出绿色财富?
下一篇: 一文彻底整明白,基于Ollama工具的LLM大语言模型Web可视化对话机器人部署指南
少喝冰美式
博客等级 码龄3年 6832粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值