一、基础环境
本次测试是基于K8S集群管理的两个POD节点进行部署,软硬件信息如下:
服务器规格: CPU:8c80G GPU:V100/40G * 2
系统环境: ubuntu18.04-cuda11.7-deepspeed0.9.5
二、基础配置
1、安装基础依赖
apt-get update
apt-get install -y language-pack-en net-tools supervisor cron iputils-ping ansible openssh-server sudo vim strace
service ssh start
service ssh status
2、配置用户及权限
groupadd apps
useradd -s /bin/bash -g apps -d /home/app app
passwd app
# 输入app用户密码
# -----------------------------------------------
# 配置app用户sudo权限
vi /etc/sudoers.d/app
# 添加内容
app ALL=(ALL) ALL
app ALL=(ALL) NOPASSWD: ALL
Defaults !env_reset
# 给文件sudoers文件增加写入权限
chmod u+w /etc/sudoers
vim /etc/sudoers
# 在root ALL=(ALL) ALL下面追加:
root ALL=(ALL) NOPASSWD: ALL
app ALL=(ALL) ALL
app ALL=(ALL) NOPASSWD: ALL
# 删除写入权限
chmod u-w /etc/sudoers
# ------------------------------------------------
# 配置自身免密登录
su app
ssh-keygen -t rsa
cat /home/app/.ssh/id_rsa.pub >>/home/app/.ssh/authorized_keys
chmod 600 /home/app/.ssh/authorized_keys
3、创建文件目录并赋予权限
mkdir -pv /data/projects /data/temp /data/logs /data/soft /home/app
chown -R app:apps /data/* /home/app
4、下载软件包
# 使用Ansible方式进行部署
su app
cd /data/soft/
wget ****************************/AnsibleFATE_1.11.3_LLM_1.3.0_release_offline.tar.gz
# 解压文件
cd /data/soft/AnsibleFATE_1.11.3_LLM_1.3.0_release_offline
#安装fate所需的基础环境
bash tools/install_base.sh
可以将基础步骤打包成镜像,分发到其余节点。
三、FateLLM框架安装
1、初始化
cd /data/soft/AnsibleFATE_1.11.3_LLM_1.3.0_release_offline
# 在host节点初始化host
bash deploy/deploy.sh init -h="10000:XXX.XXX.XXX.XXX"
# 在guest节点初始化guest
bash deploy/deploy.sh init -g="9999:XXX.XXX.XXX.XXX"
# 初始化后会在deploy/conf文件夹下生成conf文件,可配置安装的组件
2、生成ansible配置文件
cd /data/soft/AnsibleFATE_1.11.3_LLM_1.3.0_release_offline
# 在host节点初始化host
bash deploy/deploy.sh render
# 会生成var_files/prod文件夹
# 各组件的用户密码可在此进行修改
3、进行部署操作
cd /data/soft/AnsibleFATE_1.11.3_LLM_1.3.0_release_offline
# 在host节点和guest节点分别进行部署
bash deploy/deploy.sh deploy
# 安装部署日志提示无报错后,安装成功
4、进行基础测试
# 单边测试
# host节点执行
source /data/projects/fate/bin/init_env.sh
flow test toy -gid 10000 -hid 10000
# guest节点执行
source /data/projects/fate/bin/init_env.sh
flow test toy -gid 9999 -hid 9999
# 执行成功后会返回正确结果
(2)配置route_table
# 在host节点添加guest路由信息
vim /data/projects/fate/eggroll/conf/route_table.json
在路由信息中添加
"9999":
{
"default":[
{
"port": XXXX,
"ip": "XXX,XXX,XXX,XXX"
}
]
}
# 同理在guest节点添加host信息
(3)进行双边基础测试
flow test toy -gid 9999 -hid 10000
# 注意在哪个节点执行哪个节点为guest