diff --git a/eval/final.py b/eval/final.py index cc814d4..7d0f473 100644 --- a/eval/final.py +++ b/eval/final.py @@ -1,7 +1,7 @@ # type: ignore # pylint: disable=import-outside-toplevel,import-error -from kfp.dsl import Artifact, Input, Metrics, Output, component +from kfp.dsl import Metrics, Output, component from utils.consts import PYTHON_IMAGE, RHELAI_IMAGE diff --git a/pipeline.yaml b/pipeline.yaml index 593ea7b..2ccefb5 100644 --- a/pipeline.yaml +++ b/pipeline.yaml @@ -329,6 +329,18 @@ components: defaultValue: /model isOptional: true parameterType: STRING + comp-pvc-to-mmlu-branch-op: + executorLabel: exec-pvc-to-mmlu-branch-op + inputDefinitions: + parameters: + pvc_path: + parameterType: STRING + outputDefinitions: + artifacts: + mmlu_branch_output: + artifactType: + schemaTitle: system.Artifact + schemaVersion: 0.0.1 comp-pvc-to-model-op: executorLabel: exec-pvc-to-model-op inputDefinitions: @@ -341,6 +353,18 @@ components: artifactType: schemaTitle: system.Model schemaVersion: 0.0.1 + comp-pvc-to-mt-bench-branch-op: + executorLabel: exec-pvc-to-mt-bench-branch-op + inputDefinitions: + parameters: + pvc_path: + parameterType: STRING + outputDefinitions: + artifacts: + mt_bench_branch_output: + artifactType: + schemaTitle: system.Artifact + schemaVersion: 0.0.1 comp-pvc-to-mt-bench-op: executorLabel: exec-pvc-to-mt-bench-op inputDefinitions: @@ -1832,7 +1856,6 @@ root: name: comp-generate-metrics-report-op dependentTasks: - createpvc-3 - - pvc-to-mt-bench-op - run-final-eval-op taskInfo: name: generate-metrics-report-op @@ -1887,6 +1910,20 @@ root: producerTask: importer taskInfo: name: model-to-pvc-op + pvc-to-mmlu-branch-op: + cachingOptions: {} + componentRef: + name: comp-pvc-to-mmlu-branch-op + dependentTasks: + - createpvc-3 + - run-final-eval-op + inputs: + parameters: + pvc_path: + runtimeValue: + constant: /output/mmlu_branch/mmlu_branch_data.json + taskInfo: + name: pvc-to-mmlu-branch-op pvc-to-model-op: cachingOptions: {} componentRef: @@ -1901,6 +1938,20 @@ root: constant: /output/phase_2/model/hf_format/candidate_model taskInfo: name: pvc-to-model-op + pvc-to-mt-bench-branch-op: + cachingOptions: {} + componentRef: + name: comp-pvc-to-mt-bench-branch-op + dependentTasks: + - createpvc-3 + - run-final-eval-op + inputs: + parameters: + pvc_path: + runtimeValue: + constant: /output/mt_bench_branch/mt_bench_branch_data.json + taskInfo: + name: pvc-to-mt-bench-branch-op pvc-to-mt-bench-op: cachingOptions: {} componentRef: @@ -2335,12 +2386,24 @@ platforms: taskOutputParameter: outputParameterKey: name producerTask: createpvc-2 + exec-pvc-to-mmlu-branch-op: + pvcMount: + - mountPath: /output + taskOutputParameter: + outputParameterKey: name + producerTask: createpvc-3 exec-pvc-to-model-op: pvcMount: - mountPath: /output taskOutputParameter: outputParameterKey: name producerTask: createpvc-3 + exec-pvc-to-mt-bench-branch-op: + pvcMount: + - mountPath: /output + taskOutputParameter: + outputParameterKey: name + producerTask: createpvc-3 exec-pvc-to-mt-bench-op: pvcMount: - mountPath: /output diff --git a/utils/__init__.py b/utils/__init__.py index 378ba5d..e062ba1 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -1,13 +1,17 @@ from .components import ( ilab_importer_op, model_to_pvc_op, + pvc_to_mmlu_branch_op, pvc_to_model_op, + pvc_to_mt_bench_branch_op, pvc_to_mt_bench_op, ) __all__ = [ "model_to_pvc_op", "pvc_to_mt_bench_op", + "pvc_to_mt_bench_branch_op", + "pvc_to_mmlu_branch_op", "pvc_to_model_op", "ilab_importer_op", ] diff --git a/utils/components.py b/utils/components.py index 31bbd80..c0a9dd7 100644 --- a/utils/components.py +++ b/utils/components.py @@ -14,6 +14,26 @@ def pvc_to_mt_bench_op(mt_bench_output: dsl.Output[dsl.Artifact], pvc_path: str) ) +@dsl.container_component +def pvc_to_mt_bench_branch_op( + mt_bench_branch_output: dsl.Output[dsl.Artifact], pvc_path: str +): + return dsl.ContainerSpec( + TOOLBOX_IMAGE, + ["/bin/sh", "-c"], + [f"cp -r {pvc_path} {mt_bench_branch_output.path}"], + ) + + +@dsl.container_component +def pvc_to_mmlu_branch_op(mmlu_branch_output: dsl.Output[dsl.Artifact], pvc_path: str): + return dsl.ContainerSpec( + TOOLBOX_IMAGE, + ["/bin/sh", "-c"], + [f"cp -r {pvc_path} {mmlu_branch_output.path}"], + ) + + @dsl.container_component def pvc_to_model_op(model: dsl.Output[dsl.Model], pvc_path: str): return dsl.ContainerSpec(