Skip to content

Commit

Permalink
add temp registry
Browse files Browse the repository at this point in the history
Signed-off-by: Bangqi Zhu <bangqizhu@microsoft.com>
  • Loading branch information
Bangqi Zhu committed Jun 27, 2024
1 parent 66e3752 commit 2998e18
Show file tree
Hide file tree
Showing 7 changed files with 99 additions and 60 deletions.
9 changes: 9 additions & 0 deletions .github/workflows/e2e-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,14 @@ jobs:
env:
REGISTRY: ${{ env.REGISTRY }}
VERSION: ${{ env.VERSION }}

- name: build adapter image
if: ${{ !inputs.isRelease }}
shell: bash
run: |
make docker-build-adapter
env:
REGISTRY: ${{ env.REGISTRY }}

- name: create cluster
shell: bash
Expand Down Expand Up @@ -200,6 +208,7 @@ jobs:
env:
AZURE_CLUSTER_NAME: ${{ env.CLUSTER_NAME }}
RUN_LLAMA_13B: ${{ env.RUN_LLAMA_13B }}
REGISTRY: ${{ env.REGISTRY }}
AI_MODELS_REGISTRY: ${{ secrets.E2E_ACR_AMRT_USERNAME }}.azurecr.io
AI_MODELS_REGISTRY_SECRET: ${{ secrets.E2E_AMRT_SECRET_NAME }}

Expand Down
9 changes: 9 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,15 @@ docker-build-kaito: docker-buildx
--pull \
--tag $(REGISTRY)/$(IMG_NAME):$(IMG_TAG) .

.PHONY: docker-build-adapter
docker-build-adapter: docker-buildx
docker buildx build \
--file ./docker/adapter/Dockerfile \
--output=$(OUTPUT_TYPE) \
--platform="linux/$(ARCH)" \
--pull \
--tag $(REGISTRY)/e2e-adapter:0.0.1 .

##@ Deployment

ifndef ignore-not-found
Expand Down
6 changes: 6 additions & 0 deletions docker/adapter/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM busybox:latest

RUN mkdir -p /data

COPY docker/adapter/adapter_config.json /data/
COPY docker/adapter/adapter_model.safetensors /data/
29 changes: 29 additions & 0 deletions docker/adapter/adapter_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"alpha_pattern": {},
"auto_mapping": {
"base_model_class": "FalconForCausalLM",
"parent_library": "transformers.models.falcon.modeling_falcon"
},
"base_model_name_or_path": "/workspace/tfs/weights",
"bias": "none",
"fan_in_fan_out": false,
"inference_mode": true,
"init_lora_weights": true,
"layers_pattern": null,
"layers_to_transform": null,
"loftq_config": {},
"lora_alpha": 8,
"lora_dropout": 0.0,
"megatron_config": null,
"megatron_core": "megatron.core",
"modules_to_save": null,
"peft_type": "LORA",
"r": 8,
"rank_pattern": {},
"revision": null,
"target_modules": [
"query_key_value"
],
"task_type": null,
"use_rslora": false
}
Binary file added docker/adapter/adapter_model.safetensors
Binary file not shown.
41 changes: 10 additions & 31 deletions test/e2e/inference_with_adapters.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
package e2e

import (
"fmt"
"os"
"strconv"
"time"

kaitov1alpha1 "github.com/azure/kaito/api/v1alpha1"
Expand All @@ -22,20 +19,23 @@ import (
var emptyAdapters = make([]kaitov1alpha1.AdapterSpec, 0)
var DefaultStrength = "1.0"

var imageName = "e2e-adapter"
var fullImageName = utils.GetEnv("REGISTRY") + "/" + imageName + ":0.0.1"

var validAdapters = []kaitov1alpha1.AdapterSpec{
{
Source: &kaitov1alpha1.DataSource{
Name: "falcon-7b-adapter",
Image: "aimodelsregistrytest.azurecr.io/adapter-falcon-7b-dolly-oai-busybox:0.0.2",
Name: imageName,
Image: fullImageName,
},
Strength: &DefaultStrength,
},
}

var expectedInitContainers = []corev1.Container{
{
Name: "falcon-7b-adapter",
Image: "aimodelsregistrytest.azurecr.io/adapter-falcon-7b-dolly-oai-busybox:0.0.2",
Name: imageName,
Image: fullImageName,
},
}

Expand Down Expand Up @@ -75,30 +75,9 @@ func validateAdapters(workspaceObj *kaitov1alpha1.Workspace, expectedInitContain

var _ = Describe("Workspace Preset", func() {
BeforeEach(func() {
var err error
runLlama13B, err = strconv.ParseBool(os.Getenv("RUN_LLAMA_13B"))
if err != nil {
// Handle error or set a default value
fmt.Print("Error: RUN_LLAMA_13B ENV Variable not set")
runLlama13B = false
}

aiModelsRegistry = utils.GetEnv("AI_MODELS_REGISTRY")
aiModelsRegistrySecret = utils.GetEnv("AI_MODELS_REGISTRY_SECRET")
supportedModelsYamlPath = utils.GetEnv("SUPPORTED_MODELS_YAML_PATH")

// Load stable model versions
configs, err := utils.GetModelConfigInfo(supportedModelsYamlPath)
if err != nil {
fmt.Printf("Failed to load model configs: %v\n", err)
os.Exit(1)
}

modelInfo, err = utils.ExtractModelVersion(configs)
if err != nil {
fmt.Printf("Failed to extract stable model versions: %v\n", err)
os.Exit(1)
}
loadTestEnvVars()

loadModelVersions()
})

It("should create a falcon workspace with adapter", func() {
Expand Down
65 changes: 36 additions & 29 deletions test/e2e/preset_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,34 @@ const (
PresetPhi2Model = "phi-2"
)

func loadTestEnvVars() {
var err error
runLlama13B, err = strconv.ParseBool(os.Getenv("RUN_LLAMA_13B"))
if err != nil {
fmt.Print("Error: RUN_LLAMA_13B ENV Variable not set")
runLlama13B = false
}

aiModelsRegistry = utils.GetEnv("AI_MODELS_REGISTRY")
aiModelsRegistrySecret = utils.GetEnv("AI_MODELS_REGISTRY_SECRET")
supportedModelsYamlPath = utils.GetEnv("SUPPORTED_MODELS_YAML_PATH")
}

func loadModelVersions() {
// Load stable model versions
configs, err := utils.GetModelConfigInfo(supportedModelsYamlPath)
if err != nil {
fmt.Printf("Failed to load model configs: %v\n", err)
os.Exit(1)
}

modelInfo, err = utils.ExtractModelVersion(configs)
if err != nil {
fmt.Printf("Failed to extract stable model versions: %v\n", err)
os.Exit(1)
}
}

func createCustomWorkspaceWithAdapter(numOfNode int) *kaitov1alpha1.Workspace {
workspaceObj := &kaitov1alpha1.Workspace{}
By("Creating a workspace with adapter", func() {
Expand Down Expand Up @@ -356,35 +384,14 @@ var modelInfo map[string]string

var _ = Describe("Workspace Preset", func() {
BeforeEach(func() {
var err error
runLlama13B, err = strconv.ParseBool(os.Getenv("RUN_LLAMA_13B"))
if err != nil {
// Handle error or set a default value
fmt.Print("Error: RUN_LLAMA_13B ENV Variable not set")
runLlama13B = false
}

aiModelsRegistry = utils.GetEnv("AI_MODELS_REGISTRY")
aiModelsRegistrySecret = utils.GetEnv("AI_MODELS_REGISTRY_SECRET")
supportedModelsYamlPath = utils.GetEnv("SUPPORTED_MODELS_YAML_PATH")
loadTestEnvVars()

// Load stable model versions
configs, err := utils.GetModelConfigInfo(supportedModelsYamlPath)
if err != nil {
fmt.Printf("Failed to load model configs: %v\n", err)
os.Exit(1)
}

modelInfo, err = utils.ExtractModelVersion(configs)
if err != nil {
fmt.Printf("Failed to extract stable model versions: %v\n", err)
os.Exit(1)
}
loadModelVersions()
})

It("should create a falcon workspace with preset public mode successfully", func() {
It("should create a mistral workspace with preset public mode successfully", func() {
numOfNode := 1
workspaceObj := createFalconWorkspaceWithPresetPublicMode(numOfNode)
workspaceObj := createMistralWorkspaceWithPresetPublicMode(numOfNode)

defer cleanupResources(workspaceObj)
time.Sleep(30 * time.Second)
Expand All @@ -401,9 +408,9 @@ var _ = Describe("Workspace Preset", func() {
validateWorkspaceReadiness(workspaceObj)
})

It("should create a mistral workspace with preset public mode successfully", func() {
It("should create a Phi-2 workspace with preset public mode successfully", func() {
numOfNode := 1
workspaceObj := createMistralWorkspaceWithPresetPublicMode(numOfNode)
workspaceObj := createPhi2WorkspaceWithPresetPublicMode(numOfNode)

defer cleanupResources(workspaceObj)
time.Sleep(30 * time.Second)
Expand All @@ -420,9 +427,9 @@ var _ = Describe("Workspace Preset", func() {
validateWorkspaceReadiness(workspaceObj)
})

It("should create a Phi-2 workspace with preset public mode successfully", func() {
It("should create a falcon workspace with preset public mode successfully", func() {
numOfNode := 1
workspaceObj := createPhi2WorkspaceWithPresetPublicMode(numOfNode)
workspaceObj := createFalconWorkspaceWithPresetPublicMode(numOfNode)

defer cleanupResources(workspaceObj)
time.Sleep(30 * time.Second)
Expand Down

0 comments on commit 2998e18

Please sign in to comment.