关键概念
这里介绍 OpenBayes 的核心概念,以及它们之间的关系。
快速理解 OpenBayes
OpenBayes 的日常使用可以抽象为 5 个核心概念:
Job:一次计算执行(训练、调试、运行服务)Serving:在线部署服务Runtime:运行环境(镜像)Resource:算力规格(CPU/GPU/内存/磁盘)Dataset:数据资产(含版本)
它们的关系可以理解为:
Job与Serving是两个执行面(开发训练面、在线服务面)Runtime与Resource是执行配置面Dataset是可复用的数据资产面
Job(算力容器执行)
在 OpenBayes 中,用户发起的一次计算执行统一抽象为 Job。
创建 Job 时,通常需要确定:
- 运行模式(
mode) - 运行时环境(
Runtime) - 算力资源(
Resource) - 数据绑定(
Dataset或其他产物)
Job 的常见模式
WORKSPACE:交互式工作空间(Jupyter)TASK:脚本任务(适合长时训练)VIRTUAL_MACHINE:虚拟机模式BATCH_WORKSPACE/BATCH_TASK:批量模式
其中,最常见的是前两种:
WORKSPACE适合调试、探索与迭代TASK适合稳定脚本的长时运行
Workspace 与 Jupyter/SSH
Workspace 不是独立系统,而是 Job(mode=WORKSPACE) 的交互形态。
运行中的 Workspace 通常提供:
- JupyterLab 入口
- SSH 连接能力(可用于远程开发)
你可以结合这两种方式完成调试与开发。
Workspace 运行中会持续占用算力并计费。完成调试后请及时关闭,避免不必要成本。
Job 端口映射
Job 支持端口映射。你可以把容器内服务映射到外部地址(如 Web UI、推理调试接口等)。
在 Job 场景中,8080 是默认对外暴露的 HTTP 服务端口,通常不需要额外配置端口映射。页面中的「API 地址」对应的就是该 8080 服务入口。
常见限制:
- 保留端口不可映射(如 22、8888 等)
- 单个 Job 支持最多 5 个自定义端口映射
更多细节见:自定义端口映射与服务暴露。
Serving(在线部署)
Serving 用于对外提供在线推理服务。
可以把它理解为“可版本化的在线服务对象”:
Serving:服务逻辑对象(名称、权限、链接、版本入口)ServingVersion:具体运行版本(runtime/resource/dataBindings/replica)
对外访问
Serving 提供对外访问链接(如 HTTP / gRPC),用户可通过域名直接调用。
访问控制(Bearer Token)
Serving 支持访问控制开关:
- 关闭时:按资源权限规则访问
- 开启后:请求需要携带 API Key
标准请求头格式:
Authorization: Bearer <API_KEY>
更多细节见:API Key 管理。
Runtime(运行时环境)
Runtime 决定“在什么环境里跑”。
通常包含:
- 框架(如 PyTorch / TensorFlow / vLLM)
- 版本
- 设备类型(CPU/GPU)
同一份代码在不同 Runtime 下可能表现不同,因此 Runtime 是可复现性的关键要素。
更多细节见:运行时环境。
Resource(算力资源)
Resource 决定“用多少资源跑”。
通常包含:
- CPU
- GPU
- 内存
- 磁盘
Resource 直接影响:
- 任务速度
- 可承载模型规模
- 运行成本
更多细节见:资源以及用量。
Dataset(数据资产)
Dataset 是可版本化的数据资产,核心价值是“可复用、可治理、可追踪”。
你可以把数据集版本绑定到 Job 或 Serving 中使用,从而避免重复上传与复制。
常见挂载目录:
/openbayes/input/input0/openbayes/input/input1/openbayes/input/input2/openbayes/input/input3/openbayes/input/input4
DataBinding(数据绑定)
绑定时常见两类语义:
- 只读绑定(推荐默认)
- 读写绑定(用于数据整理与协作维护)
此外,/openbayes/home 是 Job 的工作目录,适合保存本次执行的产物。
推荐工作流
- 用
Workspace(Job)做交互式开发与调试(Jupyter/SSH) - 用
Task或批量模式执行稳定训练任务 - 基于训练产物或数据仓库创建
Serving - 按需开启访问控制,使用
Bearer API Key对外提供服务