Skip to content

Commit 07c5f19

Browse files
Merge pull request #112 from leseb/rm-kfp-model
fix: do not use kfp-model-server anymore
2 parents 4d3c2f8 + dd0ac97 commit 07c5f19

File tree

3 files changed

+32
-129
lines changed

3 files changed

+32
-129
lines changed

pipeline.py

-6
Original file line numberDiff line numberDiff line change
@@ -474,12 +474,6 @@ def gen_standalone():
474474
click.echo(f"Error: {e}", err=True)
475475
raise click.exceptions.Exit(1)
476476

477-
# Populate the KFP model server ConfigMap
478-
with open(
479-
path.join(path.dirname(__file__), KFP_MODEL_SERVER_CM), encoding="utf-8"
480-
) as f:
481-
details["kfp_model_server_cm"] = f.read()
482-
483477
# Open the template file
484478
try:
485479
standalone_template_path = path.join(

standalone/standalone.py

+16-69
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454

5555
# SDG
5656
DEFAULT_REPO_URL = "https://github.com/instructlab/taxonomy.git"
57-
K8S_NAME = "kfp-model-server"
5857
SDG_OBJECT_STORE_SECRET_NAME = "sdg-object-store-credentials"
5958
REPO_GRANITE_7B_IMAGE = "ibm-granite/granite-7b-base" # used by HF downloader
6059

@@ -98,26 +97,6 @@
9897
BATCH_SIZE = 8
9998

10099
# TEMPLATES
101-
KFP_MODEL_SERVER_CM = """
102-
# TODO: remove the following line and replace it with the actual ConfigMap/Secret
103-
kind: ConfigMap
104-
apiVersion: v1
105-
metadata:
106-
name: kfp-model-server
107-
data:
108-
endpoint: "https://mistral-7b-instruct-v02-sallyom.apps.ocp-beta-test.nerc.mghpcc.org/v1"
109-
model: "mistral-7b-instruct-v02"
110-
---
111-
apiVersion: v1
112-
kind: Secret
113-
metadata:
114-
name: kfp-model-server
115-
type: Opaque
116-
stringData:
117-
api_key: ""
118-
119-
"""
120-
121100
PYTORCH_TRAINING_JOB = """
122101
apiVersion: kubeflow.org/v1
123102
kind: PyTorchJob
@@ -1182,14 +1161,14 @@ def data_processing(train_args: TrainingArgs) -> None:
11821161
],
11831162
volume_mounts=get_vol_mount(),
11841163
security_context=get_security_context(),
1185-
env_from=[
1186-
kubernetes.client.V1EnvFromSource(
1187-
config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1188-
),
1189-
kubernetes.client.V1EnvFromSource(
1190-
secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1191-
),
1192-
],
1164+
# env_from=[
1165+
# kubernetes.client.V1EnvFromSource(
1166+
# config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1167+
# ),
1168+
# kubernetes.client.V1EnvFromSource(
1169+
# secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1170+
# ),
1171+
# ],
11931172
),
11941173
kubernetes.client.V1Container(
11951174
name="huggingface-importer-op",
@@ -1203,14 +1182,14 @@ def data_processing(train_args: TrainingArgs) -> None:
12031182
],
12041183
volume_mounts=get_vol_mount(),
12051184
security_context=get_security_context(),
1206-
env_from=[
1207-
kubernetes.client.V1EnvFromSource(
1208-
config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1209-
),
1210-
kubernetes.client.V1EnvFromSource(
1211-
secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1212-
),
1213-
],
1185+
# env_from=[
1186+
# kubernetes.client.V1EnvFromSource(
1187+
# config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1188+
# ),
1189+
# kubernetes.client.V1EnvFromSource(
1190+
# secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1191+
# ),
1192+
# ],
12141193
),
12151194
kubernetes.client.V1Container(
12161195
name="sdg-preprocess",
@@ -1479,14 +1458,6 @@ def data_processing(train_args: TrainingArgs) -> None:
14791458
],
14801459
volume_mounts=get_vol_mount(),
14811460
security_context=get_security_context(),
1482-
env_from=[
1483-
kubernetes.client.V1EnvFromSource(
1484-
config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1485-
),
1486-
kubernetes.client.V1EnvFromSource(
1487-
secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1488-
),
1489-
],
14901461
)
14911462

14921463
main_container = None
@@ -2569,30 +2540,6 @@ def sdg(
25692540
else:
25702541
raise
25712542

2572-
# Create SDG config map/secret with api_key, serving endpoint
2573-
cms = list(yaml.safe_load_all(KFP_MODEL_SERVER_CM))
2574-
for cm in cms:
2575-
try:
2576-
# if this is a ConfigMap
2577-
if cm["kind"] == "ConfigMap":
2578-
if serving_endpoint:
2579-
cm["data"]["endpoint"] = serving_endpoint
2580-
if serving_model:
2581-
cm["data"]["model"] = serving_model
2582-
v1.create_namespaced_config_map(namespace=namespace, body=cm)
2583-
logger.info("Successfully created ConfigMap '%s' created.", cm)
2584-
elif cm["kind"] == "Secret":
2585-
# if this is a Secret
2586-
v1.create_namespaced_secret(namespace=namespace, body=cm)
2587-
logger.info("Successfully created Secret '%s' created.", cm)
2588-
except kubernetes.client.rest.ApiException as exc:
2589-
if exc.status == 409:
2590-
logger.info(
2591-
"%s '%s' already exists.", cm["kind"], cm["metadata"]["name"]
2592-
)
2593-
else:
2594-
raise
2595-
25962543
# Create the job to run the pod to execute the SDG data preprocessing
25972544
# Example usage
25982545
job = create_sdg_job(

standalone/standalone.tpl

+16-54
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ RHELAI_IMAGE = "registry.redhat.io/rhelai1/instructlab-nvidia-rhel9:1.2"
5454

5555
# SDG
5656
DEFAULT_REPO_URL = "https://github.com/instructlab/taxonomy.git"
57-
K8S_NAME = "kfp-model-server"
5857
SDG_OBJECT_STORE_SECRET_NAME = "sdg-object-store-credentials"
5958
REPO_GRANITE_7B_IMAGE = "ibm-granite/granite-7b-base" # used by HF downloader
6059

@@ -98,11 +97,6 @@ FEW_SHOTS = 5
9897
BATCH_SIZE = 8
9998

10099
# TEMPLATES
101-
KFP_MODEL_SERVER_CM = """
102-
# TODO: remove the following line and replace it with the actual ConfigMap/Secret
103-
{{kfp_model_server_cm}}
104-
"""
105-
106100
PYTORCH_TRAINING_JOB = """
107101
apiVersion: kubeflow.org/v1
108102
kind: PyTorchJob
@@ -1060,14 +1054,14 @@ def create_sdg_job(
10601054
],
10611055
volume_mounts=get_vol_mount(),
10621056
security_context=get_security_context(),
1063-
env_from=[
1064-
kubernetes.client.V1EnvFromSource(
1065-
config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1066-
),
1067-
kubernetes.client.V1EnvFromSource(
1068-
secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1069-
),
1070-
],
1057+
# env_from=[
1058+
# kubernetes.client.V1EnvFromSource(
1059+
# config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1060+
# ),
1061+
# kubernetes.client.V1EnvFromSource(
1062+
# secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1063+
# ),
1064+
# ],
10711065
),
10721066
kubernetes.client.V1Container(
10731067
name="huggingface-importer-op",
@@ -1081,14 +1075,14 @@ def create_sdg_job(
10811075
],
10821076
volume_mounts=get_vol_mount(),
10831077
security_context=get_security_context(),
1084-
env_from=[
1085-
kubernetes.client.V1EnvFromSource(
1086-
config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1087-
),
1088-
kubernetes.client.V1EnvFromSource(
1089-
secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1090-
),
1091-
],
1078+
# env_from=[
1079+
# kubernetes.client.V1EnvFromSource(
1080+
# config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1081+
# ),
1082+
# kubernetes.client.V1EnvFromSource(
1083+
# secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1084+
# ),
1085+
# ],
10921086
),
10931087
kubernetes.client.V1Container(
10941088
name="sdg-preprocess",
@@ -1293,14 +1287,6 @@ data_processing_op(max_seq_len={MAX_SEQ_LEN}, max_batch_len={MAX_BATCH_LEN}, sdg
12931287
],
12941288
volume_mounts=get_vol_mount(),
12951289
security_context=get_security_context(),
1296-
env_from=[
1297-
kubernetes.client.V1EnvFromSource(
1298-
config_map_ref=kubernetes.client.V1ConfigMapEnvSource(name=K8S_NAME)
1299-
),
1300-
kubernetes.client.V1EnvFromSource(
1301-
secret_ref=kubernetes.client.V1SecretEnvSource(name=K8S_NAME)
1302-
),
1303-
],
13041290
)
13051291

13061292
main_container = None
@@ -1743,30 +1729,6 @@ def sdg(
17431729
else:
17441730
raise
17451731

1746-
# Create SDG config map/secret with api_key, serving endpoint
1747-
cms = list(yaml.safe_load_all(KFP_MODEL_SERVER_CM))
1748-
for cm in cms:
1749-
try:
1750-
# if this is a ConfigMap
1751-
if cm["kind"] == "ConfigMap":
1752-
if serving_endpoint:
1753-
cm["data"]["endpoint"] = serving_endpoint
1754-
if serving_model:
1755-
cm["data"]["model"] = serving_model
1756-
v1.create_namespaced_config_map(namespace=namespace, body=cm)
1757-
logger.info("Successfully created ConfigMap '%s' created.", cm)
1758-
elif cm["kind"] == "Secret":
1759-
# if this is a Secret
1760-
v1.create_namespaced_secret(namespace=namespace, body=cm)
1761-
logger.info("Successfully created Secret '%s' created.", cm)
1762-
except kubernetes.client.rest.ApiException as exc:
1763-
if exc.status == 409:
1764-
logger.info(
1765-
"%s '%s' already exists.", cm["kind"], cm["metadata"]["name"]
1766-
)
1767-
else:
1768-
raise
1769-
17701732
# Create the job to run the pod to execute the SDG data preprocessing
17711733
# Example usage
17721734
job = create_sdg_job(

0 commit comments

Comments
 (0)