Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >丹摩智算:探索Llama3.1模型的部署与使用

丹摩智算:探索Llama3.1模型的部署与使用

作者头像
屿小夏
发布于 2024-09-26 00:32:57
发布于 2024-09-26 00:32:57
18000
代码可运行
举报
文章被收录于专栏:IT杂谈学习IT杂谈学习
运行总次数:0
代码可运行

📑前言

人工智能领域,自然语言处理(NLP)技术的进步为机器与人类的交流开辟了新天地。最近,Meta推出的Llama3.1模型以其卓越的性能和开源特性,成为了NLP领域的一大热点。本文将带你深入了解Llama3.1模型,并探索如何在丹摩智算平台上部署和使用这一强大的工具。

一、Llama3.1模型简介

Llama3.1是Meta于2024年7月23日宣布推出的开源模型,包括405B、70B和8B三个版本。其中,405B版本支持上下文长度为128K Tokens,基于15万亿个Tokens和超过1.6万个H100 GPU进行训练,是Meta有史以来规模最大的Llama模型。

Llama3.1模型在图像质量、提示词的准确跟随、尺寸适应性、排版以及输出的多样性方面,已经超越了市场上的Midjourney v6.0、DALL·E 3 (HD)和SD3-Ultra等流行模型,确立了图像合成技术的新高度。

二、部署流程

2.1 创建实例

部署Llama3.1的第一步是创建GPU云实例。在丹摩智算平台的控制台中,选择GPU云实例并点击创建实例。在实例配置中,根据需求选择付费类型,短期需求可以选择按量付费或包日,长期需求可以选择包月套餐。

对于GPU的选择,推荐至少选择NVIDIA GeForce RTX 4090,因为它提供了60GB内存和24GB的显存,足以满足Llama3.1 8B版本的部署需求。此外,建议将数据硬盘扩容至60GB,以存储较大的模型文件。

2.2 登录实例

实例创建成功后,可以通过多种方式登录,包括JupyterLab和SSH登录。JupyterLab提供了一个在线访问实例的入口,而SSH登录则需要提供用户名、远程主机域名或IP、端口号以及登录密码或密钥。

2.3 部署Llama3.1

部署Llama3.1之前,需要使用conda创建一个新的Python环境,并安装必要的依赖,包括langchainstreamlittransformersaccelerate

接下来,下载并解压Llama3.1模型文件。丹摩智算平台提供了内网高速下载服务,可以快速下载预制的Llama-3.1-8B-Instruct模型。

三、使用教程

3.1 创建Chatbot

模型部署完成后,可以创建一个简单的Chatbot来测试模型的性能。首先,新建一个名为llamaBot.py的文件,并编写以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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_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)

3.2 启动服务

在终端中运行以下命令,启动streamlit服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
streamlit run llamaBot.py --server.address 0.0.0.0 --server.port 1024

通过丹摩智算平台提供的端口映射功能,将内网端口映射到公网,然后通过访问链接即可打开LLaMA3.1 Chatbot交互界面,并与其进行对话。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LLaMA 3.1 模型在DAMODEL平台的部署与实战:打造智能聊天机器人
LLama3.1 是 Meta(Facebook 母公司)发布的系列大语言模型之一,属于 LLaMA(Large Language Model Meta AI)模型系列。LLaMA 模型的目标是通过更高效的设计在保持模型性能的前提下,显著降低其计算和资源需求。LLaMA 3.1 是该系列的最新版本,继承了前面版本,如 LLaMA 1 和 LLaMA 2的许多技术优势,并对模型架构、训练数据和推理能力进行了改进。
易辰君
2024/11/07
1810
LLaMA 3.1 模型在DAMODEL平台的部署与实战:打造智能聊天机器人
丹摩征文活动|Llama3.1的部署与使用指南
前言:人工智能(AI)技术正以前所未有的速度改变着我们的生活和工作方式。大型语言模型(LLM)作为AI领域的重要分支,以其卓越的自然语言处理能力、强大的知识推理能力和广泛的应用场景,成为了众多企业和开发者关注的焦点。而Llama3.1,作为这一领域的佼佼者,更是以其高效、智能和可扩展的特性,赢得了广泛的赞誉。
Eternity._
2024/11/12
1630
丹摩征文活动|Llama3.1的部署与使用指南
DAMODEL丹摩|Llama3.1:从设置到操作,轻松上手全攻略!
开源的大语言模型(LLM)生态系统依然生机勃勃,各种引人注目的模型不断涌现,包括像LLaMA和Alpaca这样的国际项目,以及国内开发的ChatGLM、BaiChuan和InternLM(书生·浦语)等模型。这些创新为开发者提供了在本地进行部署和个性化定制的绝佳机会,使其能够创建具有独特价值的应用程序。
用户11292525
2024/11/21
3180
DAMODEL丹摩|Llama3.1:从设置到操作,轻松上手全攻略!
探索Llama 3.1:开源模型的本地部署与创新应用实践
在数字化转型的浪潮中,大型语言模型(LLM)以其卓越的处理能力和广泛的应用潜力,正在成为人工智能领域的新宠。
忆愿
2024/11/04
1900
探索Llama 3.1:开源模型的本地部署与创新应用实践
【Datawhale AI 夏令营】Intel LLM Hackathon 天池挑战赛 本地环境搭建
IT蜗壳-Tango
2024/07/15
3350
Qwen2大模型微调入门实战(完整代码)
Qwen2是一个开源大语言模型。以Qwen2作为基座大模型,通过指令微调的方式实现高准确率的文本分类,是学习大语言模型微调的入门任务。
用户9029617
2024/06/09
3.5K1
Qwen2大模型微调入门实战(完整代码)
[AI Embedchain] 集成 Streamlit
在这个例子中,我们将学习如何使用mistralai/Mixtral-8x7B-Instruct-v0.1和Embedchain与Streamlit一起构建一个简单的RAG聊天机器人。
从零开始学AI
2024/08/13
1540
使用Streamlit创建AutoGen用户界面
AutoGen作为一个最大化LLM(如GPT-4)能力的框架而脱颖而出。由微软研究院开发的AutoGen通过提供一种自动化、优化和编排工作流的方法,简化了复杂的、基于多代理llm的应用程序的创建。我们在以前的文章中也有过介绍,你可以与许多GPT交谈,并且GPT和GPT之间也可以互相交谈。每个GPT都是它自己的“代理”,并在总体业务流程中扮演特殊角色。但是AutoGen是用命令行模式进行交互的,这对我们的输入来说非常不方便,所以这次我们来对其进行改造,使用Streamlit创建一个web界面,这样可以让我们更好的与其交互。
deephub
2023/11/09
1.2K0
使用Streamlit创建AutoGen用户界面
解锁AI Agent潜能:LLaMA3-1-8B-Instruct WebDemo部署实战(20/30)
在当今这个信息呈爆炸式增长的时代,AI Agent 宛如一位智能领航员,稳稳伫立在时代浪潮的前沿。它能自主感知环境变化,凭借自身的 “智慧” 做出精准决策,进而采取高效行动,致力于达成既定目标。从日常生活中的智能语音助手,到商业领域里的智能决策系统,AI Agent 的身影无处不在,已然成为推动各行业智能化转型的核心力量。
正在走向自律
2025/01/25
1340
解锁AI Agent潜能:LLaMA3-1-8B-Instruct WebDemo部署实战(20/30)
大模型开发实战:(四)使用 LangGraph 实现多智能体应用
随着大语言模型(LLM)技术的快速发展,人们期望利用 LLM 解决各种复杂问题,在此背景下,构建智能体(Agent)应用受到了广泛关注。用户与 LLM 的交互可以被视为一种 单智能体(Single-Agent) 行为:用户通过提示词(prompt)与通用 LLM 进行对话,LLM 理解问题并提供反馈。然而,单一智能体在处理复杂任务时存在明显局限性,例如需要用户多次引导、缺乏对外部环境的感知能力、对话历史记忆有限等。
张高兴
2025/05/21
4860
大模型开发实战:(四)使用 LangGraph 实现多智能体应用
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL]
汀丶人工智能
2024/04/18
4470
NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧
Qwen2大模型微调入门实战-命名实体识别(NER)任务
以Qwen2作为基座大模型,通过指令微调的方式做高精度的命名实体识别(NER),是学习入门LLM微调、建立大模型认知的非常好的任务。
zenRRan
2024/07/04
2.2K0
Qwen2大模型微调入门实战-命名实体识别(NER)任务
AI实用指南:5分钟搭建你自己的LLM聊天应用
今天,我们将迅速着手搭建一个高效且富有创意的混元聊天应用,其核心理念可以用一个字来概括——快。在这个快节奏的时代,构建一个基础的LLM(Large Language Model,大型语言模型)聊天应用并不需要耗费太多时间。市面上充斥着各种功能强大的大型语言模型,我们可以根据项目需求灵活选择,而今天的目标并非深入探讨这些模型的技术细节,而是将重点放在如何快速上手。
努力的小雨
2024/03/26
5650
从零到一:利用社区数据,LoRa微调与Spring AI 构建私有化千问模型
上次我们在Coze平台上成功搭建了一个针对金仓问题的解决助手。这个智能体的核心工作流程相对简单:每次它通过HTTP接口调用插件,在金仓平台内部进行搜索,随后利用大模型的推理能力对查询结果进行分析,从而为用户提供问题解答。然而,问题也随之而来——金仓内部的搜索功能存在一定的局限性。搜索出来的博文资料之间的关联性并不强,这使得智能体在回答问题时,往往需要检索大量、冗长的资料,甚至有时需要检索上万字的内容才能找到有价值的信息,从而影响了整体的工作效率。
努力的小雨
2025/05/04
2020
《书生·浦语大模型实战营》第4课 学习笔记:XTuner 微调 LLM:1.8B、多模态、Agent
假如在这一过程中没有出现任何的报错的话,那也就意味着我们成功安装好支持 XTuner 所运行的环境啦。其实对于很多的初学者而言,安装好环境意味着成功了一大半!因此我们接下来就可以进入我们的第二步,准备好我们需要的数据集、模型和配置文件!
流川疯
2024/06/12
4350
《书生·浦语大模型实战营》第4课 学习笔记:XTuner 微调 LLM:1.8B、多模态、Agent
文档和图片的OCR解析实践
文档中的图片或图片本身的OCR识别可以通过第三方工具如PaddleOCR和CNOCR来实现,如下是两个识别过程的实践,以及使用Streamlit构建可视化页面的示例。
码之有理
2024/01/16
6190
《开源大模型食用指南》,一杯奶茶速通大模型!新增Examples最佳实践!
我们希望成为 LLM 与普罗大众的阶梯,以自由、平等的开源精神,拥抱更恢弘而辽阔的 LLM 世界。
Datawhale
2024/09/12
1930
《开源大模型食用指南》,一杯奶茶速通大模型!新增Examples最佳实践!
【机器学习】Qwen2大模型原理、训练及推理部署实战
刚刚写完【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战 ,阿里Qwen就推出了Qwen2,相较于Qwen1.5中0.5B、1.8B、4B、7B、14B、32B、72B、110B等8个Dense模型以及1个14B(A2.7B)MoE模型共计9个模型,Qwen2包含了0.5B、1.5B、7B、57B-A14B和72B共计5个尺寸模型。从尺寸上来讲,最关键的就是推出了57B-A14B这个更大尺寸的MoE模型,有人问为什么删除了14B这个针对32G显存的常用尺寸,其实对于57B-A14B剪枝一下就可以得到。
LDG_AGI
2024/08/13
2.7K0
【机器学习】Qwen2大模型原理、训练及推理部署实战
【腾讯云云上实验室】从零开始搭建爬虫+向量数据库+LLM大模型构建企业私有化知识库
目前流行的中文开源大模型非ChatGLM(智普)、baichuan(百川)等莫属。虽然认知能力赶不上ChatGPT 3.5,但是它的开源吸引了广大的AI研究者。
刘秀君
2023/11/29
2.3K4
【腾讯云云上实验室】从零开始搭建爬虫+向量数据库+LLM大模型构建企业私有化知识库
小白也能轻松搞定:用几行代码实现强大的问答机器人!
Streamlit 是一个开源的 Python 库,用于快速创建和分享数据应用程序。其主要特点和优势包括:
一个程序猿的异常
2023/12/12
1K0
小白也能轻松搞定:用几行代码实现强大的问答机器人!
推荐阅读
相关推荐
LLaMA 3.1 模型在DAMODEL平台的部署与实战:打造智能聊天机器人
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验