diff --git a/.github/workflows/e2e-workflow.yml b/.github/workflows/e2e-workflow.yml index 16ab53447..8b03ab281 100644 --- a/.github/workflows/e2e-workflow.yml +++ b/.github/workflows/e2e-workflow.yml @@ -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 @@ -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 }} diff --git a/Makefile b/Makefile index ba0ef7183..b448194a6 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/docker/adapter/Dockerfile b/docker/adapter/Dockerfile new file mode 100644 index 000000000..06e793c55 --- /dev/null +++ b/docker/adapter/Dockerfile @@ -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/ \ No newline at end of file diff --git a/docker/adapter/adapter_config.json b/docker/adapter/adapter_config.json new file mode 100644 index 000000000..4f012616e --- /dev/null +++ b/docker/adapter/adapter_config.json @@ -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 +} \ No newline at end of file diff --git a/docker/adapter/adapter_model.safetensors b/docker/adapter/adapter_model.safetensors new file mode 100644 index 000000000..c1ddaca49 Binary files /dev/null and b/docker/adapter/adapter_model.safetensors differ diff --git a/test/e2e/inference_with_adapters.go b/test/e2e/inference_with_adapters.go index 88826b106..ee1d5099e 100644 --- a/test/e2e/inference_with_adapters.go +++ b/test/e2e/inference_with_adapters.go @@ -22,11 +22,14 @@ 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, }, @@ -34,8 +37,8 @@ var validAdapters = []kaitov1alpha1.AdapterSpec{ 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, }, }