분류 체계에서 데이터를 생성하여 Red Hat AI 추론

데이터 생성이란 QNA 파일에 포함된 질문과 답변을 바탕으로 합성 질문과 답변을 자동으로 생성하는 과정을 말합니다. Red Hat AI Inference 가 데이터를 생성하는 과정은 콘텐츠의 품질과 관련성에 중점을 둡니다.

Red Hat 에서 데이터 생성 과정에 대해 자세히 알아보세요.

Red Hat AI Inference 모델 정렬, 합성 데이터 생성 및 분류 체계 관리 기능은 더 이상 지원되지 않으며, 2026년 9월 25일에 제거될 예정입니다. 모델 사용자 지정 및 정렬 워크플로를 계속 진행하려면 OpenShift 에서 Red Hat® OpenShift® AI On으로 마이그레이션하십시오. Red Hat® OpenShift® AI에 대해 자세히 알아보세요.

전제조건

  1. ilab CLI 플러그인을 설치하십시오.
  2. 분류 체계를 마련하십시오.
  3. ‘ tar.gz ’ 분류 체계를 ‘ Object Storage ’ 버킷에 추가하세요.

콘솔을 사용하여 데이터 생성하기

  1. 콘솔에서 ‘ Red Hat AI Inference ’ 서비스를 엽니다.

  2. Red Hat AI 추론 프로젝트 > 해당 프로젝트 > 훈련 데이터 > 생성을 클릭합니다.

  3. 훈련 데이터의 영숫자 이름을 입력하고 사용할 분류 체계를 선택하십시오.

  4. 선택 사항: 데이터 생성 과정을 시작하기 전에 제공된 예상 비용을 확인하십시오.

  5. 생성을 클릭하십시오. 상태는 queued 이고, 그 다음은 running 입니다.

  6. 상태가 completed``가 될 때까지 기다립니다. 데이터 생성이 완료되면, 로그 파일이 포함된 ‘ synthetic_data ’ 디렉터리가 ‘ Object Storage ’ 버킷에 생성됩니다. 문제 해결이나 확인을 위해 이 로그들을 검토할 수 있습니다.

콘솔에서 자체 훈련 데이터 가져오기

Red Hat AI 추론 에서 데이터 생성을 보완하기 위해 이전에 생성한 자체 데이터를 가져올 수 있습니다. 다음 중 하나 이상의 작업을 수행해야 하는 경우, 직접 데이터를 가져오기를 원할 수 있습니다.

  • 데이터를 생성할 때 하나 또는 여러 개의 지식 및 기술 문서를 가져옵니다.
  • 여러 개의 훈련 데이터 세트를 하나로 합칩니다.
  • 데이터를 생성하고, 다운로드한 다음, 데이터의 일부를 조작한 후 다시 생성합니다.
  • 이전에 생성한 데이터와 새로 가져온 데이터를 결합하십시오.
  • 데이터를 가져오고, 훈련 데이터를 생성한 다음, 해당 데이터를 다른 데이터 생성 결과와 결합합니다.
  • 리플레이 버퍼와 분류 체계에서 가져온 데이터를 결합합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.
  • 데이터를 가져오고 분류 체계에서 훈련 데이터를 생성합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.

자신만의 데이터를 가져오려면, 이전 데이터 생성 실행 결과를 참조하거나, Object Storage 버킷에서 파일을 가져오거나, 로컬 컴퓨터에서 파일을 업로드할 수 있습니다.

다음 단계를 따라 직접 수집한 훈련 데이터를 가져오십시오.

  1. 콘솔에서 ‘ Red Hat AI Inference ’ 서비스를 엽니다.

  2. Red Hat AI 추론 프로젝트 > 해당 프로젝트 > 훈련 데이터 > 가져오기를 클릭합니다.

  3. 데이터에 사용할 영숫자 이름을 입력하세요.

  4. 다음 옵션 중 하나를 선택하십시오.

    • Object Storage: Object Storage 버킷에 있는 기존 파일을 선택하세요.

      1. 기존 데이터가 저장된 인스턴스와 버킷을 선택하십시오.
      2. 다음 을 클릭하십시오.
      3. 가져오려는 파일을 선택하세요.
    • 파일 업로드: 로컬 컴퓨터에서 파일을 선택하세요. 파일 업로드 시 40 Mb의 제한이 있으니 유의하시기 바랍니다.

      1. Object Storage 인스턴스와 버킷을 선택하거나, 데이터를 저장할 새로운 인스턴스와 버킷을 생성하세요.
      2. 버킷에 대해 ‘ Red Hat AI 추론 Writer’ 권한을 부여합니다.
      3. 선택 사항: 저장소 설정. 데이터 저장 방법에 대해 다음과 같은 추가 세부 정보를 명시해 주십시오.
        • 버킷 파일 경로.
        • 버킷 내의 디렉터리.
        • Object Storage 인스턴스 이름.
        • 리소스 그룹.
        • Object Storage 버킷 이름.
        • 버킷의 복원력.
      4. 다음 을 클릭하십시오.
      5. 로컬 컴퓨터에서 업로드할 지식 및 기술 파일을 선택하십시오.
  5. 가져오기를 클릭하십시오.

콘솔에서 훈련 데이터 병합하기

타임아웃이나 시스템 제한을 피하기 위해, 데이터를 더 작고 관리하기 쉬운 단위로 생성할 수 있습니다. 그런 다음 이러한 작은 데이터 세트들을 하나의 데이터 세트로 통합하여 학습에 활용할 수 있습니다.

콘솔에서 데이터를 병합하려면 다음 단계를 따르십시오.

  1. 콘솔에서 ‘ Red Hat AI Inference ’ 서비스를 엽니다.

  2. Red Hat AI 추론 프로젝트 > 해당 프로젝트 > 훈련 데이터를 클릭하세요.

  3. 목록에서 훈련 데이터 항목 중 최대 20개를 선택한 다음 ‘병합’을 클릭하세요.

  4. 데이터에 사용할 영숫자 이름을 입력하세요.

  5. 병합된 데이터를 저장할 Object Storage 인스턴스와 버킷을 선택하십시오.

  6. 작성을 클릭하십시오.

CLI를 사용하여 데이터 생성하기

  1. 사용 중인 분류 체계를 나열하고, 사용하고자 하는 분류 체계를 기록해 두십시오.

    ibmcloud ilab taxonomy list
    

    출력 예.

    id                         name       taxonomy_path
    669a88c9488ee7b95ce8fe05   test-tax   taxonomy.tar.gz
    
  2. 분류 체계에서 데이터를 생성합니다. 다음 단계에서 사용할 데이터의 ID를 메모해 두세요. 이름에는 영문자와 숫자를 사용하십시오.

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

    명령어 예시.

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

    출력 예.

    id            66a268c170dcb21150050e8e
    name          test-data
    state         queued
    status
    created_at    2024-07-19T15:40:29.000Z
    taxonomy_id   669a88c9488ee7b95ce8fe05
    
  3. 데이터 생성 내역을 확인해 주세요. 데이터의 ID를 포함하십시오. 상태는 queued 이고, 그 다음은 running 입니다. 상태가 completed``가 될 때까지 기다립니다. 상태가 ‘ completed ’일 때, ‘ Object Storage ’ 버킷 내에 문제 해결용 로그가 포함된 synthetic_data ’ 디렉터리가 생성됩니다.

    ibmcloud ilab data get --id DATA_ID
    

    data get 명령어의 예시.

    ibmcloud ilab data get --id 66a268c170dcb21150050e8e
    

    출력 예.

    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. 선택 사항: 상태가 ‘ completed ’일 때, 예상 비용을 계산하기 위해 토큰 추정치와 같은 지표를 확인할 수 있습니다.

    --output json 옵션이 포함된 data get 명령어 예시

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

    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"
    }
    

CLI를 사용하여 자체 훈련 데이터 가져오기

다음 중 하나 이상의 이유로 직접 데이터를 가져오고 싶을 수 있습니다.

  • 데이터를 생성할 때 하나 또는 여러 개의 지식 및 기술 문서를 가져옵니다.
  • 여러 개의 훈련 데이터 세트를 하나로 합칩니다.
  • 데이터를 생성하고, 다운로드한 다음, 데이터의 일부를 조작한 후 다시 생성합니다.
  • 이전에 생성한 데이터와 새로 가져온 데이터를 결합하십시오.
  • 데이터를 가져오고, 훈련 데이터를 생성한 다음, 해당 데이터를 다른 데이터 생성 결과와 결합합니다.
  • 리플레이 버퍼와 분류 체계에서 가져온 데이터를 결합합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.
  • 데이터를 가져오고 분류 체계에서 훈련 데이터를 생성합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.

Red Hat AI 추론 에서 데이터 생성을 보완하기 위해 직접 훈련 데이터를 가져올 수 있습니다. 이전에 생성한 사용자 데이터를 가져오려면 다음 중 하나 이상을 지정하십시오

  • 이전 실행의 데이터 생성 ID.
  • .jsonl 의 지식 및 기술 관련 파일이 포함된 Object Storage 버킷.

데이터를 가져오려면 다음 단계를 완료하십시오.

  1. 사용 중인 분류 체계를 나열하고, 사용하고자 하는 분류 체계를 기록해 두십시오.
    ibmcloud ilab taxonomy list
    
    출력 예.
    id                         name       taxonomy_path
    669a88c9488ee7b95ce8fe05   test-tax   taxonomy.tar.gz
    
  2. 이전에 생성한 데이터 중 사용하고자 하는 것이 있다면, 해당 데이터를 나열하고 사용하려는 UUID를 기록해 두십시오. 최대 20개의 데이터 소스를 포함할 수 있습니다.
    ibmcloud ilab data list
    
  3. 분류 체계에서 데이터를 생성합니다. 다음 단계에서 사용할 데이터의 ID를 메모해 두세요. 이름에는 영문자와 숫자를 사용하십시오.
    ibmcloud ilab data generate [--name NAME] [--taxonomy-id TAXONOMY-ID] [--internal-ids INTERNAL-IDs]
    
    데이터 생성을 위해 여러 내부 ID(데이터 소스)를 포함하는 명령어 예시.
    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
    

더 많은 예제를 보려면 다음 섹션인 ‘자체 훈련 데이터 가져오기 명령어 예제’를 참조하십시오.

사용자 정의 훈련 데이터를 가져오기 위한 명령어 예시

사용자 고유의 훈련 데이터를 가져오거나 데이터 생성 작업에 지식 및 기술 파일을 추가하려면 다음 예제 명령어를 확인해 보십시오.

여러 개의 내부 ID를 포함하는 명령어 예시.

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

Object Storage 버킷에 있는 여러 개의 기존 데이터 소스(내부 ID)와 .jsonl 파일을 결합하는 명령어 예시입니다.

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

Object Storage 버킷에 저장된 ‘ .jsonl ’ 지식 및 기술 파일과 이전에 생성된 데이터를 결합하는 명령어 예시입니다. 선택적으로, 생성된 데이터(SDG) 출력을 저장할 출력 Object Storage 버킷을 지정할 수도 있습니다.

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

내부 ID를 지정하여 데이터를 병합하는 명령어 예시.

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

내부 ID를 지정하여 이전에 생성된 데이터를 병합하고, ‘ 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

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

API를 사용하여 데이터 생성하기

  1. 사용 중인 분류 체계를 나열하고, 사용하고자 하는 분류 체계를 기록해 두십시오.

    명령어 예시.

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

    출력 예.

    {
      "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. 분류 체계에서 데이터를 생성합니다. 다음 단계에서 사용할 데이터의 ID를 메모해 두세요. 이름에는 영문자와 숫자를 사용하십시오.

    명령어 예시.

    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"
    }'
    

    출력 예.

    {
      "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. 데이터 생성 내역을 확인해 주세요. 데이터의 ID를 포함하십시오. 상태는 queued 이고, 그 다음은 running 입니다. 상태가 completed``가 될 때까지 기다립니다.

    명령어 예시.

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

    출력 예.

    {
      "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
        }
      }
    }
    

상태가 ‘ completed ’일 때, ‘ Object Storage ’ 버킷 내에 문제 해결용 로그가 포함된 synthetic_data ’ 디렉터리가 생성됩니다.

데이터를 생성한 후, 내 ‘ Object Storage ’ 버킷에는 어떤 내용이 들어 있나요?

데이터를 생성하면, Object Storage 버킷 내에 synthetic_data 디렉터리가 생성되며, 여기에는 다음 파일들이 포함됩니다.

Artifacts
이 파일들에는 각 리프 노드의 샘플이 포함되어 있습니다. 이 데이터는 모델 훈련에 사용되지는 않지만, 가독성을 높이기 위해 제공되며, QNA가 예상된 수의 샘플을 생성하고 있는지 확인하는 데 활용할 수 있습니다.
Logs
이 파일들에는 ‘ Red Hat AI Inference ’의 실행 로그와 시스템 세부 정보가 포함되어 있습니다.
knowledge_train_msgs.jsonlskills_train_msgs.jsonl
이 파일들은 1단계 및 2단계 훈련 파일이며, 모델 훈련에 사용된 샘플이 포함되어 있습니다.

데이터가 왜, 어떻게 생성되는지 이해하려면 SDG FAQ 커뮤니티 문서를 참조하세요.

.jsonl 형식의 예시

기술 및 지식에 대한 다음 예시 .jsonl 의 구조를 검토해 보십시오.

{
  "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
}

다음 단계

분류 체계에서 데이터를 생성한 후에는 모델 훈련을 시작할 수 있습니다.