6.4. LM-Eval 场景
以下流程概述了对 LM-Eval 设置非常有用的示例场景。
6.4.1. 配置 LM-Eval 环境 复制链接链接已复制到粘贴板!
					如果 LMEvalJob 需要通过访问令牌访问 HuggingFace 上的模型,您可以将 HF_TOKEN 设置为 lm-eval 容器之一。
				
先决条件
- 您已登陆到 Red Hat OpenShift AI。
 - 集群管理员已安装了 OpenShift AI,并为部署模型的数据科学项目启用了 TrustyAI 服务。
 
流程
要为
huggingface模型启动评估作业,请应用以下 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)您还可以创建一个 secret 来存储令牌,然后使用以下引用语法从
secretKeyRef对象中引用密钥:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
6.4.2. 使用自定义 Unitxt 卡 复制链接链接已复制到粘贴板!
					您可以使用自定义 Unitxt 卡运行评估。要做到这一点,请在 LMEvalJob YAML 中以 JSON 格式包括自定义 Unitxt 卡。
				
先决条件
- 您已登陆到 Red Hat OpenShift AI。
 - 集群管理员已安装了 OpenShift AI,并为部署模型的数据科学项目启用了 TrustyAI 服务。
 
流程
以 JSON 格式传递自定义 Unitxt 卡:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在自定义卡中,指定 Hugging Face dataset 加载程序:
"loader": { "__type__": "load_hf", "path": "glue", "name": "wnli" },"loader": { "__type__": "load_hf", "path": "glue", "name": "wnli" },Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
							(可选)您可以使用其他 Unitxt 加载程序(可在 Unitxt 网站中找到),其中包含 
卷和volumeMounts参数从持久性卷挂载数据集。例如,如果使用LoadCSVUnitxt 命令,请将文件挂载到容器,并使 dataset 可供评估过程访问。 
6.4.3. 使用 PVC 作为存储 复制链接链接已复制到粘贴板!
					要将 PVC 用作 LMEvalJob 结果的存储,您可以使用受管 PVC 或现有的 PVC。管理的 PVC 由 TrustyAI operator 管理。现有 PVC 由最终用户创建,然后再创建 LMEvalJob。
				
如果在输出中同时引用受管和现有的 PVC,则 TrustyAI operator 默认为受管 PVC。
先决条件
- 您已登陆到 Red Hat OpenShift AI。
 - 集群管理员已安装了 OpenShift AI,并为部署模型的数据科学项目启用了 TrustyAI 服务。
 
6.4.3.1. 管理的 PVC 复制链接链接已复制到粘贴板!
						要创建受管 PVC,请指定其大小。受管 PVC 名为 < ;job-name>-pvc,在作业完成后可用。删除 LMEvalJob 时,受管 PVC 也会被删除。
					
流程
输入以下代码:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
代码备注
- 
								
输出是指定自定义存储位置的部分 - 
								
pvcManaged将创建一个 Operator 管理的 PVC - 
								
大小(与标准 PVC 语法兼容)是唯一支持的值 
6.4.3.2. 现有 PVC 复制链接链接已复制到粘贴板!
						要使用现有的 PVC,将其名称作为引用传递。创建 LMEvalJob 时 PVC 必须存在。PVC 不是由 TrustyAI 操作器管理,因此在删除 LMEvalJob 后可用。
					
流程
创建 PVC。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 引用
LMEvalJob中的新 PVC。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
6.4.4. 使用 InferenceService 复制链接链接已复制到粘贴板!
					要在命名空间中已部署并运行的 InferenceService 上运行评估作业,请定义您的 LMEvalJob CR,然后将此 CR 应用到与模型相同的命名空间中。
				
先决条件
- 您已登陆到 Red Hat OpenShift AI。
 - 集群管理员已安装了 OpenShift AI,并为部署模型的数据科学项目启用了 TrustyAI 服务。
 - 您有一个包含带有 vLLM 模型的 InferenceService 的命名空间。本例假定 vLLM 模型已在集群中部署。
 
流程
定义
LMEvalJobCR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将此 CR 应用到与您的模型相同的命名空间中。
 
验证
						在名为 evaljob 的模型命名空间中启动 pod。在 pod 终端中,您可以通过 tail -f output/stderr.log 来查看输出。
					
代码备注
- 
							
BASE_URL 应设置为模型的路由/服务 URL。确保在 URL 中包含/v1/completions端点。 - 
							
env.valueFrom.secretKeyRef.name应该指向包含可向模型进行身份验证的令牌的机密。secretRef.name应该是命名空间中的 secret 名称,而secretRef.key应该指向 secret 中的令牌密钥。 secretKeyRef.name可以等于以下的输出:oc get secrets -o custom-columns=SECRET:.metadata.name --no-headers | grep user-one-token
oc get secrets -o custom-columns=SECRET:.metadata.name --no-headers | grep user-one-tokenCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 
							
secretKeyRef.key设置为token 
6.4.5. 设置 LMEval S3 支持 复制链接链接已复制到粘贴板!
了解如何为您的 LM-Eval 服务设置 S3 支持。
先决条件
- 您已登陆到 Red Hat OpenShift AI。
 - 集群管理员已安装了 OpenShift AI,并为部署模型的数据科学项目启用了 TrustyAI 服务。
 - 您有一个包含 S3 兼容存储服务和存储桶的命名空间。
 - 
							您已创建了 
LMEvalJob,它引用包含模型和数据集的 S3 存储桶。 - 包含模型文件和要评估的数据集的 S3 存储桶。
 
流程
创建包含 S3 连接详情的 Kubernetes Secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意所有值都必须采用
base64编码。例如:echo -n "my-bucket" | base64部署引用包含模型和数据集的 S3 存储桶的
LMEvalJobCR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要The `LMEvalJob` will copy all the files from the specified bucket/path. If your bucket contains many files and you only want to use a subset, set the `path` field to the specific sub-folder containing the files the you require. For example use `path: "my-models/"`.
The `LMEvalJob` will copy all the files from the specified bucket/path. If your bucket contains many files and you only want to use a subset, set the `path` field to the specific sub-folder containing the files the you require. For example use `path: "my-models/"`.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 SSL 设置安全连接。
使用您的 CA 证书创建 ConfigMap 对象:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
LMEvalJob以使用 SSL 验证:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
验证
- 
							部署 
LMEvalJob后,打开kubectl命令行,再输入以下命令来检查其状态:kubectl logs -n test job/evaljob-sample -n test - 
							使用 
kubectl命令kubectl logs -n test job/<job-name> 查看日志,以确保它正常工作。 - 评估完成后会在日志中显示结果。