DAMODEL丹摩智算:LLama3.1部署与使用

news2024/12/24 9:03:54

文章目录

前言

一、LLaMA 3.1 的特点

二、LLaMA3.1的优势

三、LLaMA3.1部署流程

(一)创建实例

(二)通过JupyterLab登录实例

(3)部署LLaMA3.1

(4)使用教程

总结


前言

LLama3.1 是 Meta(Facebook 母公司)发布的系列大语言模型之一,属于 LLaMA(Large Language Model Meta AI)模型系列。LLaMA 模型的目标是通过更高效的设计在保持模型性能的前提下,显著降低其计算和资源需求。LLaMA 3.1 是该系列的最新版本,继承了前面版本,如 LLaMA 1 和 LLaMA 2的许多技术优势,并对模型架构、训练数据和推理能力进行了改进。


一、LLaMA 3.1 的特点

LLaMA 3.1主要有以下4个特点:

  • 规模较大且高效:LLaMA 3.1 在参数量上相比前代有所增加,但在设计和训练过程中注重提高效率,因此能够在相对较少的资源下达到与更大模型相似的性能水平。

  • 更多的训练数据:该版本的模型通过更广泛、更丰富的语料库进行训练,覆盖了更多领域的信息,使得它在回答问题、生成内容以及自然语言理解方面更强大。

  • 优化的推理性能:LLaMA 3.1 通过对推理算法和模型架构的优化,减少了推理时间,提高了在不同任务上的响应速度。

  • 开源的方式:与前代模型类似,LLaMA 3.1 也继续采用开源模式,这意味着研究人员和开发人员可以在其基础上进行进一步的研究和开发。这种开放性是 Meta 希望推动 AI 社区共同进步的一个关键策略。


二、LLaMA3.1的优势

相较于 OpenAI 的 GPT 系列或 Google 的 PaLM 系列,LLaMA 系列模型的优势在于其高效性,即在保持较高的生成能力和理解能力的同时,资源消耗更低。LLaMA 3.1 通过对模型结构的精简和训练数据的多样化,在许多任务上能够提供接近甚至超过这些主流模型的性能。


三、LLaMA3.1部署流程

DAMODEL地址:丹摩DAMODEL|让AI开发更简单!算力租赁上丹摩!

(一)创建实例

(1)登录后点击控制台,选择GPU云实例并创建实例

(2)付费类型选择按量付费,示例配置选4 NVIDIA-L40S

(3)GPU、数据硬盘按照默认的即可

(4)镜像框架选择PyTorch 2.4.0,选择密钥对后点击立即创建

(5)实例状态变为运行中时即实例创建成功

(二)通过JupyterLab登录实例

(3)部署LLaMA3.1

使用conda 管理环境,DAMODEL示例已经默认安装了 conda 24.5.0 ,直接创建环境即可

在终端输入:

conda create -n llama3 python=3.12

效果图:

第一次在终端使用conda命令,需要先进行conda初始化,初始化完成后重新开下终端

conda init

效果图:

初始化后切换到新创建的环境

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

效果图:

依赖安装完毕后,需要下载Llama-3.1-8B模型,使用命令进行内网下载Llama-3.1-8B-Instruct模型即可

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

效果图:

模型下载完成后解压缩Llama-3.1-8B-Instruct.tar

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

(4)使用教程

Llama-3.1-8B模型下载完成后,新建llamaBot.py文件,输入以下内容:

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
    tokenizer = AutoTokenizer.from_pretrained(mode_name_or_path, trust_remote_code=True)
    tokenizer.pad_token = tokenizer.eos_token
    # 从预训练的模型中获取模型,并设置模型参数
    model = AutoModelForCausalLM.from_pretrained(mode_name_or_path, torch_dtype=torch.bfloat16).cuda()
  
    return tokenizer, model

# 加载LLaMA3的model和tokenizer
tokenizer, model = get_model()

# 如果session_state中没有"messages",则创建一个包含默认消息的列表
if "messages" not in st.session_state:
    st.session_state["messages"] = []

# 遍历session_state中的所有消息,并显示在聊天界面上
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)
    
    # 将用户输入添加到session_state中的messages列表中
    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)
    generated_ids = [
        output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
    ]
    response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

    # 将模型的输出添加到session_state中的messages列表中
    st.session_state.messages.append({"role": "assistant", "content": response})
    # 在聊天界面上显示模型的输出
    st.chat_message("assistant").write(response)
    print(st.session_state)

在终端中运行以下命令启动 streamlit 服务,server.port 可以更换端口:

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

使用丹摩平台提供的端口映射功能,将内网端口映射到公网:

添加好后,通过示例端口的访问链接即可打开LLaMA3.1 Chatbot交互界面,可以跟该机器人进行对话


总结


本文介绍了 LLaMA 3.1 模型的特点、优势以及在 DAMODEL 平台上的部署流程。LLaMA 3.1 是 Meta 发布的最新大语言模型,具有高效的计算设计和优异的推理性能。其主要优势在于相较于 OpenAI 的 GPT 系列或 Google 的 PaLM 系列,LLaMA 3.1 在消耗较少资源的情况下依然能够提供强大的生成和理解能力。

文章还详细描述了如何通过 DAMODEL 平台部署 LLaMA 3.1 的步骤,从创建 GPU 实例,到配置环境(使用 conda 管理 Python 环境),再到安装必要的依赖和下载模型文件。最后,还展示了如何构建一个基于 Streamlit 的聊天机器人,通过 LLaMA 3.1 生成对话内容并与用户交互。

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

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

相关文章

前端sm2国密加密时注意

如下方法: export function encrypt(str) {const sm2 require("sm-crypto").sm2;const cipherMode 1; // 1 - C1C3C2,0 - C1C2C3,默认为1//自定义密钥let publicKey "xxxxxxxx";//此处加密let a sm2.doEncrypt(str,…

【数字图像处理】简单粗暴介绍最近邻插值和双线性插值(附python实现)

目录 前言最近邻插值理论与公式部分代码部分优缺点 双线性插值理论与公式部分代码实现优缺点 双三次内插 前言 最近邻插值和双线性插值是两种常见的用于图像处理的方法,主要是用于实现图像的放大和缩小。本文中将以最为简单粗暴的方式介绍两种方法的原理&#xff0…

USB-CAN的使用说明

文章目录 前言一、USB-CAN模块二、产品特性三、引脚说明四、使用说明1.USB驱动安装2.CAN配置工具说明1. 菜单栏:2. 模式选择和收发数据显示:3. 数据发送4. 发送模式 五、AT指令设置参数六、硬件测试 前言 CAN总线协议:一种多主、串行通信协议…

淘客系统开发之卷轴模式系统源码功能分析

随着互联网技术的快速发展,电商行业不断创新,探索更加高效、有趣的用户参与机制。其中,卷轴模式作为一种新兴的商业模式,以其独特的积分兑换和任务系统,在淘客系统开发中得到了广泛应用。本文将从技术角度,…

汽车免拆诊断案例 | 2016 款宾利GT车仪表盘上的多个故障灯点亮

故障现象 一辆2016款宾利欧陆GT车,搭载CYCB发动机,累计行驶里程约为4.5万km。据车主反映,发动机偶尔无法起动,仪表盘上的多个故障灯点亮(图1)。此外,刮水器、电动车窗及空调等电器设备功能失效…

IDC 中国数据安全软件市场报告:顺应平台化趋势,打造综合性的数据安全平台

近期,IDC 发布了针对中国数据安全软件市场规模的预测报告——《中国数据安全软件市场预测,2024-2028》(Doc# CHC51601524,2024年9月)。该报告针对 2024-2028 年中国数据安全软件市场的规模、增长速度、驱动因素、阻碍因…

剧本杀全新体验:线上剧本杀发挥重要优势

剧本杀作为集游戏社交休闲为一体的消费方式,吸引了众多年轻人,让玩家在游戏中体验到各种角色,还能够满足社交需求。当下,剧本杀市场仍然在快速发展中! 剧本杀市场创新 不过,在多年的发展中,剧…

智谱清影 - CogVideoX-2b-部署与使用

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 体验地址:[丹摩DAMODEL官网](https://www.damodel.com/console/overview) CogVideoX 简介本篇将详细介绍使用丹摩服务器部…

C++20中头文件compare的使用

<compare>是C20中新增加的头文件&#xff0c;此头文件是language support库的一部分。它包括&#xff1a;concepts、classes、customization point objects、functions。 1.concepts&#xff1a;三向比较运算符<>&#xff0c;目的是简化比对对象的过程&#xff0c;…

ant design vue中带勾选表格报Tree missing follow keys: ‘undefined‘解决方法

1、这里一定要给columns和data-source设置key即可。 <div><a-table:row-selection"rowSelection":dataSource"tableList":columns"columns":scroll"{ x: 100% }":pagination"false":loading"loading"&g…

戴尔R750 H755N raid卡数据盘改直通模式

1、重启机器进入配置模式&#xff0c;重启后按F2进入bios模式

计算机网络(九) —— Tcp协议详解

目录 一&#xff0c;关于Tcp协议 二&#xff0c;Tcp报头字段解析 2.0 协议字段图示 2.1 两个老问题 2.2 16位窗口大小 2.3 32位序号和确认序号 2.4 6个标记位 三&#xff0c;Tcp保证可靠性策略 3.1 确认应答机制&#xff08;核心&#xff09; 3.2 超时重传机制 3.3 …

最新最详细的Mastercam安装包下载安装教程(保姆级)

正如大家所熟悉的&#xff0c;Mastercam是一款基于PC平台的CAD/CAM软件&#xff0c;集二维绘图、三维实体造型、曲面设计、体素拼合、数控编程、刀具路径摸拟及真实感摸拟等多种功能于一身。 Mastercam发展至今有许多个版本&#xff0c;目前来说常用的版本有Mastercam V91、20…

Windows同时配置两个jdk环境变量

项目场景&#xff1a; Windows同时配置两个jdk环境变量 解压版那么可以更改JAVA_HOME的值&#xff0c;来决定使用哪个版本。安装版可以两个版本同时使用。 操作步骤 1、配置环境变量 在系统环境变量中添加两个环境变量&#xff0c;根据使用需求更改JAVA_HOME的值 2、修改ja…

mariadb实现冷备份与恢复操作案例(物理冷备份,周期性备份)详解

文章目录 前置环境一、物理冷备份1.备份2.恢复检查结果 补充&#xff1a; 周期性恢复操作 前置环境 主机ipmariadb1192.168.10.11mariadb2192.168.10.12 mairadb1操作 安装mariadb yum -y install mariadb-server启动mariadb systemctl start mariadb这里只是演示备份与恢复…

数据结构不再难懂:带你轻松搞定排序算法

数据结构入门学习&#xff08;全是干货&#xff09;——排序算法&#xff08;下&#xff09; 1 快速排序 1.1 算法概述 快速排序采用分而治之的策略&#xff0c;与归并排序相似。其核心在于选择一个主元&#xff08;pivot&#xff09;作为分割点。 分而治之 主元(pivot)>…

【病毒分析】新兴TOP2勒索软件!存在中国受害者的BianLian勒索软件解密原理剖析

1. 概述 近期&#xff0c;笔者在浏览网络中威胁情报信息的时候&#xff0c;发现美国halcyon.ai公司于2024年3月25日发布了一篇《Ransomware on the Move: LockBit, BianLian, Medusa, Hunters International》报告&#xff0c;此报告对当前勒索软件团伙的实力进行了排名&#…

裸土检测算法实际应用、裸土覆盖检测算法、裸土检测算法

裸土检测算法主要用于环境保护、农业管理、城市规划和土地管理等领域&#xff0c;通过图像识别技术来检测和识别地表上的裸露土壤。这种技术可以帮助管理者实时监控裸土面积&#xff0c;及时采取措施&#xff0c;防止水土流失、环境污染和生态退化。 一、技术实现 裸土检测算…

【第二轮通知】第二届网络、通信与智能计算国际会议(NCIC 2024)

NCIC 2024|第二届网络、通信与智能计算国际会议 2024年11月22日-25日 中国 | 北京 www.icncic.org 重要日期 二轮截稿时间&#xff1a;2024年10月15日 注册截止时间&#xff1a;2024年11月10日 会议日期&#xff1a;2024年11月22日-25日 第二届网络、通信与智能计算国际会…

ProgrammerAI—AI辅助编程学习指南

前言 随着AIGC&#xff08;AI生成内容&#xff09;技术的快速发展&#xff0c;诸如ChatGPT、MidJourney和Claude等大语言模型相继涌现&#xff0c;AI辅助编程工具正逐步改变程序员的工作方式。这些工具不仅可以加速代码编写、调试和优化过程&#xff0c;还能帮助解决复杂的编程…