大模型使用——超算上部署LLAMA-2-70B-Chat

这篇具有很好参考价值的文章主要介绍了大模型使用——超算上部署LLAMA-2-70B-Chat。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大模型使用——超算上部署LLAMA-2-70B-Chat

前言
1、本机为Inspiron 5005,为64位,所用操作系统为Windos 10。超算的操作系统为基于Centos的linuxGPU配置为A100,所使用开发环境为Anaconda
2、本教程主要实现了在超算上部署LLAMA2-70B-Chat。


实现步骤
1、连接上超算以后,执行如下命令在超算上创建一个虚拟环境。

conda create --name alpaca python=3.9 -y
大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

2、运行如下命令激活虚拟环境。

conda activate alpaca
大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

3、在到LLAMA2的Github地址下载好llama2项目。

大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

4、将下载好llama2项目的文件通过自己windows上的cmd中输入scp指令传输到超算上。

scp -r E:\llama-main wangcheng@10.26.14.56:/public/home/wangcheng/
大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型
大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

5、在超算上进入llama-main文件夹,然后输入如下命令安装稳定版的llama2运行的依赖。

cd llama-main
pip install -e .
大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

6、在Meta申请LLAMA2使用的链接地址上填写资料,然后申请LLAMA2模型的下载链接,申请完毕可以得到一份邮件,邮件中包含了下载链接。

大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

7、在超算的llama-main目录下使用如下指令开始下载模型,在下载模型开始时,会要求你输入下载链接,第二步会让你选择要下载的模型,你选好要下载的模型以后,程序便会自己进行下载,整个过程时间比较长,在模型下载完毕后会自己先进行一步模型文件下载是否完整的校验,若你要自己进行一下文件的校验,可以使用如下所示的第二条指令,第二条指令双引号中的内容在下载的模型文件夹中包含的checklist.chk文件中找到,然后进行替换校验即可。

bash download.sh
echo "6efc8dab194ab59e49cd24be5574d85e  consolidated.00.pth" | md5sum --check -
大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

8、模型下载完毕后,通过如下指令将自己创建的llama_test.sh文件进行超算的使用调度。(注:llama_test.sh文件中的代码如下:)

sbatch llama_test.sh
#!/bin/bash
#SBATCH --job-name=llama_job_test
#SBATCH --output=testLLAMAJob.%j.out
#SBATCH --error=testLLAMAJob.%j.err 
#SBATCH --partition=GPU_s 
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=8
#SBATCH --gres=gpu:8

starttime=`date +'%Y-%m-%d %H:%M:%S'` # 执行data命令,获取当前的日期和时间的格式化表示,并赋值给starttime
nvidia-smi  # 查看NVIDIA GPU的状态和性能信息,输出当前节点上GPU的状态信息
echo "CUDA_VISIBLE_DEVICES = $CUDA_VISIBLE_DEVICES"  # 输出当前进程中 CUDA_VISIBLE_DEVICES 的值,echo 命令用于输出字符串

source ~/.bashrc  # 于重新加载用户的 Bash 配置文件 ~/.bashrc,确保在后续的命令中可以使用最新的环境变量和别名设置
hostname >./hostfile  # 获取当前主机的名称,并将其输出到一个名为 hostfile 的文件中

echo $SLURM_NTASKS  # 输出当前作业中分配的任务数
echo "Date = $(date)"  # 输出当前的日期和时间
echo "Hostname = $(hostname -s)"  # 输出当前主机的名称
echo "Working Directory = $(pwd)"  # 输出当前工作目录的路径 
echo ""  # 输出一个空行,使易于阅读
echo "Number of Nodes Allocated = $SLURM_JOB_NUM_NODES"  # 输出作业节点
echo "Number of Tasks Allocated = $SLURM_NTASKS"  # 输出当前作业分配的任务数
echo "Number of Cores/Task Allocated = $SLURM_CPUS_PER_TASK"  # 输出每个任务被分配的CPU核心数
echo $SLURM_NPROCS  # 输出当前作业中分配的处理器数

ulimit -s unlimited  # 设置当前shell会话的栈大小限制为无限制
ulimit -v unlimited  # 设置当前shell会话的虚拟内存限制为无限制,即不限制进程使用的虚拟内存大小
ulimit -m unlimited  # 设置当前shell会话的物理内存限制为无限制

module load cuda/11.7  # 加载11.7版本的CUDA软件模块
module load gcc/12.1  # 加载12.1的GCC编译器的软件模块
module load torch/2.0.1  # 加载2.0.1版本的torch

# module load cuda/11.6  # 加载11.6版本的CUDA软件模块
# module load gcc/12.1  # 加载12.1的GCC编译器的软件模块
# module load torch/2.0  # 加载2.0版本的torch

source activate alpaca  # 激活名为 alpaca 的Python虚拟环境

python -V  # 显示当前系统上安装的Python版本号
echo "CUDA_VISIBLE_DEVICES = $CUDA_VISIBLE_DEVICES"  # 输出当前作业可以使用的CUDA设备的ID列表
echo "CONDA_DEFAULT_ENV = $CONDA_DEFAULT_ENV"  # 输出当前工作的conda虚拟环境
# conda list  # 列出当前conda环境下安装的python包

# export MASTER_ADDR=localhost
# export MASTER_PORT=8888
# export WORLD_SIZE=8
# export NODE_RANK=0
# export OMP_NUM_THREADS=9

# 使用torchrun进行分布式部署
# torchrun --nproc_per_node 8 example_chat_completion.py --ckpt_dir llama-2-70b-chat/ --tokenizer_path tokenizer.model --max_seq_len 512 --max_batch_size 4
torchrun --nproc_per_node 8 chat.py --ckpt_dir llama-2-70b-chat/ --tokenizer_path tokenizer.model --max_seq_len 512 --max_batch_size 4
# torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir llama-2-7b-chat/ --tokenizer_path tokenizer.model --max_seq_len 512 --max_batch_size 4
# python chat.py --ckpt_dir llama-2-7b-chat/ --tokenizer_path tokenizer.model --max_seq_len 512 --max_batch_size 4
# python -m torch.distributed.launch --nproc_per_node=8 chat.py --ckpt_dir llama-2-70b-chat/ --tokenizer_path tokenizer.model --max_seq_len 512 --max_batch_size 4
nvidia-smi 

echo Job ends at `date`  # 输出当前的日期
endtime=`date +'%Y-%m-%d %H:%M:%S'`  # 执行data命令,获取当前的日期和时间的格式化表示,并赋值给endtime
start_seconds=$(date --date="$starttime" +%s);  # 将开始时间转换为秒数
end_seconds=$(date --date="$endtime" +%s);  # 将结束时间转换为秒数
echo "本次运行时间: "$((end_seconds-start_seconds))"s"  # 输出字符串,得到当前任务

10、在得到的输出文件testLLAMAJob.389396.out中可以看到llama2成功部署到超算上了。

大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

Remark:实行部署笔记纸质档文章来源地址https://www.toymoban.com/news/detail-637575.html

大模型使用——超算上部署LLAMA-2-70B-Chat,语言模型

到了这里,关于大模型使用——超算上部署LLAMA-2-70B-Chat的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spack:超算上最好的包管理器

    To install spack and your first package, make sure you have Python. Then: Full documentation is available, or run  spack help  or  spack help --all . For a cheat sheet on Spack syntax, run  spack help --spec . 中文详细资料: Spack:超算上最好的包管理器 - 知乎

    2024年02月11日
    浏览(27)
  • 【AIGC】Baichuan2-13B-Chat模型微调

    微调框架:LLaMA-Efficient-Tuning 训练机器:4*RTX3090TI (24G显存) python环境:python3.8, 安装 requirements.txt 依赖包 1、准备数据集 2、训练及测试 1)创建模型输出目录 2)创建deepspeed配置文件目录 3)创建deepspeed配置文件 4)训练模型 测试模型 3、注意事项: 1)我用的是3090TI显卡,使用

    2024年02月08日
    浏览(36)
  • LLaMA3-70B: Meta AI 的最新自然语言处理模型

    近期,Meta AI 发布了其最新的自然语言处理模型 LLaMA-70B,这是一个基于 transformer 结构的语言模型,具有70亿个参数。LLaMA-70B 的发布标志着 Meta AI 在自然语言处理领域的又一重大突破。作为自然语言处理领域的最新成果,LLaMA-70B 具有许多特点和优势,本文将对其进行详细介绍

    2024年04月29日
    浏览(59)
  • 【大模型】0.5B的大模型通义千问1.5-0.5B-Chat来了!!

    Qwen1.5是Qwen2的测试版,这是一个基于转换器的纯解码器语言模型,在大量数据上进行了预训练。与之前发布的Qwen相比,改进之处包括: 显著改善了人类对聊天模型的偏好; 对基本模式和聊天模式的多语言支持; 稳定支持32K上下文长度,适用于各种尺寸的模型 不需要trust_r

    2024年02月20日
    浏览(33)
  • 基于SWIFT和Qwen1.5-14B-Chat进行大模型LoRA微调测试

    操作系统:Ubuntu 18.04.5 LTS (GNU/Linux 3.10.0-1127.el7.x86_64 x86_64) Anaconda3:Anaconda3-2023.03-1-Linux-x86_64 根据服务器网络情况配置好conda源和pip源,此处使用的是超算山河源 服务器硬件配置:CPU 96核;GPU 8×NVIDIA A100 40GB 通过源代码安装SWIFT: 创建一个新的conda环境: 激活刚刚创建的conda环境

    2024年03月09日
    浏览(40)
  • 【LLM】大语言模型学习之LLAMA 2:Open Foundation and Fine-Tuned Chat Model

    自从开源以来,LLAMA可以说是 AI 社区内最强大的开源大模型。但因为开源协议问题,一直不可免费商用。近日,Meta发布了期待已久的免费可商用版本LLAMA 2。 在这项工作中,我们开发并发布了LLAMA 2,这是一系列预训练和微调的大型语言模型(LLMs),规模从70亿到700亿个参数不

    2024年02月15日
    浏览(43)
  • 群晖NAS使用Docker部署大语言模型Llama 2结合内网穿透实现公网访问本地GPT聊天服务

    随着ChatGPT 和open Sora 的热度剧增,大语言模型时代,开启了AI新篇章,大语言模型的应用非常广泛,包括聊天机器人、智能客服、自动翻译、写作助手等。它们可以根据用户输入的文本生成相应的响应,提供个性化的建议和服务,目前大部分大语言模型的产品都是基于网络线上的

    2024年04月17日
    浏览(60)
  • 在Docker中部署Llama大型语言模型

    Docker作为一个轻量级的容器化平台,使得应用程序的部署和扩展变得简单而高效。在Docker中部署Llama大型语言模型,可以确保模型运行环境的一致性和可移植性,同时也便于管理和扩展。本文将介绍如何在Docker中部署Llama模型的具体步骤和注意事项。 一、准备Docker环境 首先,

    2024年04月22日
    浏览(28)
  • Meta语言模型LLaMA解读:模型的下载部署与运行代码

    Meta最新语言模型LLaMA解读,LLaMA是Facebook AI Research团队于2023年发布的一种语言模型,这是一个基础语言模型的集合。 体验地址 模型下载地址 下载步骤 准备工作 先注册登录 授权,需要一段时间, 需要使用gls 什么是Git LFS git是程序员开发程序不可或缺的工具,有效的使用git能

    2024年02月08日
    浏览(37)
  • Meta 推出的 LLaMA 大语言模型部署教程

    简介: LLaMA(Lager Language Model From Meta),这是一个从7B到65B参数的基础语言模型的集合。它在数万亿的文本tokens上训练的模型,并表明在不求助于专有和不可访问的数据集,而仅使用公开的数据集来训练最先进的模型是可能的。特别是, LLaMA-13B 在大多数基准测试上优于GPT-3(

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包