다음을 통해 공유


Custom Speech용 학습 및 테스트 데이터 세트 업로드

음성 인식의 정확도를 테스트하거나 사용자 지정 모델을 학습하는 경우 오디오 또는 텍스트 데이터가 필요합니다. 모델 테스트 또는 학습에 지원되는 데이터 형식에 대한 자세한 내용은 데이터 세트 학습 및 테스트를 참조하세요.

온라인 대화 기록 편집기를 사용하여 레이블이 지정된 오디오 데이터 세트를 만들고 편집할 수도 있습니다.

데이터 세트 업로드

다음 단계에 따라 사용자 지정 음성 모델을 학습(미세 조정)하기 위한 데이터 세트를 업로드합니다.

중요합니다

테스트를 만들 때 나중에 필요한 테스트 데이터 세트(예: 오디오 전용)를 업로드하는 단계를 반복합니다. 학습 및 테스트를 위해 여러 데이터 세트를 업로드할 수 있습니다.

  1. Microsoft Foundry 포털에 로그인합니다.

  2. 왼쪽 창에서 미세 조정을 선택한 다음 , AI Service 미세 조정을 선택합니다.

  3. 사용자 지정 음성 미세 조정 문서를 시작하는 방법에 설명된 대로 시작한 사용자 지정 음성 미세 조정 작업(모델 이름 기준)을 선택합니다.

  4. 데이터 관리>데이터셋 추가를 선택합니다.

    사용자 지정 음성 프로젝트에 데이터를 추가하는 옵션이 있는 페이지의 스크린샷.

  5. 데이터 추가 마법사에서 추가할 학습 데이터 유형을 선택합니다. 이 예제에서는 오디오 + 사람이 레이블이 지정된 대본을 선택합니다. 그런 후 다음을 선택합니다.

    추가하려는 학습 데이터 유형을 선택하는 옵션이 있는 페이지의 스크린샷.

  6. 데이터 업로드 페이지에서 로컬 파일, Azure Blob Storage 또는 기타 공유 웹 위치를 선택합니다. 그런 후 다음을 선택합니다.

    원격 위치를 선택하고 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하지 않는 경우 원격 위치는 간단한 익명 GET 요청으로 검색할 수 있는 URL이어야 합니다. 예를 들어 SAS URL 또는 공개적으로 액세스할 수 있는 URL입니다. 추가 권한 부여가 필요하거나 사용자 상호 작용이 필요한 URL은 지원되지 않습니다.

    참고

    Azure Blob URL을 사용하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 데이터 세트 파일의 최대 보안을 보장할 수 있습니다. 데이터 세트 파일에 대한 일괄 처리 기록 및 일반 스토리지 계정 URL과 동일한 기술을 사용합니다. 자세한 내용은 여기를 참조하세요.

  7. 데이터의 이름과 설명을 입력합니다. 그런 후 다음을 선택합니다.

  8. 데이터를 검토하고 업로드를 선택합니다. 데이터 관리 페이지로 돌아갑니다. 데이터의 상태가 처리 중입니다.

    처리 중인 데이터의 상태를 보여 주는 페이지의 스크린샷.

  9. 테스트를 만들 때 나중에 필요한 테스트 데이터 세트(예: 오디오 전용)를 업로드하는 단계를 반복합니다. 학습 및 테스트를 위해 여러 데이터 세트를 업로드할 수 있습니다.

  10. 이전 단계를 반복하여 나중에 테스트에 사용하는 오디오 데이터를 업로드합니다. 데이터 추가 마법사에서 추가하려는 데이터 형식에 대한 오디오를 선택합니다.

Speech Studio에서 사용자 고유의 데이터 세트를 업로드하려면 다음 단계를 수행합니다.

  1. Speech Studio에 로그인합니다.

  2. Custom Speech> 프로젝트 이름 >음성 데이터 세트>데이터 업로드를 선택합니다.

  3. 학습 데이터 또는 테스트 데이터 탭을 선택합니다.

  4. 데이터 세트 형식을 선택한 후, 다음을 선택합니다.

  5. 데이터 세트 위치를 지정한 후, 다음을 선택합니다. 로컬 파일을 선택하거나 Azure Blob URL과 같은 원격 위치를 입력할 수 있습니다. 원격 위치를 선택하고 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하지 않는 경우 원격 위치는 간단한 익명 GET 요청으로 검색할 수 있는 URL이어야 합니다. 예를 들어 SAS URL 또는 공개적으로 액세스할 수 있는 URL입니다. 추가 권한 부여가 필요하거나 사용자 상호 작용이 필요한 URL은 지원되지 않습니다.

    참고

    Azure Blob URL을 사용하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 데이터 세트 파일의 최대 보안을 보장할 수 있습니다. 데이터 세트 파일에 대한 Batch 기록 및 일반 스토리지 계정 URL과 동일한 기술을 사용합니다. 자세한 내용은 여기를 참조하세요.

  6. 데이터 세트 이름 및 설명을 입력한 후, 다음을 선택합니다.

  7. 설정을 검토한 다음 저장하고 닫기를 선택합니다.

데이터 세트를 업로드한 후 사용자 지정 모델 학습 페이지로 이동하여 사용자 지정 모델을 학습시킵니다.

계속하기 전에 Speech CLI 를 설치하고 구성했는지 확인합니다.

Speech CLISpeech to text REST API를 사용하면 Microsoft Foundry 포털Speech Studio와 달리 업로드 시 데이터 세트가 테스트용인지 아니면 학습용인지를 선택하지 않습니다. 모델을 학습시키거나 테스트를 실행할 때 데이터 세트를 사용하는 방법을 지정합니다.

데이터 세트가 테스트용인지 학습용인지 여부를 지정하지 않지만 데이터 세트 종류는 지정해야 합니다. 데이터 세트 종류는 만들어지는 데이터 세트 형식을 결정하는 데 사용됩니다. 경우에 따라 데이터 세트 종류는 테스트 또는 학습에만 사용되지만 이에 대한 종속성을 사용하면 안 됩니다. Speech CLI 및 REST API kind 값은 다음 표에 설명된 대로 Microsoft Foundry 포털Speech Studio 의 옵션에 해당합니다.

CLI 및 API 종류 포털 옵션
음향 학습 데이터: 오디오 + 휴먼 레이블 대화 기록
테스트 데이터: 대화 기록(자동 오디오 합성)
테스트 데이터: 오디오 + 휴먼 레이블 대화 기록
AudioFiles 테스트 데이터: 오디오
언어 학습 데이터: 일반 텍스트
LanguageMarkdown 학습 데이터: markdown 형식의 구조적 텍스트
발음 학습 데이터: 발음
출력 형식화 학습 데이터: 출력 형식

중요합니다

Speech CLI 또는 REST API를 사용하여 데이터 파일을 직접 업로드하지는 않습니다. 먼저 Speech CLI 또는 REST API에서 액세스할 수 있는 URL에 학습 또는 테스트 데이터 세트 파일을 저장합니다. 데이터 파일을 업로드한 후 Speech CLI 또는 REST API를 사용하여 사용자 지정 음성 테스트 또는 학습을 위한 데이터 세트를 만들 수 있습니다.

데이터 세트를 만들고 기존 프로젝트에 연결하려면 spx csr dataset create 명령을 사용합니다. 다음 지침에 따라 요청 매개 변수를 생성합니다.

  • project 속성을 기존 프로젝트의 ID로 설정합니다. project 이 속성은 Microsoft Foundry 포털에서 사용자 지정 음성에 대한 미세 조정을 관리할 수도 있도록 하는 것이 좋습니다. 프로젝트 ID를 가져오려면 REST API 설명서의 프로젝트 ID 가져오기를 참조하세요.

  • 필수 kind 속성을 설정합니다. 학습 데이터 세트 종류에 사용할 수 있는 값 집합은 Acoustic, AudioFiles, Language, LanguageMarkdown 및 Pronunciation입니다.

  • 필수 contentUrl 속성을 설정합니다. 이 매개 변수는 데이터 세트의 위치입니다. 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하지 않는 경우(다음 참고 참조) 속성은 contentUrl 간단한 익명 GET 요청으로 검색할 수 있는 URL이어야 합니다. 예를 들어 SAS URL 또는 공개적으로 액세스할 수 있는 URL입니다. 추가 권한을 부여해야 하거나 사용자 상호 작용이 필요한 URL은 지원되지 않습니다.

    참고

    Azure Blob URL을 사용하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 데이터 세트 파일의 최대 보안을 보장할 수 있습니다. 데이터 세트 파일에 대한 Batch 기록 및 일반 스토리지 계정 URL과 동일한 기술을 사용합니다. 자세한 내용은 여기를 참조하세요.

  • 필수 language 속성을 설정합니다. 데이터 세트 로캘은 프로젝트의 로캘과 일치해야 합니다. 로캘은 나중에 변경할 수 없습니다. Speech CLI language 속성은 locale JSON 요청 및 응답의 속성에 해당합니다.

  • 필수 name 속성을 설정합니다. 이 매개 변수는 Microsoft Foundry 포털에 표시되는 이름입니다. Speech CLI name 속성은 displayName JSON 요청 및 응답의 속성에 해당합니다.

다음은 데이터 세트를 만들고 기존 프로젝트에 연결하는 Speech CLI 명령 예제는 다음과 같습니다.

spx csr dataset create --api-version v3.2 --kind "Acoustic" --name "My Acoustic Dataset" --description "My Acoustic Dataset Description" --project YourProjectId --content YourContentUrl --language "en-US"

중요합니다

--api-version v3.2를 설정해야 합니다. Speech CLI는 REST API를 사용하지만 이후 버전을 v3.2지원하지 않습니다.

다음 형식의 응답 본문을 받습니다.

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "kind": "Acoustic",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "properties": {
    "textNormalizationKind": "Default",
    "acceptedLineCount": 2,
    "rejectedLineCount": 0,
    "duration": "PT59S"
  },
  "lastActionDateTime": "2024-07-14T17:36:30Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T17:36:14Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "customProperties": {
    "PortalAPIVersion": "3"
  }
}

응답 본문의 최상위 self 속성은 데이터 세트의 URI입니다. 이 URI를 사용하여 데이터 세트의 프로젝트 및 파일에 대한 세부 정보를 가져옵니다. 또한 이 URI를 사용하여 데이터 세트를 업데이트하거나 삭제합니다.

데이터 세트와 관련된 Speech CLI 도움말을 보려면 다음 명령을 실행합니다.

spx help csr dataset

Speech CLISpeech to text REST API를 사용하면 Microsoft Foundry 포털Speech Studio와 달리 업로드 시 데이터 세트가 테스트용인지 아니면 학습용인지를 선택하지 않습니다. 모델을 학습시키거나 테스트를 실행할 때 데이터 세트를 사용하는 방법을 지정합니다.

데이터 세트가 테스트용인지 학습용인지 여부를 지정하지 않지만 데이터 세트 종류는 지정해야 합니다. 데이터 세트 종류는 만들어지는 데이터 세트 형식을 결정하는 데 사용됩니다. 경우에 따라 데이터 세트 종류는 테스트 또는 학습에만 사용되지만 이에 대한 종속성을 사용하면 안 됩니다. Speech CLI 및 REST API kind 값은 다음 표에 설명된 대로 Microsoft Foundry 포털Speech Studio 의 옵션에 해당합니다.

CLI 및 API 종류 포털 옵션
음향 학습 데이터: 오디오 + 휴먼 레이블 대화 기록
테스트 데이터: 대화 기록(자동 오디오 합성)
테스트 데이터: 오디오 + 휴먼 레이블 대화 기록
AudioFiles 테스트 데이터: 오디오
언어 학습 데이터: 일반 텍스트
LanguageMarkdown 학습 데이터: markdown 형식의 구조적 텍스트
발음 학습 데이터: 발음
출력 형식화 학습 데이터: 출력 형식

중요합니다

Speech CLI 또는 REST API를 사용하여 데이터 파일을 직접 업로드하지는 않습니다. 먼저 Speech CLI 또는 REST API에서 액세스할 수 있는 URL에 학습 또는 테스트 데이터 세트 파일을 저장합니다. 데이터 파일을 업로드한 후 Speech CLI 또는 REST API를 사용하여 사용자 지정 음성 테스트 또는 학습을 위한 데이터 세트를 만들 수 있습니다.

데이터 세트를 만들고 기존 프로젝트에 연결하려면 음성 텍스트 변환 REST APIDatasets_Create 작업을 사용합니다. 다음 지침에 따라 요청 본문을 생성합니다.

  • project 속성을 기존 프로젝트의 ID로 설정합니다. project 이 속성은 Microsoft Foundry 포털에서 사용자 지정 음성에 대한 미세 조정을 관리할 수도 있도록 하는 것이 좋습니다. 프로젝트 ID를 가져오려면 REST API 설명서의 프로젝트 ID 가져오기를 참조하세요.

  • 필수 kind 속성을 설정합니다. 학습 데이터 세트 종류에 사용할 수 있는 값 집합은 Acoustic, AudioFiles, Language, LanguageMarkdown 및 Pronunciation입니다.

  • 필수 contentUrl 속성을 설정합니다. 이 속성은 데이터 세트의 위치입니다. 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하지 않는 경우(다음 참고 참조) 속성은 contentUrl 간단한 익명 GET 요청으로 검색할 수 있는 URL이어야 합니다. 예를 들어 SAS URL 또는 공개적으로 액세스할 수 있는 URL입니다. 추가 권한을 부여해야 하거나 사용자 상호 작용이 필요한 URL은 지원되지 않습니다.

    참고

    Azure Blob URL을 사용하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 데이터 세트 파일의 최대 보안을 보장할 수 있습니다. 데이터 세트 파일에 대한 Batch 기록 및 일반 스토리지 계정 URL과 동일한 기술을 사용합니다. 자세한 내용은 여기를 참조하세요.

  • 필수 locale 속성을 설정합니다. 데이터 세트 로캘은 프로젝트의 로캘과 일치해야 합니다. 로캘은 나중에 변경할 수 없습니다.

  • 필수 displayName 속성을 설정합니다. 이 속성은 Microsoft Foundry 포털에 표시되는 이름입니다.

다음 예제와 같이 URI를 사용하여 HTTP POST 요청을 수행합니다. YourSpeechResoureKey를 Speech 리소스 키로 바꾸고, YourServiceRegion을 Speech 리소스 지역으로 바꾸고, 앞에서 설명한 대로 요청 본문 속성을 설정합니다.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey" -H "Content-Type: application/json" -d '{
  "kind": "Acoustic",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "contentUrl": "https://contoso.com/mydatasetlocation",
  "locale": "en-US",
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/datasets"

다음 형식의 응답 본문을 받습니다.

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "kind": "Acoustic",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "properties": {
    "textNormalizationKind": "Default",
    "acceptedLineCount": 2,
    "rejectedLineCount": 0,
    "duration": "PT59S"
  },
  "lastActionDateTime": "2024-07-14T17:36:30Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T17:36:14Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "customProperties": {
    "PortalAPIVersion": "3"
  }
}

응답 본문의 최상위 self 속성은 데이터 세트의 URI입니다. 이 URI를 사용하여 데이터 세트의 프로젝트 및 파일에 대한 세부 정보를 가져옵니다. 또한 이 URI를 사용하여 데이터 세트를 업데이트하거나 삭제합니다.

중요합니다

REST API 또는 Speech CLI를 이용해 사용자 지정 모델을 학습하고 테스트하기 위해 데이터 세트를 Custom Speech 프로젝트에 연결할 필요는 없습니다. 그러나 데이터 세트가 프로젝트에 연결되지 않은 경우 Microsoft Foundry 포털에서 학습 또는 테스트용으로 선택할 수 없습니다.

다음 단계