H800算力低至5.99元/卡时!抢鲜体验LLaMA3最佳实践就在潞晨云

由Meta发布的LLaMA3 8B和LLaMA3 70B的,将开源AI大模型推向新的高度。在多个基准测试上的表现均大幅超过已有竞品,成为AI应用的最新优选。

潞晨云现已上架 LLaMA3 8B和LLaMA3 70B从推理到微调和预训练的实践教程

提供免费测试代金券,限时特供H800-80GB-NVLINK低至5.99元/卡时等算力支持。

诚邀感兴趣的用户前来注册体验。

体验地址:https://cloud.luchentech.com/

其中在64卡H100集群上,经过潞晨Colossal-AI优化,相比微软+英伟达方案,可提升LLaMA3 70B的训练性能近20%,推理性能也优于vLLM等方案。


 

不仅好用还便宜的潞晨云

想体验LLaMA3等AI任务,还需要有GPU等算力支持。目前主流的AI云主机有AWS、AutoDL、阿里云等。但GPU资源不仅昂贵稀缺,供应商普遍还要求使用者必须预先进行高额投入,按年或提前数个月预付定金。

潞晨云不仅提供了便捷易用的AI解决方案,还为力求为广大AI开发者和其他提供了随开随用的廉价算力:

价格信息统计于2024年4月16日,普通账号可按需按量开启的价格及可用性,大型云厂商一般仅支持老旧型号算力(Nvdia V100/P100等)按需按量使用,美元-人民币汇率换算为1:7.2368

原价19.99元/卡时的H800-80GB-NVLINK,限时特供低至5.99元/卡时!

对于使用较稳定的长期需求,在潞晨云还可以按月、按年租用,获得进一步折扣。

潞晨云还为新用户准备了多种形式的优惠代金券活动,注册即可白嫖H800、A800、4090、910B等高端算力,构建属于自己的AI大模型!

使用潞晨云部署和训练LLaMA3

01创建云主机

新注册用户自动获得代金券额度!

打开算力市场,按照筛选目标算力。

可以看到如图所示的控制台页面,右边是两台可用的服务器,每台上有8块可租用的GPU,我们选择一个,点击“8卡可租”按钮,进入算力市场界面。

在租用配置选择界面,为自己的云主机取一个名字并选择任务所需数量的显卡,LLaMA3 8B推理可以在单卡H800上完成),因此,此处选择1卡H800。

02推理

Colossal-Inference现已适配支持了LLaMA-3推理加速。在潞晨云,您可以选择推理镜像,使用Colossal-Inference进行推理优化提速,体验LLaMA-3的自然语言生成能力。

前期准备

LLaMA-3模型权重已准备好,无需额外安装步骤。

推理生成

运行生成脚本

PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B" # huggingface or local model path

进行多卡TP推理,如下例使用两卡生成

colossalai run --nproc_per_node 2 llama_generation.py -m PRETRAINED_MODEL_PATH --max_length 80 --tp_size 2

吞吐脚本

运行吞吐Benchmark测试

PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B"

单卡H100对LLaMA3-8B进行Benchmark结果与vLLM对比(例:输入序列长度128,输出长度256)


 

03微调与继续预训练

我们在原有 LLaMA-2 汉化项目中,支持了 LLaMA-3 的继续预训练与微调。在潞晨云,您可以通过选择训练镜像,快速对 LLaMA-3 进行继续预训练与微调。

前期准备

1. 编译安装 Colossal-AI​

cd /root/ColossalAI
BUILD_EXT=1 pip install .

2. 创建训练需要的文件夹

mkdir /root/training_outputs
mkdir /root/training_outputs/checkpoints
mkdir /root/training_outputs/configs
mkdir /root/training_outputs/tensorboards

3. 修改 hostfile


cd /root/ColossalAI/ColossalAI/applications/Colossal-LLaMA/
cp hostfile.example hostfile

注:可通过 `apt install iproute2 -y` 在镜像中安装 ip addr 指令查看镜像内 ip 地址

​数据准备

当前路径:

/root/ColossalAI/ColossalAI/applications/Colossal-LLaMA/

1. 继续预训练

{"source": "", "target": "Lionel Andrés Messi(Spanish pronunciation: [ljoˈnel anˈdɾes ˈmesi] (i); born 24 June 1987), also known as Leo Messi, is an Argentine professional footballer who plays as a forward for and captains both Major League Soccer club Inter Miami and the Argentina national team.", "category": "sports"}
{"source": "猜谜语:一身卷卷细毛,吃的青青野草,过了数九寒冬,无私献出白毛。(打一动物)", "target": "白羊", "category": "riddle"

python prepare_pretrain_dataset.py \
    --data_input_dirs "Directory that contains one or more JSONL file(s)>" \
    --tokenizer_dir "Tokenizer directory" \
    --data_output_dirs "Spliced tokenized output" \
    --max_length 8192 \
    --num_spliced_dataset_bins 10

2. 微调

{"messages": [{"from": "human", "content": "What are the three primary colors?"}, {"from": "assistant", "content": "The three primary colors are red, blue, and yellow."}]}
{"messages": [{"from": "human", "content": "解释个人电脑和服务器之间的区别。"}, {"from": "assistant", "content": "个人电脑和服务器是两种不同类型的计算机系统,它们的主要区别在于用途、硬件配置和性能。个人电脑,顾名思义,是为个人使用而设计的计算机。它们通常用于日常的工作、娱乐和学习,可以运行各种各样的应用程序和游戏。个人电脑的硬件配置一般是按照标准配置来设计的,不过也可以根据个人需求进行定制。而服务器是为了满足大量用户的需求而设计的计算机系统,它们通常用于为用户提供各种网络服务,如网站、电子邮件和文件传输等。服务器通常需要高性能的硬件配置,并且可以承受高负载和长时间的运行。由于服务器需要支持大量用户的访问,它们通常配备多核处理器、大容量内存和大容量硬盘驱动器,以提高系统的运行速度和稳定性。总之,个人电脑和服务器之间的主要区别在于它们的用途、硬件配置和性能。个人电脑用于个人使用,而服务器用于支持大量用户的访问。服务器的硬件配置通常比个人电脑更高,以保证系统的性能和稳定性。"}]}

python prepare_sft_dataset.py.py \
    --data_input_dirs "Directory that contains one or more JSONL file(s)>" \
    --tokenizer_dir "Tokenizer directory" \
    --data_output_dirs "Spliced tokenized output" \
    --max_length 8192 \
    --num_spliced_dataset_bins 10 \
    --llama_version 3

运行成功后,data_output_dirs 文件夹内会自动生成 3 个子文件夹,其中,arrow 文件夹中的数据可用来直接训练。

我们提供简单数据集以供测试,处理好数据集可见:

/root/notebook/common_data/tokenized-cpt-data

训练脚本

当前路径:

/root/ColossalAI/ColossalAI/applications/Colossal-LLaMA/

1. 修改 config 文件

cp train.example.sh train.sh
#更新训练脚本

2. 参考训练脚本

PROJECT_NAME="LLaMA-3-8B-cpt"
PARENT_SAVE_DIR="/root/training_outputs/checkpoints/" # Path to a folder to save checkpoints
PARENT_TENSORBOARD_DIR="/root/training_outputs/tensorboards/" # Path to a folder to save logs
PARENT_CONFIG_FILE="/root/training_outputs/configs/" # Path to a folder to save training config logs
PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B" # huggingface or local model path


# 以预置已处理数据集为例
declare -a dataset=(
    /root/notebook/common_data/tokenized-cpt-data/arrow/part-00000
    /root/notebook/common_data/tokenized-cpt-data/arrow/part-00001
    /root/notebook/common_data/tokenized-cpt-data/arrow/part-00002
)

TIMESTAMP=$(date +%Y-%m-%d-%H-%M-%S)
FULL_PROJECT_NAME="${PROJECT_NAME}-${TIMESTAMP}"
SAVE_DIR="${PARENT_SAVE_DIR}${FULL_PROJECT_NAME}"
CONFIG_FILE="${PARENT_CONFIG_FILE}${FULL_PROJECT_NAME}.json"

colossalai run --nproc_per_node 8 --hostfile hostfile --master_port 31312 train.py \
    --pretrained $PRETRAINED_MODEL_PATH \
    --dataset ${dataset[@]} \
    --plugin "zero2" \
    --save_interval 400 \
    --save_dir $SAVE_DIR \
    --tensorboard_dir $TENSORBOARD_DIR \
    --config_file $CONFIG_FILE \
    --num_epochs 1 \
    --micro_batch_size 2 \
    --lr 1e-4 \
    --mixed_precision "bf16" \
    --grad_clip 1.0 \
    --weight_decay 0.01 \
    --warmup_steps 100 \
    --use_grad_checkpoint \
    --use_flash_attn \


 

其他训练详情可参考:https://github.com/hpcaitech/ColossalAI/tree/main/applications/Colossal-LLaMA

04大规模训练

对于大规模预训练等场景,结合LLaMA3 序列变长、embedding增大等特性,我们针对3D混合并行场景进行了优化,通过自定义流水线切分、gradient checkpoint策略,我们可以进一步精细化控制每个GPU的内存占用和速度,从而达到整体训练效率的提升。

我们使用整数线性规划搜索出在64x H100上最适合LLaMA3-70B的切分、gradient checkpoint策略,最终训练可以达到每卡410+ TFLOPS的卓越性能。

详情可参考:

​https://github.com/hpcaitech/ColossalAI/tree/main/examples/language/llama

​此例子附上了我们测试时使用的配置。使用方法如下

git clone https://github.com/hpcaitech/ColossalAI
cd ColossalAI/examples/language/llama
BUILD_EXT=1 pip install -U git+https://github.com/hpcaitech/ColossalAI
pip install -r requirements.txt
export PYTHONPATH=$(realpath ..)
colossalai run --nproc_per_node 8 --hostfile HOSTFILE benchmark.py -c Meta-Llama-3-70B -x -g -p 3d --tp 4 --pp 4 --zero 1 -l 8192 --mbs 2 -b 128 --custom-ckpt

百万福利大放送!羊毛速薅

潞晨云已准备首期百万元的代金券,后续还会不断放出,可以持续关注!

注册即送:新账户注册即送50元代金券,便捷试用多种AI算力。

企业认证:完成企业认证的账户可额外获得1000元代金券,可稳定测试多机H800等稀缺资源。

在线评价:用户在社交媒体和专业论坛(如知乎、小红书、微博、CSDN等)上分享使用体验,有效分享一次可得100元代金券。每月最佳分享可额外再获500元代金券(根据点赞、评论等真实活跃度;每个账号最多每月各计一次;发布24小时后请找小客服核对验证)

加入用户群:不定时发放特价资源、代金券等优惠活动。

欢迎访问潞晨云官方网站:http://cloud.luchentech.com/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

yolov8 区域多类别计数

yolov8 区域多类别计数 1. 基础2. 计数功能2.1 计数模块2.2 判断模块 3. 初始代码4. 实验结果5. 完整代码6. 源码 1. 基础 本项目是在 WindowsYOLOV8环境配置 的基础上实现的,测距原理可见上边文章 2. 计数功能 2.1 计数模块 在指定区域内计数模块 region_point…

附近商户-GEO数据结构的基本用法

10、附近商户 10.1、附近商户-GEO数据结构的基本用法 GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: GEOADD&#xff1a…

Docker的介绍及应用

1.什么是Docker 我们在部署大型项目的时候,肯定会遇到这种问题,大学项目组件较多,运行环境复杂,部署时会碰到一些问题:例如node、redis、mysql等这些应用都有自己的依赖和函数库。这种复杂的依赖关系很容易出现兼容问…

【GitHub】github学生认证,使用copilot教程

github学生认证并使用copilot教程 写在最前面一.注册github账号1.1、注册1.2、完善你的profile 二、Github 学生认证 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅&a…

Python PyTorch 获取 MNIST 数据

Python PyTorch 获取 MNIST 数据 1 PyTorch 获取 MNIST 数据2 PyTorch 保存 MNIST 数据3 PyTorch 显示 MNIST 数据 1 PyTorch 获取 MNIST 数据 import torch import numpy as np import matplotlib.pyplot as plt # type: ignore from torchvision import datasets, transform…

如何修复U盘在Windows 10上断开又重新连接的问题?这里有方法

序言 有时,当你把U盘连接到电脑上时,U盘每隔几秒钟就会断开连接并重新连接,这导致你无法正常复制和传输文件,这真的很烦人。硬件或驱动程序可能有问题。 在这种情况下,你需要确保此U盘与其他计算机是否正常工作。如果是,则表示你的驱动器没有问题。如果不是,不要担心。…

基于RK3588的全国产鸿蒙边缘计算工控机在智能交通ETC收费系统的应用

1.1 产品简介 基于智能交通、工业互联等行业快速智能化发展的需求,以 OpenHarmony 为框架开发嵌入 HamonyOS,打造了具有高智能、高可靠、高安全的自主 可控的边缘处理器 XM-RK3588。 图 1-1 边缘处理器 HamonyOS强化 IoT 互联互动能力,让边缘…

Java-Collection集合极其遍历

Collection是Java中的一种单列集合,即每次添加只能添加一个元素。它是单列集合的祖宗接口,其功能是全部单列集合都可以使用的 常用方法: public boolean add(E e) 将特定对象添加到当前集合中public void clear() 清空集合public boolean r…

SWOT分析法:知彼知己的战略规划工具

文章目录 一、什么是SWOT分析法二、SWOT分析法如何产生的三、SWOT分析法适合哪些人四、SWOT分析法的应用场景五、SWOT分析法的优缺点六、SWOT分析实例 一、什么是SWOT分析法 SWOT分析法是一种用于评估组织、项目、个人或任何其他事物的战略规划工具。SWOT是Strengths&#xff…

我们该如何看待AIGC(人工智能)

目录 AIGC的概述: AIGC的发展经历: AIGC的概述: [TOC]( 🚀文章目录) ---AIGC全称为AI-Generated Content,指基于生成对抗网络GAN、大型预训练模型等人工智能技术,通过已有数据寻找规律,并通过…

智能化安全防护:AI防火墙的原理与应用

随着人工智能技术的迅猛发展,其在各个领域的应用也日益广泛。作为引领数字化转型的重要力量,AI技术为我们的生活和工作带来了前所未有的便利与效率。在通信领域,人工智能的应用同样展现出了巨大的潜力和价值,特别是在网络安全防护…

vCenter 物理配置与虚拟机配置对应关系

目录 背景现状概念存储池物理与虚拟资源分配及使用情况汇总 分配cpu内存硬盘VSAN、VM Encryption和VVOL No Requirements厚置备和精简置备 总结cpu内存硬盘建议 背景 现在有三台服务器,需要统计上面所有服务占用的资源情况与总和,目的是看还有多少资源可…

Pandas数据分析小技巧

Pandas数据分析小技巧:提升数据处理效率与准确性的秘诀 Pandas是一个强大的Python数据分析库,它提供了快速、灵活且富有表现力的数据结构,使得数据清洗、转换、分析等操作变得简单而高效。本文将介绍一些Pandas数据分析的小技巧,…

【Linux】谈谈shell外壳是什么?

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

火车头采集怎么发布到Wordpress

火车头采集怎么快速发布到Wordpress系统,可以按照以下步骤操作: 目录 1. Wordpress火车头采集发布模块 2. 发布模块内容参数映射,火车头采集发布数据到Wordpress 3. 简数采集一键发布到Wordpress方法 1. Wordpress火车头采集发布模块 如…

主成分分析PCA原理以及特征

一、PCA原理 原始数据 x ∈ R N x\in R^N x∈RN,经过PCA投影后的数据 y A x , y ∈ R P yAx,y\in R^P yAx,y∈RP 其中, A ∈ R P N A\in R^{P\times N} A∈RPN 二、PCA特征 1、降低数据的维度 2、提取数据的特征…

链表的回文结构(画图精讲)

题目的讲解 解决思路 1,先找中间节点 2,然会进行逆置 3,最后进行对比 1,找到中间节点 这个我们采取快慢指针,来找到中间节点 快慢指针是一种常用的技巧,用于在链表或数组中找到中间节点、检测循环或者解决其…

快速理解Laravel容器(IOC、DI、Provider、Contract)

源码理解思维的提升 分享一些个人见解。 Laravel里面的某些概念,就像魔术一样,看起来很厉害,当知道魔术怎么变的,就会认为也不过如此。所以不必感觉Laravel里有些概念难以理解。 应当抛除被框架约束思维的枷锁,用PHP…

【ContextCapture建模精品教程】PhotoScan空三成果导入ContextCapture建模教程

【ContextCapture建模精品教程】PhotoScan空三成果导入ContextCapture建模教程 文章目录 前言一、PhotoScan软件空三解算二、ContextCapture软件操作总结前言 ContextCapture是一款行业应用广的三维建模的软件,但是ContextCapture处理的空三能力比较弱,导致出现后期模型效果…
最新文章