Gestion des ressources pour les modèles de traitement de texte de documents

Pour utiliser les API de traitement de texte afin de classer et d'extraire des informations textuelles de vos documents dans IBM watsonx.ai, vous devez déployer un ensemble de modèles de compréhension de documents dans votre cluster. Vous pouvez ensuite personnaliser les ressources utilisées par le pipeline de traitement de texte pour classer et extraire le texte de vos documents.

Avant de commencer

  • Vous devez être administrateur d'instance.
  • Les modèles de traitement de texte doivent être installés dans votre cluster. Pour plus de détails, consultez la section Installation des modèles avec la configuration par défaut.
    Restriction : vous ne pouvez pas ajouter de modèles de base de traitement de texte à une watsonx.ai™ lightweight engine installation.

Procédure

Vous pouvez modifier la configuration par défaut du cluster pour les pods de traitement de texte afin d'optimiser l'utilisation de la mémoire, la fréquence du ramasse-miettes, etc. et ainsi adapter la capacité du pipeline de traitement de texte.

  1. Vous pouvez utiliser les méthodes suivantes pour personnaliser les ressources utilisées par les pods de traitement de texte des documents dans votre déploiement :
    Configuration des ressources pour les pods de traitement de texte pour chaque déploiement et conteneur
    Optimisez la mémoire utilisée par la bibliothèque de compréhension de documents en définissant une variable d'environnement personnalisée dans la ressource personnalisée pour chaque déploiement et chaque conteneur au sein du déploiement.

    L'exemple suivant définit l'utilisation de la mémoire pour plusieurs déploiements (tels que wdu_api_deploy_distributed) et conteneurs (tels que wdu_runtime) à la valeur prédéfinie MEMORY_MINIMAL :

    oc patch watsonxaiifm watsonxaiifm-cr \
    --namespace=${PROJECT_CPD_INST_OPERANDS} \
    --type=merge \
    -p '{"spec": {"model_install_parameters": {"wdu": {"wdu_api_deploy_distributed": {"wdu_runtime": {"env": [{"name": "MEMORY_MINIMAL", "value": "true" }]}}, "wdu_page_deploy_distributed": {"wdu_runtime": {"env": [{"name": "MEMORY_MINIMAL", "value": "true" }]}, "wdu_model_copy": {"env": [{"name": "MEMORY_MINIMAL", "value": "true" }]}}, "wdu_result_deploy_distributed": {"wdu_runtime": {"env": [{"name": "MEMORY_MINIMAL", "value": "true" }]}}, "wdu_watch_deploy_distributed": {"wdu_runtime": {"env": [{"name": "MEMORY_MINIMAL", "value": "true" }]}}}}}}'
    Configuration globale des ressources pour tous les pods de traitement de texte
    Utilisez le container_defaults paramètre pour appliquer les mêmes paramètres de ressources à tous les conteneurs de traitement de texte comme suit :
    oc patch watsonxaiifm watsonxaiifm-cr \
    --namespace=${PROJECT_CPD_INST_OPERANDS} \
    --type=merge \
    -p '{"spec": {"model_install_parameters": {"wdu": {"container_defaults": {"env": [{"name": "MEMORY_MINIMAL", "value": "true"}, {"name": "MEMORY_GC_FREQUENCY", "value": "5"}]}}}}}'
    Configuration des ressources pour les pods de traitement de texte avec des valeurs par défaut globales et des remplacements personnalisés pour des déploiements spécifiques
    Utilisez une combinaison des paramètres globaux spécifiés dans le container_defaults paramètre pour tous les conteneurs et des paramètres personnalisés pour un déploiement spécifique (tel que wdu_api_deploy_distributed) qui remplacent les valeurs par défaut globales comme suit :
    oc patch watsonxaiifm watsonxaiifm-cr \
    --namespace=${PROJECT_CPD_INST_OPERANDS} \
    --type=merge \
    -p '{"spec": {"model_install_parameters": {"wdu": {"container_defaults": {"env": [{"name": "MEMORY_MINIMAL", "value": "true"}, {"name": "LOG_LEVEL", "value": "INFO"}]}, "wdu_api_deploy_distributed": {"wdu_runtime": {"env": [{"name": "MEMORY_MINIMAL", "value": "false"}]}}}}}}'
  2. Vérifiez que l'opérateur effectue correctement le rapprochement et ne signale aucune erreur. Vous pouvez ensuite vérifier la configuration du pod de traitement de texte comme suit :
    oc describe pod <wdu-api-deploy-distributed-pod-name> -n ${PROJECT_CPD_INST_OPERANDS} | grep -A 50 "wdu-runtime:"
  3. Facultatif : si vous activez la journalisation de débogage, vous pouvez vérifier que les container_defaults sont appliqués correctement :
    oc logs -n ${PROJECT_CPD_INST_OPERANDS} -l app.kubernetes.io/name=ibm-cpd-watsonx-ai-ifm-operator --tail=200 | grep -i "container_defaults\|env"