Byzer-LLM环境安装

1.Byzer-LLM简介 

Byzer-LLM环境安装_第1张图片

 Byzer-LLM 是基于 Byzer 的一个扩展,让用户可以端到端的完成业务数据获取,处理,finetune大模型,多场景部署大模型等全流程。 该扩展的目标也是为了让企业更好的将业务数据注入到私有大模型(开源或者商业),并且可对外提供多场景部署形态,诸如 ETL, 流式计算,API 服务 等。

下面是使用 Byzer-LLM 完成大模型的一个工作流程图:

Byzer-LLM环境安装_第2张图片

 2.Byzer-LLM安装

可以有两种安装方式,一种是无脑运行shell脚本,但是注意这个shell脚本要在 CentOS 8 / Ubuntu 20.04 / Ubuntu 22.04上运行,其他系统可能会出错。经历漫长的等待之后,就可以在自己的linux电脑中完成单机安装,包含一整套的Byzerllm环境(Byzer-lang引擎+Ray+conda环境+cuda驱动等),这种方式叫做裸机全自动化部署,这种方式需要自己手动下载Byzer-notebook。

还有一种方式是手动部署:自己下载Byzer引擎+自己创建conda运行环境+自己下载notebook+自己下载Byzerllm拓展(就是一个jar包)

2.1 裸机全自动化部署

注意:(只支持 CentOS 8 / Ubuntu 20.04 / Ubuntu 22.04)

在机器上执行如下指令:

git clone https://gitee.com/allwefantasy/byzer-llm

cd byzer-llm/setup-machine

接着切换到 Root用户下执行如下脚本:

ROLE=master./setup-machine.sh 

此时会完成 byzerllm 账号创建登工作。

接着 切换到 byzerllm 账号下,再次执行:

ROLE=master ./setup-machine.sh

 会完整的安装包括显卡驱动,cuda 工具集,一整套 Byzer-LLM 环境,之后就可以访问 http://localhost:9002 来使用 Byzer-LLM 了。用户如果想组件集群,对于从节点,可以使用如下命令,也是分别执行两次。

ROLE=worker ./setup-machine.sh

2.2 手动部署

使用 Byzer-LLM 需要做如下工作:

  1. 安装 Byzer-lang/Byzer Notebook
  2. 创建一个 byzerllm-desktop Python环境,并按要求安装依赖(这一步中包含安装Ray)
  3. 启动 Ray
  4. 安装 Byzer-LLM 扩展

注意:Byzer-LLM 需要在有 Nvidia 的 GPU 的机器上才能正常工作。推荐 Ubuntu 22.04, 同时确保安装了驱动。可以直接安装他的大礼包: CUDA Toolkit 12.2 Downloads | NVIDIA Developer

2.2.1 Byzer-lang/Byzer-notebook 安装

下载:

  1. Byzer-lang: https://download.byzer.org/byzer-lang/2.3.8/byzer-lang-all-in-one-linux-amd64-3.3.0-2.3.8.tar.gz
  2. Byzer-notebook: https://download.byzer.org/byzer-notebook/1.2.5/Byzer-Notebook-1.2.5.tar.gz

然后解压。

首先是启动 Byzer-lang 引擎,

进入 byzer-lang-all-in-one-linux-amd64-3.3.0-2.3.8 目录,执行如下命令即可启动 Byzer 引擎:

./bin/byzer.sh start
# 重启可以用下面的命令
# ./bin/byzer.sh restart

启动完成后就可以访问 9003 端口了。注意,启动byzer-lang的时候如果遇到由于java环境报错,那么需要java-home指定为byzer-lang目录中的jdk8,即使你的电脑之前有Java8环境。

注意:如果需要访问 file:// 或者对象存储的绝对路径,则需要修改 ${BYZER_HOME}/conf/byzer.properties.overwrite,添加如下配置(显示的罗列哪些schema可以用绝对路径): spark.mlsql.path.schemas=oss,s3a,s3,abfs,file

启动 Byzer Notebook 则需要提前准备一个 MySQL 数据库,建议 5.7 版本的,然后创建一个名称叫做 notebook 的数据库。

现在可以进入 Byzer-Notebook-1.2.5, 修改 conf/notebook.properties 文件,

根据数据库实际地址修改数据库配置部分:

notebook.database.type=mysql
notebook.database.ip=127.0.0.1
notebook.database.port=3306
notebook.database.name=notebook
notebook.database.username=root
notebook.database.password=root

 特别注意,下面的参数 notebook.user.home 务必需要修改。 该参数其实是指定的 Byzer 引擎存储用户文件数据所在的目录。你需要选一个实际可用的目录。默认的 /mlsql 因为在根目录下,往往Byzer引擎没有权限创建。这会导致在 Byzer-Notebook 上传文件到引擎失败等问题。

notebook.user.home=/mlsql

现在就可以启动 Notebook了:

./bin/notebook.sh start

## 重启可以用
## ./bin/notebook.sh restart

此时就可以访问 9002 端口了,进入 Notebook 界面开始工作了。

2.2.2 Ray安装(推荐 Ubuntu 22.04 操作系统)

(1)使用 conda 创建一个 Python 3.10.10

conda create --name byzerllm-desktop python=3.10

 (2)现在可以切换到环境 byzerllm-desktop,安装 pip 依赖:https://github.com/allwefantasy/byzer-llm/blob/master/demo-requirements.txthttps://github.com/allwefantasy/byzer-llm/blob/master/demo-requirements.txt

继续保持在环境 byzerllm-desktop, 然后使用如下命令启动 Ray:

CUDA_VISIBLE_DEVICES=0,1 ray start --head \

--dashboard-host 192.168.3.224 \

--num-gpus=2 \

--object-store-memory 40949672960 \

--storage /my8t/byzerllm/ray_stroage \

--temp-dir /my8t/byzerllm/ray_temp

简要解释下,CUDA_VISIBLE_DEVICES 配置让 Ray 可以看到的 GPU,从0开始。

  1. --num-gpus 则配置 Ray 可以管理的 GPU 数,另外三个参数
  2. --object-store-memory, --storage, --temp-dir 可选。
  3. --dashboard-host 是 Ray 的dashboard地址

根据自身的显卡情况填写(显卡显存需要>=8g)。

注意,Byzer

ray启动命令:

ray start --include-dashboard true --dashboard-host 0.0.0.0 --head

之后可以在命令中看到日志:

Byzer-LLM环境安装_第3张图片

 ray默认启动端口在本地8265端口,如果在本地看到如下界面证明ray启动成功。

Byzer-LLM环境安装_第4张图片

3.Byzer-LLM拓展安装

Byzer-LLM 作为一个扩展,可以有两种方式安装。第一种在线安装, 在 Byzer-Notebook 的 Cell 中执行如下命令:

!plugin app add - "byzer-llm-3.3";

第二种方式是离线安装, 在这个 Index of /byzer-extensions/nightly-build/ 中下载 byzer-llm-3.3_2.12-0.1.0-SNAPSHOT.jar , 然后将其放到 Byzer 引擎 ${BYZER_HOME}/plugin 目录里,然后在 ${BYZER_HOME}/conf/byzer.properties.overwrite 中添加如下参数 streaming.plugin.clzznames=tech.mlsql.plugins.llm.LLMApp 。

推荐安装好notebook之后,在Notebook界面运行!plugin app add - "byzer-llm-3.3"

3、Byzer-LLM环境启动

需要按照顺序依次启动Byzer-lang、Ray、Byzer-notebook

3.1 启动Byzer-lang

在Byzer-lang目录中bin目录下执行

/bin/bash  byzer.sh start

之后浏览器访问9003端口,如果页面显示,即为byzer-lang启动成功。

3.2 启动Ray 

在安装时创建的byzer-desktop环境中执行

ray  start --head 

该命令是最简洁的命令,如果需要指定gpu、内存等可以在该命令后指定.

3.3 启动 notebook

启动notebook之前需要查看自己的Mysql5.7有没有启动。确保mysql5.7服务正常,再在byzer-notebook的bin目录下运行

/bin/bash notebook start 

你可能感兴趣的:(#,Byzer,ai,byzer)