丹摩DAMODEL超算平台 | 搭建Llama3.1深入体验

文章目录

    • 丹摩DAMODEL超算平台 | 搭建Llama3.1深入体验
      • 丹摩超算平台Llama3.1-部署与使用
      • 本地连接使用DAMODEL方法
      • 使用体验与总结

在这里插入图片描述

DAMODEL丹摩超算平台专为AI打造的智算云平台,致力于提供丰富的算力资源与基础设施,以助力AI应用的开发、训练、部署

  • 丰富的算力资源:提供CPU/GPU算力集群、CPU/GPU裸金属服务以及高性能存储等三大类产品,满足用户在不同场景下算力需求
  • 高性能计算服务:平台在计算节点之间以及计算节点与存储节点之间均采用IB网络,提供高并发、高性能的存储服务,避免网络及存储性能瓶颈,使算力节点性能得到最充分的发挥
  • 多样化的开发环境:DAMODEL平台支持TensorFlow、PyTorch、Caffe等主流工具和框架,帮助用户构建和训练各种类型的人工智能模型:图像识别、语音识别、自然语言处理等

丹摩超算平台Llama3.1-部署与使用

Llama 3.1开源大语言模型,广泛应用于从本地到云端的各类场景

1、创建实例
在这里插入图片描述

2、按量计费-包日-包月可以根据使用频率选择(LLaMA3.1 8B 版本至少需要GPU显存16G)

在这里插入图片描述

3、镜像框架选择PyTorch 2.4.0

在这里插入图片描述

4、为保证安全登录,创建密钥对,输入自定义的名称,然后选择自动创建并将创建好的私钥保存的自己电脑中并将后缀改为.pem,以便后续本地连接使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、立即创建即可成功创建

在这里插入图片描述

6、JupyterLab在线访问实例的 JupyterLab 入口

在这里插入图片描述

JupyterLab 界面

在这里插入图片描述

7、部署LLama3.1

conda 管理环境

conda create -n llama3 python=3.12

在这里插入图片描述

8、环境创建好后,使用如下命令切换到新创建的环境

conda activate llama3

在这里插入图片描述

9、安装部署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

在这里插入图片描述

10、下载 Llama-3.1-8B 模型,内网高速下载

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

在这里插入图片描述

11、下载完成后解压缩/Llama-3.1-8B-Instruct.tar

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

在这里插入图片描述

12、新建 llamaBot.py 文件并在其中输入以下内容

  • vim llamaBot.py
  • 进入文件夹按i编辑
  • :wq保持退出
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/shared-storage/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)

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

14、需要通过丹摩平台提供的端口映射能力,把内网端口映射到公网

在这里插入图片描述

在这里插入图片描述

15、添加成功后,通过访问链接即即可打开LLaMA3.1 Chatbot交互界面,并与其对话:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

16、加载3~4分钟左右出现如下页面就可以对话了,成功搭建

在这里插入图片描述

17、如果不成功可以检查是否下载Llama-3.1-8B-Instruct.tar漏掉了文件,如下是完整文件(磁盘空间不足可能会导致文件下载缺失df -h命令可以查看磁盘内存,至少准备60G内存下载压缩包和解压)

在这里插入图片描述

18、此实例按照DAMODEL丹摩超算平台操作手册部署,如果想详细了解可以查看帮助文档

Llama3.1-部署与使用 | 帮助文档 - DAMODEL

在这里插入图片描述

本地连接使用DAMODEL方法

1、获取实例的SSH访问信息

ssh -p 36894 root@cn-north-b.ssh.damodel.com

在这里插入图片描述

2、win+r打开cmd命令提示符,cd进入刚刚存下私钥的文件夹目录

在这里插入图片描述

3、然后使用以下ssh命令连接服务器

ssh -i <私钥文件名> -p <端口号> <用户名>@<host地址>
ssh -i weishuo.pem -p 36894 root@cn-north-b.ssh.damodel.com

在这里插入图片描述

使用体验与总结

在这里插入图片描述

DAMODEL丹摩超算平台的操作流程非常简便,特别是官方提供了详尽的操作文档;如果在使用过程中遇到问题,也可以随时咨询技术人员;无论是对新手还是资深开发者,DAMODEL丹摩超算平台都是极佳的选择;平台支持一键部署,三秒启动,让AI开发变得轻松无比;现在正值开学迎新季,官网有多种折扣优惠,感兴趣的朋友们可以前往官网了解更多信息!

  • 超友好:配备124G大内存和100G大空间系统盘,一键部署,三秒启动,让AI开发从未如此简单
  • 资源多:从入门级到专业级GPU全覆盖,无论初级开发还是高阶应用,你的需求,我们统统Cover
  • 性能强:自建IDC,全新GPU,每一位开发者都能体验到顶级的计算性能和专属服务,大平台值得信赖
  • 超实惠:超低价格体验优质算力服务,注册即送优惠券!还有各类社区优惠活动,羊毛薅不停
Logo

尧米是由西云算力与CSDN联合运营的AI算力和模型开源社区品牌,为基于DaModel智算平台的AI应用企业和泛AI开发者提供技术交流与成果转化平台。

更多推荐