미세 조정 작업에 대한 스키마를 빌드 한 후 프로젝트에 학습 발화를 추가합니다. 발화는 사용자가 프로젝트와 상호 작용할 때 사용하는 것과 유사해야 합니다. 발화를 추가하는 경우 해당 발화가 속하는 의도를 할당해야 합니다. 발화가 추가된 후 엔티티로 추출하려는 발화 내 단어에 레이블을 지정합니다.
데이터 레이블 지정은 CLU(대화형 언어 이해) 학습 개발 수명 주기에서 중요한 단계입니다. 이 데이터는 모델이 레이블이 지정된 데이터에서 학습할 수 있도록 모델을 학습할 때 다음 단계에서 사용됩니다. 이미 발화에 레이블을 지정한 경우 데이터가 허용되는 데이터 형식을 따르는 경우 프로젝트로 직접 가져올 수 있습니다. 레이블이 지정된 데이터를 가져오는 방법에 대한 자세한 내용은 CLU 미세 조정 작업 만들기를 참조하세요. 레이블이 지정된 데이터는 텍스트를 해석하는 방법을 모델에 알리고 학습 및 평가에 사용됩니다.
팁
빠른 배포 옵션을 사용하여 학습 데이터를 추가하거나 레이블을 지정하지 않고 사용자 고유의 대규모 언어 모델 배포에 의해 구동되는 사용자 지정 CLU 의도 라우팅을 구현합니다.
필수 조건
- 성공적으로 만든 프로젝트
자세한 내용은 CLU 개발 수명 주기를 참조하세요.
데이터 레이블 지정 지침
스키마를 빌드하고 프로젝트를 만든 후에는 데이터에 레이블을 지정해야 합니다. 모델에 프로젝트의 의도 및 엔터티와 연결된 문장과 단어를 알 수 있도록 데이터에 레이블을 지정하는 것이 중요합니다. 발화에 레이블을 지정하여 모델 학습에 사용되는 데이터를 소개하고 구체화하는 데 시간을 할애합니다.
발화를 추가하고 레이블을 지정할 때 다음 사항에 유의합니다.
기계 학습 모델은 사용자가 제공하는 레이블이 지정된 예제에 따라 일반화됩니다. 더 많은 예제를 제공할수록 모델이 더 나은 일반화를 수행해야 하는 데이터 요소가 늘어나게 됩니다.
레이블이 지정된 데이터의 정밀도, 일관성 및 완전성은 모델 성능을 결정하는 핵심 요소입니다.
- 정확하게 레이블 지정: 모든 의도와 엔터티에 항상 적절한 유형으로 레이블을 지정합니다. 분류 및 추출하려는 항목만 포함합니다. 레이블에서 불필요한 데이터를 방지합니다.
- 레이블을 일관되게 지정합니다. 동일한 엔터티는 모든 발화에서 동일한 레이블을 가져야 합니다.
- 레이블을 완전히 지정합니다. 모든 의도에 대해 다양한 발화를 제공합니다. 모든 발화에서 항목의 모든 인스턴스에 레이블을 지정합니다.
발화에 명확하게 레이블 지정
엔터티가 참조하는 개념이 잘 정의되고 분리 가능한지 확인합니다. 차이점을 안정적으로 쉽게 확인할 수 있는지 확인합니다. 이렇게 할 수 없는 경우 이러한 구분이 부족하면 학습된 구성 요소의 어려움을 나타낼 수 있습니다.
엔터티 간에 유사성이 있을 때 데이터의 일부 측면이 차이점에 대한 신호를 제공할 수 있는지 확인합니다.
예를 들어, 항공편을 예약하는 모델을 빌드했다면 사용자는 "보스턴에서 시애틀로 가는 항공편이 필요해"와 같은 발화를 할 수 있습니다. 이러한 발화에서 출발 도시와 도착 도시는 유사할 것으로 예상됩니다. 출발 도시를 구별하는 신호는 종종 에서라는 단어가 뒤에 붙는다는 것입니다.
학습 및 테스트 데이터 모두에서 각 엔터티의 모든 인스턴스에 레이블을 지정해야 합니다. 한 가지 방법은 검색 함수를 사용하여 데이터에서 단어나 구문의 모든 인스턴스를 찾아 올바른 레이블이 지정되었는지 확인하는 것입니다.
테스트 데이터에 대해 학습된 구성 요소가 없는 엔터티와 있는 엔터티 모두에 레이블을 지정해야 합니다. 이렇게 하면 평가 메트릭의 정확성을 보장하는 데 도움이 됩니다.
다국어 프로젝트의 경우 다른 언어로 발화를 추가하면 이러한 언어에서 모델의 성능이 향상됩니다. 지원하려는 모든 언어에서 데이터를 복제하지 않습니다. 예를 들어 사용자와 함께 계산기 봇의 성능을 향상시키기 위해 개발자는 주로 영어로 예제를 추가하고 몇 가지 예제를 스페인어 또는 프랑스어로 추가할 수 있습니다. 추가할 수 있는 발화는 다음과 같습니다.
- "내일오후 12시에 맷과 케빈과 회의를 하세요." (영어)
- "주간 업데이트 모임에 미정으로 회신합니다." (영어)
- "내 다음 회의를 취소합니다." (스페인어)
발화 레이블 지정
발화에 레이블을 지정하려면 다음 단계를 따릅니다.
Azure AI Foundry의 프로젝트 페이지로 이동합니다.
왼쪽 창에서 데이터 관리를 선택합니다. 이 페이지에서 발화를 추가하고 레이블을 지정할 수 있습니다. 위쪽 메뉴에서 발화 파일 업로드를 선택하여 발화를 직접 업로드 할 수도 있습니다. 허용되는 형식을 따라야 합니다.
위쪽 탭을 사용하여 보기를 학습 집합 또는 테스트 집합으로 변경할 수 있습니다. 학습 및 테스트 세트와 이러한 세트가 모델 학습 및 평가에 사용되는 방법에 대해 자세히 알아봅니다.
팁
학습 데이터 분할에서 테스트 집합을 자동으로 분할하는 기능을 사용하려는 경우 모든 발화를 학습 집합에 추가합니다.
의도 선택 드롭다운 메뉴에서 의도, 발화 언어(다국어 프로젝트의 경우) 및 발화 자체 중 하나를 선택합니다. 발화의 텍스트 상자에서 Enter 키를 누르고 발화를 추가합니다.
발화에서 엔터티에 레이블을 지정하는 두 가지 옵션이 있습니다.
옵션 설명 브러시를 사용하여 레이블 지정 오른쪽 창의 엔터티 옆에 있는 브러시 아이콘을 선택한 후, 레이블을 지정할 발화의 텍스트를 강조 표시합니다. 인라인 메뉴를 사용하여 레이블 지정 엔터티로 레이블을 지정하려는 단어를 강조하면 메뉴가 나타납니다. 이러한 단어에 레이블을 지정할 엔터티를 선택합니다. 오른쪽 창의 레이블 탭에서 프로젝트의 모든 엔터티 형식과 각 엔터티당 레이블이 지정된 인스턴스 수를 찾을 수 있습니다.
배포 탭에서 학습 및 테스트 집합의 배포를 볼 수 있습니다. 볼 수 있는 옵션은 다음과 같습니다.
- 레이블이 지정된 엔터티당 총 인스턴스 수: 특정 엔터티의 레이블이 지정된 모든 인스턴스의 수를 볼 수 있습니다.
- 레이블이 지정된 엔터티당 고유 발화: 각 발화는 이 엔터티의 레이블이 지정된 인스턴스를 하나 이상 포함하는 경우 계산됩니다.
- 의도당 발화: 의도당 발화 수를 볼 수 있습니다.
참고 항목
목록, 정규식 및 미리 빌드된 구성 요소는 데이터 레이블 지정 페이지에 표시되지 않습니다. 여기서 모든 레이블은 학습된 구성 요소에만 적용됩니다.
레이블을 제거하려면 다음을 수행합니다.
- 발화 내에서 레이블을 제거할 엔터티를 선택합니다.
- 표시되는 메뉴를 스크롤하고 레이블 제거를 선택합니다.
엔터티를 삭제하려면 다음 단계를 따릅니다.
- 오른쪽 창에서 편집할 엔터티 옆에 있는 가비지 빈 아이콘을 선택합니다.
- 삭제를 선택하여 확인합니다.
Azure OpenAI를 사용하여 발화 제안
CLU에서 Azure OpenAI를 사용하여 생성 언어 모델을 사용하여 프로젝트에 추가할 발화를 제안합니다. 여러 리소스를 연결할 필요가 없도록 CLU를 사용하는 동안 Azure AI Foundry 리소스를 사용하는 것이 좋습니다.
Azure AI Foundry 리소스를 사용하려면 Azure AI Foundry 리소스에 상승된 액세스 권한을 제공해야 합니다. 이렇게 하려면 Azure Portal에 액세스합니다. Azure AI 리소스 내에서 자체에 대한 액세스를 Cognitive Services 사용자로 제공합니다. 이 단계에서는 리소스의 모든 부분이 올바르게 통신하도록 합니다.
별도의 언어 및 Azure OpenAI 리소스로 연결
먼저 액세스 권한을 얻고 Azure OpenAI에서 리소스를 만들어야 합니다. 다음으로, Azure AI Foundry 페이지의 왼쪽 창에 있는 관리 센터의 동일한 Azure AI Foundry 프로젝트 내에서 Azure OpenAI 리소스에 대한 연결을 만듭니다. 그런 다음 연결된 Azure OpenAI 리소스 내에서 Azure OpenAI 모델에 대한 배포를 만들어야 합니다. 새 리소스를 만들려면 Azure AI Foundry Models 리소스에서 Azure OpenAI 만들기 및 배포의 단계를 수행합니다.
시작하기 전에 언어 리소스가 다음 지역에 있는 경우에만 제안된 발화 기능을 사용할 수 있습니다.
- 미국 동부
- 미국 중남부
- 서유럽
데이터 레이블 지정 페이지에서 다음을 수행합니다.
발화 제안을 선택하세요. 오른쪽에 창이 열리고 Azure OpenAI 리소스 및 배포를 선택하라는 메시지가 표시됩니다.
Azure OpenAI 리소스를 선택한 후 언어 리소스가 Azure OpenAI 리소스에 직접 액세스할 수 있도록 연결을 선택합니다. Azure OpenAI 리소스에 Cognitive Services 사용자 역할을 언어 리소스에 할당합니다. 이제 현재 언어 리소스가 Azure OpenAI에 액세스할 수 있습니다. 연결이 실패하면 다음 단계에 따라 Azure OpenAI 리소스에 올바른 역할을 수동으로 추가합니다.
리소스가 연결되면 배포를 선택합니다. Azure OpenAI 배포에 권장되는 모델은 다음과 입니다
gpt-35-turbo-instruct
.제안을 받을 의도를 선택합니다. 선택한 의도에 대해 발화 제안을 사용하려면 저장된 발화가 최소 5개 있는지 확인하세요. Azure OpenAI에서 제공하는 제안은 해당 의도에 대해 추가한 최신 발화를 기반으로 합니다.
발화 생성을 선택합니다.
제안된 발화는 주위에 점선과 AI에 의해 생성된 메모와 함께 표시됩니다. 이러한 제안은 수락되거나 거부되어야 합니다. 제안을 수락하면 직접 추가한 것처럼 프로젝트에 추가됩니다. 제안을 거부하면 완전히 삭제됩니다. 허용되는 발언만 프로젝트의 일부이며 학습 또는 테스트에 사용됩니다.
수락하거나 거부하려면 각 발화 옆에 있는 녹색 확인 표시 또는 빨간색 취소 단추를 선택합니다. 도구 모음에서 모두 적용 및 모두 거부 를 사용할 수도 있습니다.
이 기능을 사용하면 생성된 제안된 발화와 비슷한 수의 토큰에 대해 Azure OpenAI 리소스에 대한 요금이 부과됩니다. Azure OpenAI 가격 책정에 대한 자세한 내용은 Azure OpenAI 서비스 가격 책정을 참조하세요.
Azure OpenAI 리소스에 필수 구성 추가
다음 옵션을 사용하여 언어 리소스에 대한 ID 관리를 사용하도록 설정합니다.
언어 리소스에는 ID 관리가 있어야 합니다. Azure Portal을 사용하여 사용하도록 설정하려면 다음을 수행합니다.
- 언어 리소스로 이동합니다.
- 왼쪽 창의 리소스 관리 섹션에서 ID를 선택합니다.
- 시스템 할당 탭에서 상태으로 설정합니다.
관리 ID를 사용하도록 설정한 후, 언어 리소스의 관리 ID를 사용하여 Azure OpenAI 리소스에 Cognitive Services 사용자 역할을 할당합니다.
Azure Portal에 로그인하고 Azure OpenAI 리소스로 이동합니다.
액세스 제어(IAM) 탭을 선택합니다.
추가>역할 할당 추가를 선택합니다.
작업 함수 역할을 선택하고 다음을 선택합니다.
역할 목록에서 Cognitive Services 사용자를 선택하고 다음을 선택합니다.
액세스 할당: 관리 ID를 선택하고 멤버 선택을 선택합니다.
관리 ID에서 언어를 선택합니다.
리소스를 검색하고 선택합니다. 그런 다음 , 다음 을 선택하고 프로세스를 완료합니다.
세부 정보를 검토하고 검토 + 할당을 선택합니다.
몇 분 후에 Azure AI Foundry를 새로 고치면 Azure OpenAI에 성공적으로 연결할 수 있습니다.