CSGHub All-in-One Docker 快速部署

2024-11-13 17:25   中国台湾  


Omnibus CSGHub 是 OpenCSG 推出的使用 Docker 快速部署 CSGHub 的一种方式,主要用于快速功能体验和测试。Docker 部署方式允许用户以较低成本在本地计算机部署 CSGHub。此种部署方法非常适合概念验证和测试,使用户能够立即访问 CSGHub 的核心功能(包括模型,数据集管理、Space 应用创建以及模型的推理和微调(需要 GPU)),本文将带您一步步完成部署。

什么是 CSGHub?
CSGHub 是一个集成化的模型和数据集管理平台,旨在为用户提供高效的机器学习工作流。无论您是进行概念验证、测试,还是在本地快速验证模型,CSGHub 都能为您提供所需的核心功能,包括:
  • 模型和数据集的管理与协作
  • 快速推理和模型微调
  • 一键部署,无需繁琐配置
今天的指南将教您如何利用 Docker 快速将 CSGHub 部署到您的本地环境中(支持 Linux、MacOS 和 Windows 操作系统)。

部署前准备

  • 操作系统:Linux、macOS、Windows,配置不低于 4c8g。
  • Docker 安装:确保已经安装 Docker Desktop 或 Docker Engine。
  • GPU 支持:若进行模型微调,建议使用 NVIDIA GPU(仅支持 NVIDIA GPU)。



快速部署 CSGHub

现在,让我们开始使用 Docker 快速部署 CSGHub。只需简单几步,您就可以在本地环境中体验 CSGHub 的强大功能。

提示:

  • HTTPS 访问配置暂时不支持,可自行调整容器内 Nginx 配置。

  • 如果SERVER_DOMAINSERVER_PORT进行了修改,建议删除持久化数据目录后重新创建。

  • 云服务器 SERVER_DOMAIN = <external public ip>

1. 快速安装(无法使用 Space、模型推理微调功能)

Linux

提示:

  • 请自行替换<your ip address>为主机 IPv4 地址。

  • IPv4 地址查看方式,终端命令行输入:

    ip -4 -o addr show $(ip route show default | awk '/default/ {print $5}')

在 Linux 系统上,我们可以选择快速启动不做数据持久化的方式。以下是命令示例:
export SERVER_PORT=80docker run -it -d \    --name omnibus-csghub \    --hostname omnibus-csghub \    -p ${SERVER_PORT}:80 \    -p 2222:2222 \    -p 8000:8000 \    -p 9000:9000 \    -e SERVER_DOMAIN=<your ip address> \    -e SERVER_PORT=${SERVER_PORT} \    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0
若要启动并持久化数据(保存数据和日志),可以使用以下命令:
export SERVER_PORT=80docker run -it -d \    --name omnibus-csghub \    --hostname omnibus-csghub \    -p ${SERVER_PORT}:80 \    -p 2222:2222 \    -p 8000:8000 \    -p 9000:9000 \    -v /srv/csghub/data:/var/opt \    -v /srv/csghub/log:/var/log \    -e SERVER_DOMAIN=<your ip address> \    -e SERVER_PORT=${SERVER_PORT} \    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

macOS

提示:

  • Docker Desktop 部署请开启 Rosetta,方式如下:

    Settings > General > Use Rosetta for x86_64/amd64 emulation on Apple Silicon

  • 请自行替换<your ip address>为主机 IPv4 地址。

  • IPv4 地址查看方式,终端命令行输入:

    ipconfig getifaddr $(route get default | grep interface | awk '{print $2}')

注意:Rosetta运行速度较慢。以 rosetta 方式运行的容器会提示 WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 忽略即可。


使用以下命令拉取镜像并启动 CSGHub:

docker pull --platform=linux/amd64 opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0
接下来执行快速启动命令(不做数据持久化)
export SERVER_PORT=80docker run -it -d \    --name omnibus-csghub \    --hostname omnibus-csghub \    -p ${SERVER_PORT}:80 \    -p 2222:2222 \    -p 8000:8000 \    -p 9000:9000 \    -e SERVER_DOMAIN=<your ip address> \    -e SERVER_PORT=${SERVER_PORT} \    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

正常启动(持久化数据)

export SERVER_PORT=80docker run -it -d \    --name omnibus-csghub \    --hostname omnibus-csghub \    -p ${SERVER_PORT}:80 \    -p 2222:2222 \    -p 8000:8000 \    -p 9000:9000 \    -v ~/Documents/csghub/data:/var/opt \    -v ~/Documents/csghub/log:/var/log \    -e SERVER_DOMAIN=<your ip address> \    -e SERVER_PORT=${SERVER_PORT} \    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

Windows

提示:

  • 请自行替换<your ip address>为主机 IPv4 地址。

  • IPv4 地址查看方式:

    组合键 Win + R, 输出 cmd, 待窗口打开后输入 ipconfig获取 IPv4 地址。

在 Windows 上,您可以通过 PowerShell 或 CMD 启动 CSGHub 容器。
以下是 PowerShell 中的命令示例:
$env:SERVER_PORT = "80"docker run -it -d `    --name omnibus-csghub `    --hostname omnibus-csghub `    -p ${env:SERVER_PORT}:80 `    -p 2222:2222 `    -p 8000:8000 `    -p 9000:9000 `    -e SERVER_DOMAIN="<your ip address>" `    -e SERVER_PORT=$env:SERVER_PORT `    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0
如果使用 CMD,可以参考以下命令:
set SERVER_PORT=80docker run -it -d ^    --name omnibus-csghub ^    --hostname omnibus-csghub ^    -p %SERVER_PORT%:80 ^    -p 2222:2222 ^    -p 8000:8000 ^    -p 9000:9000 ^    -e SERVER_DOMAIN=<your ip address> ^    -e SERVER_PORT=%SERVER_PORT% ^    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

2. 通用安装(可以使用 Space、模型推理微调功能(需要 NVIDIA GPU))

Linux

前置条件:
  • 需要一个部署好 Knative Serving 的 Kubernetes 集群。
  • 其他注意事项见快捷安装部分。
快速配置k8s环境
curl -sfL https://raw.githubusercontent.com/OpenCSGs/csghub-installer/refs/heads/main/docker/scripts/k3s-install.sh | bash -s
# 如果启用 NVIDIA GPU 配置curl -sfL https://raw.githubusercontent.com/OpenCSGs/csghub-installer/refs/heads/main/docker/scripts/k3s-install.sh | ENABLE_NVIDIA_GPU=true bash -s
配置 Docker
# 添加 insecure registrycat <<EOF > /etc/docker/daemon.json{  "insecure-registries": ["<your ip address>:5000"]}EOF
# 重启 dockersystemctl restart docker
安装 CSGHub
export SERVER_PORT=80docker run -it -d \    --name omnibus-csghub \    --hostname omnibus-csghub \    -p ${SERVER_PORT}:80 \    -p 2222:2222 \    -p 5000:5000 \    -p 8000:8000 \    -p 9000:9000 \    -v /srv/csghub/data:/var/opt \    -v /srv/csghub/log:/var/log \    -v ~/.kube:/etc/.kube \    -v /var/run/docker.sock:/var/run/docker.sock \    -e SERVER_DOMAIN=<your ip address> \    -e SERVER_PORT=${SERVER_PORT} \    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0
macOS
请自行配置 Kubernetes 集群,且保证 ~/.kube/config 文件存在。然后使用类似如下命令进行安装:
export SERVER_PORT=80docker run -it -d \    --name omnibus-csghub \    --hostname omnibus-csghub \    -p ${SERVER_PORT}:80 \    -p 2222:2222 \    -p 5000:5000 \    -p 8000:8000 \    -p 9000:9000 \    -v ~/Documents/csghub/data:/var/opt \    -v ~/Documents/csghub/log:/var/log \    -v ~/.kube:/etc/.kube \    -v /var/run/docker.sock:/var/run/docker.sock \    -e SERVER_DOMAIN=<your ip address> \    -e SERVER_PORT=${SERVER_PORT} \    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

3. 访问 CSGHub

当以上部署成功后使用如下方式进行访问:
访问地址:http://<SERVER_DOMAIN>:<SERVER_PORT>,例如 http://192.168.1.12
默认管理员:root
默认密码:Root@1234

4. 使用命令行工具管理服务

CSGHub 提供了简易的命令行工具用来管理服务和查看服务日志。

  • 服务管理
# 查看所有服务状态csghub-ctl status 
# 查看所有作业状态# EXITED 是正常状态csghub-ctl jobs
# 重启某个服务csghub-ctl restart nginx
  • 日志管理
# 实时查看所有服务日志csghub-ctl tail 
# 实时查看某个服务日志csghub-ctl tail nginx
  • 其他参数
所有其他命令选项继承自supervisorctl


CSGHub 功能探索
一旦您登录成功,您可以开始使用 CSGHub 的多种功能。CSGHub 提供了几个非常实用的功能:
模型托管:
  • 目前支持模型的托管,轻松上传和管理模型。
  • 支持创建推理和微调实例(需要 NVIDIA GPU)。
  • 默认以启用多源同步,启动后多源同步会自动开始同步(同步需要一段时间完成)

数据集托管

  • 用于处理数据集的简化工具 ,非常适合快速测试和验证
应用托管
  • 通过自定义程序和模型组合,快速创建大模型应用


 容器销毁

如果您想停止或删除 CSGHub 容器,可以通过以下命令管理:

docker rm -f omnibus-csghub
如果还需要卸载k8s 环境,可以执行如下操作:
/usr/local/bin/k3s-uninstall.sh
这些命令可以帮助您管理 Docker 容器的生命周期,确保在测试结束后可以清理资源。

通过以上步骤,您可以快速在本地部署 CSGHub,体验其强大的模型和数据集管理、推理与微调功能。这种部署方式不仅简便、快速,还能够帮助您快速进行概念验证和模型测试。






欢迎加入传神社区



•贡献代码,与我们一同共建更好的OpenCSG


•Github主页

欢迎🌟:https://github.com/OpenCSGs


•Huggingface主页

欢迎下载:https://huggingface.co/opencsg


•加入我们的用户交流群,分享经验



扫描上方二维码添加传神小助手






“      关于OpenCSG

开放传神(OpenCSG)成立于2023年,是一家致力于大模型生态社区建设,汇集人工智能行业上下游企业链共同为大模型在垂直行业的应用提供解决方案和工具平台的公司。


关注OpenCSG

加入传神社区



传神社区
该账号是开放传神(OpenCSG)分享大模型的技术、见解、传神开放社区等方面的内容!
 最新文章