项目介绍:beta9
beta9 是一个为生成式人工智能提供支持的云平台。它的设计旨在全球范围内,通过裸机服务器快速启动无服务器 GPU 任务,因而无论身处何处,用户都可以享受到低延迟的计算资源。
主要特性
- 友好的 Python 接口: 用户可以利用该接口轻松运行无服务器的工作负载。
- 自动伸缩: 系统能够自动调整资源使用,并具备自动缩减至零的功能。
- 边缘大文件读取: 借助分布式跨区域存储,可以在边缘设备上读取大文件。
- 轻松连接裸机节点: 只需一条 cURL 命令即可将裸机节点连接到用户的集群。
- 服务器集群管理: 通过 Tailscale 驱动的服务网状网络,用户可管理其服务器集群。
- 端到端加密: 利用 WireGuard,确保任务安全地运行。
工作原理
运行无服务器 AI 工作负载
只需在代码中添加 endpoint
装饰器,用户即可获得一个负载均衡的 HTTP 端点(支持身份验证)来调用他们的代码。此外,用户还可以通过 @function
装饰器运行长时间运行的函数,使用 @task_queue
部署任务队列,并通过 @schedule
安排计划任务。
示例代码:
from beta9 import endpoint
# 这将在用户的集群中远程执行 A100-40 GPU 上
@endpoint(cpu=1, memory=128, gpu="A100-40")
def square(i: int):
return i**2
只需一条指令即可部署:
$ beta9 deploy app.py:square --name inference
=> Building image
=> Using cached image
=> Deployed 🎉
在全球范围内的裸机服务器上运行
用户可以通过一个 CLI 命令和一条 cURL,将任何 GPU 连接到其集群。
示例命令:
$ beta9 machine create --pool lambda-a100-40
服务器管理
通过一个集中控制平台,管理用户分布在不同区域的集群。
本地安装
用户可以在本地或现有的 Kubernetes 集群中运行 Beta9。需要使用 k3d 进行本地开发,并确保 Docker 的安装。用户可以通过运行 make setup
命令来实现全自动化的设置。同时,还需要 Python 3.8 或更高版本以配置 SDK。
贡献及社区支持
Beta9 项目欢迎大小贡献。用户可以提交功能请求或漏洞报告,或者通过 GitHub 为项目添加新功能和改进。此外,用户也可以通过 Slack、GitHub 或 Twitter 与项目维护人员沟通,获取支持和最新的项目更新。
致谢
感谢所有为 beta9 项目做出贡献的开发者们!