

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon SageMaker JumpStart 파운데이션 모델
<a name="jumpstart-foundation-models"></a>

Amazon SageMaker JumpStart는 콘텐츠 작성, 코드 생성, 질문 응답, 카피라이팅, 요약, 분류, 정보 검색 등과 같은 사용 사례를 위한 최첨단 파운데이션 모델을 제공합니다. JumpStart 파운데이션 모델을 사용하여 자체 생성형 AI 솔루션을 구축하고 사용자 지정 솔루션을 추가 SageMaker AI 기능과 통합할 수 있습니다. 자세한 내용은 [Amazon SageMaker JumpStart 시작하기](https://aws.amazon.com/sagemaker/jumpstart/getting-started/)를 참조하세요.

파운데이션 모델은 많은 다운스트림 작업에 적용할 수 있는 사전 훈련된 대규모 모델이며 종종 보다 전문화된 모델을 개발하기 위한 출발점 역할을 합니다. 파운데이션 모델의 예로는 LLaMa-3-70b, BLOOM 176B, FLAN-T5 XL 또는 GPT-J 6B 등이 있으며, 이들은 방대한 양의 텍스트 데이터에 대해 사전 훈련되고 특정 언어 작업에 맞게 미세 조정할 수 있습니다.

Amazon SageMaker JumpStart는 기계 학습 수명 주기에 액세스, 사용자 지정 및 통합할 수 있도록 공개적으로 사용 가능한 파운데이션 모델을 온보딩하고 유지 관리합니다. 자세한 내용은 [공개적으로 사용 가능한 파운데이션 모델](jumpstart-foundation-models-latest.md#jumpstart-foundation-models-latest-publicly-available) 섹션을 참조하세요. Amazon SageMaker JumpStart에는 타사 제공업체의 독점 파운데이션 모델도 포함되어 있습니다. 자세한 내용은 [독점 파운데이션 모델](jumpstart-foundation-models-latest.md#jumpstart-foundation-models-latest-proprietary) 섹션을 참조하세요.

사용 가능한 모델을 탐색하고 실험해 보려면 [JumpStart 파운데이션 모델 사용량](jumpstart-foundation-models-use.md) 을 참조하세요. 모든 파운데이션 모델은 SageMaker Python SDK와 함께 프로그래밍 방식으로 사용할 수 있습니다. 자세한 내용은 [SageMaker Python SDK로 파운데이션 모델 사용](jumpstart-foundation-models-use-python-sdk.md) 섹션을 참조하세요.

모델 선택 시 고려해야 할 사항에 대한 자세한 내용은 [모델 소스 및 라이선스 계약](jumpstart-foundation-models-choose.md)을 참조하세요.

파운데이션 모델을 사용자 지정하고 미세 조정하는 방법에 대한 자세한 내용은 [파운데이션 모델 사용자 지정](jumpstart-foundation-models-customize.md)을 참조하세요.

파운데이션 모델에 대한 보다 일반적인 정보는 [파운데이션 모델의 기회 및 위험](https://arxiv.org/abs/2108.07258)에 관한 문서를 참조하세요.

**Topics**
+ [

# 사용 가능한 파운데이션 모델
](jumpstart-foundation-models-latest.md)
+ [

# JumpStart 파운데이션 모델 사용량
](jumpstart-foundation-models-use.md)
+ [

# 모델 소스 및 라이선스 계약
](jumpstart-foundation-models-choose.md)
+ [

# 파운데이션 모델 사용자 지정
](jumpstart-foundation-models-customize.md)
+ [

# Studio에서 텍스트 생성 파운데이션 모델 평가
](jumpstart-foundation-models-evaluate.md)
+ [

# 예제 노트북
](jumpstart-foundation-models-example-notebooks.md)

# 사용 가능한 파운데이션 모델
<a name="jumpstart-foundation-models-latest"></a>

Amazon SageMaker JumpStart는 사용자의 생성형 AI 워크플로에 사용자 지정 및 통합할 수 있는 최첨단 내장형 공개적으로 사용 가능한 독점 파운데이션 모델을 제공합니다.

## 공개적으로 사용 가능한 파운데이션 모델
<a name="jumpstart-foundation-models-latest-publicly-available"></a>

Amazon SageMaker JumpStart는 타사 소스의 오픈 소스 파운데이션 모델을 온보딩하고 유지 관리합니다. 이러한 공개적으로 사용 가능한 모델 중 하나를 시작하려면 [JumpStart 파운데이션 모델 사용량](jumpstart-foundation-models-use.md)를 참조하거나 사용 가능한 [예제 노트북](jumpstart-foundation-models-example-notebooks.md) 중 하나를 탐색하세요. 공개적으로 사용 가능한 모델에 대한 주어진 예제 노트북에서 모델 ID를 변경하여 동일한 모델군 내의 다양한 모델을 실험해 보세요.

SageMaker Python SDK를 사용하여 공개적으로 사용 가능한 JumpStart 파운데이션 모델을 배포하는 데 필요한 모델 ID 및 리소스에 대한 자세한 내용은 [SageMaker Python SDK로 파운데이션 모델 사용](jumpstart-foundation-models-use-python-sdk.md)를 참조하세요.

정의에 따르면 파운데이션 모델은 많은 다운스트림 작업에 적용할 수 있습니다. 파운데이션 모델은 방대한 양의 일반 도메인 데이터를 기반으로 훈련되며 동일한 모델을 여러 사용 사례에 맞게 구현하거나 사용자 지정할 수 있습니다. 파운데이션 모델을 선택할 때는 텍스트 생성 또는 이미지 생성과 같은 특정 작업을 정의하는 것부터 시작합니다.

### 공개적으로 사용 가능한 시계열 예측 모델
<a name="jumpstart-foundation-models-choose-task-time-series-forecasting"></a>

시계열 예측 모델은 시간 경과에 따라 순차적 데이터를 분석하고 예측하도록 설계되었습니다. 이러한 모델은 재무, 기상 예측 또는 에너지 수요 예측과 같은 다양한 도메인에 적용할 수 있습니다. 크로노스 모델은 시계열 예측 작업에 맞게 조정되어 과거 데이터 패턴을 기반으로 정확한 예측이 가능합니다.


| 모델 이름 | 모델 ID | 모델 소스 | 미세 조정 가능 | 
| --- | --- | --- | --- | 
| 크로노스 T5 스몰 | autogluon-forecasting-chronos-t5-small | Amazon | 아니요 | 
| 크로노스 T5 기본 | autogluon-forecasting-chronos-t5-base | Amazon | 아니요 | 
| 크로노스 T5 라지 | autogluon-forecasting-chronos-t5-large | Amazon | 아니요 | 
| 크로노스 볼트 스몰 | autogluon-forecasting-chronos-bolt-small | Amazon |  아니요  | 
| 크로노스 볼트 베이스 | autogluon-forecasting-chronos-bolt-base | Amazon |  아니요  | 

### 공개적으로 사용 가능한 텍스트 생성 모델
<a name="jumpstart-foundation-models-choose-task-text-generation"></a>

텍스트 생성 파운데이션 모델은 텍스트 요약, 텍스트 분류, 질문 답변, 긴 형식의 콘텐츠 생성, 짧은 형식의 카피라이팅, 정보 추출 등을 비롯한 다양한 다운스트림 작업에 사용할 수 있습니다.

최신 텍스트 생성 JumpStart 파운데이션 모델을 탐색하려면 [Amazon SageMaker JumpStart 시작하기](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=ml-task-type%23text-generation&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&awsm.page-sagemaker-jumpstart-cards=1) 제품 설명 페이지에서 **텍스트 생성** 필터를 사용하세요. Amazon SageMaker Studio UI 또는 SageMaker Studio Classic UI에서 직접 작업을 기반으로 하는 파운데이션 모델을 탐색할 수도 있습니다. JumpStart 에서는 공개적으로 사용 가능한 텍스트 생성 모델의 하위 집합만 미세 조정할 수 있습니다. 자세한 내용은 [Amazon SageMaker Studio Classic에서 파운데이션 모델 사용](jumpstart-foundation-models-use-studio.md) 섹션을 참조하세요.

### 공개적으로 사용 가능한 이미지 생성 모델
<a name="jumpstart-foundation-models-choose-task-image-generation"></a>

JumpStart는 Stability AI의 기본 모델과 Hugging Face의 특정 텍스트-이미지 작업을 위한 사전 훈련된 모델을 포함하여 다양한 Stable Diffusion 이미지 생성 파운데이션 모델을 제공합니다. 텍스트-이미지 파운데이션 모델을 미세 조정해야 하는 경우 Stability AI의 Stable Diffusion 2.1 베이스를 사용할 수 있습니다. 특정 아트 스타일에 대해 이미 훈련된 모델을 탐색하고 싶다면 Hugging Face의 여러 타사 모델 중 하나를 Amazon SageMaker Studio UI 또는 SageMaker Studio Classic UI에서 직접 탐색할 수 있습니다.

최신 이미지 생성 JumpStart 파운데이션 모델을 탐색하려면 [Amazon SageMaker JumpStart 시작하기](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=ml-task-type%23txt2img&awsf.sagemaker-jumpstart-filter-RL=*all&awsm.page-sagemaker-jumpstart-cards=1) 제품 설명 페이지에서 **텍스트 투 이미지** 필터를 사용하세요. 선택한 텍스트-이미지 파운데이션 모델을 시작하려면 [JumpStart 파운데이션 모델 사용량](jumpstart-foundation-models-use.md)을 참조하세요.

## 독점 파운데이션 모델
<a name="jumpstart-foundation-models-latest-proprietary"></a>

Amazon SageMaker JumpStart는 [AI21 Labs](https://www.ai21.com/), [Cohere](https://cohere.com/), [LightOn](https://www.lighton.ai/)과 같은 타사 공급자의 독점 파운데이션 모델에 대한 액세스를 제공합니다.

이러한 독점 모델 중 하나를 시작하려면 [JumpStart 파운데이션 모델 사용량](jumpstart-foundation-models-use.md)을 참조하세요. 독점 파운데이션 모델을 사용하려면 먼저 AWS Marketplace에서 모델을 구독해야 합니다. 모델을 구독한 후 Studio 또는 SageMaker Studio Classic에서 파운데이션 모델을 찾습니다. 자세한 내용은 [SageMaker JumpStart 사전 훈련된 모델](studio-jumpstart.md) 섹션을 참조하세요.

다양한 사용 사례에 대한 최신 독점 파운데이션 모델을 살펴보려면 [Amazon SageMaker JumpStart 시작하기](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&sagemaker-jumpstart-cards.q=proprietary&sagemaker-jumpstart-cards.q_operator=AND)를 참조하세요.

# JumpStart 파운데이션 모델 사용량
<a name="jumpstart-foundation-models-use"></a>

Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic을 통해 파운데이션 모델을 선택, 훈련 또는 배포하고, JumpStart 파운데이션 모델을 SageMaker Python SDK와 함께 프로그래밍 방식으로 사용하거나 JumpStart 파운데이션 모델을 SageMaker AI 콘솔을 통해 직접 검색할 수 있습니다.

**Topics**
+ [

# Studio에서 파운데이션 모델 사용
](jumpstart-foundation-models-use-studio-updated.md)
+ [

# Amazon SageMaker Studio Classic에서 파운데이션 모델 사용
](jumpstart-foundation-models-use-studio.md)
+ [

# SageMaker Python SDK로 파운데이션 모델 사용
](jumpstart-foundation-models-use-python-sdk.md)
+ [

# SageMaker AI 콘솔에서 파운데이션 모델 살펴보기
](jumpstart-foundation-models-use-console.md)

# Studio에서 파운데이션 모델 사용
<a name="jumpstart-foundation-models-use-studio-updated"></a>

Amazon SageMaker Studio를 사용하면 Studio UI를 통해 공개적으로 사용 가능한 모델과 독점 JumpStart 파운데이션 모델을 직접 미세 조정, 배포 및 평가할 수 있습니다.

**중요**  
2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 지정되었습니다. 다음 섹션은 업데이트된 Studio 환경 사용에 해당합니다. Studio Classic 애플리케이션 사용에 대한 자세한 내용은 [Amazon SageMaker Studio Classic](studio.md) 섹션을 참조하세요.

시작하려면 Amazon SageMaker Studio의 JumpStart 랜딩 페이지로 이동합니다. **홈** 페이지 또는 왼쪽 패널 메뉴에서 액세스할 수 있습니다. **JumpStart** 랜딩 페이지에서 공개적으로 사용 가능한 모델과 독점 모델 모두의 공급자로부터 모델 허브를 탐색하고 모델을 검색할 수 있습니다.

각 모델 허브 내에서 가장 **가장 많은 좋아요**, **가장 많은 다운로드**, **최근 업데이트**를 기준으로 모델을 정렬하거나 작업별로 필터링할 수 있습니다. 모델을 선택하여 세부 정보 카드를 확인합니다. 모델 세부 정보 카드에서 사용 가능한 옵션에 따라 모델 **미세 조정**, **배포** 또는 **평가**를 선택할 수 있습니다. 일부 모델은 미세 조정 또는 평가에 사용할 수 없습니다.

Amazon SageMaker Studio로 시작하기에 대한 자세한 정보는 [Amazon SageMaker Studio](studio-updated.md) 섹션을 참조하세요.

**Topics**
+ [

# Studio에서 모델 미세 조정
](jumpstart-foundation-models-use-studio-updated-fine-tune.md)
+ [

# Studio에서 모델 배포
](jumpstart-foundation-models-use-studio-updated-deploy.md)
+ [

# Studio에서 모델 평가
](jumpstart-foundation-models-use-studio-updated-evaluate.md)
+ [

# Amazon Bedrock에서 SageMaker JumpStart 모델 사용
](jumpstart-foundation-models-use-studio-updated-register-bedrock.md)

# Studio에서 모델 미세 조정
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune"></a>

미세 조정을 사용하면 처음부터 훈련하지 않고도 새 데이터세트를 기반으로 사전 훈련된 모델을 훈련시킬 수 있습니다. 전이 학습이라고도 하는 이 프로세스를 통해 더 작은 데이터세트를 사용하고 훈련 시간을 단축하여 정확한 모델을 생성할 수 있습니다. JumpStart 파운데이션 모델을 미세 조정하려면 Studio UI에서 모델 세부 정보 카드로 이동합니다. Studio에서 JumpStart를 여는 방법에 대한 자세한 내용은 [Studio에서 JumpStart 열기](studio-jumpstart.md#jumpstart-open-studio) 섹션을 참조하세요. 선택한 모델 세부 정보 카드로 이동한 후 오른쪽 상단 모서리에서 **훈련**을 선택합니다. 일부 모델에는 미세 조정을 사용할 수 없습니다.

**중요**  
일부 파운데이션 모델은 미세 조정 전 EULA(최종 사용자 라이선스 계약)을 명시적으로 수락해야 합니다. 자세한 내용은 [Amazon SageMaker Studio에서의 EULA 수락](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-studio) 섹션을 참조하세요.

## 모델 설정
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-model"></a>

Amazon SageMaker Studio에서 사전 훈련된 JumpStart 파운데이션 모델을 사용하는 경우 **모델 아티팩트 위치(Amazon S3 URI)**가 기본적으로 채워집니다. 기본 Amazon S3 URI를 편집하려면 **모델 아티팩트 위치 입력**을 선택합니다. 일부 모델은 모델 아티팩트 위치 변경을 지원하지 않습니다.

## 데이터 설정
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-data"></a>

**데이터** 필드에서 훈련 데이터세트 위치에 Amazon S3 URI 포인트를 제공합니다. 기본 Amazon S3 URI는 예제 훈련 데이터세트를 가리킵니다. 기본 Amazon S3 URI를 편집하려면 **훈련 데이터세트 입력**을 선택하고 URI를 변경합니다. 훈련 데이터 형식 지정에 대한 자세한 내용은 Amazon SageMaker Studio의 모델 세부 정보 카드를 검토하세요.

## 하이퍼파라미터
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-hyperparameters"></a>

모델을 미세 조정하는 데 사용되는 훈련 작업의 하이퍼파라미터를 사용자 지정할 수 있습니다. 미세 조정 가능한 각 모델에 사용할 수 있는 하이퍼파라미터는 모델에 따라 다릅니다.

모델 간에 일반적으로 사용되는 하이퍼파라미터는 다음과 같습니다.
+ **에포크** – 한 에포크는 전체 데이터세트를 한 번 순환하는 것입니다. 여러 간격으로 하나의 배치가 완성되고, 여러 배치가 모여 결국 한 에포크를 완성하게 됩니다. 모델의 정확도가 허용 가능한 수준에 도달하거나 오류율이 허용 수준 아래로 떨어질 때까지 여러 에포크가 실행됩니다.
+ **학습률** – 에포크 간에 값을 변경해야 하는 양. 모델이 세분화됨에 따라 내부 가중치를 조정하고 오류율을 점검하여 모델이 개선되는지 확인합니다. 일반적인 학습률은 0.1 또는 0.01인데, 0.01은 훨씬 작은 조정으로 인해 훈련이 수렴되는 데 오랜 시간이 걸릴 수 있는 반면, 0.1은 훨씬 커서 훈련이 오버슈팅될 수 있습니다. 이는 모델 훈련을 위해 조정할 수 있는 기본 하이퍼파라미터 중 하나입니다. 텍스트 모델의 경우 학습률이 훨씬 낮을수록(BERT의 경우 5e–5) 모델이 더 정확할 수 있습니다.
+ **배치 크기** – 각 간격마다 선택하여 훈련을 위해 GPU로 보낼 데이터세트의 레코드 수입니다.

Studio UI의 모델 세부 정보 카드에서 도구 팁 프롬프트와 추가 정보를 검토하여 원하는 모델에 맞는 하이퍼파라미터에 대해 자세히 알아봅니다.

사용 가능한 하이퍼파라미터에 대한 자세한 내용은 [일반적으로 지원되는 미세 조정 하이퍼파라미터](jumpstart-foundation-models-fine-tuning.md#jumpstart-foundation-models-fine-tuning-hyperparameters) 섹션을 참조하세요.

## 배포
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-instance"></a>

훈련 작업의 훈련 인스턴스 유형 및 출력 아티팩트 위치를 지정합니다. Studio UI 미세 조정 내에서 원하는 모델과 호환되는 인스턴스만 선택할 수 있습니다. 기본 출력 아티팩트 위치는 SageMaker AI의 기본 버킷입니다. 출력 아티팩트 위치를 변경하려면 **출력 아티팩트 위치 입력**으 선택하고 Amazon S3 URI를 변경합니다.

## 보안
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-security"></a>

SageMaker AI가 모델을 훈련시키는 데 사용하는 IAM 역할, 훈련 작업을 가상 프라이빗 클라우드(VPC)에 연결해야 하는지 여부, 데이터 보안을 위한 암호화 키를 포함하여 훈련 작업에 사용할 보안 설정을 지정합니다.

## 추가 정보
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-additional-info"></a>

**추가 정보** 필드에서 훈련 작업 이름을 편집할 수 있습니다. 키-값 페어의 형태로 태그를 추가하고 제거하여 미세 조정 훈련 작업을 구성하고 분류하는 데 도움이 될 수도 있습니다.

미세 조정 구성에 대한 정보를 제공한 후 **제출**을 선택합니다. 미세 조정을 선택한 사전 훈련된 파운데이션 모델에 훈련 전에 최종 사용자 라이선스 계약(EULA)의 명시적 동의가 필요한 경우, EULA가 팝업 창에 제공됩니다. EULA 약관에 동의하려면 **수락**을 선택합니다. 사용자는 모델을 다운로드하거나 사용하기 전에 해당 라이선스 조건을 검토 및 준수하고 사용 사례에 적합한지 확인해야 합니다.

# Studio에서 모델 배포
<a name="jumpstart-foundation-models-use-studio-updated-deploy"></a>

JumpStart 파운데이션 모델을 배포하려면 Studio UI에서 모델 세부 정보 카드로 이동합니다. Studio에서 JumpStart를 여는 방법에 대한 자세한 내용은 [Studio에서 JumpStart 열기](studio-jumpstart.md#jumpstart-open-studio) 섹션을 참조하세요. 선택한 모델 세부 정보 페이지로 이동한 후 Studio UI의 오른쪽 상단 모서리에서 **배포**를 선택합니다. 그런 다음 [SageMaker Studio를 사용하여 모델 배포](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-deploy-models.html#deploy-models-studio)의 단계를 따릅니다.

**중요**  
일부 파운데이션 모델은 배포 전에 EULA(최종 사용자 라이선스 계약)을 명시적으로 수락해야 합니다. 자세한 내용은 [Amazon SageMaker Studio에서의 EULA 수락](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-studio) 섹션을 참조하세요.

# Studio에서 모델 평가
<a name="jumpstart-foundation-models-use-studio-updated-evaluate"></a>

Amazon SageMaker JumpStart는 Studio에서 SageMaker Clarify 파운데이션 모델 평가(FME)와 통합됩니다. JumpStart 모델에 내장 평가 기능이 있는 경우 JumpStart Studio UI의 모델 세부 정보 페이지 오른쪽 상단에서 **평가**를 선택할 수 있습니다. 자세한 내용은 [파운데이션 모델 평가](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-evaluate.html)를 참조하세요.

# Amazon Bedrock에서 SageMaker JumpStart 모델 사용
<a name="jumpstart-foundation-models-use-studio-updated-register-bedrock"></a>

Amazon SageMaker JumpStart에서 Amazon Bedrock으로 배포한 모델을 등록할 수 있습니다. Amazon Bedrock을 사용하면 여러 엔드포인트를 통해 모델을 호스팅할 수 있습니다. 또한 에이전트 및 지식 베이스 등의 Amazon Bedrock 기능을 사용할 수 있습니다. Amazon Bedrock의 모델 사용에 관한 자세한 내용은 [https://docs.aws.amazon.com/bedrock/latest/userguide/amazon-bedrock-marketplace.html](https://docs.aws.amazon.com/bedrock/latest/userguide/amazon-bedrock-marketplace.html) 섹션을 참조하세요.

**중요**  
모델을 Amazon Bedrock으로 마이그레이션하려면 [AmazonBedrockFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockFullAccess.html) 정책을 IAM 역할에 연결하는 것을 권장합니다. 관리형 정책을 연결할 수 없는 경우 IAM 역할에 다음 권한이 있는지 확인합니다.  

****  

```
{
    	"Version":"2012-10-17",		 	 	 
    	"Statement": [
    		{
    			"Sid": "BedrockAll",
    			"Effect": "Allow",
    			"Action": [
    				"bedrock:*"
    			],
    			"Resource": "*"
    		},
    		{
    			"Sid": "DescribeKey",
    			"Effect": "Allow",
    			"Action": [
    				"kms:DescribeKey"
    			],
    			"Resource": "arn:*:kms:*:::*"
    		},
    		{
    			"Sid": "APIsWithAllResourceAccess",
    			"Effect": "Allow",
    			"Action": [
    				"iam:ListRoles",
    				"ec2:DescribeVpcs",
    				"ec2:DescribeSubnets",
    				"ec2:DescribeSecurityGroups"
    			],
    			"Resource": "*"
    		},
    		{
    			"Sid": "MarketplaceModelEndpointMutatingAPIs",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:CreateEndpoint",
    				"sagemaker:CreateEndpointConfig",
    				"sagemaker:CreateModel",
    				"sagemaker:CreateInferenceComponent",
    				"sagemaker:DeleteInferenceComponent",
    				"sagemaker:DeleteEndpoint",
    				"sagemaker:UpdateEndpoint"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "BedrockEndpointTaggingOperations",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:AddTags",
    				"sagemaker:DeleteTags"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			]
    		},
    		{
    			"Sid": "MarketplaceModelEndpointNonMutatingAPIs",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:DescribeEndpoint",
    				"sagemaker:DescribeEndpointConfig",
    				"sagemaker:DescribeModel",
    				"sagemaker:DescribeInferenceComponent",
    				"sagemaker:ListEndpoints",
    				"sagemaker:ListTags"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "BedrockEndpointInvokingOperations",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:InvokeEndpoint",
    				"sagemaker:InvokeEndpointWithResponseStream"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "DiscoveringMarketplaceModel",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:DescribeHubContent"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*",
    				"arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
    			]
    		},
    		{
    			"Sid": "AllowMarketplaceModelsListing",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:ListHubContents"
    			],
    			"Resource": "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
    		},
    		{
    			"Sid": "RetrieveSubscribedMarketplaceLicenses",
    			"Effect": "Allow",
    			"Action": [
    				"license-manager:ListReceivedLicenses"
    			],
    			"Resource": [
    				"*"
    			]
    		},
    		{
    			"Sid": "PassRoleToSageMaker",
    			"Effect": "Allow",
    			"Action": [
    				"iam:PassRole"
    			],
    			"Resource": [
    				"arn:aws:iam::*:role/*Sagemaker*ForBedrock*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"iam:PassedToService": [
    						"sagemaker.amazonaws.com",
    						"bedrock.amazonaws.com"
    					]
    				}
    			}
    		},
    		{
    			"Sid": "PassRoleToBedrock",
    			"Effect": "Allow",
    			"Action": [
    				"iam:PassRole"
    			],
    			"Resource": "arn:aws:iam::*:role/*AmazonBedrock*",
    			"Condition": {
    				"StringEquals": {
    					"iam:PassedToService": [
    						"bedrock.amazonaws.com"
    					]
    				}
    			}
    		}
    	]
    }
```
Amazon Bedrock 전체 액세스 정책은 Amazon Bedrock API에 대한 권한만 제공합니다. 에서 Amazon Bedrock을 사용하려면 AWS Management Console IAM 역할에 다음 권한도 있어야 합니다.  

```
{
        "Sid": "AllowConsoleS3AccessForBedrockMarketplace",
        "Effect": "Allow",
        "Action": [
          "s3:GetObject",
          "s3:GetBucketCORS",
          "s3:ListBucket",
          "s3:ListBucketVersions",
          "s3:GetBucketLocation"
        ],
        "Resource": "*"
    }
```
자체 정책을 작성하는 경우 리소스에 대한 Amazon Bedrock Marketplace 작업을 허용하는 정책 설명을 포함해야 합니다. 예를 들어 다음 정책을 사용하면 Amazon Bedrock이 엔드포인트에 배포한 모델에 `InvokeModel` 작업을 사용할 수 있습니다.  

****  

```
{
    
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "BedrockAll",
                "Effect": "Allow",
                "Action": [
                    "bedrock:InvokeModel"
                ],
                "Resource": [
                "arn:aws:bedrock:us-east-1:111122223333:marketplace/model-endpoint/all-access"
                ]
            },
            {
                "Sid": "VisualEditor1",
                "Effect": "Allow",
                "Action": ["sagemaker:InvokeEndpoint"],
                "Resource": "arn:aws:sagemaker:us-east-1:111122223333:endpoint/*",
                "Condition": {
                    "StringEquals": {
                        "aws:ResourceTag/project": "example-project-id",
                        "aws:CalledViaLast": "bedrock.amazonaws.com"
                    }
                }
            }
        ]
    
}
```

모델을 배포한 후 Amazon Bedrock에서 사용할 수 있습니다. Amazon Bedrock에서 사용할 수 있는지 확인하려면 Studio UI에서 모델 세부 정보 카드로 이동합니다. 모델 카드에 **Bedrock 준비 완료**가 표시되면 모델을 Amazon Bedrock에 등록할 수 있습니다.

**중요**  
기본적으로 Amazon SageMaker JumpStart는 배포하는 모델에 대한 네트워크 액세스를 사용 해제합니다. 네트워크 액세스를 사용 설정한 경우 Amazon Bedrock에서 모델을 사용할 수 없습니다. Amazon Bedrock에서 모델을 사용하려면 네트워크 액세스가 사용 해제된 상태로 모델을 재배포해야 합니다.

Amazon Bedrock과 함께 사용하려면 **엔드포인트 세부 정보** 페이지로 이동하여 Studio UI의 오른쪽 상단 모서리에서 **Bedrock과 함께 사용**을 선택합니다. 팝업이 표시되면 **Bedrock에 등록**을 선택합니다.

# Amazon SageMaker Studio Classic에서 파운데이션 모델 사용
<a name="jumpstart-foundation-models-use-studio"></a>

Studio Classic UI를 통해 공개적으로 사용 가능한 독점 JumpStart 파운데이션 모델을 직접 배포 및 미세 조정할 수 있습니다.

**중요**  
2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 지정되었습니다. 다음 섹션은 Studio Classic 애플리케이션 사용에 관해 다룹니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 [Amazon SageMaker Studio](studio-updated.md) 섹션을 참조하세요.  
Studio Classic은 기존 워크로드에 대해 유지 관리되지만 더 이상 온보딩에 사용할 수 없습니다. 기존 Studio Classic 애플리케이션만 중지하거나 삭제할 수 있으며 새 애플리케이션을 생성할 수 없습니다. [워크로드를 새 Studio 환경으로 마이그레이션하는](studio-updated-migrate.md) 것이 좋습니다.

Studio Classic을 시작하려면 [Amazon SageMaker Studio Classic 시작](studio-launch.md)을 참조하세요.

 ![\[JumpStart foundation models available in Amazon SageMaker Studio Classic.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-fm-studio.png) 

Amazon SageMaker Studio Classic을 연 후 탐색 패널의 SageMaker JumpStart 섹션에서 **모델, 노트북, 솔루션**을 선택합니다. 그런 다음 아래로 스크롤하여 사용 사례에 따라 **파운데이션 모델: 텍스트 생성** 또는 **파운데이션 모델: 이미지 생성** 섹션을 찾으세요.

제안된 파운데이션 모델 카드에서 **모델 보기**를 선택하거나 **모든 모델 탐색**을 선택하여 텍스트 생성 또는 이미지 생성에 사용 가능한 모든 파운데이션 모델을 볼 수 있습니다. 사용 가능한 모델을 모두 표시하도록 선택하면 작업, 데이터 유형, 콘텐츠 유형 또는 프레임워크별로 사용 가능한 모델을 추가로 필터링할 수 있습니다. **검색** 창에서 모델 이름을 직접 검색할 수도 있습니다. 모델 선택에 대한 지침이 필요한 경우 [사용 가능한 파운데이션 모델](jumpstart-foundation-models-latest.md)을 참조하세요.

**중요**  
일부 파운데이션 모델은 EULA(최종 사용자 라이선스 계약)을 명시적으로 수락해야 합니다. 자세한 내용은 [Amazon SageMaker Studio에서의 EULA 수락](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-studio) 섹션을 참조하세요.

Studio Classic에서 선택한 파운데이션 모델에 대해 **모델 보기**를 선택한 후 모델을 배포할 수 있습니다. 자세한 내용은 [모델 배포](jumpstart-deploy.md) 섹션을 참조하세요.

**노트북에서 실행** 섹션에서 **노트북 열기**를 선택하여 Studio Classic에서 직접 파운데이션 모델의 예제 노트북을 실행할 수도 있습니다.

**참고**  
Studio Classic에 독점 파운데이션 모델을 배포하려면 먼저 AWS Marketplace에서 모델을 구독해야 합니다. AWS Marketplace 링크는 Studio Classic 내의 연결된 예제 노트북에 제공됩니다.

모델을 미세 조정할 수 있는 경우 모델을 미세 조정할 수도 있습니다. 자세한 내용은 [모델 미세 조정](jumpstart-fine-tune.md) 섹션을 참조하세요. 미세 조정 가능한 JumpStart 파운데이션 모델 목록은 [미세 조정을 위한 파운데이션 모델 및 하이퍼파라미터](jumpstart-foundation-models-fine-tuning.md)을 참조하세요.

# SageMaker Python SDK로 파운데이션 모델 사용
<a name="jumpstart-foundation-models-use-python-sdk"></a>

모든 JumpStart 파운데이션 모델은 SageMaker Python SDK를 사용하여 프로그래밍 방식 배포에 사용할 수 있습니다.

공개적으로 사용 가능한 파운데이션 모델을 배포하려면 해당 모델 ID를 사용할 수 있습니다. 공개적으로 사용 가능한 모든 파운데이션 모델의 모델 ID를 참조하려면 [사전 훈련된 모델 테이블을 사용한 내장 알고리즘](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)을 참조하세요. **검색** 창에서 파운데이션 모델의 이름을 검색합니다. **항목 표시** 드롭다운 또는 페이지 매김 제어를 사용하여 사용 가능한 모델을 탐색합니다.

독점 모델은 AWS Marketplace에서 모델을 구독한 후 모델 패키지 정보를 사용하여 배포해야 합니다.

JumpStart 사용 가능한 모델 목록은 [사용 가능한 파운데이션 모델](jumpstart-foundation-models-latest.md)에서 확인할 수 있습니다.

**중요**  
일부 파운데이션 모델은 EULA(최종 사용자 라이선스 계약)을 명시적으로 수락해야 합니다. 자세한 내용은 [SageMaker Python SDK를 사용한 EULA 승인](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-python-sdk) 섹션을 참조하세요.

다음 섹션에서는 `JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정하고, `ModelPackage` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 배포하고, `JumpStartModel` 클래스를 사용하여 독점 파운데이션 모델을 배포하는 방법을 보여줍니다.

**Topics**
+ [

# `JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다.
](jumpstart-foundation-models-use-python-sdk-estimator-class.md)
+ [

# `JumpStartModel` 클래스와 함께 공개적으로 사용 가능한 파운데이션 모델 배포
](jumpstart-foundation-models-use-python-sdk-model-class.md)
+ [

# `ModelPackage` 클래스와 함께 독점 파운데이션 모델 배포
](jumpstart-foundation-models-use-python-sdk-proprietary.md)

# `JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다.
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class"></a>

**참고**  
선별된 프라이빗 허브에서 파운데이션 모델을 미세 조정하는 방법에 대한 설명은 [선별된 허브 모델 미세 조정](jumpstart-curated-hubs-fine-tune.md) 섹션을 참조하세요.

SageMaker Python SDK를 사용하여 몇 줄의 코드만으로 내장 알고리즘 또는 사전 훈련된 모델을 미세 조정할 수 있습니다.

1. 먼저 [사전 훈련된 모델 테이블이 있는 기본 제공 알고리즘에서 원하는 모델의 모델 ID](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)를 찾습니다.

1. 모델 ID를 사용하여 훈련 작업을 JumpStart 추정기로 정의합니다.

   ```
   from sagemaker.jumpstart.estimator import JumpStartEstimator
   
   model_id = "huggingface-textgeneration1-gpt-j-6b"
   estimator = JumpStartEstimator(model_id=model_id)
   ```

1. 미세 조정`estimator.fit()`에 사용할 훈련 데이터를 가리키면서 모델에서 를 실행합니다.

   ```
   estimator.fit(
       {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path}
   )
   ```

1. 그런 다음 `deploy` 메서드를 사용하여 추론을 위해 모델을 자동으로 배포합니다. 이 예제에서는 Hugging Face의 GPT-J 6B 모델을 사용합니다.

   ```
   predictor = estimator.deploy()
   ```

1. 그런 다음 `predict` 메서드를 사용하여 배포된 모델로 추론을 실행할 수 있습니다.

   ```
   question = "What is Southern California often abbreviated as?"
   response = predictor.predict(question)
   print(response)
   ```

**참고**  
이 예제에서는 파운데이션 모델 GPT-J 6B 를 사용합니다. 이 모델은 질문 응답, 명명된 엔터티 인식, 요약 등을 포함한 다양한 텍스트 생성 사용 사례에 적합합니다. 모델 사용 사례에 대한 자세한 내용은 [사용 가능한 파운데이션 모델](jumpstart-foundation-models-latest.md) 섹션을 참조하세요.

`JumpStartEstimator`를 생성할 때 선택적으로 모델 버전 또는 인스턴스 유형을 지정할 수 있습니다. `JumpStartEstimator `클래스 및 파라미터에 대한 자세한 내용은 [JumpStartEstimator](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.estimator.JumpStartEstimator)를 참조하세요.

## 기본 인스턴스 유형 확인
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-instance-types"></a>

`JumpStartEstimator` 클래스를 사용하여 사전 학습된 모델을 미세 조정할 때 선택적으로 특정 모델 버전 또는 인스턴스 유형을 포함할 수 있습니다. 모든 JumpStart 모델에는 기본 인스턴스 유형이 있습니다. 다음 코드를 사용하여 기본 훈련 인스턴스 유형을 검색합니다.

```
from sagemaker import instance_types

instance_type = instance_types.retrieve_default(
    model_id=model_id,
    model_version=model_version,
    scope="training")
print(instance_type)
```

`instance_types.retrieve()` 메서드를 사용하여 지정된 JumpStart 모델에 지원되는 모든 인스턴스 유형을 볼 수 있습니다.

## 기본 하이퍼파라미터 확인
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-hyperparameters"></a>

훈련에 사용되는 기본 하이퍼파라미터를 확인하려면 `hyperparameters` 클래스의 `retrieve_default()` 메서드를 사용할 수 있습니다.

```
from sagemaker import hyperparameters

my_hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version)
print(my_hyperparameters)

# Optionally override default hyperparameters for fine-tuning
my_hyperparameters["epoch"] = "3"
my_hyperparameters["per_device_train_batch_size"] = "4"

# Optionally validate hyperparameters for the model
hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)
```

사용 가능한 하이퍼파라미터에 대한 자세한 내용은 [일반적으로 지원되는 미세 조정 하이퍼파라미터](jumpstart-foundation-models-fine-tuning.md#jumpstart-foundation-models-fine-tuning-hyperparameters) 섹션을 참조하세요.

## 기본 지표 정의 확인
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-metric-definitions"></a>

기본 지표 정의를 확인할 수도 있습니다.

```
print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))
```

# `JumpStartModel` 클래스와 함께 공개적으로 사용 가능한 파운데이션 모델 배포
<a name="jumpstart-foundation-models-use-python-sdk-model-class"></a>

SageMaker Python SDK를 사용하여 몇 줄의 코드만으로 기본 제공 알고리즘 또는 사전 훈련된 모델을 SageMaker AI 엔드포인트에 배포할 수 있습니다.

1. 먼저 [사전 훈련된 모델 테이블이 있는 기본 제공 알고리즘에서 원하는 모델의 모델 ID](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)를 찾습니다.

1. 모델 ID를 사용하여 모델을 JumpStart 모델로 정의합니다.

   ```
   from sagemaker.jumpstart.model import JumpStartModel
   
   model_id = "huggingface-text2text-flan-t5-xl"
   my_model = JumpStartModel(model_id=model_id)
   ```

1. `deploy` 메서드를 사용하여 추론을 위해 모델을 자동으로 배포합니다. 이 예제에서는 Hugging Face의 FLAN-T5 XL 모델을 사용합니다.

   ```
   predictor = my_model.deploy()
   ```

1. 그런 다음 `predict` 메서드를 사용하여 배포된 모델로 추론을 실행할 수 있습니다.

   ```
   question = "What is Southern California often abbreviated as?"
   response = predictor.predict(question)
   print(response)
   ```

**참고**  
이 예제에서는 파운데이션 모델 FLAN-T5 XL을 사용합니다. 이 모델은 질문 응답, 요약, 챗봇 생성 등을 포함한 다양한 텍스트 생성 사용 사례에 적합합니다. 모델 사용 사례에 대한 자세한 내용은 [사용 가능한 파운데이션 모델](jumpstart-foundation-models-latest.md) 섹션을 참조하세요.

`JumpStartModel ` 클래스와 해당 파라미터에 대한 자세한 내용은 [JumpStartModel](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.model.JumpStartModel)을 참조하세요.

## 기본 인스턴스 유형 확인
<a name="jumpstart-foundation-models-use-python-sdk-model-class-instance-types"></a>

`JumpStartModel` 클래스를 사용하여 사전 훈련된 모델을 배포할 때 선택적으로 특정 모델 버전 또는 인스턴스 유형을 포함할 수 있습니다. 모든 JumpStart 모델에는 기본 인스턴스 유형이 있습니다. 다음 코드를 사용하여 기본 배포 인스턴스 유형을 검색합니다.

```
from sagemaker import instance_types

instance_type = instance_types.retrieve_default(
    model_id=model_id,
    model_version=model_version,
    scope="inference")
print(instance_type)
```

`instance_types.retrieve()` 메서드를 사용하여 지정된 JumpStart 모델에 지원되는 모든 인스턴스 유형을 확인합니다.

## 추론 구성 요소를 사용하여 여러 모델을 공유 엔드포인트에 배포
<a name="jumpstart-foundation-models-use-python-sdk-model-class-endpoint-types"></a>

추론 구성 요소는 유연성과 확장성을 높이기 위해 엔드포인트에 하나 이상의 모델을 배포하는 데 사용할 수 있는 SageMaker AI 호스팅 객체입니다. JumpStart 모델의 `endpoint_type`를 기본 모델 기반 엔드포인트가 아닌 추론 구성 요소 기반으로 변경해야 합니다.

```
predictor = my_model.deploy(
    endpoint_name = 'jumpstart-model-id-123456789012', 
    endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED
)
```

추론 구성 요소를 사용하여 엔드포인트를 만들고 SageMaker AI 모델을 배포하는 방법에 대한 자세한 내용은 [여러 모델을 사용한 공유 리소스 사용률](realtime-endpoints-deploy-models.md#deployed-shared-utilization) 섹션을 참조하세요.

## 유효한 입력 및 출력 추론 형식 확인
<a name="jumpstart-foundation-models-use-python-sdk-model-class-input-output"></a>

추론에 대해 유효한 데이터 입력 및 출력 형식을 확인하려면 `Serializers` 및 `Deserializers` 클래스의 `retrieve_options()` 메서드를 사용할 수 있습니다.

```
print(sagemaker.serializers.retrieve_options(model_id=model_id, model_version=model_version))
print(sagemaker.deserializers.retrieve_options(model_id=model_id, model_version=model_version))
```

## 지원되는 콘텐츠 확인 및 유형 수락
<a name="jumpstart-foundation-models-use-python-sdk-model-class-content-types"></a>

마찬가지로 `retrieve_options()` 메서드를 사용하여 지원되는 콘텐츠를 확인하고 모델의 유형을 수락할 수 있습니다.

```
print(sagemaker.content_types.retrieve_options(model_id=model_id, model_version=model_version))
print(sagemaker.accept_types.retrieve_options(model_id=model_id, model_version=model_version))
```

유틸리티에 대한 자세한 내용은 [Utility API](https://sagemaker.readthedocs.io/en/stable/api/utility/index.html)를 참조하세요.

# `ModelPackage` 클래스와 함께 독점 파운데이션 모델 배포
<a name="jumpstart-foundation-models-use-python-sdk-proprietary"></a>

독점 모델은 AWS Marketplace에서 모델을 구독한 후 모델 패키지 정보를 사용하여 배포해야 합니다. SageMaker AI 및에 대한 자세한 내용은의 Amazon SageMaker AI 알고리즘 및 모델 구매 및 판매를 AWS Marketplace참조하세요. [ Amazon SageMaker AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html) 최신 독점 모델에 대한 AWS Marketplace 링크를 찾으려면 [ Amazon SageMaker JumpStart 시작하기를 참조하세요](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&sagemaker-jumpstart-cards.q=proprietary&sagemaker-jumpstart-cards.q_operator=AND).

에서 선택한 모델을 구독 AWS Marketplace한 후 SageMaker Python SDK 및 모델 공급자와 연결된 SDK를 사용하여 파운데이션 모델을 배포할 수 있습니다. 예를 들어 AI21 Labs, Cohere 및 LightOn은 각각 `"ai21[SM]"`, `cohere-sagemaker` 및 `lightonsage` 패키지를 사용합니다.

예를 들어 AI21 Labs의 Jurassic-2 Jumbo Instruct를 사용하여 JumpStart 모델을 정의하려면 다음 코드를 사용합니다.

```
import sagemaker
import ai21

role = get_execution_role()
sagemaker_session = sagemaker.Session()
model_package_arn = "arn:aws:sagemaker:us-east-1:865070037744:model-package/j2-jumbo-instruct-v1-1-43-4e47c49e61743066b9d95efed6882f35"

my_model = ModelPackage(
    role=role, model_package_arn=model_package_arn, sagemaker_session=sagemaker_session
)
```

단계별 예제를 보려면 SageMaker Studio Classic에서 선택한 독점 파운데이션 모델과 관련된 노트북을 찾아 실행하세요. 자세한 정보는 [Amazon SageMaker Studio Classic에서 파운데이션 모델 사용](jumpstart-foundation-models-use-studio.md)를 참조하세요. SageMaker Python SDK에 대한 자세한 설명은 [https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage) 섹션을 참조하세요.

# SageMaker AI 콘솔에서 파운데이션 모델 살펴보기
<a name="jumpstart-foundation-models-use-console"></a>

Amazon SageMaker AI 콘솔을 통해 직접 JumpStart 파운데이션 모델을 탐색할 수 있습니다.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 패널에서 **JumpStart**를 찾아 **파운데이션 모델**을 선택합니다.

1. 모델을 찾아보거나 특정 모델을 검색합니다. 모델 선택 지침이 필요한 경우 [사용 가능한 파운데이션 모델](jumpstart-foundation-models-latest.md)을 참조하세요. **모델 보기**를 선택하면 선택한 파운데이션 모델의 모델 세부 정보 페이지를 볼 수 있습니다.

1. 모델이 독점 모델인 경우 모델 세부 정보 페이지의 오른쪽 상단에 있는 **구독**을 선택하여 AWS Marketplace에서 모델을 구독하세요. 선택한 모델의 구독을 확인하는 이메일을 받게 됩니다. SageMaker AI 및에 대한 자세한 내용은의 Amazon SageMaker AI 알고리즘 및 모델 구매 및 판매를 AWS Marketplace참조하세요. [ Amazon SageMaker AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html) 공개적으로 사용 가능한 파운데이션 모델은 구독이 필요하지 않습니다.

1. GitHub에서 예제 노트북을 보려면 모델 세부 정보 페이지의 오른쪽 상단에 있는 **코드 보기**를 선택합니다.

1. Amazon SageMaker Studio Classic에서 직접 예제 노트북을 보고 실행하려면 모델 세부 정보 페이지의 오른쪽 상단에 있는 **Studio에서 노트북 열기**를 선택하세요.

# 모델 소스 및 라이선스 계약
<a name="jumpstart-foundation-models-choose"></a>

Amazon SageMaker JumpStart는 타사 소스 및 파트너가 제공하는 수백 개의 공개적으로 사용 가능한 독점 파운데이션 모델에 대한 액세스를 제공합니다. SageMaker AI 콘솔, Studio 또는 Studio Classic에서 직접 JumpStart 파운데이션 모델 선택을 탐색할 수 있습니다.

## 라이선스 및 모델 소스
<a name="jumpstart-foundation-models-choose-source"></a>

Amazon SageMaker JumpStart는 공개적으로 사용 가능한 파운데이션 모델과 독점 파운데이션 모델 모두에 대한 액세스를 제공합니다. 파운데이션 모델은 타사 오픈 소스 및 독점 공급자로부터 온보딩되고 유지 관리됩니다. 따라서 모델 소스에서 지정한 대로 다른 라이선스로 출시됩니다. 사용하는 모든 파운데이션 모델의 라이선스를 반드시 검토하세요. 콘텐츠를 다운로드하거나 사용하기 전에 해당 라이선스 조건을 검토 및 준수하고 사용 사례에 적합한지 확인해야 합니다. 다음은 몇 가지 일반적인 파운데이션 모델 라이선스의 예입니다.
+ Alexa Teacher Model
+ Apache 2.0
+ BigScience Responsible AI License v1.0
+ CreativeML Open RAIL\$1\$1-M license

마찬가지로 모든 독점 파운데이션 모델의 경우 모델 공급자의 사용 약관 및 사용 지침을 검토하고 준수해야 합니다. 특정 독점 모델의 라이선스 정보에 대해 질문이 있는 경우 모델 공급자에 직접 문의하세요. AWS Marketplace의 각 모델 페이지의 **지원** 탭에서 모델 공급자 연락처 정보를 찾을 수 있습니다.

## 최종 사용자 라이선스 계약
<a name="jumpstart-foundation-models-choose-eula"></a>

사용 전 일부 JumpStart 파운데이션 모델은 배포 전에 EULA(최종 사용자 라이선스 계약)을 명시적으로 수락해야 합니다.

### Amazon SageMaker Studio에서의 EULA 수락
<a name="jumpstart-foundation-models-choose-eula-studio"></a>

Studio에서 JumpStart 파운데이션 모델을 미세 조정, 배포 또는 평가하기 전에 최종 사용자 라이선스 계약을 수락하라는 메시지가 표시될 수 있습니다. Studio에서 JumpStart 파운데이션 모델을 시작하려면 [Studio에서 파운데이션 모델 사용](jumpstart-foundation-models-use-studio-updated.md) 섹션을 참조하세요.

**중요**  
2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 명명되었습니다. 다음 섹션은 업데이트된 Studio 환경 사용에 해당합니다. Studio Classic 애플리케이션 사용에 대한 자세한 내용은 [Amazon SageMaker Studio Classic](studio.md) 섹션을 참조하세요.

일부 JumpStart 파운데이션 모델은 배포 전에 최종 사용자 라이선스 계약을 수락해야 합니다. 사용하려는 파운데이션 모델에 적용되는 경우 Studio는 EULA 콘텐츠가 포함된 창을 표시합니다. 사용자는 모델을 다운로드하거나 사용하기 전에 해당 라이선스 조건을 검토 및 준수하고 사용 사례에 적합한지 확인해야 합니다.

#### Amazon SageMaker Studio Classic에서의 EULA 수락
<a name="jumpstart-foundation-models-choose-eula-studio-classic"></a>

Studio Classic에서 JumpStart 파운데이션 모델을 배포하거나 JumpStart 파운데이션 모델 노트북을 열기 전에 최종 사용자 라이선스 계약을 수락하라는 메시지가 표시될 수 있습니다. Studio Classic에서 JumpStart 파운데이션 모델을 시작하려면 [Amazon SageMaker Studio Classic에서 파운데이션 모델 사용](jumpstart-foundation-models-use-studio.md)를 참조하세요.

**중요**  
2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 명명되었습니다. 다음 섹션은 Studio Classic 애플리케이션 사용에 관해 다룹니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 [Amazon SageMaker Studio](studio-updated.md) 섹션을 참조하세요.  
Studio Classic은 기존 워크로드에 대해 유지 관리되지만 더 이상 온보딩에 사용할 수 없습니다. 기존 Studio Classic 애플리케이션만 중지하거나 삭제할 수 있으며 새 애플리케이션을 생성할 수 없습니다. [워크로드를 새 Studio 환경으로 마이그레이션하는](studio-updated-migrate.md) 것이 좋습니다.

일부 JumpStart 파운데이션 모델은 배포 전에 최종 사용자 라이선스 계약을 수락해야 합니다. 이것이 사용하기로 선택한 기본 모델에 적용되는 경우, **배포** 또는 **노트북 열기**를 선택하면 Studio Classic에서 아래에 **최종 사용자 라이선스 계약(EULA) 및 사용 목적 제한 정책(AUP) 검토**라는 제목의 창이 나타납니다. 사용자는 모델을 다운로드하거나 사용하기 전에 해당 라이선스 조건을 검토 및 준수하고 사용 사례에 적합한지 확인해야 합니다.

### SageMaker Python SDK를 사용한 EULA 승인
<a name="jumpstart-foundation-models-choose-eula-python-sdk"></a>

다음 섹션에서는 SageMaker Python SDK를 사용하여 JumpStart 모델을 배포하거나 미세 조정할 때 EULA 수락을 명시적으로 선언하는 방법을 보여줍니다. SageMaker Python SDK를 사용하여 JumpStart 파운데이션 모델을 시작하는 방법에 대한 자세한 내용은 [SageMaker Python SDK로 파운데이션 모델 사용](jumpstart-foundation-models-use-python-sdk.md) 섹션을 참조하세요.

시작하기 전에 다음을 수행했는지 확인합니다.
+ 사용하려는 모델의 최신 버전으로 업데이트합니다.
+ 최신 버전의 SageMaker Python SDK를 설치합니다.

**중요**  
다음 워크플로를 사용하려면 SageMaker Python SDK의 [v2.198.0](https://github.com/aws/sagemaker-python-sdk/releases/tag/v2.198.0) 이상이 설치되어 있어야 합니다.

#### JumpStart 모델 배포 시 EULA 수락
<a name="jumpstart-foundation-models-choose-eula-python-sdk-deploy"></a>

최종 사용자 라이선스 계약의 승인이 필요한 모델의 경우 JumpStart 모델 배포 시 EULA 수락을 명시적으로 선언해야 합니다.

```
from sagemaker.jumpstart.model import JumpStartModel
model_id = "meta-textgeneration-llama-2-13b"
my_model = JumpStartModel(model_id=model_id)

# Declare EULA acceptance when deploying your JumpStart model
predictor = my_model.deploy(accept_eula=True)
```

`accept_eula` 값은 기본적으로 `None`이며 최종 사용자 라이선스 계약을 승인하려면 `True`로 명시적으로 재정의되어야 합니다. 자세한 내용은 [JumpStartModel](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.model.JumpStartModel) 참조하세요.

#### JumpStart 모델을 미세 조정할 때 EULA 수락
<a name="jumpstart-foundation-models-choose-eula-python-sdk-fine-tune"></a>

최종 사용자 라이선스 계약의 승인이 필요한 미세 조정 모델의 경우 JumpStart 예측기에서 `fit()` 메서드를 실행할 때 EULA 수락을 명시적으로 선언해야 합니다. 사전 학습된 모델을 미세 조정하면 원래 모델의 가중치가 변경됩니다. 따라서 나중에 미세 조정된 모델을 배포할 때는 EULA를 수락할 필요가 없습니다.

**참고**  
다음 예시에서는 `accept_eula=False`로 설정합니다. EULA를 수락하려면 값을 `True`로 수동으로 변경해야 합니다.

```
from sagemaker.jumpstart.estimator import JumpStartEstimator
model_id = "meta-textgeneration-llama-2-13b"

# Declare EULA acceptance when defining your JumpStart estimator
estimator = JumpStartEstimator(model_id=model_id)
estimator.fit(accept_eula=False,
{"train": training_dataset_s3_path, "validation": validation_dataset_s3_path}
)
```

기본적으로 `accept_eula` 값은 `None`이며 최종 사용자 라이선스 계약을 승인하려면 `fit()` 메서드 내에서 `"true"`로 명시적으로 재정의되어야 합니다. 자세한 내용은 [JumpStartEstimator](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.jumpstart.estimator.JumpStartEstimator)를 참조하세요.

#### EULA 수락 SageMaker Python SDK 버전 2.198.0 이전
<a name="jumpstart-foundation-models-choose-eula-python-sdk-previous-version"></a>

**중요**  
SageMaker Python SDK의 [2.198.0](https://github.com/aws/sagemaker-python-sdk/releases/tag/v2.198.0) 이전 버전을 사용하는 경우 SageMaker `Predictor` 클래스를 사용하여 모델 EULA를 수락해야 합니다.

SageMaker Python SDK를 사용하여 프로그래밍 방식으로 JumpStart 파운데이션 모델을 배포한 후 SageMaker 클래스를 사용하여 배포된 엔드포인트에 대해 추론을 실행할 수 있습니다. 최종 사용자 라이선스 계약의 승인이 필요한 모델의 경우 `Predictor` 클래스 호출 시 EULA 수락을 명시적으로 선언해야 합니다.

```
predictor.predict(payload, custom_attributes="accept_eula=true")
```

`accept_eula` 값은 기본적으로 `false`이며 최종 사용자 라이선스 계약을 승인하려면 `true`로 명시적으로 재정의되어야 합니다. `accept_eula`이 `false`로 설정된 동안 추론을 실행하려고 하면 예측자는 오류를 반환합니다. SageMaker Python SDK를 사용하여 JumpStart 파운데이션 모델을 시작하는 방법에 대한 자세한 내용은 [SageMaker Python SDK로 파운데이션 모델 사용](jumpstart-foundation-models-use-python-sdk.md) 섹션을 참조하세요.

**중요**  
`custom_attributes` 파라미터는 `"key1=value1;key2=value2"` 형식의 키-값 쌍을 허용합니다. 동일한 키를 여러 번 사용하는 경우 추론 서버는 키와 관련된 마지막 값을 사용합니다. 예를 들어 `custom_attributes` 매개변수에 `"accept_eula=false;accept_eula=true"`을 전달하면 추론 서버가 값 `true`을 `accept_eula` 키와 연결합니다.

# 파운데이션 모델 사용자 지정
<a name="jumpstart-foundation-models-customize"></a>

파운데이션 모델은 다양한 작업을 해결할 수 있는 매우 강력한 모델입니다. 대부분의 작업을 효과적으로 해결하려면 이러한 모델에 특정 형태의 사용자 지정이 필요합니다.

먼저 파운데이션 모델을 특정 사용 사례에 맞게 사용자 지정하는 데 권장되는 방법은 프롬프트 엔지니어링을 사용하는 것입니다. 잘 설계되고 상황에 맞는 프롬프트를 파운데이션 모델에 제공하면 모델 가중치를 미세 조정하거나 변경하지 않고도 원하는 결과를 얻을 수 있습니다. 자세한 내용은 [파운데이션 모델을 위한 프롬프트 엔지니어링](jumpstart-foundation-models-customize-prompt-engineering.md) 섹션을 참조하세요.

프롬프트 엔지니어링만으로는 파운데이션 모델을 특정 작업에 맞게 사용자 지정할 수 없는 경우 추가 도메인별 데이터를 기반으로 파운데이션 모델을 미세 조정할 수 있습니다. 자세한 내용은 [미세 조정을 위한 파운데이션 모델 및 하이퍼파라미터](jumpstart-foundation-models-fine-tuning.md) 섹션을 참조하세요. 미세 조정 프로세스에는 모델 가중치 변경이 포함됩니다.

재훈련 없이 지식 라이브러리의 정보로 모델을 사용자 지정하려면 [검색 증강 생성](jumpstart-foundation-models-customize-rag.md)을 참조하세요.

# 파운데이션 모델을 위한 프롬프트 엔지니어링
<a name="jumpstart-foundation-models-customize-prompt-engineering"></a>

프롬프트 엔지니어링은 특정 유형의 출력을 생성하기 위해 언어 모델에 대한 프롬프트 또는 입력 자극을 설계하고 개선하는 프로세스입니다. 프롬프트 엔지니어링에는 적절한 키워드를 선택하고 컨텍스트를 제공하며 모델이 원하는 응답을 생성하도록 유도하는 방식으로 입력을 형성하는 것이 포함되며, 이는 파운데이션 모델의 동작과 출력을 능동적으로 형성하는 데 필수적인 기법입니다.

효과적인 프롬프트 엔지니어링은 모델 행동을 지시하고 원하는 응답을 달성하는 데 매우 중요합니다. 프롬프트 엔지니어링을 통해 미세 조정과 같은 복잡한 사용자 지정 조치 없이도 모델의 톤, 스타일 및 도메인 전문성을 제어할 수 있습니다. 추가 데이터에 대한 모델 미세 조정을 것을 고려하기 전에 프롬프트 엔지니어링에 시간을 할애하는 것이 좋습니다. 목표는 모델이 보이지 않거나 제한된 데이터 시나리오에서 모델이 일반화되고 잘 수행될 수 있도록 모델에 충분한 컨텍스트와 지침을 제공하는 것입니다.

## 제로샷 학습
<a name="jumpstart-foundation-models-customize-prompt-engineering-zero-shot"></a>

제로샷 학습에는 보이지 않는 클래스나 작업을 일반화하고 예측하도록 모델을 훈련시키는 것이 포함됩니다. 제로샷 학습 환경에서 프롬프트 엔지니어링을 수행하려면 대상 작업에 대한 정보와 원하는 출력 형식을 명시적으로 제공하는 프롬프트를 구성하는 것이 좋습니다. 예를 들어, 훈련 중에 모델이 인식하지 못한 일련의 클래스에 대해 제로샷 텍스트 분류를 위한 파운데이션 모델을 사용하려는 경우, 잘 설계된 프롬프트는 다음과 같습니다. `"Classify the following text as either sports, politics, or entertainment: [input text]."` 대상 클래스와 예상 출력 형식을 명시적으로 지정하면 보이지 않는 클래스에서도 정확한 예측을 수행하도록 모델을 유도할 수 있습니다.

## 퓨샷 학습
<a name="jumpstart-foundation-models-customize-prompt-engineering-few-shot"></a>

퓨샷 학습에는 새로운 클래스나 작업에 대해 제한된 양의 데이터로 모델을 훈련시키는 것이 포함됩니다. 퓨샷 학습 환경에서의 프롬프트 엔지니어링은 사용 가능한 제한된 훈련 데이터를 효과적으로 사용하는 프롬프트를 설계하는 데 중점을 둡니다. 예를 들어 이미지 분류 작업에 파운데이션 모델을 사용하고 새 이미지 클래스의 예제가 몇 개뿐인 경우, 대상 클래스의 자리 표시자와 함께 사용 가능한 레이블이 지정된 예제가 포함된 프롬프트를 엔지니어링할 수 있습니다. 예를 들어 프롬프트는 `"[image 1], [image 2], and [image 3] are examples of [target class]. Classify the following image as [target class]"`과 같을 수 있습니다. 레이블이 지정된 제한된 예제를 통합하고 대상 클래스를 명시적으로 지정하면 최소한의 훈련 데이터로도 모델을 일반화하고 정확한 예측을 수행하도록 유도할 수 있습니다.

## 지원되는 추론 파라미터
<a name="jumpstart-foundation-models-customize-prompt-engineering-inference-params"></a>

추론 파라미터를 변경하면 프롬프트에 대한 응답에도 영향을 미칠 수 있습니다. 프롬프트에 최대한 많은 특이성과 컨텍스트를 추가하려고 할 수 있지만 지원되는 추론 파라미터를 실험할 수도 있습니다. 다음은 일반적으로 지원되는 일부 추론 파라미터의 예입니다.


| 추론 파라미터 | 설명 | 
| --- | --- | 
| `max_new_tokens` | 파운데이션 모델 응답의 최대 출력 길이입니다. 유횻값: 정수, 범위: 양의 정수. | 
| `temperature` | 출력의 무작위성을 제어합니다. 온도가 높을수록 확률이 낮은 단어의 출력 시퀀스가 생성되고 온도가 낮을수록 확률이 높은 단어의 출력 시퀀스가 생성됩니다. `temperature=0`인 경우 응답은 확률이 가장 높은 단어(그리스 디코딩)로만 구성됩니다. 유효한 값: 부동 소수점, 범위: 양의 부동 소수점. | 
| `top_p` | 텍스트 생성의 각 단계에서 모델은 누적 확률이 `top_p`인 가능한 가장 작은 단어 세트에서 샘플링합니다. 유효한 값: 부동 소수점, 범위: 0.0, 1.0. | 
| `return_full_text` | `True`인 경우 입력 텍스트는 생성된 출력 텍스트의 일부입니다. 유효한 값: 부울, 기본값: False. | 

파운데이션 모델 추론에 대한 자세한 정보는 [`JumpStartModel` 클래스와 함께 공개적으로 사용 가능한 파운데이션 모델 배포](jumpstart-foundation-models-use-python-sdk-model-class.md) 섹션을 참조하세요.

프롬프트 엔지니어링만으로는 특정 비즈니스 요구 사항, 도메인별 언어, 대상 작업 또는 기타 요구 사항에 맞게 기본 모델을 조정할 수 없는 경우 추가 데이터를 기반으로 모델을 미세 조정하거나 검색 증강 세대(RAG)를 사용하여 보관된 지식 소스에서 향상된 컨텍스트로 모델 아키텍처를 확장할 수 있습니다. 자세한 내용은 [미세 조정을 위한 파운데이션 모델 및 하이퍼파라미터](jumpstart-foundation-models-fine-tuning.md) 또는 [검색 증강 생성](jumpstart-foundation-models-customize-rag.md)을 참조하세요.

# 미세 조정을 위한 파운데이션 모델 및 하이퍼파라미터
<a name="jumpstart-foundation-models-fine-tuning"></a>

파운데이션 모델은 계산 비용이 많이 들고 레이블이 지정되지 않은 대규모 코퍼스에서 훈련됩니다. 사전 훈련된 파운데이션 모델을 미세 조정하는 것은 광범위한 기능을 활용하면서 자체 소규모 코퍼스에서 모델을 사용자 지정할 수 있는 경제적인 방법입니다. 미세 조정은 추가 훈련을 포함하는 사용자 지정 방법이며 모델의 가중치를 변경합니다.

다음과 같은 경우 미세 조정이 유용할 수 있습니다.
+ 특정 비즈니스 요구 사항에 맞게 모델을 사용자 지정
+ 업계 전문 용어, 기술 용어 또는 기타 전문 용어와 같은 도메인별 언어를 성공적으로 사용하기 위한 모델
+ 특정 작업에 대한 성능 향상
+ 애플리케이션에서의 정확하고 상대적이며 상황에 맞는 응답
+ 보다 사실적이고 독성이 적으며 특정 요구 사항에 더 잘 부합하는 대응

사용 사례와 선택한 파운데이션 모델에 따라 미세 조정을 위해 취할 수 있는 두 가지 주요 접근 방식이 있습니다.

1. 도메인별 데이터를 기반으로 모델을 미세 조정하려면 [도메인 조정을 사용하여 대규모 언어 모델(LLM) 미세 조정](jumpstart-foundation-models-fine-tuning-domain-adaptation.md)을 참조하세요.

1. 프롬프트 및 응답 예제를 사용한 명령어 기반 미세 조정에 관심이 있는 경우 [프롬프트 지침을 사용하여 대형 언어 모델(LLM) 미세 조정](jumpstart-foundation-models-fine-tuning-instruction-based.md)을 참조하세요.

## 미세 조정에 사용할 수 있는 파운데이션 모델
<a name="jumpstart-foundation-models-fine-tuning-models"></a>

다음 JumpStart 파운데이션 모델을 미세 조정할 수 있습니다.
+ 블룸 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ 코드 Llama 13B
+ 코드 Llama 13B Python
+ 코드 Llama 34B
+ 코드 Llama 34B Python
+ 코드 Llama 70B
+ 코드 Llama 70B Python
+ 코드 Llama 7B
+ 코드 Llama 7B Python
+ CyberAgentLM2-7B-Chat(CALM2-7B-Chat)
+ Falcon 40B BF16
+ Falcon 40B Instruct BF16
+ Falcon 7B BF16
+ Falcon 7B Instruct BF16
+ Flan-T5 Base
+ Flan-T5 Large
+ Flan-T5 Small
+ Flan-T5 XL
+ Flan-T5 XXL
+ Gemma 2B
+ Gemma 2B 지침
+ Gemma 7B
+ Gemma 7B 지침
+ GPT-2 XL
+ GOT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ LightGPT Instruct 6B
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron
+ Mistral 7B
+ Mixtral 8x7B
+ Mixtral 8x7B Instruct
+ RedPajama INCITE Base 3B V1
+ RedPajama INCITE Base 7B V1
+ RedPajama INCITE Chat 3B V1
+ RedPajama INCITE Chat 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INCITE Instruct 7B V1
+ Stable Diffusion 2.1

## 일반적으로 지원되는 미세 조정 하이퍼파라미터
<a name="jumpstart-foundation-models-fine-tuning-hyperparameters"></a>

파운데이션 모델마다 미세 조정 시 다양한 하이퍼파라미터를 지원합니다. 다음은 훈련 중에 모델을 추가로 사용자 지정할 수 있는 일반적으로 지원되는 하이퍼파라미터입니다.


| 추론 파라미터 | 설명 | 
| --- | --- | 
| `epoch` | 모델이 훈련 중에 미세 조정 데이터세트를 통과하는 패스 수입니다. 반드시 1보다 큰 정수이어야 합니다. | 
| `learning_rate` |  각 훈련 예제 미세 조정의 배치를 살펴본 후 모델 가중치가 업데이트되는 비율입니다. 0보다 큰 양수 부동이어야 합니다. | 
| `instruction_tuned` |  모델을 교육할지 여부. `'True'` 또는 `'False'`이어야 합니다. | 
| `per_device_train_batch_size` |  훈련을 위한 GPU 코어 또는 CPU당 배치 크기입니다. 반드시 양의 정수여야 합니다. | 
| `per_device_eval_batch_size` |  평가를 위한 GPU 코어 또는 CPU당 배치 크기입니다. 반드시 양의 정수여야 합니다. | 
| `max_train_samples` |  디버깅 또는 더 빠른 훈련을 위해 훈련 예제 수를 이 값으로 자릅니다. 값 -1은 모델이 모든 훈련 샘플을 사용함을 의미합니다. 반드시 양의 정수 또는 -1이어야 합니다. | 
| `max_val_samples` |  디버깅 또는 더 빠른 훈련을 위해 검증 예제 수를 이 값으로 자릅니다. 값 -1은 모델이 모든 검증 샘플을 사용함을 의미합니다. 반드시 양의 정수 또는 -1이어야 합니다. | 
| `max_input_length` |  토큰화 후 최대 총 입력 시퀀스 길이입니다. 이보다 긴 시퀀스는 잘립니다. -1인 경우 `max_input_length`는 최소 1024로 설정되고 `model_max_length`는 토큰화기에 의해 정의됩니다. 양수 값으로 설정하면 `max_input_length`가 제공된 값의 최소값과 토큰화기에 의해 정의된 `model_max_length`로 설정됩니다. 반드시 양의 정수 또는 -1이어야 합니다. | 
| `validation_split_ratio` |  검증 채널이 없는 경우 훈련 데이터에서 분할된 훈련 검증의 비율입니다. 0에서 1 사이 범위여야 합니다. | 
| `train_data_split_seed` |  검증 데이터가 없는 경우 입력 훈련 데이터의 무작위 분할을 모델에서 사용하는 훈련 및 검증 데이터에 수정합니다. 정수여야 합니다. | 
| `preprocessing_num_workers` |  전처리에 사용할 프로세스의 수입니다. `None`인 경우 기본 프로세스가 사전 처리에 사용됩니다. | 
| `lora_r` |  가중치 업데이트의 조정 인자 역할을 하는 저순위 조정(LoRA ) r 값입니다. 반드시 양의 정수여야 합니다. | 
| `lora_alpha` |  가중치 업데이트의 조정 인자 역할을 하는 저순위 조정(LoRA ) 알파 값입니다. 일반적으로 `lora_r` 크기의 2\$14배입니다. 반드시 양의 정수여야 합니다. | 
| `lora_dropout` |  하위 순위 조정(LoRA ) 계층의 드롭아웃 값은 0\$11 사이의 양수 부동 소수여야 합니다. | 
| `int8_quantization` |  `True`인 경우 모델은 훈련을 위해 8비트 정밀도로 로드됩니다. | 
| `enable_fsdp` |  `True`인 경우 훈련은 완전 샤딩된 데이터 병렬 처리를 사용합니다. | 

Studio에서 모델을 미세 조정할 때 하이퍼파라미터 값을 지정할 수 있습니다. 자세한 내용은 [Studio에서 모델 미세 조정](jumpstart-foundation-models-use-studio-updated-fine-tune.md) 섹션을 참조하세요.

SageMaker Python SDK를 사용하여 모델을 미세 조정할 때 기본 하이퍼파라미터 값을 재정의할 수도 있습니다. 자세한 내용은 [`JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다.](jumpstart-foundation-models-use-python-sdk-estimator-class.md) 섹션을 참조하세요.

# 도메인 조정을 사용하여 대규모 언어 모델(LLM) 미세 조정
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation"></a>

도메인 적응 미세 조정을 통해 사전 훈련된 파운데이션 모델을 활용하고 제한된 도메인별 데이터를 사용하여 특정 작업에 적응할 수 있습니다. 프롬프트 엔지니어링 노력으로도 충분한 사용자 지정이 이루어지지 않는 경우, 도메인 적응 미세 조정을 사용하여 산업 용어, 기술 용어 또는 기타 특수 데이터와 같은 도메인별 언어를 사용하여 모델을 작동시킬 수 있습니다. 이 미세 조정 프로세스는 모델의 가중치를 수정합니다.

도메인별 데이터세트에서 모델을 미세 조정하려면

1. 학습 데이터를 준비합니다. 지침은 [도메인 조정 미세 조정을 위한 훈련 데이터 준비 및 업로드](#jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data) 섹션을 참조하세요.

1. 미세 조정 훈련 작업을 생성합니다. 지침은 [지침 기반 미세 조정을 위한 훈련 작업 생성](#jumpstart-foundation-models-fine-tuning-domain-adaptation-train) 섹션을 참조하세요.

에서 엔드 투 엔드 예제를 찾을 수 있습니다[예제 노트북](#jumpstart-foundation-models-fine-tuning-domain-adaptation-examples).

도메인 적응 미세 조정은 다음 파운데이션 모델에서 사용할 수 있습니다.

**참고**  
Llama 2 7B와 같은 일부 JumpStart 파운데이션 모델은 미세 조정 및 추론 수행 전에 최종 사용자 라이선스 계약을 수락해야 합니다. 자세한 내용은 [최종 사용자 라이선스 계약](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula) 섹션을 참조하세요.
+ Bloom 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ GPT-2 XL
+ GOT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron

## 도메인 조정 미세 조정을 위한 훈련 데이터 준비 및 업로드
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data"></a>

도메인 조정 미세 조정을 위한 훈련 데이터는 CSV, JSON 또는 TXT 파일 형식으로 제공할 수 있습니다. 모든 훈련 데이터는 단일 폴더 내의 단일 파일에 있어야 합니다.

훈련 데이터는 CSV 또는 JSON 훈련 데이터 파일의 **텍스트** 열에서 가져옵니다. **텍스트 레이블**이 지정된 열이 없는 경우 훈련 데이터는 CSV 또는 JSON 훈련 데이터 파일의 첫 번째 열에서 가져옵니다.

다음은 미세 조정에 사용할 TXT 파일의 예제 본문입니다.

```
This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of ....
```

### 훈련 및 테스트를 위한 데이터 분할
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-split-data"></a>

필요에 따라 검증 데이터가 포함된 다른 폴더를 제공할 수 있습니다. 이 폴더에는 CSV, JSON 또는 TXT 파일 하나도 포함되어야 합니다. 검증 데이터세트가 제공되지 않은 경우 검증 목적으로 설정된 양의 훈련 데이터가 따로 설정됩니다. 모델을 미세 조정할 하이퍼파라미터를 선택할 때 검증에 사용되는 훈련 데이터의 비율을 조정할 수 있습니다.

### Amazon S3에 미세 조정 데이터 업로드
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-upload-data"></a>

준비된 데이터를 Amazon Simple Storage Service(Amazon S3)에 업로드하여 JumpStart 파운데이션 모델을 미세 조정할 때 사용합니다. 다음 명령을 사용하여 데이터를 업로드할 수 있습니다.

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.txt"
train_data_location = f"s3://{output_bucket}/training_folder"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## 지침 기반 미세 조정을 위한 훈련 작업 생성
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-train"></a>

데이터가 Amazon S3에 업로드된 후 JumpStart 파운데이션 모델을 미세 조정하고 배포할 수 있습니다. Studio에서 모델을 미세 조정하려면 [Studio에서 모델 미세 조정](jumpstart-foundation-models-use-studio-updated-fine-tune.md) 섹션을 참조하세요. SageMaker Python SDK를 사용하여 모델을 미세 조정하려면 [`JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다.](jumpstart-foundation-models-use-python-sdk-estimator-class.md) 섹션을 참조하세요.

## 예제 노트북
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-examples"></a>

도메인 조정 미세 조정에 대한 자세한 내용은 다음 예제 노트북을 참조하세요.
+ [SageMaker JumpStart 파운데이션 모델 - 도메인별 데이터세트에 대한 텍스트 생성 GPT-J 6B 모델 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/domain-adaption-finetuning-gpt-j-6b.html)
+ [JumpStart에서 LLaMA 2 모델 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)

# 프롬프트 지침을 사용하여 대형 언어 모델(LLM) 미세 조정
<a name="jumpstart-foundation-models-fine-tuning-instruction-based"></a>

명령어 기반 미세 조정은 레이블이 지정된 예제를 사용하여 특정 작업에 대한 사전 훈련된 파운데이션 모델의 성능을 개선합니다. 레이블이 지정된 예제는 프롬프트, 응답 쌍으로 형식이 지정되고 지시사항으로 구문이 지정됩니다. 이 미세 조정 프로세스는 모델의 가중치를 수정합니다. 명령어 기반 미세 조정에 대한 자세한 내용은 [FLAN 소개: 명령어 조정 기능을 갖춘 보다 일반화 가능한 언어 모델](https://ai.googleblog.com/2021/10/introducing-flan-more-generalizable.html) 및 [스케일링 명령어-미세 조정된 언어 모델](https://arxiv.org/abs/2210.11416)을 참조하세요.

FLAN(Fine-tuned LANguage Net) 모델은 명령어 조정을 사용하여 모델이 일반적인 다운스트림 NLP 작업을 보다 쉽게 해결할 수 있도록 합니다. Amazon SageMaker JumpStart는 FLAN 모델 제품군에 다양한 파운데이션 모델을 제공합니다. 예를 들어 FLAN-T5 모델은 다양한 일반 사용 사례에 대해 제로샷 성능을 높이기 위해 광범위한 작업에 대해 미세 조정된 명령입니다. 추가 데이터와 미세 조정을 통해 훈련 전에는 고려하지 않았던 보다 구체적인 작업에 명령어 기반 모델을 추가로 적용할 수 있습니다.

프롬프트-응답 페어 작업 지침을 사용하여 특정 작업에서 LLM을 미세 조정하려면:

1. JSON 파일에서 지침을 준비합니다. 프롬프트-응답 페어 파일의 필수 형식과 데이터 폴더 구조에 대한 자세한 내용은 [지침 기반 미세 조정을 위한 훈련 데이터 준비 및 업로드](#jumpstart-foundation-models-fine-tuning-instruction-based-prepare-data) 섹션을 참조하세요.

1. 미세 조정 훈련 작업을 생성합니다. 지침은 [지침 기반 미세 조정을 위한 훈련 작업 생성](#jumpstart-foundation-models-fine-tuning-instruction-based-train) 섹션을 참조하세요.

[예제 노트북](#jumpstart-foundation-models-fine-tuning-instruction-based-examples)에서 엔드 투 엔드 예제를 찾을 수 있습니다.

JumpStart 파운데이션 모델의 하위 집합만 명령 기반 미세 조정과 호환됩니다. 명령어 기반 미세 조정은 다음과 같은 파운데이션 모델에서 사용할 수 있습니다.

**참고**  
Llama 2 7B와 같은 일부 JumpStart 파운데이션 모델은 미세 조정 및 추론 수행 전에 최종 사용자 라이선스 계약을 수락해야 합니다. 자세한 내용은 [최종 사용자 라이선스 계약](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula) 섹션을 참조하세요.
+ Flan-T5 Base
+ Flan-T5 Large
+ Flan-T5 Small
+ Flan-T5 XL
+ Flan-T5 XXL
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron
+ Mistral 7B
+ RedPajama INCITE Base 3B V1
+ RedPajama INCITE Base 7B V1
+ RedPajama INCITE Chat 3B V1
+ RedPajama INCITE Chat 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INCITE Instruct 7B V1

## 지침 기반 미세 조정을 위한 훈련 데이터 준비 및 업로드
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-prepare-data"></a>

지침 기반 미세 조정을 위한 훈련 데이터는 JSON Lines 텍스트 파일 형식으로 제공되어야 하며, 여기서 각 줄은 사전입니다. 모든 훈련 데이터는 단일 폴더에 있어야 합니다. 폴더에는 여러 개의 .jsonl 파일이 포함될 수 있습니다.

훈련 폴더에는 데이터의 입력 및 출력 형식을 설명하는 템플릿 JSON 파일(`template.json`)도 포함될 수 있습니다. 템플릿 파일이 제공되지 않으면 다음 템플릿 파일이 사용됩니다.

```
{
  "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Input:\n{context}",
  "completion": "{response}"
}
```

`template.json` 파일에 따르면 훈련 데이터의 각 .jsonl 항목에는 `{instruction}`, `{context}`및 `{response}` 필드가 포함되어야 합니다.

사용자 지정 템플릿 JSON 파일을 제공하는 경우 `"prompt"` 및 `"completion"` 키를 사용하여 자체 필수 필드를 정의합니다. 다음 사용자 지정 템플릿 JSON 파일에 따라 훈련 데이터의 각 .jsonl 항목에는 `{question}`, `{context}` 및 `{answer}` 필드가 포함되어야 합니다.

```
{
  "prompt": "question: {question} context: {context}",
  "completion": "{answer}"
}
```

### 훈련 및 테스트를 위한 데이터 분할
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-split-data"></a>

필요에 따라 검증 데이터가 포함된 다른 폴더를 제공할 수 있습니다. 이 폴더에는 하나 이상의 .jsonl 파일도 포함되어야 합니다. 검증 데이터세트가 제공되지 않은 경우 검증 목적으로 설정된 양의 훈련 데이터가 따로 설정됩니다. 모델을 미세 조정할 하이퍼파라미터를 선택할 때 검증에 사용되는 훈련 데이터의 비율을 조정할 수 있습니다.

### Amazon S3에 미세 조정 데이터 업로드
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-upload-data"></a>

준비된 데이터를 Amazon Simple Storage Service(Amazon S3)에 업로드하여 JumpStart 파운데이션 모델을 미세 조정할 때 사용합니다. 다음 명령을 사용하여 데이터를 업로드할 수 있습니다.

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.jsonl"
train_data_location = f"s3://{output_bucket}/dolly_dataset"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## 지침 기반 미세 조정을 위한 훈련 작업 생성
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-train"></a>

데이터가 Amazon S3에 업로드된 후 JumpStart 파운데이션 모델을 미세 조정하고 배포할 수 있습니다. Studio에서 모델을 미세 조정하려면 [Studio에서 모델 미세 조정](jumpstart-foundation-models-use-studio-updated-fine-tune.md) 섹션을 참조하세요. SageMaker Python SDK를 사용하여 모델을 미세 조정하려면 [`JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다.](jumpstart-foundation-models-use-python-sdk-estimator-class.md) 섹션을 참조하세요.

## 예제 노트북
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-examples"></a>

명령 기반 미세 조정에 대한 자세한 내용은 다음 예제 노트북을 참조하세요.
+ [JumpStart에서 LLaMA 2 모델 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)
+ [SageMaker JumpStart 소개 - Mistral 모델을 사용한 텍스트 생성](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/mistral-7b-instruction-domain-adaptation-finetuning.html)
+ [SageMaker JumpStart 소개 - Falcon 모델을 사용한 텍스트 생성](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/falcon-7b-instruction-domain-adaptation-finetuning.html)
+ [SageMaker JumpStart 파운데이션 모델 - HuggingFace Text2Text 명령어 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/instruction-fine-tuning-flan-t5.html)

# 검색 증강 생성
<a name="jumpstart-foundation-models-customize-rag"></a>

파운데이션 모델은 일반적으로 오프라인에서 훈련되므로 모델을 훈련한 후 생성되는 모든 데이터에 구애받지 않고 모델을 훈련할 수 있습니다. 또한 파운데이션 모델은 매우 일반적인 도메인 코퍼스를 대상으로 훈련되므로 도메인별 작업에서는 효율성이 떨어집니다. 검색 증강 세대(RAG)를 사용하여 파운데이션 모델 외부에서 데이터를 검색하고 컨텍스트에 맞게 검색된 관련 데이터를 추가하여 프롬프트를 확대할 수 있습니다. RAG 모델 아키텍처에 대한 자세한 내용은 [지식 집약적 NLP 작업을 위한 검색 증강 생성](https://arxiv.org/abs/2005.11401)을 참조하세요.

RAG를 사용하면 프롬프트를 강화하는 데 사용되는 외부 데이터는 문서 리포지토리, 데이터베이스 또는 API와 같은 여러 데이터 소스에서 가져올 수 있습니다. 첫 번째 단계는 관련성 검색을 수행하기 위해 문서와 사용자 쿼리를 호환 가능한 형식으로 변환하는 것입니다. 형식이 호환되도록 하기 위해 문서 컬렉션 또는 지식 라이브러리와 사용자가 제출한 쿼리를 임베딩 언어 모델을 사용하여 수치 표현으로 변환합니다. *임베딩*은 텍스트를 벡터 공간에 숫자로 표현하는 프로세스입니다. RAG 모델 아키텍처는 지식 라이브러리의 벡터 내에서 사용자 쿼리의 임베딩을 비교합니다. 그런 다음 원본 사용자 프롬프트에 지식 라이브러리 내 유사한 문서의 관련 컨텍스트가 추가됩니다. 그러면 이 증강 프롬프트가 파운데이션 모델로 전송됩니다. 지식 라이브러리 및 관련 임베딩을 비동기적으로 업데이트할 수 있습니다.

 ![\[A model architecture diagram of Retrieval Augmented Generation (RAG).\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jumpstart/jumpstart-fm-rag.jpg) 

검색된 문서는 프롬프트를 보강하는 데 도움이 되는 유용한 컨텍스트를 포함할 만큼 충분히 커야 하지만 프롬프트의 최대 시퀀스 길이에 맞게 충분히 작아야 합니다. Hugging Face의 일반 텍스트 임베딩(GTE) 모델과 같은 태스크별 JumpStart 모델을 사용하여 프롬프트 및 지식 라이브러리 문서에 대한 임베딩을 제공할 수 있습니다. 프롬프트와 문서 임베딩을 비교하여 가장 관련성이 높은 문서를 찾은 후 보충 컨텍스트를 사용하여 새 프롬프트를 구성합니다. 그런 다음 증강 프롬프트를 선택한 텍스트 생성 모델에 전달합니다.

## 예제 노트북
<a name="jumpstart-foundation-models-customize-rag-examples"></a>

RAG 파운데이션 모델 솔루션에 대한 자세한 내용은 다음 예제 노트북을 참조하세요.
+ [검색 증강 생성: LangChain과 Cohere의 SageMaker JumpStart에서 모델 생성 및 임베딩을 사용한 질문 응답](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_Cohere+langchain_jumpstart.html)
+ [검색 증강 생성: LLama-2, Pinecone 및 사용자 지정 데이터세트를 사용한 질문 응답](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_pinecone_llama-2_jumpstart.html)
+ [검색 증강 생성: 오픈 소스 LangChain 라이브러리를 사용한 사용자 지정 데이터세트 기반 질문 답변](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_langchain_jumpstart.html)
+ [검색 증강 생성: 사용자 지정 데이터세트 기반 질문 답변](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_jumpstart_knn.html)
+ [Retrieval-Augmented Generation: Llama-2 및 텍스트 임베딩 모델을 사용한 질문 응답](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_text_embedding_llama-2_jumpstart.html)
+ [Amazon SageMaker JumpStart - 텍스트 임베딩 및 문장 유사성](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/text-embedding-sentence-similarity.html)

[Amazon SageMaker AI 예시 리포지토리](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models)를 복제하여 Studio 내에서 선택한 Jupyter 환경에서 사용 가능한 JumpStart 파운데이션 모델 예시를 실행할 수 있습니다. SageMaker AI에서 Jupyter를 만들고 액세스하는 데 사용할 수 있는 애플리케이션에 대한 자세한 내용은 [Amazon SageMaker Studio에서 지원되는 애플리케이션](studio-updated-apps.md) 섹션을 참조하세요.

# Studio에서 텍스트 생성 파운데이션 모델 평가
<a name="jumpstart-foundation-models-evaluate"></a>

**참고**  
Foundation Model Evaluations(FMEval)는 Amazon SageMaker Clarify에 대한 미리 보기 릴리스 중이며 변경될 수 있습니다.

**중요**  
SageMaker Clarify Foundation 모델 평가를 사용하려면 새 Studio 환경으로 업그레이드해야 합니다. 2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 명명되었습니다. 파운데이션 평가 기능은 업데이트된 경험에서만 사용할 수 있습니다. Studio를 업데이트하는 방법에 대한 자세한 내용은 [Amazon SageMaker Studio Classic에서 마이그레이션](studio-updated-migrate.md) 섹션을 참조하세요. Studio Classic 애플리케이션 사용에 대한 자세한 내용은 [Amazon SageMaker Studio Classic](studio.md) 섹션을 참조하세요.

Amazon SageMaker JumpStart는 Studio에서 SageMaker Clarify Foundation 모델 평가(FMEval)와 통합됩니다. JumpStart 모델에 내장 평가 기능을 사용할 수 있는 경우 JumpStart Studio UI의 모델 세부 정보 페이지 오른쪽 상단에서 **평가**를 선택할 수 있습니다. JumpStart Studio UI 탐색에 대한 자세한 내용은 [Studio에서 JumpStart 열기](studio-jumpstart.md#jumpstart-open-studio) 섹션을 참조하세요.

Amazon SageMaker JumpStart를 사용하여 FMEval 을 사용하여 텍스트 기반 파운데이션 모델을 평가합니다. 이러한 모델 평가를 사용하여 한 모델, 두 모델 또는 동일한 모델의 다른 버전에 대한 모델 품질 및 책임 지표를 비교하여 모델 위험을 정량화할 수 있습니다. FMEval은 다음 작업을 수행하는 텍스트 기반 모델을 평가할 수 있습니다.
+  **개방형 세대** - 사전 정의된 구조가 없는 텍스트에 대한 자연적인 인적 응답의 생성입니다.
+  **텍스트 요약** - 더 큰 텍스트에 포함된 의미와 주요 정보를 유지하면서 간결하고 요약된 요약을 생성하는 것입니다.
+  **질문 응답** - 질문에 대한 자연어로 된 답변 생성입니다.
+  **분류 ** - 콘텐츠에 따라 텍스트 구절에 대한 `positive` 대 `negative` 같은 클래스의 할당입니다.

FMEval을 사용하여 특정 벤치마크를 기반으로 모델 응답을 자동으로 평가할 수 있습니다. 자체 프롬프트 데이터세트를 가져와서 자체 기준에 따라 모델 응답을 평가할 수도 있습니다. FMEval은 평가 작업의 설정 및 구성을 안내하는 사용자 인터페이스(UI)를 제공합니다. 자체 코드 내에서 FMEval 라이브러리를 사용할 수도 있습니다.

모든 평가에는 두 인스턴스에 대한 할당량이 필요합니다.
+ 호스팅 인스턴스 - LLM을 호스팅하고 배포하는 인스턴스입니다.
+ 평가 인스턴스 - 호스팅 인스턴스에서 LLM에 대한 평가를 프롬프트하고 수행하는 데 사용되는 인스턴스입니다.

LLM이 이미 배포된 경우 엔드포인트를 제공하면 SageMaker AI는 **호스팅 인스턴스**를 사용하여 LLM을 호스팅하고 배포합니다.

계정에 아직 배포되지 않은 JumpStart 모델을 평가하는 경우 FMEval은 계정에 임시 **호스팅 인스턴스**를 생성하고 평가 기간 동안만 배포된 상태로 유지합니다. FMEval은 JumpStart가 선택한 LLM에 대해 권장하는 기본 인스턴스를 호스팅 인스턴스로 사용합니다. 이 권장 인스턴스에 대한 할당량이 충분해야 합니다.

또한 모든 평가는 평가 인스턴스를 사용하여 LLM의 응답에 프롬프트를 제공하고 점수를 매깁니다. 또한 평가 알고리즘을 실행하기에 충분한 할당량과 메모리가 있어야 합니다. 평가 인스턴스의 할당량 및 메모리 요구 사항은 일반적으로 호스팅 인스턴스에 필요한 요구 사항보다 작습니다. `ml.m5.2xlarge` 인스턴스를 선택하는 것이 좋습니다. 할당 및 메모리에 대한 자세한 내용은 [Amazon SageMaker AI에서 모델 평가 작업을 만들 때 발생하는 오류 해결](clarify-foundation-model-evaluate-troubleshooting.md) 섹션을 참조하세요.

자동 평가를 사용하여 다음 차원에 걸쳐 LLM 점수를 매길 수 있습니다.
+ 정확도 - 텍스트 요약, 질문 응답 및 텍스트 분류
+ 의미론적 견고성 - 개방형 생성, 텍스트 요약 및 텍스트 분류 작업용
+ 사실적 지식 - 개방형 세대용
+ 프롬프트 고정 관념 - 개방형 세대용 
+  독성 - 개방형 생성, 텍스트 요약 및 질문 답변의 경우

인적 평가를 사용하여 모델 응답을 수동으로 평가할 수도 있습니다. FMEval UI는 하나 이상의 모델을 선택하고, 리소스를 프로비저닝하고, 인력에 대한 지침을 작성하고, 인력에게 연락하는 워크플로를 안내합니다. 인적 평가가 완료되면 결과는 FMEval 에 표시됩니다.

평가할 모델을 선택한 다음 평가를 선택하여 Studio의 JumpStart 랜딩 페이지를 통해 모델 **평가**에 액세스할 수 있습니다. 모든 JumpStart 모델에 사용 가능한 평가 기능이 있는 것은 아닙니다. FMEval을 구성, 프로비저닝 및 실행하는 방법에 대한 자세한 내용은 [What are Foundation Model Evaluations?](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-foundation-model-evaluate.html)을 참조하세요.

# 예제 노트북
<a name="jumpstart-foundation-models-example-notebooks"></a>

SageMaker Python SDK와 함께 공개적으로 사용 가능한 JumpStart 파운데이션 모델을 사용하는 방법에 대한 단계별 예제는 텍스트 생성, 이미지 생성 및 모델 사용자 지정에 대한 다음 노트북을 참조하세요.

**참고**  
독점적이고 공개적으로 사용 가능한 JumpStart 파운데이션 모델에는 다양한 SageMaker AI Python SDK 배포 워크플로가 있습니다. Amazon SageMaker Studio Classic 또는 SageMaker AI 콘솔을 통해 독점 파운데이션 모델 예시 노트북을 찾아보세요. 자세한 내용은 [JumpStart 파운데이션 모델 사용량](jumpstart-foundation-models-use.md) 단원을 참조하십시오.

[Amazon SageMaker AI 예시 리포지토리](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models)를 복제하여 Studio 내에서 선택한 Jupyter 환경에서 사용 가능한 JumpStart 파운데이션 모델 예시를 실행할 수 있습니다. SageMaker AI에서 Jupyter를 만들고 액세스하는 데 사용할 수 있는 애플리케이션에 대한 자세한 내용은 [Amazon SageMaker Studio에서 지원되는 애플리케이션](studio-updated-apps.md) 섹션을 참조하세요.

## 시계열 예측
<a name="jumpstart-foundation-models-example-notebooks-time-series"></a>

크로노스 모델을 사용하여 시계열 데이터를 예측할 수 있습니다. 언어 모델 아키텍처를 기반으로 합니다. 시작하려면 [SageMaker JumpStart 소개 - Chronos를 사용한 시계열 예측](https://github.com/aws/amazon-sagemaker-examples/blob/default/%20%20%20%20generative_ai/sm-jumpstart_time_series_forecasting.ipynb) 노트북을 사용하세요.

사용 가능한 검사에 대한 자세한 내용은 [사용 가능한 파운데이션 모델](jumpstart-foundation-models-latest.md) 섹션을 참조하세요.

## 텍스트 생성
<a name="jumpstart-foundation-models-example-notebooks-text-generation"></a>

일반 텍스트 생성 워크플로, 다국어 텍스트 분류, 실시간 배치 추론, 퓨샷 학습, 챗봇 상호 작용 등에 대한 지침을 포함한 텍스트 생성 예제 노트북을 살펴보세요.
+ [SageMaker JumpStart 파운데이션 모델 - FLAN-T5 XL을 사용한 HuggingFace Text2Text 생성 예시](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text2text-generation-flan-t5.html)
+ [SageMaker JumpStart 파운데이션 모델 - BloomZ: 다국어 텍스트 분류, 질문 및 답변, 코드 생성, 단락 변경 등](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text2text-generation-bloomz.html)
+ [SageMaker JumpStart 파운데이션 모델 - HuggingFace Text2Text 생성 배치 변환 및 실시간 배치 추론](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text2text-generation-Batch-Transform.html)
+ [SageMaker JumpStart 파운데이션 모델 - GPT-J, GPT-네오 퓨샷 학습](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text-generation-few-shot-learning.html)
+ [SageMaker JumpStart 파운데이션 모델 - 챗봇](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text-generation-chatbot.html)
+ [SageMaker JumpStart 소개 - Mistral 모델을 사용한 텍스트 생성](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/mistral-7b-instruction-domain-adaptation-finetuning.html)
+ [SageMaker JumpStart 소개 - Falcon 모델을 사용한 텍스트 생성](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/falcon-7b-instruction-domain-adaptation-finetuning.html)

## 이미지 생성
<a name="jumpstart-foundation-models-example-notebooks-image-generation"></a>

텍스트-이미지 간 안정 확산 모델을 시작하여 인페인팅 모델을 배포하는 방법을 배우고, 간단한 워크플로를 실험하여 반려견 이미지를 생성해 보세요.
+ [JumpStart 소개 - 텍스트를 이미지로](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart_text_to_image/Amazon_JumpStart_Text_To_Image.html)
+ [JumpStart 이미지 편집 소개 - 안정 확산 인페인팅](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart_inpainting/Amazon_JumpStart_Inpainting.html)
+ [반려견의 재미있는 이미지 생성](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart_text_to_image/custom_dog_image_generator.html)

## 모델 사용자 지정
<a name="jumpstart-foundation-models-example-notebooks-model-customization"></a>

사용 사례에 따라 특정 작업에 대해 더 큰 파운데이션 모델 사용자 지정이 필요한 경우가 있습니다. 모델 사용자 지정 접근 방식에 대한 자세한 내용은 [파운데이션 모델 사용자 지정](jumpstart-foundation-models-customize.md) 참조하거나 다음 예제 노트북을살펴보세요.
+ [SageMaker JumpStart 파운데이션 모델 - 도메인별 데이터세트에 대한 텍스트 생성 GPT-J 6B 모델 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/domain-adaption-finetuning-gpt-j-6b.html)
+ [SageMaker JumpStart 파운데이션 모델 - HuggingFace Text2Text 명령어 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/instruction-fine-tuning-flan-t5.html)
+ [검색 증강 생성: LangChain과 Cohere의 SageMaker JumpStart에서 모델 생성 및 임베딩을 사용한 질문 응답](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_Cohere+langchain_jumpstart.html)
+ [검색 증강 생성: LLama-2, Pinecone 및 사용자 지정 데이터세트를 사용한 질문 응답](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_pinecone_llama-2_jumpstart.html)
+ [검색 증강 생성: 오픈 소스 LangChain 라이브러리를 사용한 사용자 지정 데이터세트 기반 질문 답변](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_langchain_jumpstart.html)
+ [검색 증강 생성: 사용자 지정 데이터세트 기반 질문 답변](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_jumpstart_knn.html)
+ [Retrieval-Augmented Generation: Llama-2 및 텍스트 임베딩 모델을 사용한 질문 응답](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_text_embedding_llama-2_jumpstart.html)
+ [Amazon SageMaker JumpStart - 텍스트 임베딩 및 문장 유사성](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/text-embedding-sentence-similarity.html)