Les composants d'�valuation de mod�le prennent des r�sultats de v�rit� terrain et de pr�diction par lot en tant qu'entr�e pour g�n�rer des m�triques d'�valuation. Les donn�es de v�rit� terrain sont des donn�es "correctement �tiquet�es" (comme d�termin� par des humains) et sont g�n�ralement fournies en tant que champ cible dans l'ensemble de donn�es de test que vous avez utilis� pour entra�ner le mod�le. Pour en savoir plus, consultez la section �valuation de mod�le dans Vertex�AI.
Vertex�AI fournit les composants d'�valuation de mod�le suivants�:
Types de mod�les accept�s
Le tableau suivant r�pertorie les types de mod�les compatibles pour chaque composant d'�valuation de mod�le�:
Composant d'�valuation du mod�le | Types de mod�les compatibles |
---|---|
ModelEvaluationClassificationOp |
|
ModelEvaluationRegressionOp |
|
ModelEvaluationForecastingOp |
|
Supprimer le champ cible
Pour certains types de mod�les, le composant BatchPredictionJob
n�cessite d'exclure la colonne cible (v�rit� terrain) de votre ensemble de donn�es.
Configurer et formater des tranches pour votre ensemble de donn�es tabulaire
Une tranche est un sous-ensemble de donn�es tabulaires avec des caract�ristiques sp�cifi�es. Les m�triques par tranches offrent des m�triques d'�valuation plus d�taill�es pour les mod�les de classification d'entra�nement personnalis� et tabulaire AutoML.
Prenons l'exemple d'un ensemble de donn�es d'adoption d'animaux de compagnie dans lequel un mod�le est entra�n� pour pr�dire si un animal sera adopt� dans un d�lai d'une semaine. Bien qu'il soit utile d'examiner les m�triques pour l'ensemble de donn�es complet, les m�triques li�es � l'esp�ce et � l'�ge de l'animal peuvent vous int�resser. En d'autres termes, vous �tes int�ress� par le sous-ensemble suivant de l'ensemble de donn�es�:
Caract�ristique | Valeurs |
---|---|
age (in years) |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 |
species |
"dog", "cat", "rabbit" |
Cette analyse d�taill�e peut �tre utile pour identifier les cas o� le mod�le est le plus sujet aux erreurs, ou pour s'assurer que le mod�le fonctionne bien sur des sous-ensembles essentiels des donn�es.
Configurer des tranches
Pour configurer une tranche, cr�ez un fichier JSON avec la configuration suivante�:
{ "FEATURE": { "KIND": { CONFIG } } }
O��:
FEATURE est une caract�ristique pour laquelle vous souhaitez cr�er une tranche. Par exemple,
age
.KIND est l'un des �l�ments suivants�:
value
value
cr�e une tranche unique bas�e sur une valeur unique d'une caract�ristique. Sp�cifiez CONFIG en tant que paire cl�/valeur o� la cl� estfloat_value
oustring_value
. Par exemple,"float_value": 1.0
.L'exemple de configuration suivant cr�e une tranche unique contenant des donn�es o� la caract�ristique
age
est �gale �1
�:{ "age": { "value": { "float_value": 1.0 } } }
range
range
cr�e une tranche unique qui inclut des donn�es dans une plage sp�cifi�e. Sp�cifiez CONFIG en tant que deux�paires cl�/valeur o� les cl�s sontlow
ethigh
.L'exemple de configuration suivant cr�e une tranche unique contenant des donn�es o� la caract�ristique
age
est une valeur comprise entre1
et3
�:{ "age": { "range": { "low": 1, "high": 3 } } }
all_values
all_values
cr�e une tranche distincte pour chaque �tiquette possible pour la caract�ristique. Sp�cifiez CONFIG en tant que"value": true
.L'exemple de configuration suivant cr�e trois�tranches, une pour
"dog"
, une pour"cat"
et une pour"rabbit"
�:{ "species": { "all_values": { "value": true } } }
Vous pouvez �galement utiliser plusieurs caract�ristiques pour cr�er une ou plusieurs tranches.
La configuration suivante cr�e une tranche unique contenant des donn�es o� la caract�ristique age
est une valeur comprise entre 1
et 3
, et o� la caract�ristique species
est "dog"
�:
{ "age": { "range": { "low": 1, "high": 3 } }, "species": { "value": { "string_value": "dog" } } }
La configuration suivante cr�e plusieurs tranches, une pour chaque esp�ce unique dans l'ensemble de donn�es, o� la caract�ristique age
est �gale � 1
.
{ "species": { "all_values": { "value": true } }, "age": { "value": { "float_value": 1.0 } } }
Les tranches obtenues contiennent les donn�es suivantes de l'exemple d'ensemble de donn�es�:
Tranche�1�:
age:1
etspecies:"dog"
Tranche�2�:
age:1
etspecies:"cat"
Tranche�3�:
age:1
etspecies:"rabbit"
Formater des tranches
Pour formater des tranches pour le composant ModelEvaluationClassificationOp
, proc�dez comme suit�:
Cr�ez un objet
slicing_spec
. Exemple�:from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice import SliceSpec from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice.SliceSpec import SliceConfig slicing_spec = SliceSpec(configs={ 'feature_a': SliceConfig(SliceSpec.Value(string_value='label_a') ) })
Cr�ez une liste pour stocker les configurations de tranches. Exemple�:
slicing_specs = []
Formatez chaque
slicing_spec
en JSON ou en dictionnaire. Exemple�:slicing_spec_json = json_format.MessageToJson(slicing_spec) slicing_spec_dict = json_format.MessageToDict(slicing_spec)
Combinez chaque
slicing_spec
dans une liste. Exemple�:slicing_specs.append(slicing_spec_json)
Transmettez
slicing_specs
en tant que param�tre au composantModelEvaluationClassificationOp
. Exemple�:ModelEvaluationClassificationOp(slicing_specs=slicing_specs)
Formater les tranches de configuration des m�triques d'impartialit�
Pour �valuer l'impartialit� de votre mod�le, utilisez les composants suivants�:
DetectDataBiasOp
�: renvoie des m�triques de biais de donn�es pour les tranches que vous transmettez au composant.DetectModelBiasOp
�: renvoie des m�triques de biais de mod�le pour les tranches que vous transmettez au composant.
Pour formater vos tranches pour les composants DetectDataBiasOp
et DetectModelBiasOp
, proc�dez comme suit�:
Cr�ez un objet
BiasConfig
. Exemple�:from google.cloud.aiplatform_v1.types.ModelEvaluation import BiasConfig from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice import SliceSpec from google.cloud.aiplatform_v1.types.ModelEvaluationSlice.Slice.SliceSpec import SliceConfig bias_config = BiasConfig(bias_slices=SliceSpec(configs={ 'feature_a': SliceConfig(SliceSpec.Value(string_value='label_a') ) }))
Cr�ez une liste pour stocker les configurations de biais. Exemple�:
bias_configs = []
Formatez chaque
bias_config
en JSON ou en dictionnaire. Exemple�:bias_config_json = json_format.MessageToJson(bias_config) bias_config_dict = json_format.MessageToDict(bias_config)
Combinez chaque
bias_config
dans une liste. Exemple�:bias_configs.append(bias_config_json)
Transmettez
bias_configs
en tant que param�tre au composantDetectDataBiasOp
ouDetectModelBiasOp
. Exemple�:DetectDataBiasOp(bias_configs=bias_configs) DetectModelBiasOp(bias_configs=bias_configs)
Param�tres d'entr�e requis
Les param�tres d'entr�e requis pour les composants d'�valuation de mod�le varient en fonction du type de mod�le que vous �valuez.
Mod�les AutoML
Lors de l'entra�nement de mod�les AutoML, Vertex�AI utilise des sch�mas par d�faut. Certains param�tres d'entr�e pour les composants d'�valuation de mod�le ne sont obligatoires que si vous avez utilis� un sch�ma autre que celui par d�faut pour entra�ner votre mod�le.
Vous pouvez afficher et t�l�charger des fichiers de sch�ma � partir de l'emplacement Cloud�Storage suivant�:
gs://google-cloud-aiplatform/schema/modelevaluation/
Les onglets suivants pr�sentent des exemples de fichiers de sortie de pr�diction par lot et les param�tres d'entr�e requis pour chaque type de mod�le�:
Tabulaire
Classification
Le sch�ma par d�faut inclut les champs suivants�:
scores
�: tableauclasses
�: tableau
Voici un exemple de fichier de sortie pour la pr�diction par lot avec la colonne cible male
�:
{ "instance": { "male": "1", "age": "49", "heartRate": "67", "education": "medium_high", "totChol": "282", "diaBP": "79", "BPMeds": "0", "currentSmoker": "current_high", "cigsPerDay": "25", "prevalentStroke": "stroke_0", "prevalentHyp": "hyp_0", "TenYearCHD": "FALSE", "diabetes": "0", "sysBP": "134", "BMI": "26.87", "glucose": "78" }, "prediction": { "scores": [0.3666940927505493, 0.6333059072494507], "classes": ["0", "1"] } }
Ce tableau d�crit les param�tres obligatoires pour le composant ModelEvaluationClassificationOp
avec un mod�le tabulaire�:
Param�tre du composant d'�valuation | Obligatoire |
---|---|
target_field_name |
Oui |
prediction_label_column |
Non requis pour le sch�ma par d�faut. Utilisez prediction.classes pour les sch�mas autres que ceux par d�faut. |
prediction_score_column |
Non requis pour le sch�ma par d�faut. Utilisez prediction.scores pour les sch�mas autres que ceux par d�faut. |
evaluation_class_labels |
Non requis pour le sch�ma par d�faut. Utilisez ["0","1"] pour les sch�mas autres que ceux par d�faut. |
R�gression
Le sch�ma par d�faut inclut les champs suivants�:
value
�: nombre � virgule flottantelower_bound
�: nombre � virgule flottanteupper_bound
�: nombre � virgule flottante
Voici un exemple de fichier de sortie de pr�diction par lot avec la colonne cible age
�:
{ "instance": { "BPMeds": "0", "diabetes": "0", "diaBP": "65", "cigsPerDay": "45", "prevalentHyp": "hyp_0", "age": "46", "male": "1", "sysBP": "112.5", "glucose": "78", "BMI": "27.48", "TenYearCHD": "FALSE", "totChol": "209", "education": "high", "prevalentStroke": "stroke_0", "heartRate": "75", "currentSmoker": "current_high" }, "prediction": { "value": 44.96103286743164, "lower_bound": 44.61349868774414, "upper_bound": 44.590206146240234 } }
Ce tableau d�crit les param�tres obligatoires pour le composant ModelEvaluationRegressionOp
avec un mod�le tabulaire�:
Param�tre du composant d'�valuation | Obligatoire |
---|---|
target_field_name |
Oui |
prediction_label_column |
Non requis pour les mod�les de r�gression. |
prediction_score_column |
Non requis pour le sch�ma par d�faut. Utilisez prediction.value pour les sch�mas autres que ceux par d�faut. |
evaluation_class_labels |
Non requis pour les mod�les de r�gression. |
Pr�vision
Pour les mod�les de pr�vision tabulaires, le composant BatchPredictionJob
n�cessite d'exclure la colonne cible (v�rit� terrain) de votre ensemble de donn�es.
Le sch�ma par d�faut inclut les champs suivants�:
id
�: cha�nedisplayNames
�: cha�netype
�: �num�rationtimeSegmentStart
�: cha�netimeSegmentEnd
�: cha�neconfidence
�: nombre � virgule flottante
Voici un exemple de fichier CSV avec sale_dollars
comme colonne cible�:
date,store_name,city,zip_code,county,sale_dollars 2020-03-17,Thriftway,,,,774.08999999999992 2020-03-10,Thriftway,,,,1160.67 2020-03-03,Thriftway,,,,2247.24 2020-06-08,New Star / Fort Dodge,,,,753.98 2020-06-01,New Star / Fort Dodge,,,,967.73 2020-01-10,Casey's General Store #1280 / Fort Dodge,,,,1040.92 2020-10-30,KUM & GO #76 / ADAIR,Adair,50002,ADAIR,1387.02
Le composant TargetFieldDataRemoverOp
supprime la colonne cible avant d'envoyer le fichier au composant BatchPredictionJob
�:
date,store_name,city,zip_code,county 2020-03-17,Thriftway,nan,nan,nan 2020-03-10,Thriftway,nan,nan,nan 2020-03-03,Thriftway,nan,nan,nan 2020-06-08,New Star / Fort Dodge,nan,nan,nan 2020-06-01,New Star / Fort Dodge,nan,nan,nan 2020-01-10,Casey's General Store #1280 / Fort Dodge,nan,nan,nan 2020-10-30,KUM & GO #76 / ADAIR,Adair,50002.0,ADAIR
Voici un exemple de fichier de sortie de pr�diction par lot sans la colonne cible sale_dollars
�:
{ "instance": { "content": "gs://kbn-us-central1-test/datasets/text/happy_11556.txt", "mimeType":"text/plain" }, "prediction": { "ids": ["7903916851837534208","3292230833410146304","986387824196452352","2139309328803299328","5598073842623840256","6750995347230687232","4559431178561519616"], "displayNames": ["affection","bonding","achievement","exercise","nature","enjoy_the_moment","leisure"], "confidences": [0.99483216,0.005162797,4.1117933E-6,3.9997E-7,2.4624453E-7,1.9969502E-7,1.16997434E-7] } }
Ce tableau d�crit les param�tres obligatoires pour le composant ModelEvaluationForecastingOp
avec un mod�le tabulaire�:
Param�tre du composant d'�valuation | Obligatoire |
---|---|
target_field_name |
Oui |
prediction_label_column |
Non requis pour les mod�les de pr�vision. |
prediction_score_column |
Non requis pour le sch�ma par d�faut. Utilisez "prediction.value" pour les sch�mas autres que ceux par d�faut. |
evaluation_class_labels |
Non requis pour les mod�les de pr�vision. |
ground_truth_gcs_source |
Oui�: le lien Cloud�Storage vers l'ensemble de donn�es d'origine avec la colonne cible. |
ground_truth_format |
Oui�: format de l'ensemble de donn�es d'origine. Par exemple, "jsonl" , "csv" ou "bigquery" . |
Texte
Classification
Pour les mod�les de classification de texte, le composant BatchPredictionJob
n�cessite l'exclusion de la colonne cible (v�rit� terrain) de votre ensemble de donn�es. Vous pouvez utiliser le composant TargetFieldDataRemoverOp
pour un workflow plus efficace.
Le sch�ma par d�faut inclut les champs suivants�:
ids
�: tableau de cha�nesdisplayName
�: tableau de cha�nesconfidence
�: tableau de nombres � virgule flottante
Voici un exemple d'ensemble de donn�es avec label
comme colonne cible�:
{ "content": "gs://kbn-us-central1-test/datasets/text/happy_0.txt", "mimeType": "text/plain", "label": "affection" }
Le composant TargetFieldDataRemoverOp
supprime la colonne cible avant d'envoyer le fichier au composant BatchPredictionJob
�:
{ "content": "gs://kbn-us-central1-test/datasets/text/happy_0.txt", "mimeType": "text/plain" }
Voici un exemple de fichier de sortie de pr�diction par lot sans la colonne cible label
�:
{ "instance": { "content": "gs://kbn-us-central1-test/datasets/text/happy_11556.txt", "mimeType":"text/plain" }, "prediction": { "ids": ["7903916851837534208","3292230833410146304","986387824196452352","2139309328803299328","5598073842623840256","6750995347230687232","4559431178561519616"], "displayNames": ["affection","bonding","achievement","exercise","nature","enjoy_the_moment","leisure"], "confidences": [0.99483216,0.005162797,4.1117933E-6,3.9997E-7,2.4624453E-7,1.9969502E-7,1.16997434E-7] } }
Ce tableau d�crit les param�tres obligatoires pour le composant ModelEvaluationClassificationOp
avec un mod�le de texte�:
Param�tre du composant d'�valuation | Obligatoire |
---|---|
target_field_name |
Oui |
prediction_label_column |
Non requis pour le sch�ma par d�faut. Utilisez "prediction.displayNames" pour les sch�mas autres que ceux par d�faut. |
prediction_score_column |
Non requis pour le sch�ma par d�faut. Utilisez "prediction.confidences" pour les sch�mas autres que ceux par d�faut. |
evaluation_class_labels |
Non requis pour le sch�ma par d�faut ou lorsque prediction_label_column est fourni. |
ground_truth_gcs_source |
Oui�: le lien Cloud�Storage vers l'ensemble de donn�es d'origine avec la colonne cible. |
ground_truth_format |
Oui�: format de l'ensemble de donn�es d'origine. Par exemple, "jsonl" , "csv" ou "bigquery" . |
Vid�o
Classification
Pour les mod�les de classification de vid�os, le composant BatchPredictionJob
n�cessite l'exclusion de la colonne cible (v�rit� terrain) de votre ensemble de donn�es. Vous pouvez utiliser le composant TargetFieldDataRemoverOp
pour un workflow plus efficace.
Le sch�ma par d�faut inclut les champs suivants�:
id
�: cha�nedisplayName
�: cha�netype
�: �num�rationtimeSegmentStart
�: cha�netimeSegmentEnd
�: cha�neconfidence
�: nombre � virgule flottante
Voici un exemple d'ensemble de donn�es avec ground_truth
comme colonne cible�:
{ "content": "gs://automl-video-demo-data/hmdb51/Aerial_Cartwheel_Tutorial_By_Jujimufu_cartwheel_f_nm_np1_ri_med_0.avi", "ground_truth": "cartwheel", "timeSegmentStart": "0.0", "timeSegmentEnd": "inf" }
Le composant TargetFieldDataRemoverOp
supprime la colonne cible avant d'envoyer le fichier au composant BatchPredictionJob
�:
{ "content": "gs://automl-video-demo-data/hmdb51/Aerial_Cartwheel_Tutorial_By_Jujimufu_cartwheel_f_nm_np1_ri_med_0.avi", "timeSegmentStart": "0.0", "timeSegmentEnd": "inf" }
Voici un exemple de fichier de sortie de pr�diction par lot sans la colonne cible label
�:
{ "instance": { "content": "gs://automl-video-demo-data/hmdb51/20_Marine_Corps_Pull_Ups___JimmyDShea_pullup_f_cm_np1_ba_bad_3.avi" "mimeType": "video/avi", "timeSegmentStart": "0.0", "timeSegmentEnd": "inf" }, "prediction": [ { "id":"5015420640832782336", "displayName":"pullup", "type":"segment-classification", "timeSegmentStart":"0s", "timeSegmentEnd":"2.600s", "confidence":0.98152995 }, { "id":"2709577631619088384", "displayName":"cartwheel", "type":"segment-classification", "timeSegmentStart":"0s", "timeSegmentEnd":"2.600s", "confidence":0.0047166348 }, { "id":"403734622405394432", "displayName":"golf", "type":"segment-classification", "timeSegmentStart":"0s", "timeSegmentEnd":"2.600s", "confidence":0.0046260506 }, { "id":"1556656127012241408", "displayName":"ride_horse", "type":"segment-classification", "timeSegmentStart":"0s", "timeSegmentEnd":"2.600s", "confidence":0.004590442 }, { "id":"7321263650046476288", "displayName":"kick_ball", "type":"segment-classification", "timeSegmentStart":"0s", "timeSegmentEnd":"2.600s", "confidence":0.004536863 } ] }
Ce tableau d�crit les param�tres obligatoires pour le composant ModelEvaluationClassificationOp
avec un mod�le vid�o�:
Param�tre du composant d'�valuation | Obligatoire |
---|---|
target_field_name |
Oui |
prediction_label_column |
Non requis pour le sch�ma par d�faut. Utilisez "prediction.displayName" pour les sch�mas autres que ceux par d�faut. |
prediction_score_column |
Non requis pour le sch�ma par d�faut. Utilisez "prediction.confidence" pour les sch�mas autres que ceux par d�faut. |
evaluation_class_labels |
Non requis lorsqu'un sch�ma par d�faut est utilis� ou lorsque prediction_label_column est fourni. |
ground_truth_gcs_source |
Oui�: le lien Cloud�Storage vers l'ensemble de donn�es d'origine avec la colonne cible. |
ground_truth_format |
Oui�: format de l'ensemble de donn�es d'origine. Par exemple, "jsonl" , "csv" ou "bigquery" . |
Mod�les entra�n�s personnalis�s
Pour les mod�les entra�n�s personnalis�s, le composant BatchPredictionJob
n�cessite d'exclure la colonne cible (v�rit� terrain) de votre ensemble de donn�es. Vous pouvez utiliser le composant TargetFieldDataRemoverOp
pour obtenir un workflow plus efficace.
L'exemple suivant montre un fichier de sortie de pr�diction par lot ainsi que les param�tres d'entr�e requis pour un mod�le de classification tabulaire personnalis�:
Tabulaire
Classification
Le sch�ma type comprend les champs suivants�:
instance
�: tableau de donn�es d'entr�e dans le m�me ordre que les colonnes de l'ensemble de donn�es d'entra�nement du mod�le.prediction
�: tableau de donn�es d'entr�e dans le m�me ordre que les colonnes de l'ensemble de donn�es d'entra�nement du mod�le.
Voici un exemple d'ensemble de donn�es CSV avec species
comme colonne cible�:
petal_length,petal_width,sepal_length,sepal_width,species 6.4,2.8,5.6,2.2,2 5.0,2.3,3.3,1.0,1 4.9,2.5,4.5,1.7,2 4.9,3.1,1.5,0.1,0
Le composant TargetFieldDataRemoverOp
supprime la colonne cible avant d'envoyer le fichier au composant de pr�diction par lot.
petal_length,petal_width,sepal_length,sepal_width 6.4,2.8,5.6,2.2 5.0,2.3,3.3,1.0 4.9,2.5,4.5,1.7 4.9,3.1,1.5,0.1
Voici un exemple de fichier de sortie de pr�diction par lot sans la colonne cible species
�:
{ "instance": [5.6, 2.5, 3.9, 1.1], "prediction": [0.0005816521588712931, 0.9989032745361328, 0.0005150380893610418] } { "instance": [5.0, 3.6, 1.4, 0.2], "prediction": [0.999255359172821, 0.000527293945197016, 0.00021737271163146943] } { "instance": [6.0, 2.9, 4.5, 1.5], "prediction": [0.00025063654175028205, 0.9994204044342041, 0.00032893591560423374] }
Ce tableau d�crit les param�tres obligatoires pour le composant ModelEvaluationClassificationOp
avec un mod�le vid�o�:
Param�tre du composant d'�valuation | Obligatoire |
---|---|
target_field_name |
Oui |
prediction_label_column |
Ce champ doit �tre vide. Cette colonne n'existe pas dans les mod�les entra�n�s personnalis�s. |
prediction_score_column |
Non requis pour le sch�ma par d�faut. Ce param�tre est d�fini automatiquement pour les formats JSONL , CSV ou BIGQUERY . |
evaluation_class_labels |
Oui. Doit �tre de la m�me longueur que le tableau de pr�diction de sortie. |
ground_truth_gcs_source |
Oui�: le lien Cloud�Storage vers l'ensemble de donn�es d'origine avec la colonne cible. |
ground_truth_format |
Oui�: format de l'ensemble de donn�es d'origine. Par exemple, "jsonl" , "csv" ou "bigquery" . |
�valuations de mod�les sans pr�dictions par lot g�n�r�es par Vertex�AI
Vous pouvez utiliser un composant de pipeline d'�valuation de mod�le avec une pr�diction par lots que vous n'avez pas g�n�r�e dans Vertex�AI. Toutefois, notez que l'entr�e pour le composant du pipeline d'�valuation du mod�le doit �tre un r�pertoire de pr�dictions par lot contenant des fichiers correspondant aux pr�fixes suivants�:
prediction.results-
explanation.results-
predictions_
Documentation de r�f�rence de l'API
Pour en savoir plus sur les composants, consultez la page de r�f�rence du SDK des composants du pipeline Google�Cloud pour les composants d'�valuation de mod�le.
Pour obtenir des exemples d'utilisation des composants d'�valuation de mod�le, consultez les notebooks r�pertori�s dans la section Cr�er une �valuation.
Historique des versions et notes de version
Pour en savoir plus sur l'historique des versions et les modifications apport�es au SDK des composants du pipeline Google�Cloud, consultez les notes de version du SDK des composants du pipeline Google�Cloud.