GKE上的AI资产
本仓库包含与Google Kubernetes Engine (GKE)上的AI/ML工作负载相关的资产。
概述
利用Google Kubernetes Engine (GKE)平台的编排能力运行优化的AI/ML工作负载。一个强大的AI/ML平台考虑以下几个层面:
- 支持GPU和TPU的基础设施编排,用于大规模训练和服务工作负载
- 与分布式计算和数据处理框架的灵活集成
- 支持多个团队在同一基础设施上工作,以最大化资源利用率
基础设施
AI-on-GKE应用模块假设你已经有一个可用的GKE集群。如果没有,请按照infrastructure/README.md中的说明安装标准或Autopilot GKE集群。
.
├── LICENSE
├── README.md
├── infrastructure
│ ├── README.md
│ ├── backend.tf
│ ├── main.tf
│ ├── outputs.tf
│ ├── platform.tfvars
│ ├── variables.tf
│ └── versions.tf
├── modules
│ ├── gke-autopilot-private-cluster
│ ├── gke-autopilot-public-cluster
│ ├── gke-standard-private-cluster
│ ├── gke-standard-public-cluster
│ ├── jupyter
│ ├── jupyter_iap
│ ├── jupyter_service_accounts
│ ├── kuberay-cluster
│ ├── kuberay-logging
│ ├── kuberay-monitoring
│ ├── kuberay-operator
│ └── kuberay-serviceaccounts
└── tutorial.md
要部署新的GKE集群,请使用适当的值更新platform.tfvars
文件,然后执行以下terraform命令:
terraform init
terraform apply -var-file platform.tfvars
应用
仓库结构如下:
.
├── LICENSE
├── Makefile
├── README.md
├── applications
│ ├── jupyter
│ └── ray
├── contributing.md
├── dcgm-on-gke
│ ├── grafana
│ └── quickstart
├── gke-a100-jax
│ ├── Dockerfile
│ ├── README.md
│ ├── build_push_container.sh
│ ├── kubernetes
│ └── train.py
├── gke-batch-refarch
│ ├── 01_gke
│ ├── 02_platform
│ ├── 03_low_priority
│ ├── 04_high_priority
│ ├── 05_compact_placement
│ ├── 06_jobset
│ ├── Dockerfile
│ ├── README.md
│ ├── cloudbuild-create.yaml
│ ├── cloudbuild-destroy.yaml
│ ├── create-platform.sh
│ ├── destroy-platform.sh
│ └── images
├── gke-disk-image-builder
│ ├── README.md
│ ├── cli
│ ├── go.mod
│ ├── go.sum
│ ├── imager.go
│ └── script
├── gke-dws-examples
│ ├── README.md
│ ├── dws-queues.yaml
│ ├── job.yaml
│ └── kueue-manifests.yaml
├── gke-online-serving-single-gpu
│ ├── README.md
│ └── src
├── gke-tpu-examples
│ ├── single-host-inference
│ └── training
├── indexed-job
│ ├── Dockerfile
│ ├── README.md
│ └── mnist.py
├── jobset
│ └── pytorch
├── modules
│ ├── gke-autopilot-private-cluster
│ ├── gke-autopilot-public-cluster
│ ├── gke-standard-private-cluster
│ ├── gke-standard-public-cluster
│ ├── jupyter
│ ├── jupyter_iap
│ ├── jupyter_service_accounts
│ ├── kuberay-cluster
│ ├── kuberay-logging
│ ├── kuberay-monitoring
│ ├── kuberay-operator
│ └── kuberay-serviceaccounts
├── saxml-on-gke
│ ├── httpserver
│ └── single-host-inference
├── training-single-gpu
│ ├── README.md
│ ├── data
│ └── src
├── tutorial.md
└── tutorials
├── e2e-genai-langchain-app
├── finetuning-llama-7b-on-l4
└── serving-llama2-70b-on-l4-gpus
Jupyter Hub
本仓库包含一个在Google Kubernetes Engine上运行JupyterHub的Terraform模板。我们还包含了一些示例笔记本(在applications/ray/example_notebooks
下),其中包括一个使用Ray AIR服务GPT-J-6B模型的笔记本(原始笔记本见此处)。要运行这些笔记本,请按照applications/ray/README.md中的说明安装Ray集群。
这个jupyter模块为每个用户部署以下资源:
- JupyterHub部署
- 用户命名空间
- Kubernetes服务账户
Ray
本仓库包含一个在Google Kubernetes Engine上运行Ray的Terraform模板。
这个模块为每个用户部署以下内容:
- 用户命名空间
- Kubernetes服务账户
- Kuberay集群
- Prometheus监控
- 日志容器
重要考虑事项
- 确保配置terraform后端使用GCS存储桶,以便在不同环境中保持terraform状态。
许可
- 使用本仓库中包含的资产需遵守Google的AI原则
- 查看LICENSE