Azure AI Foundry 포털에서 Phi-3 모델 미세 조정
Important
이 문서에 표시된 항목(미리 보기)은 현재 퍼블릭 미리 보기에서 확인할 수 있습니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
Azure AI Foundry를 사용하면 미세 조정이라는 프로세스를 사용하여 개인 데이터 세트에 대규모 언어 모델을 조정할 수 있습니다. 미세 조정은 특정 작업과 애플리케이션의 사용자 지정 및 최적화가 가능하므로 상당한 가치를 제공합니다. 미세 조정은 성능 향상, 비용 효율성, 대기 시간 감소, 맞춤형 출력으로 이어집니다.
이 문서에서는 Azure AI Foundry 포털에서 종량제 청구를 사용하는 서비스로 Phi-3 SLL(작은 언어 모델) 제품군을 미세 조정하는 방법을 알아봅니다.
SLM의 Phi-3 제품군은 명령 미세 조정된 생성형 텍스트 모델의 컬렉션입니다. Phi-3 모델은 사용 가능한 가장 유능하고 비용 효율적인 SLM(소규모 언어 모델)이며, 다양한 언어, 유추, 코딩 및 수학 벤치마크에서 동일한 크기와 다음 크기의 모델의 성능을 능가합니다.
Important
미리 보기에 있는 모델은 모델 카탈로그의 모델 카드에서 미리 보기로 표시됩니다.
Phi-3 Mini는 고품질의 추론 밀도가 높은 데이터에 중점을 두고 Phi-2(합성 데이터 및 필터링된 웹 사이트)에 사용되는 데이터 세트를 기반으로 구축된 38억 개의 매개 변수가 있고, 경량인 최첨단 개방형 모델입니다. 모델은 Phi-3 모델 제품군에 속하며 Mini 버전은 지원할 수 있는 컨텍스트 길이(토큰 단위)인 두 가지 변형인 4K 및 128K로 제공됩니다.
- Phi-3-mini-4k-Instruct (미리 보기)
- Phi-3-mini-128k-Instruct (미리 보기)
이 모델은 엄격한 개선 프로세스를 거쳤으며, 감독된 미세 조정과 직접 기본 설정 최적화를 모두 통합하여 정확한 명령 준수와 강력한 안전 조치를 보장합니다. 상식, 언어 이해, 수학, 코드, 긴 컨텍스트, 논리적 추론을 테스트하는 벤치마크와 비교하여 평가했을 때 Phi-3-Mini-4K-Instruct 및 Phi-3-Mini-128K-Instruct는 130억 미만의 매개 변수를 가진 모델들 사이에서 강력하고 최첨단인 성능을 보여주었습니다.
필수 구성 요소
Azure 구독 Azure 구독이 없으면 유료 Azure 계정을 만들어 시작합니다.
-
Important
Phi-3 제품군 모델의 경우, 종량제 모델 미세 조정 제품은 미국 동부 2 지역에서 만들어진 허브에서만 사용할 수 있습니다.
Azure RBAC(Azure 역할 기반 액세스 제어)는 Azure AI Foundry 포털에서 작업에 대한 액세스 권한을 부여하는 데 사용됩니다. 이 문서의 단계를 수행하려면 사용자 계정에 리소스 그룹에 대한 Azure AI 개발자 역할이 할당되어야 합니다.
권한에 대한 자세한 내용은 Azure AI Foundry 포털의 역할 기반 액세스 제어를 참조 하세요.
구독 공급자 등록
구독이 Microsoft.Network
리소스 공급자에 등록되어 있는지 확인합니다.
- Azure Portal에 로그인합니다.
- 왼쪽 메뉴에서 구독을 선택합니다.
- 사용할 구독을 선택합니다.
- 왼쪽 메뉴에서 설정>리소스 공급자를 선택합니다.
- Microsoft.Network가 리스트 공급자 목록에 있는지 확인합니다. 없다면 추가합니다.
데이터 준비
모델 미세 조정을 위해 학습 및 유효성 검사 데이터를 준비합니다. 학습 데이터 및 유효성 검사 데이터 세트는 원하는 모델 성능에 대한 입력 및 출력 예제로 구성됩니다.
모든 학습 예제가 예상 유추 형식을 따르는지 확인합니다. 모델을 효과적으로 미세 조정하려면 데이터 세트가 균형 잡히고 다양해야 합니다.
여기에는 다양한 시나리오를 포함한 데이터 균형을 유지하고, 실제 기대에 맞게 학습 데이터를 주기적으로 구체화하고, 궁극적으로 보다 정확하고 균형 잡힌 모델 응답을 이끌어내는 작업이 포함됩니다.
모델 유형에 따라 학습 데이터의 형식이 다릅니다.
채팅 완료
사용하는 학습 및 유효성 검사 데이터는 반드시 JSONL(JSON Lines) 문서로 서식을 지정해야 합니다. Phi-3-mini-128k-instruct
의 경우 세부 조정 데이터 세트는 채팅 완료 API에서 사용되는 대화형 형식으로 서식을 지정해야 합니다.
예제 파일 형식
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}
지원되는 파일 형식은 JSON 줄입니다. 파일은 기본 데이터 저장소에 업로드되며, 프로젝트에서 사용할 수 있습니다.
Phi-3 모델 미세 조정
Phi-3 모델을 미세 조정하려면:
Azure AI Foundry에 로그인합니다.
Azure AI Foundry 포털 모델 카탈로그에서 미세 조정하려는 모델을 선택합니다.
모델의 세부 정보 페이지에서 미세 조정하기를 선택합니다.
모델을 미세 조정할 프로젝트를 선택합니다. 종량제 모델 미세 조정 제품을 사용하려면 작업 영역이 미국 동부 2 지역에 속해야 합니다.
미세 조정 마법사에서 Azure AI Foundry 용어에 대한 링크를 선택하여 사용 약관에 대해 자세히 알아봅니다. Azure AI Foundry 제품 세부 정보 탭을 선택하여 선택한 모델의 가격 책정에 대해 알아볼 수도 있습니다.
프로젝트에서 모델을 처음으로 미세 조정하는 경우 Azure AI Foundry에서 특정 제품(예: Phi-3-mini-128k-instruct)에 대한 프로젝트를 구독해야 합니다. 이 단계를 수행하려면 계정에 필수 구성 요소에 나열된 Azure 구독 권한 및 리소스 그룹 권한이 있어야 합니다. 각 프로젝트에는 지출을 제어하고 모니터링할 수 있는 특정 Azure AI Foundry 제품에 대한 자체 구독이 있습니다. 구독과 미세 조정을 선택 합니다.
참고 항목
특정 Azure AI Foundry 제품(이 경우 Phi-3-mini-128k-instruct)에 프로젝트를 구독하려면 계정이 프로젝트를 만든 구독 수준에서 기여자 또는 소유자 액세스 권한이 있어야 합니다. 또는 사용자 계정에 필수 조건에 나열된 Azure 구독 권한 및 리소스 그룹 권한이 있는 사용자 지정 역할을 할당할 수 있습니다.
특정 Azure AI Foundry 제품에 프로젝트를 등록하면 동일한 프로젝트에서 동일한 제품을 나중에 미세 조정해도 다시 구독할 필요가 없습니다. 따라서 후속 미세 조정 작업에 대한 구독 수준 권한이 필요하지 않습니다. 이 시나리오가 적용되는 경우 미세 조정하려면 계속을 선택합니다.
미세 조정된 모델의 이름과 선택적 태그 및 설명을 입력합니다.
학습 데이터를 선택하여 모델을 미세 조정합니다. 자세한 내용은 데이터 준비를 참조하세요.
참고 항목
자격 증명이 없는 데이터 저장소에 학습/유효성 검사 파일이 있는 경우 자격 증명이 없는 스토리지에서 MaaS 미세 조정을 진행하려면 데이터 저장소에 대한 작업 영역 관리 ID 액세스를 허용해야 합니다. "데이터 저장소" 페이지에서 "인증 업데이트" >을 클릭한 후 다음 옵션을 선택합니다.
모든 학습 예제가 예상 유추 형식을 따르는지 확인합니다. 모델을 효과적으로 미세 조정하려면 데이터 세트가 균형 잡히고 다양해야 합니다. 여기에는 다양한 시나리오를 포함한 데이터 균형을 유지하고, 실제 기대에 맞게 학습 데이터를 주기적으로 구체화하고, 궁극적으로 보다 정확하고 균형 잡힌 모델 응답을 이끌어내는 작업이 포함됩니다.
- 학습에 사용할 일괄 처리 크기입니다. -1로 설정하면 batch_size가 학습 집합에서 예제의 0.2%로 계산되고 최대값은 256입니다.
- 미세 조정 학습 속도는 사전 학습에 사용된 원래 학습 속도에 이 승수를 곱한 값입니다. 0.5에서 2 사이의 값으로 실험하는 것이 좋습니다. 경험적으로 우리는 학습 속도가 클수록 일괄 처리 크기가 클수록 더 나은 성능을 보이는 경우가 많다는 것을 발견했습니다. 0.0에서 5.0 사이여야 합니다.
- 학습 Epoch의 수입니다. epoch는 데이터 세트의 완전한 1회 순환을 말합니다.
작업 매개 변수는 선택적 단계이며 고급 옵션입니다. 하이퍼 매개 변수 튜닝은 실제 애플리케이션에서 LLM(대규모 언어 모델)을 최적화하는 데 필수적입니다. 이를 통해 성능 향상과 효율적 리소스 사용이 가능합니다. 사용자는 기본 설정을 유지할 수 있고, 고급 사용자는 epoch나 학습 속도와 같은 매개 변수를 사용자 지정할 수 있습니다.
선택 항목을 검토하고 모델 학습을 계속 진행합니다.
모델이 미세 조정되면 모델을 배포하고 자체 애플리케이션, 플레이그라운드 또는 프롬프트 흐름에서 사용할 수 있습니다. 자세한 내용은 Azure AI Foundry를 사용하여 Phi-3 제품군의 대규모 언어 모델을 배포하는 방법을 참조 하세요.
미세 조정된 모델 정리
Azure AI Foundry의 미세 조정 모델 목록 또는 모델 세부 정보 페이지에서 미세 조정된 모델을 삭제할 수 있습니다. 미세 조정 페이지에서 삭제할 미세 조정된 모델을 선택한 다음 삭제 단추를 선택하여 미세 조정된 모델을 삭제합니다.
참고 항목
기존 배포가 있는 사용자 지정 모델은 삭제할 수 없습니다. 사용자 지정 모델을 삭제하려면 모델 배포부터 삭제해야 합니다.
비용 및 할당량
서비스로 미세 조정된 Phi 모델에 대한 비용 및 할당량 고려 사항
서비스로 미세 조정된 Phi 모델은 Microsoft에서 제공하고 Azure AI Foundry와 통합되어 사용할 수 있습니다. 모델을 배포하거나 미세 조정할 때 가격 책정은 배포 마법사의 가격 책정 및 약관 탭에서 확인할 수 있습니다.
샘플 Notebook
이 샘플 Notebook 을 사용하여 독립 실행형 미세 조정 작업을 만들어 Samsum 데이터 세트를 사용하여 두 사람 간의 대화를 요약하는 모델의 기능을 향상시킬 수 있습니다. 활용되는 학습 데이터는 ultrachat_200k 데이터 세트로, 감독된 미세 조정(sft) 및 세대 순위(gen)에 적합한 네 개의 분할로 나뉩니다. Notebook은 채팅 완료 작업에 사용 가능한 Azure AI 모델을 사용합니다(Notebook에 사용된 모델과 다른 모델을 사용하려는 경우 모델 이름을 바꿀 수 있음). Notebook에는 필수 구성 요소 설정, 미세 조정할 모델 선택, 학습 및 유효성 검사 데이터 세트 만들기, 미세 조정 작업 구성 및 제출, 마지막으로 샘플 유추를 위해 미세 조정된 모델을 사용하여 서버리스 배포 만들기가 포함됩니다.
콘텐츠 필터링
종량제 서비스로 배포되는 모델은 Azure AI 콘텐츠 보안으로 보호됩니다. 실시간 엔드포인트에 배포되는 경우 이 기능을 옵트아웃할 수 있습니다. Azure AI 콘텐츠 보안을 사용하도록 설정한 경우 유해한 콘텐츠의 출력을 탐지하고 방지하기 위한 분류 모델의 앙상블을 통해 프롬프트와 완료가 모두 실행됩니다. 콘텐츠 필터링(미리 보기) 시스템은 입력 프롬프트와 출력 완성 모두에서 잠재적으로 유해한 콘텐츠의 특정 범주를 검색하고 조치를 취합니다. Azure AI 콘텐츠 보안에 대해 자세히 알아보기.