Beta9 は、クラウドプロバイダー間でスケーラブルなサーバーレス GPU ワークロードを実行するためのオープンソースプラットフォームです。
特徴:
- GPU(または CPU)コンテナを数千にスケールアウト
- カスタム ML モデルの超高速コールドスタート
- ゼロへの自動スケールで使用した分だけ支払い
- モデルと関数の出力を保存するための柔軟な分散ストレージ
- 複数のクラウドプロバイダー間でワークロードを分散
- シンプルな Python の抽象化を使用してタスクキューと関数を簡単にデプロイ
私たちは、Beamでユーザー向けに AI アプリケーションを大規模に実行するために、社内で beta9 を使用しています。
from beta9 import Image, endpoint
@endpoint(
cpu=1,
memory="16Gi",
gpu="T4",
image=Image(
python_packages=[
"vllm==0.4.1",
], # これらの依存関係はリモートコンテナにインストールされます
),
)
def predict():
from vllm import LLM
prompts = ["AIの未来は"]
llm = LLM(model="facebook/opt-125m")
output = llm.generate(prompts)[0]
return {"prediction": output.outputs[0].text}
$ beta9 deploy app.py:predict --name llm-inference
=> Building image
=> Using cached image
=> Deploying endpoint
=> Deployed 🎉
=> Invocation details
curl -X POST 'https://app.beam.cloud/endpoint/llm-inference/v1' \
-H 'Authorization: Bearer [YOUR_AUTH_TOKEN]' \
-d '{}'
from beta9 import function
# このデコレータを使用すると、この関数を複数のリモートコンテナに並列化できます
@function(cpu=1, memory=128)
def square(i: int):
return i**2
def main():
numbers = list(range(100))
squared = []
# リスト内の各アイテムに対してリモートコンテナを実行
for result in square.map(numbers):
squared.append(result)
from beta9 import task_queue, Image
@task_queue(
cpu=1.0,
memory=128,
gpu="T4",
image=Image(python_packages=["torch"]),
keep_warm_seconds=1000,
)
def multiply(x):
result = x * 2
return {"result": result}
# タスクを手動でキューに挿入
multiply.put(x=10)
Beta9 は、リモートのサーバーレスコンテナを迅速に起動するように設計されています。これを可能にするいくつかの要素があります:
- S3/FUSE によってバックアップされたカスタムの遅延ローディングイメージフォーマット(CLIP)
- 高速な Redis ベースのコンテナスケジューリングエンジン
- イメージとファイルをキャッシュするためのコンテンツアドレス指定ストレージ
- カスタムの runc コンテナランタイム
最も迅速かつ信頼性の高い方法は、Beam Cloudに無料でサインアップすることです。最初の 10 時間は無料で、その後は使用量に基づいて支払います。
ローカルで Beta9 を実行するか、Helm チャートを使用して既存の Kubernetes クラスターにデプロイすることができます。
k3d はローカル開発に使用されます。開始するには Docker と Make が必要です。
完全自動化されたセットアップを使用するには、setup
make ターゲットを実行します。
Note
これにより、既にインストールされている可能性のある一部のツールが上書きされます。詳細については、setup.shを確認してください。
make setup
SDK は Python で書かれています。Python 3.8 以上が必要です。開始するには、setup-sdk
make ターゲットを使用します。
Note
これにより、Poetry パッケージマネージャーがインストールされます。
make setup-sdk
サーバーと SDK の設定が完了したら、こちらの SDK readme を確認してください。
大きな貢献でも小さな貢献でも歓迎します!これらは私たちにとって最も役立つことです:
サポートが必要な場合は、これらのチャネルのいずれかを通じてお問い合わせください:
- Slack (メンテナーやコミュニティメンバーとライブチャット)
- GitHub issues (バグレポート、機能リクエスト、ロードマップに関連するものなど)
- Twitter (リリースやその他の更新情報)