DAMODEL——Llama3.1的部署与使用指南

Llama3.1的部署与使用指南

在自然语言处理(NLP)领域,大模型(LLM)是基于深度学习算法训练而成的重要工具,应用范围包括自然语言理解和生成。随着技术的发展,开源的LLM不断涌现,涵盖了机器视觉(CV)、多模态模型以及科学计算等多个领域。

在当前的竞争格局中,开源LLM如雨后春笋般涌现,国内外都出现了不少优秀的开源模型。国外有LLaMA、Alpaca等,国内则有ChatGLM、BaiChuan、InternLM等,用户可以在这些模型的基础上进行本地部署和微调,创建个性化的应用。

Llama3.1介绍

2024年7月23日,Meta发布了其最新的开源模型——Llama 3.1,包括405B、70B和8B版本。值得注意的是,Llama 3.1 405B的上下文长度支持达到128K Tokens,其训练基于150万亿个Tokens,使用超过16,000个H100 GPU,是Meta迄今为止规模最大的Llama模型

image-20240813133905709

本指南主要集中在Llama3.1的8B版本,该版本需要至少16GB的GPU显存。以下是我们的测试环境配置:

  • 操作系统:Ubuntu 22.04
  • Python版本:3.12
  • CUDA版本:12.1
  • PyTorch版本:2.4.0

部署流程

创建云实例

首先,访问控制台-GPU云实例并点击创建实例。在创建页面中,选择合适的付费类型(按量或包月),接着配置GPU数量和型号。建议首次创建选择按量付费,1个NVIDIA-GeForce-RTX-4090 GPU,这样可以满足8B版本的显存需求。

image-20240921193104498

在数据硬盘配置上,默认50GB的硬盘通常足够,但若通过官方方式下载模型,建议扩展至60GB。然后选择基础镜像,确保选择了包含PyTorch的镜像。

创建实例时,务必生成并保存密钥对,以便后续SSH连接使用。

登录实例

实例创建完成后,可以通过多种方式登录:

  • JupyterLab:平台提供了在线JupyterLab入口,登录后可在/root/workspace目录下进行操作。
  • SSH登录:使用终端工具进行SSH登录,输入必要的用户名、主机IP和密钥。

这里我们使用JupyterLab

部署Llama3.1

在这里插入图片描述

在实例中,我们将使用conda管理环境。可以直接创建一个新环境:

conda create -n llama3 python=3.12

image-20240921193655581

切换到新创建的环境:

conda activate llama3

安装Llama3.1所需的依赖:

pip install langchain==0.1.15
pip install streamlit==1.36.0
pip install transformers==4.44.0
pip install accelerate==0.32.1

image-20240921194350770

接着,下载Llama-3.1-8B-Instruct模型,使用以下命令进行内网高速下载:

wget http://file.s3/damodel-openfile/Llama3/Llama-3.1-8B-Instruct.tar

image-20240921194433961

下载后,解压缩模型文件:

tar -xf Llama-3.1-8B-Instruct.tar

使用指南

模型下载完成后,创建一个名为llamaBot.py的文件,并输入以下代码来加载模型和启动Web服务:

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import streamlit as st# 创建标题和副标题
st.title("💬 LLaMA3.1 Chatbot")
st.caption("🚀 A streamlit chatbot powered by Self-LLM")# 定义模型路径
mode_name_or_path = '/root/workspace/Llama-3.1-8B-Instruct'# 获取模型和tokenizer的函数
@st.cache_resource
def get_model():tokenizer = AutoTokenizer.from_pretrained(mode_name_or_path, trust_remote_code=True)tokenizer.pad_token = tokenizer.eos_tokenmodel = AutoModelForCausalLM.from_pretrained(mode_name_or_path, torch_dtype=torch.bfloat16).cuda()return tokenizer, model# 加载模型和tokenizer
tokenizer, model = get_model()# 管理会话状态
if "messages" not in st.session_state:st.session_state["messages"] = []for msg in st.session_state.messages:st.chat_message(msg["role"]).write(msg["content"])if prompt := st.chat_input():st.chat_message("user").write(prompt)st.session_state.messages.append({"role": "user", "content": prompt})input_ids = tokenizer.apply_chat_template(st.session_state["messages"], tokenize=False, add_generation_prompt=True)model_inputs = tokenizer([input_ids], return_tensors="pt").to('cuda')generated_ids = model.generate(model_inputs.input_ids, max_new_tokens=512)response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]st.session_state.messages.append({"role": "assistant", "content": response})st.chat_message("assistant").write(response)

image-20240921195411833

在终端运行以下命令来启动Streamlit服务,确保服务地址设置为0.0.0.0以便于浏览器访问:

streamlit run llamaBot.py --server.address 0.0.0.0 --server.port 1024

接着,通过丹摩平台的端口映射功能,将内网端口映射到公网,完成后您就可以通过提供的链接访问LLaMA3.1 Chatbot并与其互动。

进入GPU 云实例页面,点击操作-更多-访问控制:

image-20240921195653583

点击添加端口,添加streamlit服务对应端口:

image-20240921195724711

然后点击相应链接即可进入交互界面。

-更多-访问控制:

[外链图片转存中…(img-t5dURskR-1726919894498)]

点击添加端口,添加streamlit服务对应端口:

[外链图片转存中…(img-1jy0SGBr-1726919894498)]

然后点击相应链接即可进入交互界面。

通过以上步骤,您将成功部署并使用Llama3.1模型,享受与强大聊天机器人的互动体验。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Windows上通过VirtualBox安装Linux虚拟机

目录 一、安装VirtualBox 1. 下载VirtualBox 2. 安装VirtualBox 二、使用VirtualBox安装Linux系统 1. 下载Linux镜像 2. 使用VirtualBox新建虚拟环境 三、常见问题解决办法 1. Terminal打不开系统字符乱码 2. 窗口小和分辨率不匹配 一、安装VirtualBox 1. 下载Virtu…

10.2 溪降技术:双重检查

目录 10.2 双重检查概览观看视频课程电子书:双重检查场景场景 1场景 2 个人责任示例 1示例 2 总结 10.2 双重检查 概览 俗话说:“江山易改,本性难移”。在我们开始体验峡谷探险时,培养良好的习惯对我们的进一步发展至关重要。在所…

重生之我们在ES顶端相遇第15 章 - ES 的心脏-倒排索引

文章目录 前言为什么叫倒排索引数据结构如何生成如何查询TF、IDF参考文档 前言 上一章,简单介绍了 ES 的节点类型。 本章,我们要介绍 ES 中非常重要的一个概念:倒排索引。 ES 的全文索引就是基于倒排索引实现的。 本章内容建议重点学习&…

实现人体模型可点击

简化需求:实现项目内嵌人体模型,实现点击不同部位弹出部位名称 一:优先3d, 方案:基于three.js,.gltf格式模型,vue3 缺点:合适且免费的3d模型找不到,因为项目对部位有要…

Python实现贝叶斯优化器(Bayes_opt)优化卷积神经网络-双向长短时记忆循环神经网络回归模型(CNN-BiLSTM回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 随着大数据和计算能力的提升,深度学习模型在众多领域取得了显著的成功。然而,这…

Nature Communications|一种快速响应的智能可穿戴嗅觉接口(可穿戴电子/柔性电子/人机交互)

香港城市大学于欣格( Xinge Yu)、北京航空航天大学李宇航(Yuhang Li)、中国特种设备检验研究所赵召(Zhao Zhao)和东京大学Takao Someya团队,在《Nature Communications》上发布了一篇题为“Intelligent wearable olfactory interface for latency-free mixed reality and …

HAL库-4.3寸电容式接触屏LCD驱动(未完成)

目录 1.LCD介绍: 工作原理 显示特性 优缺点 2.LCD与OLED的区别: 1. 工作原理 2. 显示效果 3. 屏幕厚度与重量 4. 能耗 5. 寿命与稳定性 6. 应用场景 实验所用模块:ATK-4.3’ TFTLCD 原理图模块与数据手册介绍: LCD驱…

OpenAI GPT o1技术报告阅读(5)-安全性对齐以及思维链等的综合评估与思考

✨继续阅读报告:使用大模型来学习推理(Reason) 原文链接:https://openai.com/index/learning-to-reason-with-llms/ 编码 我们训练了一个模型,在2024年国际信息学奥林匹克竞赛(IOI)中得分213分,排名在第…

大数据实验一: Linux系统安装和使用

一、实验目的 描述Ubuntu的安装过程;使用命令完成Ubuntu中的基础操作; 二、实验平台 操作系统:window系统;内存:4G以上;硬盘:100GB以上;Virtual Box或者VMware;Ubuntu…

当大语言模型应用到教育领域时会有什么火花出现?

当大语言模型应用到教育领域时会有什么火花出现? LLM Education会出现哪些机遇与挑战? 今天笔者分享一篇来自New York University大学的研究论文,另外一篇则是来自Michigan State University与浙江师范大学的研究论文,希望对这个话题感兴趣…

Java反序列化利用链篇 | CC6链分析(通用版CC链)

文章目录 CC6和CC1之间的区别CC6的调用链构造CC6的payload完成TiedMapEntry.getValue()完成TiedMapEntry.hashCode()完成HashMap.hash()及HashMap.readObject()解决hash()方法提前触发的问题 系列篇其他文章,推荐顺序观看~ Java反序列化利用链篇 | JdbcRowSetImpl利…

FastAPI 的隐藏宝石:自动生成 TypeScript 客户端

在现代 Web 开发中,前后端分离已成为标准做法。这种架构允许前端和后端独立开发和扩展,但同时也带来了如何高效交互的问题。FastAPI,作为一个新兴的 Python Web 框架,提供了一个优雅的解决方案:自动生成客户端代码。本…

C语言-文件操作-一些我想到的、见到的奇怪的问题

博客主页:【夜泉_ly】 本文专栏:【C语言】 欢迎点赞👍收藏⭐关注❤️ C语言-文件操作-一些我想到的、见到的奇怪的问题 前言1.在不关闭文件的情况下,连续多次调用 fopen() 打开同一个文件,会发生什么?1.1过…

简单多状态dp第三弹 leetcode -买卖股票的最佳时机问题

309. 买卖股票的最佳时机含冷冻期 买卖股票的最佳时机含冷冻期 分析: 使用动态规划解决 状态表示: 由于有「买入」「可交易」「冷冻期」三个状态,因此我们可以选择用三个数组,其中: ▪ dp[i][0] 表示:第 i 天结束后&#xff0c…

基于主从Reactor模型实现高并发服务器

目录 1. 项目简介1.1 环境介绍1.2 项目定位1.3 功能模块整体划分 2. Reactor简介2.1 Reactor模型分析2.2 多Reactor多线程分析:多I/O多路复用线程池(业务处理) 3. 日志宏的编写4. Server模块4.1 Buffer模块4.1.1 Buffer的功能4.1.2 Buffer的实…

AI健身之俯卧撑计数和姿态矫正-角度估计

在本项目中,实现了Yolov7-Pose用于人体姿态估计。以下是如何在Windows 11操作系统上设置和运行该项目的详细步骤。 环境准备 首先,确保您的计算机已经安装了Anaconda。Anaconda是一个开源的Python发行版本,它包含了conda、Python以及众多科…

Python基于TensorFlow实现时间序列循环神经网络回归模型(LSTM时间序列回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 随着信息技术的发展和传感器设备的广泛应用,时间序列数据的产生量急剧增加。无论是股市价格…

Windows本地连接远程服务器并创建新用户详细记录

前提可知: (1)服务器IP地址:x.x.x.x (2)服务器名称:root(一般默认为root,当然也有别的名称) (3)服务器登陆密码:**** 一、…

优化下载性能:使用Python多线程与异步并发提升下载效率

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 普通请求下载📝 使用多线程加速下载📝 使用异步编程加速下载📝 总结 📝⚓️ 相关链接 ⚓️📖 介绍 📖 你是否因为下载速度慢而感到焦虑?特别是在下载大型文件时,等待进度条慢慢移动的感觉真的很…

西圣、吉玛仕、绿联电容笔好不好用?热门平替电容笔超真实测评!

电容笔在数字化学习与办公环境中扮演着举足轻重的角色,它不仅是绘写的基本工具,更是提高创造效率的重要手段。随着平替电容笔的市场不断扩大,涌现了很多品牌,使得很多消费者不知道如何选择。此外,还有掺杂了一些性能不…