Generación de datos a partir de una taxonomía para Inferencia de IA de Red Hat

La generación de datos es el proceso de generar automáticamente preguntas y respuestas sintéticas a partir de las preguntas y respuestas que haya incluido en los archivos QNA. El proceso que utiliza Red Hat AI Inference para generar datos se centra en la calidad y la relevancia del contenido.

Más información sobre el proceso de generación de datos en Red Hat.

Red Hat AI Inference Las funciones de alineación de modelos, generación de datos sintéticos y gestión de taxonomías han quedado obsoletas y se eliminarán el 25 de septiembre de 2026. Para continuar con los flujos de trabajo de personalización y alineación de modelos, migra a Red Hat® OpenShift® AI On OpenShift. Más información sobre la IA de Red Hat® OpenShift®.

Requisitos previos

  1. Instala el complemento de la CLI ilab.
  2. Prepara tu taxonomía.
  3. Añade la taxonomía tar.gz a tu depósito Object Storage.

Generación de datos mediante la consola

  1. En la consola, abre el servicio Red Hat AI Inference.

  2. Haz clic en Inferencia de IA de Red Hat Projects > tu proyecto > Datos de entrenamiento > Generar.

  3. Introduce un nombre alfanumérico para los datos de entrenamiento y selecciona la taxonomía que se va a utilizar.

  4. Opcional: Revisa el coste estimado que se proporciona antes de iniciar el proceso de generación de datos.

  5. Pulse Generar. El estado es queued, y luego running.

  6. Espera a que el estado sea completed. Una vez finalizada la generación de datos, se crea un directorio synthetic_data que contiene los archivos de registro en el depósi Object Storage. Puede revisar estos registros para solucionar problemas o realizar comprobaciones.

Importación de tus propios datos de entrenamiento en la consola

Puedes importar tus propios datos generados previamente para complementar la generación de datos en Inferencia de IA de Red Hat. Es posible que desee importar sus propios datos si necesita realizar una o varias de las siguientes acciones.

  • Importa uno o varios documentos de conocimientos y habilidades al generar datos.
  • Combina varias ejecuciones de datos de entrenamiento en una sola.
  • Genera datos, descárgalos, luego manipula una subsección de tus datos y vuelve a generarlos.
  • Combina los datos generados anteriormente con los datos recién importados.
  • Importe datos, genere datos de entrenamiento y, a continuación, combine esos datos con otra ejecución de generación de datos.
  • Combina el búfer de reproducción con los datos importados de tu taxonomía. Esta función solo está disponible a través de la API o la CLI.
  • Importa datos y genera datos de entrenamiento a partir de tu taxonomía. Esta función solo está disponible a través de la API o la CLI.

Para importar tus propios datos, puedes hacer referencia a ejecuciones anteriores de generación de datos, importar archivos desde tu depósito de Object Storage o subir archivos desde tu equipo local.

Sigue estos pasos para importar tus propios datos de entrenamiento.

  1. En la consola, abre el servicio Red Hat AI Inference.

  2. Haz clic en Inferencia de IA de Red Hat Proyectos > tu proyecto > Datos de entrenamiento > Importar.

  3. Introduce un nombre alfanumérico para tus datos.

  4. Seleccione una de las opciones siguientes.

    • Object Storage: Selecciona los archivos existentes en tu depósito de Object Storage.

      1. Selecciona la instancia y el depósito donde se almacenan tus datos actuales.
      2. Pulse Siguiente.
      3. Selecciona los archivos que quieras importar.
    • Subir archivos: Selecciona archivos de tu ordenador. Ten en cuenta que hay un límite de 40 Mb para la subida de archivos.

      1. Selecciona una instancia y un depósito de Object Storage, o crea una nueva instancia y un nuevo depósito para almacenar tus datos.
      2. Otorga permisos de Inferencia de IA de Red Hat Writer al bucket.
      3. Opcional: Configuración de almacenamiento. Especifica los siguientes detalles adicionales sobre cómo almacenar tus datos.
        • Ruta del archivo del bucket.
        • Directorio dentro del bucket.
        • Object Storage nombre de la instancia.
        • Grupo de recursos.
        • Object Storage nombre del bucket.
        • Resiliencia de los buckets.
      4. Pulse Siguiente.
      5. Selecciona los archivos de conocimientos y habilidades que quieras subir desde tu ordenador.
  5. Haga clic en Importar.

Fusionar datos de entrenamiento en la consola

Es recomendable generar los datos en fragmentos más pequeños y manejables, para evitar tiempos de espera o límites del sistema. A continuación, puede fusionar estos conjuntos de datos más pequeños en un único conjunto de datos para el entrenamiento.

Sigue estos pasos para fusionar datos en la consola.

  1. En la consola, abre el servicio Red Hat AI Inference.

  2. Haz clic en Inferencia de IA de Red Hat Projects > tu proyecto > Datos de entrenamiento.

  3. Selecciona hasta 20 de tus entradas de datos de entrenamiento de la lista y haz clic en Combinar.

  4. Introduce un nombre alfanumérico para tus datos.

  5. Selecciona la instancia de Object Storage y el depósito en el que deseas almacenar los datos fusionados.

  6. Pulse Crear.

Generación de datos mediante la CLI

  1. Enumera tus taxonomías y anota la que quieras utilizar.

    ibmcloud ilab taxonomy list
    

    Ejemplo de resultado.

    id                         name       taxonomy_path
    669a88c9488ee7b95ce8fe05   test-tax   taxonomy.tar.gz
    
  2. Genera datos a partir de tu taxonomía. Anota el ID de los datos para utilizarlo en el siguiente paso. Utiliza caracteres alfanuméricos en el nombre.

    ibmcloud ilab data generate [--name NAME] [--taxonomy-id TAXONOMY-ID]
    

    Ejemplo de comando.

    ibmcloud ilab data generate --name testdata --taxonomy-id 669a88c9488ee7b95ce8fe05
    

    Ejemplo de resultado.

    id            66a268c170dcb21150050e8e
    name          test-data
    state         queued
    status
    created_at    2024-07-19T15:40:29.000Z
    taxonomy_id   669a88c9488ee7b95ce8fe05
    
  3. Comprueba los detalles de la generación de tus datos. Incluye el ID de los datos. El estado es queued, y luego running. Espera a que el estado sea completed. Cuando el estado es completed, en el depósito Object Storage se crea un directorio synthetic_data con los registros para la resolución de problemas.

    ibmcloud ilab data get --id DATA_ID
    

    Mandato data get de ejemplo.

    ibmcloud ilab data get --id 66a268c170dcb21150050e8e
    

    Ejemplo de resultado.

    id            66a268c170dcb21150050e8e
    name          test-data
    state         running
    status        Generating data for taxonomy path compositional_skills->STEM->math->area: 12% 12/100 (total qna processed 1/147)
    created_at    2024-07-19T15:40:29.000Z
    taxonomy_id   669a88c9488ee7b95ce8fe05
    
  4. Opcional: Cuando el estado es completed, puede consultar métricas, como las estimaciones de tokens, para calcular el coste estimado.

    Ejemplo de comando data get con la --output json opción

    ibmcloud ilab data get --id 66a268c170dcb21150050e8e --output json
    

    Ejemplo de salida en formato JSON

    {
      "created_at": "2026-08-04T15:40:29.000Z",
      "data_metrics": {
        "samples": {
          "knowledge": 30,
          "skills": 70,
          "total": 100
        },
        "tokens": {
          "data_leaf_nodes": {
            "compositional_<taxonomy_path>": 26196,
            "knowledge_<taxonomy_path>": 1228930,
            },
          "data_tokens_total": 5993486,
          "training_estimated": 411435913,
          "training_phases": {
            "phase_1_knowledge": 1389992,
            "phase_2_skills": 410045921
            }
        }
      },
      "id": "66a268c170dcb21150050e8e",
      "last_signal_at": "2026-08-04T17:20:32.000Z",
      "name": "test-data",
      "state": "completed",
      "status": "completed",
      "taxonomy_id": "669a88c9488ee7b95ce8fe05"
    }
    

Importación de tus propios datos de entrenamiento mediante la CLI

Es posible que desee importar sus propios datos por una o varias de las siguientes razones.

  • Importa uno o varios documentos de conocimientos y habilidades al generar datos.
  • Combina varias ejecuciones de datos de entrenamiento en una sola.
  • Genera datos, descárgalos, luego manipula una subsección de tus datos y vuelve a generarlos.
  • Combina los datos generados anteriormente con los datos recién importados.
  • Importe datos, genere datos de entrenamiento y, a continuación, combine esos datos con otra ejecución de generación de datos.
  • Combina el búfer de reproducción con los datos importados de tu taxonomía. Esta función solo está disponible a través de la API o la CLI.
  • Importa datos y genera datos de entrenamiento a partir de tu taxonomía. Esta función solo está disponible a través de la API o la CLI.

Puedes importar tus propios datos de entrenamiento para complementar la generación de datos en Inferencia de IA de Red Hat. Para importar tus propios datos generados previamente, especifica uno o varios de los siguientes elementos:

  • Los identificadores de generación de datos de ejecuciones anteriores.
  • Un repositorio de Object Storage que contiene archivos sobre conocimientos .jsonl y habilidades.

Sigue estos pasos para importar tus datos.

  1. Enumera tus taxonomías y anota la que quieras utilizar.
    ibmcloud ilab taxonomy list
    
    Ejemplo de resultado.
    id                         name       taxonomy_path
    669a88c9488ee7b95ce8fe05   test-tax   taxonomy.tar.gz
    
  2. Si ya ha generado datos que desea utilizar, enumere dichos datos y anote los UUID que desea emplear. Puedes incluir hasta 20 fuentes de datos.
    ibmcloud ilab data list
    
  3. Genera datos a partir de tu taxonomía. Anota el ID de los datos para utilizarlo en el siguiente paso. Utiliza caracteres alfanuméricos en el nombre.
    ibmcloud ilab data generate [--name NAME] [--taxonomy-id TAXONOMY-ID] [--internal-ids INTERNAL-IDs]
    
    Ejemplo comando para incluir varios ID internos (fuentes de datos) para la generación de datos.
    ibmcloud ilab data generate --name testdata --taxonomy-id 65005b67-7de4-4216-b23c-ed4342f99c88 --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40
    

Para ver más ejemplos, consulta la siguiente sección: Ejemplos comandos para importar tus propios datos de entrenamiento.

Ejemplos comandos para importar tus propios datos de entrenamiento

Consulta los siguientes ejemplos comandos para importar tus propios datos de entrenamiento o añadir archivos de conocimientos y habilidades a una tarea de generación de datos.

Ejemplo comando para incluir varios ID internos.

ibmcloud ilab data generate --name testdata --taxonomy-id 65005b67-7de4-4216-b23c-ed4342f99c88 --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40

Ejemplo comando comando para combinar varias fuentes de datos generadas previamente (ID internos), así como archivos .jsonl de un depósito de Object Storage.

ibmcloud ilab data generate \
  --name testdata \
  --taxonomy-id 669a88c9488ee7b95ce8fe05 \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40 \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT

Ejemplo comando para combinar datos generados previamente con archivos de conocimientos .jsonl y habilidades almacenados en un bucket de Object Storage. También puede especificar, de forma opcional, un depósito de Object Storage de salida para almacenar los datos generados (SDG).

ibmcloud ilab data generate \
  --name testdata \
  --taxonomy-id 669a88c9488ee7b95ce8fe05 \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59 \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

Ejemplo comando para fusionar datos especificando sus ID internos.

ibmcloud ilab data generate \
  --name testdata \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40 \
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

Ejemplo de comando para fusionar datos generados anteriormente especificando sus ID internos, así como para incluir habilidades y conocimientos de un depósito de Object Storage.

ibmcloud ilab data generate \
  --name testdata \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59 \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

Ejemplo comando para fusionar habilidades y conocimientos de un depósito de Object Storage.

ibmcloud ilab data generate \
  --name testdata \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

Generación de datos mediante la API

  1. Enumera tus taxonomías y anota la que quieras utilizar.

    Ejemplo de comando.

    curl -X 'GET' \
    'https://us-east.instructlab.ibm.com/v1/taxonomies' \
    -H 'accept: application/json`
    

    Ejemplo de resultado.

    {
      "taxonomies": [
        {
          "id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
          "name": "example-taxonomy-name-1",
          "taxonomy_path_cos": "taxonomies/taxonomy.tar.gz",
          "created_at": "2024-10-23T02:58:50.000Z"
        }
      ]
    }
    
  2. Genera datos a partir de tu taxonomía. Anota el ID de los datos para utilizarlo en el siguiente paso. Utiliza caracteres alfanuméricos en el nombre.

    Ejemplo de comando.

    curl -X 'POST' \
      'https://us-east.instructlab.ibm.com/v1/data' \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
      "name": "example-data-1",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7"
    }'
    

    Ejemplo de resultado.

    {
      "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da",
      "name": "example-data-1",
      "state": "",
      "status": "queued",
      "created_at": "2024-10-23T02:58:50.000Z",
      "last_signal_at": "2026-08-04T17:20:32.000Z",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
      "data_metrics": {
        "samples": {
          "additionalProp1": 1,
          "additionalProp2": 2,
          "additionalProp3": 3
        }
      }
    }
    
  3. Comprueba los detalles de la generación de tus datos. Incluye el ID de los datos. El estado es queued, y luego running. Espera a que el estado sea completed.

    Ejemplo de comando.

    curl -X 'GET' \
      'https://us-east.instructlab.ibm.com/v1/data/add785e6-a8c3-4f5f-ab89-c506a3f115da' \
      -H 'accept: application/json'
    

    Ejemplo de resultado.

    {
      "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da",
      "name": "example-data-1",
      "state": "",
      "status": "queued",
      "created_at": "2024-10-23T02:58:50.000Z",
      "last_signal_at": "2026-08-04T17:20:32.000Z",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
      "data_metrics": {
        "samples": {
          "additionalProp1": 1,
          "additionalProp2": 2,
          "additionalProp3": 3
        }
      }
    }
    

Cuando el estado es completed, en el depósito Object Storage se crea un directorio synthetic_data con los registros para la resolución de problemas.

¿Qué hay en mi depósito de Object Storage después de generar datos?

Una vez generados los datos, su depósito de Object Storage contiene un directorio synthetic_data con los siguientes archivos.

Artifacts
Estos archivos contienen los ejemplos de cada nodo hoja. Estos no se utilizan para entrenar el modelo, sino que se proporcionan para facilitar la lectura y pueden utilizarse para comprobar si un QNA está generando el número esperado de muestras.
Logs
Estos archivos contienen los registros de ejecución de Red Hat AI Inference y los detalles del sistema.
knowledge_train_msgs.jsonl y skills_train_msgs.jsonl
Estos son los archivos de entrenamiento de la Fase 1 y la Fase 2, y contienen ejemplos utilizados para entrenar el modelo.

Para comprender por qué y cómo se generan tus datos, consulta el documento comunitario de preguntas frecuentes sobre SDG.

Ejemplo de formato .jsonl

Revisa la siguiente estructura .jsonl de ejemplo sobre habilidades y conocimientos.

{
  "messages": [
    {
      "content": "string",   // The text of the message
      "role": "string"       // The role of the sender (e.g., "system", "user", "assistant")
    }
  ],
  "metadata": "string",      // A JSON-encoded string containing additional info (e.g., num_turns, group, dataset)
  "id": "string"             // A unique identifier for the conversation
}

Próximos pasos

Una vez que hayas generado datos a partir de tu taxonomía, podrás empezar a entrenar tu modelo.