6.3. LM-Eval 评估作业
LM-Eval 服务定义一个名为 LMEvalJob 的新自定义资源定义(CRD)。LMEvalJob 对象代表评估作业。LMEvalJob 对象由 TrustyAI Kubernetes operator 监控。
要运行评估作业,请使用以下信息创建一个 LMEvalJob 对象: model, model parameters, task, 和 secret。
有关 TrustyAI-supported 任务列表,请参阅 LMEval 任务支持。
创建 LMEvalJob 后,LM-Eval 服务将运行评估作业。当信息可用时 ,LMEvalJob 对象的状态和结果会更新。
其他 TrustyAI 功能(如 bias 和 drift metrics)不能用于非稳定模型(包括 LLM)。在包含非稳定模型(如执行评估作业的命名空间)的命名空间中部署 TrustyAIService 自定义资源(CR)可能会导致 TrustyAI 服务中的错误。
LMEvalJob 对象示例
LMEvalJob 对象示例包含以下功能:
-
Hugging Face 的
google/flan-t5-base模型。 -
由
wnli卡中的数据集,部分来自 Hugging Face 的 GLUE (General Language Understand assessment)评估框架。有关wnliUnitxt 卡的更多信息,请参阅 Unitxt 网站。 -
以下
multi_class.relationUnitxt 任务的默认参数:f1_micro、f1_macro和accuracy。此模板可以在 Unitxt 网站中找到:单击 Catalog,然后单击 Tasks,然后从菜单中选择 Classification。
以下是 LMEvalJob 对象示例:
应用示例 LMEvalJob 后,使用以下命令检查其状态:
oc get lmevaljob evaljob-sample
oc get lmevaljob evaljob-sample
显示类似于如下的输出: NAME: evaljob-sample STATE: Running
当对象状态变为 Complete 时,可以使用评估结果。本例中的 model 和 dataset 都很小。评估作业应在仅 CPU 节点的 10 分钟内完成。
使用以下命令获取结果:
oc get lmevaljobs.trustyai.opendatahub.io evaljob-sample \
-o template --template={{.status.results}} | jq '.results'
oc get lmevaljobs.trustyai.opendatahub.io evaljob-sample \
-o template --template={{.status.results}} | jq '.results'
该命令返回类似以下示例的结果:
有关结果的备注
-
f1_micro、f1_macro和准确性分数为 0.56、0.36 和 0.56。 -
完整结果存储在
LMEvalJob对象的.status.results中,作为 JSON 文档。 - 以上命令仅检索 JSON 文档的 results 字段。