이 문서에서는 작은 언어 모델과 큰 언어 모델에 대해, 각각을 언제 사용해야 하는지와 Azure Kubernetes Service(AKS)에서 AI 및 머신러닝 워크플로와 함께 어떻게 활용할 수 있는지를 알아봅니다.
언어 모델이란?
언어 모델은 텍스트 생성, 감정 분석과 같은 자연어 처리(NLP) 작업에 사용되는 강력한 머신러닝 모델입니다. 이러한 모델은 주어진 문맥에서 단어 또는 단어 시퀀스가 나타날 확률을 기반으로 자연어를 표현합니다.
기존 언어 모델은 특정 작업을 위해 잘 라벨링된 텍스트 데이터셋으로 모델을 학습시키는 감독 학습 환경에서 연구 목적으로 사용되어 왔습니다. 미리 학습된 언어 모델은 AI를 시작하는 데 접근하기 쉬운 방법을 제공하며, 최근 몇 년 동안 더 널리 사용되고 있습니다. 이러한 모델은 인터넷의 대규모 텍스트 코퍼스를 사용하여 심층 신경망으로 학습되며, 특정 작업을 위해 더 작은 데이터셋으로 미세 조정할 수 있습니다.
언어 모델의 크기는 모델이 입력 데이터를 처리하고 출력을 생성하는 방식을 결정하는 매개변수, 즉 가중치의 수에 의해 결정됩니다. 매개변수는 학습 과정에서 모델 층 내 가중치를 조정하여 모델의 예측과 실제 데이터 간의 차이를 최소화하면서 학습됩니다. 모델의 매개변수가 많을수록 모델은 더 복잡하고 표현력이 높아지지만, 학습하고 사용하는 데 필요한 계산 비용도 증가합니다.
일반적으로 소규모 언어 모델에는 100억 개 미만의 매개 변수가 있고, 대규모 언어 모델에는 100억 개가 넘는 매개 변수가 있습니다. 예를 들어, 새로운 Microsoft Phi-3 모델군에는 크기가 다른 세 가지 버전이 있습니다. mini(38억 가중치), small(70억 가중치), medium(140억 가중치).
소규모 언어 모델을 사용해야 하는 경우
장점
소규모 언어 모델은 다음과 같은 특성을 가진 모델을 원할 때 적합합니다.
- 학습 및 실행이 더 빠르고 비용 효율적입니다. 더 적은 데이터와 연산 자원으로도 가능합니다.
- 배포 및 유지 관리가 용이함: 저장 공간과 메모리 사용량이 적음.
- 과적합이 덜 발생함: 모델이 학습 데이터의 잡음이나 특정 패턴만 학습하고 새로운 데이터에 일반화하지 못하는 현상을 말함.
- 해석 및 설명 가능: 이해하고 분석할 매개변수와 구성 요소가 적음.
사용 사례
소규모 언어 모델은 다음과 같은 사용 사례에 적합함:
- 제한된 데이터 또는 리소스을 사용해야 하며, 빠르고 간단한 솔루션이 필요한 경우.
- 명확하게 정의되거나 범위가 좁은 작업에 적합하며, 출력에서 많은 창의성이 필요하지 않은 경우.
- 정밀도가 높고 재현율이 낮은 작업에 적합하며, 범위나 양보다 정확성과 품질을 중시하는 경우.
- 중요하거나 규제된 작업에 적합하며, 모델의 투명성과 책임성을 보장해야 하는 경우.
다음 표에는 인기 있고 성능이 우수한 소형 언어 모델이 나열되어 있음:
| 모델 제품군 | 모델 크기(매개 변수 수) | Software 라이선스 |
|---|---|---|
| Microsoft Phi-3 | Phi-3-mini(38억), Phi-3-small(70억) | MIT 라이선스 |
| Microsoft Phi-2 | Phi-2(27억) | MIT 라이선스 |
| Falcon | Falcon-7B(70억) | Apache 2.0 라이선스 |
대형 언어 모델을 사용해야 하는 경우
장점
대형 언어 모델은 다음과 같은 특성을 가진 모델이 필요할 때 적합함:
- 강력하고 표현력이 풍부함: 데이터의 더 복잡한 패턴과 관계를 포착할 수 있음.
- 일반적이고 적응 가능함: 더 넓은 범위의 작업을 처리할 수 있으며, 지식을 다양한 분야에 적용할 수 있습니다.
- 강력하고 일관됨: 불완전하거나 잡음이 있는 입력도 처리할 수 있으며, 흔한 오류와 편향을 피할 수 있습니다.
사용 사례
대형 언어 모델은 다음과 같은 사용 사례에 적합합니다.
- 풍부한 데이터와 리소스: 복잡한 솔루션을 구축하고 유지할 예산이 있는 경우.
- 정밀도가 낮고 재현율이 높은 작업에 적합하며, 정확성과 품질보다 범위와 양을 중시하는 경우.
- 도전적이거나 탐구적인 작업이며, 모델의 학습 및 적응 능력을 활용하고자 하는 경우.
다음 표에는 일부 인기 있고 성능이 뛰어난 대형 언어 모델이 나와 있습니다.
| 모델 제품군 | 모델 크기(매개 변수 수) | Software 라이선스 |
|---|---|---|
| Microsoft Phi-3 | Phi-3-medium(140억) | MIT 라이선스 |
| Falcon | Falcon-40B(40억) | Apache 2.0 라이선스 |
AKS에서 소규모 및 대규모 언어 모델 실험
Kubernetes AI Toolchain Operator(KAITO)는 Kubernetes 클러스터에서 소형 및 대형 언어 모델 배포를 자동화하는 오픈소스 운영자입니다. AKS용 KAITO 애드온은 온보딩을 간소화하고 AKS 클러스터에서 오픈소스 모델의 추론 시작 시간을 단축합니다. 이 애드온은 적절한 규모의 GPU 노드를 자동으로 프로비저닝하고, 선택한 모델의 엔드포인트 서버로서 연관된 추론 서버를 설정합니다.
자세한 내용은 AI 툴체인 운영자를 사용하여 AKS에 AI 모델 배포를 참조하십시오. 유추 워크플로를 위해 지원되는 다양한 소형 및 대규모 언어 모델을 시작하려면 KAITO 모델 GitHub 리포지토리를 참조하십시오.
중요합니다
오픈 소스 소프트웨어는 AKS 문서와 샘플 전반에서 언급됩니다. 사용자가 배포하는 소프트웨어는 AKS 서비스 수준 계약, 제한적 보증, Azure 지원 대상에서 제외됩니다. AKS와 함께 오픈소스 기술을 사용하는 경우, 각 커뮤니티 및 프로젝트 유지관리자가 제공하는 지원 옵션을 확인하여 계획을 수립하시기 바랍니다.
Microsoft는 AKS에서 배포하는 오픈소스 패키지의 빌드에 대한 책임을 집니다. 이 책임에는 빌드, 스캔, 서명, 검증, 핫픽스 과정의 전권 관리와 컨테이너 이미지 내 바이너리에 대한 통제가 포함됩니다. 자세한 내용은 AKS의 취약성 관리 및 AKS 지원 범위를 참조하십시오.
다음 단계
AKS에서 컨테이너화된 AI 및 머신러닝 워크로드에 대해 자세히 알아보려면 다음 문서를 참조하십시오.