Añadir modelos de base personalizados a watsonx.ai Lightweight Engine

Si el conjunto de modelos seleccionados en IBM watsonx.ai no incluye el modelo base que desea utilizar para la inferencia desde su watsonx.ai lightweight engine instalación, puede instalar su propio modelo personalizado.

Para revisar los modelos básicos seleccionados que están disponibles en IBM watsonx.ai y comprobar si un modelo existente podría satisfacer sus necesidades, consulte los requisitos del sistema para los modelos básicos en IBM watsonx.ai.

Importante: Si ha instalado el servicio IBMwatsonx.ai completo, deberá seguir unos pasos diferentes para añadir modelos básicos personalizados. Para obtener más información, consulte Implementación de modelos base personalizados en IBM watsonx.ai.

Requisitos previos

El IBMwatsonx.ai servicio debe instalarse en modo de motor ligero.

Arquitecturas de modelos de base compatibles

Para comprobar la arquitectura de un modelo base, busque el config.json archivo del modelo base y compruebe el model_type valor.

La siguiente tabla enumera las arquitecturas de modelos de uso general que son compatibles con el watsonx.ai lightweight engine:
Tipo de modelo Métodos de cuantificación compatibles
bloom No aplicable
halcón No aplicable
gemma2 No aplicable
gpt_código_grande GPTQ
gpt_neox No aplicable
gptj No aplicable
llama GPTQ
llama2 GPTQ
mistral No aplicable
mixtral GPTQ
nemotrón No aplicable
olmo No aplicable
Caqui No aplicable
phi No aplicable
phi3 No aplicable
qwen2 AWQ
esfinge No aplicable
La siguiente tabla enumera las arquitecturas de modelos de series temporales compatibles con watsonx.ai lightweight engine:
Tipo de modelo Métodos de cuantificación compatibles
mezclador diminuto No aplicable
Métodos de cuantificación
La cuantificación es un proceso que reduce la cantidad de recursos informáticos y memoria utilizados al inferir un modelo base. Puede configurar los siguientes métodos de cuantificación para los modelos base con las arquitecturas que se enumeran a continuación
  • Cuantificación posterior al entrenamiento para transformadores generativos preentrenados (GPTQ)
  • Cuantificación sensible a la activación (AWQ)

Procedimiento

Un administrador del sistema debe completar estos pasos para añadir un modelo base personalizado al IBMwatsonx.ai motor ligero.
  1. Cargue el modelo.

    Siga los pasos del procedimiento Configuración del almacenamiento y carga del modelo.

    Anote la pvc_name para la reclamación de volumen persistente donde almacena los archivos fuente del modelo descargado.

    Importante: Complete únicamente las tareas de configuración del almacenamiento y descarga del modelo, y luego vuelva a este procedimiento. Otros pasos de las instrucciones de instalación del servicio completo describen cómo crear una implementación para alojar el modelo base personalizado. No es necesario configurar una implementación para utilizar modelos base personalizados desde una watsonx.ai lightweight engine instalación.
  2. Cree un ConfigMap archivo para el modelo de base personalizado.

    ConfigMap Los archivos son utilizados por la Red Hat® OpenShift® AI capa del servicio para proporcionar información de configuración a contenedores independientes que se ejecutan en pods o a otros componentes del sistema, como controladores. Véase Creación de un ConfigMap archivo.

  3. Para registrar el modelo de base personalizado, aplique el ConfigMap archivo utilizando el siguiente comando:
    oc apply -f configmap.yml
    El operador del servicio recopila la información de configuración y la aplica a su clúster.
  4. Puede comprobar el estado del servicio utilizando el siguiente comando. Cuando Completed se devuelve, los modelos de base personalizados están listos para su uso.
    oc get watsonxaiifm -n ${PROJECT_CPD_INST_OPERANDS}

Creación de un ConfigMap archivo

Cree un ConfigMap archivo para el modelo de base personalizado copiando la siguiente plantilla y, a continuación, sustituya las variables de la plantilla por los valores adecuados para su modelo de base. La siguiente tabla enumera las variables que debe sustituir en la plantilla.
ConfigMap campo Descripción
metadata.name Nombre del modelo con guiones como delimitadores. Por ejemplo, si el nombre del modelo es tiiuae/falcon-7b, especifique tiiuae-falcon-7b.
data.model. Nombre del modelo con guiones bajos como delimitadores <nombre_completo_del_modelo>. Por ejemplo, si el nombre del modelo es tiiuae/falcon-7b, especifique tiiuae_falcon_7b.
data.model.<full_model_name>.pvc_name Reclamación persistente de volumen donde se almacenan los archivos fuente del modelo. Utilice el pvc_name que anotó en un paso anterior. Por ejemplo, tiiuae-falcon-7b-pvc
data.model.<full_model_name>.pvc_size Tamaño de la reclamación de volumen persistente donde se almacenan los archivos fuente del modelo. Por ejemplo, 60Gi.
data.model.<full_model_name>.dir_name Directorio donde se almacena el contenido del modelo. Este valor coincide con el MODEL_PATH del trabajo de descarga del modelo. Por ejemplo, models--tiiuae-falcon-7b
data.model.<full_model_name>.storage_uri Identificador universal de recursos para el directorio donde se almacenan los archivos fuente del modelo con la sintaxis pvc://<pvc where model is downloaded>/. Por ejemplo, pvc://tiiuae-falcon-7b-pvc/.
data.model.<full_model_name>.env.DTYPE_STR Tipo de datos de cadenas de texto que el modelo puede procesar. Por ejemplo, float16.

Para obtener más información sobre los valores admitidos, consulte Parámetros globales para modelos base personalizados.

data.model.<full_model_name>.annotations. productVersion La versión del IBMwatsonx.ai operador del servicio. Por ejemplo, 9.1.0.

Para obtener este valor, utilice el siguiente comando: oc get watsonxaiifm watsonxaiifm-cr -o jsonpath="{.spec.version}"

data.model.<full_model_name>.annotations.cloudpakInstanceId El ID IBM® Software Hub de la instancia. Por ejemplo, b0871d64-ceae-47e9-b186-6e336deaf1f1.

Para obtener este valor, utilice el siguiente comando: oc get cm product-configmap -o jsonpath="{.data.CLOUD_PAK_INSTANCE_ID}"

data.model.<full_model_name>.labels_syom.icpdsupport/module Nombre del modelo con guiones como delimitadores. Por ejemplo, si el nombre del modelo es tiiuae/falcon-7b, especifique tiiuae-falcon-7b
data.model.<full_model_name>.labels_syom.app Nombre del modelo con guiones como delimitadores y prefijado con text-. Por ejemplo, si el nombre del modelo es tiiuae/falcon-7b, especifique text-tiiuae-falcon-7b.
data.model.<full_model_name>.labels_syom.syom_model Nombre del modelo con guiones simples como delimitadores, excepto el primer delimitador, que utiliza dos guiones. Por ejemplo, tiiuae--falcon-7b.
data.model.<full_model_name>.wx_inference_proxy. ID del modelo (<full/model_name>). Por ejemplo, tiiuae/falcon-7b
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.label Nombre del modelo sin prefijo del proveedor. Por ejemplo, falcon-7b.
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.provider Proveedor de modelos. Por ejemplo: tiiuae
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.short discription of model Breve descripción del modelo en menos de 100 caracteres.
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.long discription of model Descripción detallada del modelo.
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.min_shot_size tamaño mínimo de disparo
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.tier Nivel del modelo.
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.number_params Número de parámetros del modelo. Por ejemplo: 7b
data.model.<full_model_name>.wx_inference_proxy.<full/model_name>.lifecycle.available.since_version Primera versión del IBMwatsonx.ai operador de servicios en la que se añadió el modelo. Por ejemplo, 9.1.0.
Por ejemplo, ConfigMap,, consulte «Registro de modelos de base personalizados para implementación global ».

Qué hacer a continuación

Para probar el modelo de base personalizado que ha añadido a una watsonx.ai lightweight engine instalación, envíe una solicitud de inferencia al modelo mediante programación. Para obtener más información, consulte Trabajar con el motor watsonx.ai ligero.