丹摩智算平台部署 Llama 3.1:实践与体验

丹摩智算平台部署 Llama 3.1:实践与体验

文章目录

前言

在最近的开发工作中,我有机会体验了丹摩智算平台,部署并使用了 Llama 3.1 模型。在人工智能和大模型领域,Meta 推出的 Llama 3.1 已经成为了目前最受瞩目的开源模型之一。今天,我将通过这次实践,分享在丹摩平台上部署 Llama 3.1 的实际操作流程以及我的个人心得。

部署前的准备

Llama 3.1 是一个资源需求较高的模型,因此在部署之前,首先要确保拥有合适的硬件环境。按照文档中的要求,我选择了 Llama 3.1 8B 版本进行测试。8B 模型对 GPU 显存的需求为 16GB,因此我在丹摩平台上选择了 NVIDIA RTX 4090 作为我的实例,并且配置了 60GB 的数据硬盘容量,来满足下载模型和存储相关文件的需求。

在丹摩平台的控制台创建 GPU 云实例非常简单,整个流程仅需几分钟的时间。在实例创建页面中,我能够灵活选择 GPU 的数量和型号,平台还提供了便捷的镜像选择功能,省去了大量的环境配置工作。我选择了预装 PyTorch 2.4.0 的镜像,确保在后续的部署过程中不需要手动安装繁杂的依赖环境。

创建实例

进入控制台-GPU云实例,点击创建实例:

进入创建页面后,首先在实例配置中选择付费类型,一般短期需求可以选择按量付费或者包日,长期需求可以选择包月套餐;

其次选择GPU数量和需求的GPU型号,首次创建实例推荐选择:

按量付费–GPU数量1–NVIDIA-GeForc-RTX-4090,该配置为60GB内存,24GB的显存(本次测试的LLaMA3.1 8B 版本至少需要GPU显存16G)

接下来配置数据硬盘的大小,每个实例默认附带了50GB的数据硬盘,首次创建可以就选择默认大小50GB。

继续选择安装的镜像,平台提供了一些基础镜像供快速启动,镜像中安装了对应的基础环境和框架,可通过勾选来筛选框架,这里筛选PyTorch,选择PyTorch 2.4.0。

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

创建好密钥对后,选择刚刚创建好的密钥对,并点击立即创建,等待一段时间后即可启动成功!

部署与配置 Llama 3.1

实例成功创建后,我通过 JupyterLab 的在线登录入口进入了实例的操作界面。在这个环境中,所有的文件路径和资源配置都已经预先设置好,这极大地简化了操作。我通过 conda 创建了一个新的环境,并安装了部署 Llama 3.1 所需的依赖库,包括 LangChain、Streamlit、Transformers 和 Accelerate。

以下是安装依赖的关键命令:

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 模型的功能,下载速度非常快。解压完模型后,我编写了一个简单的 Streamlit 脚本,用于启动 Llama 3.1 模型的聊天界面。Streamlit 的使用非常简便,可以快速搭建一个 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'# 获取模型和[email protected]_resourcedefget_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 tokenizer, model = get_model()# 聊天逻辑if prompt := st.chat_input(): st.chat_message("user").write(prompt) input_ids = tokenizer([prompt], return_tensors="pt").to('cuda') generated_ids = model.generate(input_ids.input_ids, max_new_tokens=512) response = tokenizer.decode(generated_ids[0], skip_special_tokens=True) st.chat_message("assistant").write(response)

在终端中运行:

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

启动后,通过丹摩平台提供的端口映射功能,将内部端口映射到公网。通过链接,我成功访问到了我的 Llama 3.1 Chatbot 界面。

使用心得

通过这次实践,我对丹摩智算平台的易用性有了深刻的体会。首先,平台在创建实例、配置环境以及下载模型等环节提供了高度集成化的操作,省去了很多手动配置的麻烦,特别是在处理大模型时,内网高速下载和预装环境镜像极大地提高了工作效率。

在模型部署和使用过程中,我能够明显感受到 Llama 3.1 在生成式对话方面的强大性能,尤其是在自然语言理解和生成方面的表现出色。即便是 8B 版本,响应速度和文本生成质量都让我非常满意。这次实践让我深刻认识到,开源大模型与云端计算资源的结合,可以让开发者以更低的门槛接触到前沿的 AI 技术,快速实现自己的项目和想法。

总结

总体来说,丹摩智算平台提供了一个强大且高效的 AI 开发环境,尤其适合像我这样需要进行大模型部署和实验的开发者。无论是硬件资源的灵活选择,还是内置的环境配置和工具支持,都极大地简化了部署流程。通过这次部署 Llama 3.1 的实践,我不仅学会了如何高效利用云计算平台,也对大模型在实际项目中的应用有了更深刻的理解。

Read more

RTX 4090 加速国产 AIGC 视频生成:腾讯混元与阿里千问开源模型

RTX 4090 加速国产 AIGC 视频生成:腾讯混元与阿里千问开源模型

国产AIGC视频大模型正加速落地,RTX 4090凭借强大算力与大显存,成为本地部署腾讯混元、阿里通义万相等前沿视频生成模型的最佳选择,开启桌面级AI创作新时代。 目录 * 一、引言:国产AIGC视频大模型,桌面算力的新疆域 * 二、解锁潜能:RTX 4090与国产视频大模型的协同优势 * 三、项目解析:国产AIGC视频模型的创新之路 * 四、部署与环境搭建:国产模型的本地化实践 * 4.1 基础环境准备 * 4.2 模型部署流程:腾讯混元与阿里通义万相的本地化实战 * 4.3 ComfyUI 集成与优化 * 五、性能测试与对比:RTX 4090 的硬核实力 * 5.1 生成速度实测 (fps / s/frame) * 5.2 显存消耗与优化策略 * 六、实际应用场景:国产模型赋能创意工作流 * 七、

基于开源飞控pix的无人机装调与测试

基于开源飞控pix的无人机装调与测试

文章目录 * 前言 * 硬件使用说明 * 一、Hyper982 RTK模块 * 作为移动站使用 * 通过串口助手设置RTK参数(移动站) * 设置飞控参数(ArduPilot) * 设置飞控参数(PX4) * 二、HyperLte 4G图数传 * 资源下载 * 1、地面站软件和固件可执行文件 * 超维定制版HyperQGC(推荐) * NTRIP功能使用方法 * 基于超维定制版QGC和ArduPilot固件的领航跟随编队 * 多路视频流设置 * MQTT设置 * 地面站设置 * 4G模块配置 * MQTT服务器配置 * 飞控配置 * 海康威视相机云台控制 * Mission Planner地面站 * PX4固件可执行文件 * ArduPilot固件可执行文件 * 2、安装好环境的虚拟机 * 安装虚拟机 *

【AIGC】Claude Code的CLAUDE.md加载时机与书写最佳实践

I. CLAUDE.md 文件:项目级 vs 全局级 完全解析 CLAUDE.md 是 Claude Code 提供的简化版规则配置文件(对比多文件的 rules 文件夹),核心作用是定义 AI 需遵循的代码规范、项目要求等,而「项目根目录的 CLAUDE.md」和「用户主目录的 ~/.claude/CLAUDE.md」的核心区别在于作用域和优先级,下面分维度讲清楚: 一、核心区别(作用域+使用场景) 维度项目根目录 CLAUDE.md用户主目录 ~/.claude/CLAUDE.md作用域仅对当前项目生效(项目内所有文件)对当前用户下的所有项目生效使用场景定义当前项目的专属规则(如项目特有编码规范、业务约束、依赖版本)定义跨项目的通用规则(如个人编码习惯、全项目通用安全规范、

在昇腾NPU上跑Llama 2模型:一次完整的性能测试与实战通关指南

在昇腾NPU上跑Llama 2模型:一次完整的性能测试与实战通关指南

目录 * 在昇腾NPU上跑Llama 2模型:一次完整的性能测试与实战通关指南 * 引言:从“为什么选择昇腾”开始 * 第一幕:环境搭建——好的开始是成功的一半 * 1.1 GitCode Notebook 创建“避坑指南” * 1.2 环境验证:“Hello, NPU!” * 第二幕:模型部署——从下载到运行的“荆棘之路” * 2.1 安装依赖与模型下载 * 2.2 核心部署代码与“坑”的化解 * 第三幕:性能测试——揭开昇腾NPU的真实面纱 * 3.1 严谨的性能测试脚本 * 3.2 测试结果与分析 * 第四幕:性能优化——让Llama跑得更快 * 4.1 使用昇腾原生大模型框架 * 4.