개념 - AI 및 기계 학습 워크플로를 위한 언어 모델 미세 조정
이 문서에서는 몇 가지 일반적인 방법, 튜닝 결과를 적용하여 AKS(Azure Kubernetes Service)에서 AI 및 기계 학습 워크플로의 성능을 개선하는 방법을 비롯해 언어 모델을 미세 조정하는 방법을 알아봅니다.
미리 학습된 언어 모델
PLM(미리 학습된 언어 모델)은 AI 추론을 시작하는 접근이 용이한 방법을 제공하며 NLP(자연어 처리)에 널리 사용됩니다. PLM은 심층 신경망을 사용하여 인터넷의 대규모 텍스트 말뭉치에 대해 학습되었으며 특정 작업을 위해 더 작은 데이터 세트로 미세 조정할 수 있습니다. 이러한 모델은 일반적으로 학습 전 프로세스 중에 학습되는 수십억 개의 매개 변수 또는 가중치로 구성됩니다.
PLM은 지정된 컨텍스트에서 발생하는 단어 또는 단어 시퀀스의 확률과 같은 자연어의 통계적 속성을 캡처하는 범용 언어 표현을 학습할 수 있습니다. 이러한 표현은 작업별 데이터 세트에 대한 모델을 미세 조정하여 텍스트 분류, 명명된 엔터티 인식 및 질문 답변과 같은 다운스트림 작업으로 전송할 수 있습니다.
장단점
다음 표에는 AI 및 기계 학습 워크플로에서 PLM을 사용하는 몇 가지 장단점이 나와 있습니다.
장점 | 단점 |
---|---|
• 기계 학습 수명 주기에서 배포를 빠르게 시작합니다. • 모델 학습과 관련된 컴퓨팅 비용이 많이 드는 것을 방지합니다. • 레이블이 지정된 큰 데이터 세트를 저장할 필요가 줄어듭니다. |
• 학습 전 데이터 원본에 따라 일반화되거나 오래된 응답을 제공할 수 있습니다. • 일부 작업 또는 도메인에는 적합하지 않을 수 있습니다. • 성능은 추론 컨텍스트에 따라 달라질 수 있습니다. |
미세 조정 방법
매개 변수 효율적인 미세 조정
PEFT(매개 변수 효율적인 미세 조정)는 컴퓨팅 리소스가 제한된 비교적 작은 데이터 세트에 대해 PLM을 미세 조정하는 방법입니다. PEFT는 가산 및 선택적 방법과 같은 기술의 조합을 사용해 가중치를 업데이트하여 특정 작업에 대한 모델의 성능을 개선합니다. PEFT는 최소한의 컴퓨팅 리소스와 유연한 양의 데이터가 필요하므로 리소스가 적은 환경에 적합합니다. 이 방법은 미리 학습된 원래 모델의 가중치 대부분을 유지하고, 컨텍스트별 레이블이 지정된 데이터에 맞게 나머지 가중치를 업데이트합니다.
낮은 순위 적응
LoRA(낮은 순위 적응)는 새 작업에 대해 대용량 언어 모델을 사용자 지정하는 데 일반적으로 사용되는 PEFT 방법입니다. 이 방법은 모델 가중치 변경 내용을 추적하고 모델의 학습 가능한 매개 변수만 나타내는 더 작은 가중치 매트릭스를 효율적으로 저장하여 메모리 사용량과 미세 조정에 필요한 컴퓨팅 성능을 줄입니다. LoRA는 어댑터 계층이라고 하는 미세 조정 결과를 만들어 새 추론 작업을 위해 일시적으로 저장하고 모델의 아키텍처로 끌어올 수 있습니다.
QLoRA(양자화 낮은 순위 적응)는 어댑터 계층에 양자화를 도입하여 메모리 사용량을 더욱 줄이는 LoRA의 확장입니다. 자세한 내용은 bitsandbites, 4비트 양자화 및 QLoRA로 LLM의 접근성 향상을 참조하세요.
AKS에서 언어 모델 미세 조정 실험
KAITO(Kubernetes AI 툴체인 운영자)는 Kubernetes 클러스터에서 소규모 및 대규모 언어 모델 배포를 자동화하는 오픈 소스 운영자입니다. AI 툴체인 운영자 추가 기능은 KAITO를 활용하여 온보딩을 간소화하고, 인프라 비용을 절감하고, AKS 클러스터의 오픈 소스 모델에 대한 유추 시간을 줄입니다. 추가 기능은 적절한 크기의 GPU 노드를 자동으로 프로비전하고 연결된 추론 서버를 선택한 모델에 대한 엔드포인트 서버로 설정합니다.
KAITO 버전 0.3.0 이상에서는 다음 기능을 사용하여 지원되는 MIT 및 Apache 2.0 라이선스 모델을 효율적으로 미세 조정할 수 있습니다.
- 재학습 데이터를 프라이빗 컨테이너 레지스트리에 컨테이너 이미지로 저장합니다.
- 프라이빗 컨테이너 레지스트리에서 새 어댑터 계층 이미지를 호스트합니다.
- 새 시나리오에서 어댑터 계층을 사용하여 추론하기 위해 이미지를 효율적으로 끌어옵니다.
KAITO에서 미세 조정을 시작하는 방법에 대한 지침은 Kaito 튜닝 작업 영역 API 설명서를 참조하세요. AKS 클러스터에서 KAITO를 사용하여 언어 모델을 배포하는 방법을 자세히 알아보려면 KAITO 모델 GitHub 리포지토리를 참조하세요.
Important
오픈 소스 소프트웨어는 AKS 설명서와 샘플 전반에서 언급되어 있습니다. 배포하는 소프트웨어는 AKS 서비스 수준 계약, 제한된 보증 및 Azure 지원 제외됩니다. AKS와 함께 오픈 소스 기술을 사용하는 경우 각 커뮤니티 및 프로젝트 유지 관리자에서 사용할 수 있는 지원 옵션을 참조하여 계획을 개발합니다.
예를 들어 Ray GitHub 리포지 토리는 응답 시간, 목적 및 지원 수준에 따라 달라지는 여러 플랫폼을 설명합니다.
Microsoft는 AKS에 배포하는 오픈 소스 패키지를 빌드하는 역할을 담당합니다. 해당 책임에는 컨테이너 이미지의 이진 파일에 대한 제어와 함께 빌드, 스캔, 서명, 유효성 검사 및 핫픽스 프로세스의 완전한 소유권이 포함됩니다. 자세한 내용은 AKS의 취약성 관리 및 AKS 지원 범위를 참조하세요.
다음 단계
AKS의 컨테이너화된 AI 및 기계 학습 워크로드에 대해 자세히 알아보려면 다음 문서를 참조하세요.
Azure Kubernetes Service