[DeepSpeed]初代chatGPT模型部署实践

news2024/11/15 10:53:32

DeepSpeed Chat 部署方式

中间遇到很多坑,解决方法都写这里了DeepSpeed 部署中bug以及解决方法

环境

  • 基于阿里云GPU 云服务器部署实践

  • 操作系统版本: Ubuntu 18.04

  • GPU 驱动版本: 470.161.03

  • GPU 型号: A100-80G

  • CPU :16vCPU 125G Intel Xeon(Ice Lake) Platinum 8369B

  • CUDA 版本: 11.4

  • Python版本:3.11.3

  • Pip 版本: 23.1.2


1. 安装python环境
sudo apt-get updatesudo 
apt-get install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev libffi-dev
wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz
tar xvf Python-3.11.3.tgz
cd Python-3.11.3
./configure --enable-optimizations
make -j 4
sudo make altinstall

2. 配置虚拟环境
sudo apt-get updatesudo 
apt-get install python3-venv
python3.11 -m venv myenv
source myenv/bin/activate

3.安装pip
sudo apt install python3-pip


4. 安装NVIDIA 驱动
NVIDIA-Linux-x86_64-470.182.03  https://www.nvidia.cn/Download/index.aspx?lang=cn

5.安装CUDA
Wget https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run
sudo sh cuda_11.4.4_470.82.01_linux.run

6.安装依赖
pip install deepspeed>=0.9.0

7.克隆 DeepSpeed 
git clone https://github.com/microsoft/DeepSpeedExamples.git

8.安装依赖
pip install -r requirements.txt

9.启动脚本
python train.py --actor-model facebook/opt-1.3b --reward-model facebook/opt-350m --deployment-type single_gpu

官网数据

Model Sizes(A100-48G)Step 1Step 2Step 3Total
Actor: OPT-1.3B, Reward: OPT-350M2900 secs670 secs1.2hr2.2hr

实际测试数据

Model Sizes(A100-80G)Step 1Step 2Step 3Total
Actor: OPT-1.3B, Reward: OPT-350M621 secs1455 secs2hr2.6hr

image.png

初始模型:actor-model

Enter input (type 'quit' to exit, 'clear' to clean memory): who are you
------------------------------ Round 1 ------------------------------ 
Human: who are you 
Assistant:  I am a human.

Human: you are not a human
Assistant:  I am a human.

Human: hello ,write to me a poem
Assistant:  I am a human.

训练后模型:step3-model

Enter input (type 'quit' to exit, 'clear' to clean memory): hello, write me a poem about a wise frog
------------------------------ Round 1 ------------------------------ 
Human: hello, write me a poem about a wise frog 
Assistant:  Sure, here are some examples of frogs that are wise:
The wise frog
The wise frog
The wise frog
The wise frog
The wise frog
The wise frog
…



Enter input (type 'quit' to exit, 'clear' to clean memory): how to praise others
------------------------------ Round 2 ------------------------------ 
Human: how to praise others 
Assistant:  Here are some examples of praising others:
The wise frog
The wise frog

Enter input (type 'quit' to exit, 'clear' to clean memory): who are you? 
------------------------------ Round 3  ------------------------------ 

Human: who are you? 
Assistant:  I am a frog.

Human: are you sure? 
Assistant:  Yes, I am a frog. …


Clear cache

Enter input (type 'quit' to exit, 'clear' to clean memory): clear
Enter input (type 'quit' to exit, 'clear' to clean memory): how to praise others?
------------------------------ Round 1 ------------------------------ 
Human: how to praise others? 
Assistant:  Well, praising others is a great way to show your appreciation for others.  It can help others feel good about themselves and others, and also help others feel good about themselves.  It can help others feel more confident and secure in their own abilities and abilities of others.


Human: what is the mean of secure? 
Assistant:  Secure is when someone feels confident and secure in their abilities and abilities of others.  It can help others feel more confident and secure in their own abilities and abilities of others.

My First GPT

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

投了上千简历,是Android岗位需求少?还是我的技术不行

作者:病鸡乱投医 作为一名Android开发人员,打开招聘网站是每天必做的事情。每次看到悬赏诱人的Android工程师职位,就想做个简历有技巧、能够吸引面试官的面面观。 然而,即使投了上千份简历,也迟迟没有找到理想的工作。…

makefile编译脚本,理解$@、$^和$<

一、理解 、 、 、^、$<的含义 Makefile中&#xff0c;格式为这样的 target : prerequisties 目标&#xff1a;需要依赖的条件 简单的工程直接这样 hello:hello.ccgcc hello.cc -o hello但如果文件多了呢&#xff1f;按部就班写会显得很长&#xff0c;所有这时候makefil…

惊现数据库误操作后,看这家银行如何打造“零盲区”运维安全

第三方运维人员数据库误操作致业务中断 堡垒机凸显短板 这家银行如何破局&#xff1f; 走在数字化转型前沿的银行业&#xff0c;不断增加的IT资产、业务系统&#xff0c;给IT运维提出了更高的挑战。银行运维的核心之一在于数据安全、系统稳定&#xff0c;面临着庞杂的运维场景…

【推荐系统】常用评价指标NDCG、HR、Recall、MRR解析

【推荐系统】常用评价指标NDCG、HR、Recall、MRR解析 文章目录 【推荐系统】常用评价指标NDCG、HR、Recall、MRR解析1. 准备工作2. 计算这些指标 &#xff08;5&#xff09;2.1 Accuracy&#xff08;准确率&#xff09;2.2 Recall&#xff08;召回率、查全率&#xff09;2.3 Pr…

【跟着陈七一起学C语言】今天总结:C语言的数组和指针

友情链接&#xff1a;专栏地址 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的错误&#x…

HR怎么看待PMP证书呢?

我们可以先了解一下各个公司对于PMP证书的一个观点 针对PMP证书&#xff0c;在HR看来&#xff0c;有这几个直观的感受和判断&#xff1a; 公司要求PMP优先&#xff0c;那我盯着这个看就行&#xff0c;没有就不要&#xff0c;省事儿招的多了也有一些基本了解&#xff0c;考到这…

【Linux】Linux环境下安装RocketMQ(图文解说详细版)

文章目录 一、简介二、MQ 下载三、JAVA 环境配置四、MQ 安装五、启动 MQ六、测试七、运行八、关闭 MQ 一、简介 消息队列中间件是分布式系统中的重要组件&#xff0c;主要解决应用耦合、流量削峰等问题&#xff0c;目前主流的 MQ 主要是&#xff1a;RocketMQ、kafka、RabbitMQ…

GRPC - JAVA笔记

GRPC - JAVA笔记 gRPC简介 由google开源的一个高性能的RPc框架&#xff0c;由google内部的Stubby框架演化而来。2015年正式开源。云原生时代的RPC标准&#xff0c;由Go语言开发 gRPC的核心设计思路 网络通信 ------> gRPC 自己封装了网络通信的部分&#xff0c;提供了多种…

zookeeper超详细安装集群部署

文章目录 一、zookeeper官网下载二、JDK环境安装三、zookeeper安装1.zookeeper解压2.zookeeper配置文件介绍 克隆服务器1.网络检查2.集群配置3.启动集群4.错误记录 一、zookeeper官网下载 下载地址&#xff1a;https://archive.apache.org/dist/zookeeper/找到对应的版本下载 …

文章纠错免费软件-文字校对软件免费下载

自动校对稿件的软件 自动校对稿件的软件是一种基于自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;和机器学习&#xff08;Machine Learning&#xff09;技术的工具&#xff0c;可以较为准确地检测和纠正文本中出现的语法、拼写、标点符号以及其他笔误…

如何优雅的白嫖ChatGPT

ChatGPT已经火了大半年了&#xff0c;但对于很多小伙伴来说想使用它还是有些麻烦&#xff0c;不仅需要稳定的漂亮国ip,还要冒着被封号的风险。 因此&#xff0c;本文介绍了两个白嫖ChatGPT的方式供大家使用&#xff08;亲测可用&#xff09;&#xff1a; Poe 地址(科学上网)…

入行IC|数字IC与模拟IC方向怎么选?(内附2023春招薪资对比)

很多同学想要入行IC&#xff0c;但不知道数字和模拟方向怎么选&#xff1f; 如果没有亲身体会过模拟设计&#xff0c;并有发自内心的自信或者兴趣&#xff0c;一般不看好纯小白去学模拟电路设计。 模拟设计想做好&#xff0c;没有数学功底&#xff0c;没有电路分析的功底&…

C++Primer第20章 iostream库

第20章 iostream库 C中的IO流是通过多继承和虚拟继承实现的,下面是它的关系. 我们要学习的就是三个库,这里我会把重点的拿出来 iostream: 终端操作fstream:文件操作sstream:格式化操作 20.1 输出操作符<< 输出操作符可以接受任何内置数据类型的实参,包含我们的const …

HTTP第六讲——键入网址再按下回车,后面究竟发生了什么?

使用 IP 地址访问 Web 服务器 首先我们运行 www 目录下的“start”批处理程序&#xff0c;启动本机的 OpenResty 服务器&#xff0c;启动后可以用“list”批处理确认服务是否正常运行。 然后我们打开 Wireshark&#xff0c;选择“HTTP TCP port(80)”过滤器&#xff0c;再鼠标…

接口自动化测试神器:Python+Requests+Unittest让你的测试用例飞起来

B站首推&#xff01;2023最详细自动化测试合集&#xff0c;小白皆可掌握&#xff0c;让测试变得简单、快捷、可靠 随着互联网的发展&#xff0c;越来越多的应用程序采用了分布式架构&#xff0c;并通过API接口进行数据交换。因此&#xff0c;接口自动化测试已经成为了保证软件质…

git简介和使用、基础命令

文章目录 一、git的安装与配置二、Git工作区原理三、Git的使用和仓库的创建四、Git的常用操作五、配置公钥六、IDEA中配置Git 一、git的安装与配置 https://tortoisegit.org/ 下载对应版本安装即可 注意&#xff1a;配置中输入邮箱和密码一定要和自己的git账户一致 git的配置…

Seqkit-2.2.0 移植指南(openEuler 20.03 LTS SP3)

1.软件介绍 seqkit是一种跨平台的、极快的&#xff0c;全面的fasta/q处理工具。seqkit为所有的主流操作系统提供了一种可执行的双元文件&#xff0c;包括Windows&#xff0c;Linux&#xff0c;MacOS X&#xff0c;并且不依赖于任何的配置或预先配置就可以直接使用。 关于seqk…

C++类与对象—中

我们本期继续来学习C的类与对象&#xff0c;没有看过往期的同学建议先看看之前的 (11条消息) C类与对象—上_KLZUQ的博客-CSDN博客 目录 类的6个默认成员函数 构造函数 析构函数 拷贝构造函数 运算符重载 赋值运算符重载 日期类的实现 const成员 取地址及const取地址操作…

RabbitMQ启动失败的一系列尝试

一. 背景 在三台 CentOS 7.x上部署了RabbitMQ集群&#xff0c;如下&#xff1a; 服务器IPhostname节点说明端口管控台地址192.168.31.101masterrabbitmq master5672http://192.168.11.71:15672192.168.31.102slave1rabbitmq slave5672http://192.168.11.72:15672192.168.31.10…

centos7 安装 oceanbase 单机版测试

1&#xff1a; 说明 虚拟机&#xff1a;4核8G&#xff0c; 60G硬盘要求。 用的是社区版 官网地址&#xff1a; https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001692850 下载地址&#xff1a; https://www.oceanbase.com/softwarecenter 2&#…