아마존 기반암 생성적 AI 전략을 구축하려는 수만 명의 고객에게 선호되는 선택으로 부상했습니다. 고급 AI를 개발하는 간단하고 빠르고 안전한 방법을 제공합니다. 생성 AI 애플리케이션 혁신을 주도하는 경험.
Amazon Bedrock의 포괄적인 기능을 통해 다양한 고성능 기반 모델(FM)에 액세스하여 특정 요구 사항에 가장 적합한 옵션을 선택하고, 미세 조정 및 검색 증강 생성(RAG)과 같은 기술을 사용하여 자체 데이터로 모델을 비공개로 사용자 정의하고, 복잡한 비즈니스 작업을 실행하는 관리형 에이전트를 만들 수 있습니다.
사전 훈련된 언어 모델을 미세 조정하면 조직에서 특정 사용 사례에 맞게 모델을 사용자 지정하고 최적화하여 고유한 데이터와 요구 사항에 맞게 조정된 더 나은 성능과 더 정확한 출력을 제공할 수 있습니다. 미세 조정 기능을 사용하면 기업은 모델의 동작을 제어하고 목표와 가치에 맞게 조정하면서 생성 AI의 잠재력을 최대한 활용할 수 있습니다.
이 게시물에서는 조직이 생성 AI 모델을 미세 조정할 때 고려해야 할 필수적인 보안 모범 사례에 대해 자세히 살펴보겠습니다.
Amazon Bedrock의 보안
AWS의 클라우드 보안은 최우선 순위입니다. Amazon Bedrock은 고객 데이터와 AI 워크로드를 보호하기 위한 포괄적인 접근 방식을 통해 보안을 우선시합니다.
Amazon Bedrock은 보안을 핵심으로 구축되어 데이터와 모델을 보호하는 여러 기능을 제공합니다. 보안 프레임워크의 주요 측면은 다음과 같습니다.
- 컨트롤에 액세스 – 여기에는 다음과 같은 기능이 포함됩니다.
- 데이터 암호화 – Amazon Bedrock은 다음 암호화를 제공합니다.
- 네트워크 보안 – Amazon Bedrock은 다음을 포함한 여러 보안 옵션을 제공합니다.
- 지원 AWS 프라이빗링크 가상 사설 클라우드(VPC)와 Amazon Bedrock 간에 개인 연결을 설정하려면
- AWS 환경 내에서 보안 통신을 위한 VPC 엔드포인트
- 규정 준수 – Amazon Bedrock은 HIPAA, SOC, PCI DSS를 포함한 다양한 산업 표준 및 규정을 준수합니다.
솔루션 개요
모델 사용자 지정은 특정 사용 사례에 대한 성능을 개선하기 위해 모델에 교육 데이터를 제공하는 프로세스입니다. Amazon Bedrock은 현재 다음과 같은 사용자 지정 방법을 제공합니다.
- 계속되는 사전 훈련 – 레이블이 지정되지 않은 독점 데이터로 매개변수를 미세 조정하여 특정 도메인에 맞게 FM 기능을 맞춤화하고, 더욱 관련성 있는 데이터가 제공됨에 따라 지속적인 개선이 가능합니다.
- 미세 조정 – 특정 작업에 대한 모델을 훈련하기 위해 레이블이 지정된 데이터를 제공하여 주어진 입력에 대한 적절한 출력을 학습할 수 있도록 합니다. 이 프로세스는 모델의 매개변수를 조정하여 레이블이 지정된 훈련 데이터 세트로 표현된 작업에 대한 성능을 향상시킵니다.
- 증류 – 더 크고 지능적인 모델(선생님이라 불림)에서 더 작고 빠르며 비용 효율적인 모델(학생이라 불림)로 지식을 전달하는 과정입니다.
Amazon Bedrock의 모델 사용자 지정에는 다음 작업이 포함됩니다.
- 훈련 및 검증 데이터 세트를 생성합니다.
- 데이터 액세스를 위한 IAM 권한을 설정합니다.
- KMS 키와 VPC를 구성합니다.
- 하이퍼파라미터 튜닝을 통해 미세 조정이나 사전 학습 작업을 생성합니다.
- 지표와 평가를 통해 결과를 분석합니다.
- 사용자 지정 모델에 대해 프로비저닝된 처리량을 구매합니다.
- 추론과 같은 작업에 사용자 정의 모델을 사용합니다.
이 게시물에서는 미세 조정과 관련하여 이러한 단계를 설명합니다. 그러나 동일한 개념을 지속적인 사전 훈련에도 적용할 수 있습니다.
다음 아키텍처 다이어그램은 Amazon Bedrock 모델 미세 조정의 워크플로를 설명합니다.
워크플로 단계는 다음과 같습니다.
- 사용자는 리소스 액세스를 위해 IAM을 사용하여 AWS 계정 내에서 Amazon Bedrock 미세 조정 작업을 제출합니다.
- 미세 조정 작업은 모델 배포 계정에서 교육 작업을 시작합니다.
- 귀하의 교육 데이터에 액세스하려면 아마존 단순 스토리지 서비스 (Amazon S3) 버킷, 작업을 사용합니다 Amazon 보안 토큰 서비스 (AWS STS)는 인증 및 권한 부여에 대한 역할 권한을 가정합니다.
- S3 데이터에 대한 네트워크 액세스는 작업 제출 중에 제공된 VPC 및 서브넷 세부 정보를 사용하여 VPC 네트워크 인터페이스를 통해 용이해집니다.
- VPC에는 Amazon S3 및 AWS KMS 액세스를 위한 개인 엔드포인트가 장착되어 전반적인 보안이 강화됩니다.
- 미세 조정 프로세스에서는 모델 아티팩트가 생성되고, 이는 모델 공급자 AWS 계정에 저장되고 고객이 제공한 KMS 키를 사용하여 암호화됩니다.
이 워크플로는 고객 관리 암호화 키를 사용하여 민감한 정보에 대한 고객 통제를 유지하는 동시에 여러 AWS 계정에서 안전한 데이터 처리를 제공합니다.
고객은 데이터를 제어합니다. 모델 제공자는 데이터에 액세스할 수 없으며 고객의 추론 데이터나 사용자 지정 학습 데이터 세트에 액세스할 수 없습니다. 따라서 모델 제공자는 기본 모델을 개선하는 데 사용할 수 있는 데이터를 사용할 수 없습니다. Amazon Bedrock 서비스 팀에서도 귀하의 데이터를 사용할 수 없습니다.
다음 섹션에서는 Amazon Bedrock 콘솔을 사용하여 Amazon Bedrock에서 Meta Llama 3.1 8B Instruct 모델을 미세 조정하고 배포하는 단계를 살펴보겠습니다.
사전 조건
시작하기 전에 다음 전제 조건이 있는지 확인하십시오.
- An AWS 계정
- 다음 작업에 대한 액세스 권한이 있는 IAM 페더레이션 역할:
- VPC 네트워크 및 보안 리소스를 생성, 편집, 보기 및 삭제합니다.
- KMS 키 생성, 편집, 보기 및 삭제
- IAM 역할 및 정책을 생성, 편집, 보기 및 삭제합니다. 모델 커스터마이징
- Amazon S3에 대한 훈련 및 검증 데이터와 출력 데이터를 쓸 수 있는 권한에 액세스하기 위해 S3 버킷을 생성, 업로드, 보기 및 삭제합니다.
- 미세 조정에 사용될 기본 모델의 FM을 나열합니다.
- Amazon Bedrock FM에 대한 사용자 정의 교육 작업 생성
- 프로비저닝된 모델 처리량
- 사용자 정의 모델을 나열하고 미세 조정된 모델에서 모델 권한을 호출합니다.
- 모델 액세스Amazon Bedrock 콘솔을 통해 요청할 수 있습니다.
이 게시물에는 us-west-2
AWS 지역. IAM 역할에 권한을 할당하는 방법에 대한 지침은 다음을 참조하세요. Amazon Bedrock의 자격 증명 기반 정책 예 and Amazon Bedrock이 IAM과 작동하는 방식.
데이터 준비
Meta Llama 3.1 8B Instruct와 같은 텍스트-텍스트 모델을 미세 조정하려면 여러 개의 JSON 줄로 구성된 JSONL 파일을 만들어서 학습 및 선택적 검증 데이터 세트를 준비합니다.
각 JSON 줄은 프롬프트와 완성 필드를 포함하는 샘플입니다. 형식은 다음과 같습니다.
다음은 Amazon Bedrock에서 Meta Llama 3.1 8B Instruct를 미세 조정하기 위한 한 줄 입력으로 사용된 샘플 데이터 세트의 예입니다. JSONL 형식에서 각 레코드는 한 줄의 텍스트입니다.
KMS 대칭 키 생성
Amazon S3에 훈련 데이터를 업로드할 때 AWS KMS로 서버 측 암호화를 사용할 수 있습니다. KMS 키를 생성할 수 있습니다. AWS 관리 콘솔Walk Through California 프로그램, AWS 명령 줄 인터페이스 (AWS CLI) 및 SDK 또는 AWS 클라우드 포메이션 템플릿. 콘솔에서 KMS 키를 만들려면 다음 단계를 완료하세요.
- AWS KMS 콘솔에서 다음을 선택합니다. 고객 관리 키 탐색 창에서
- 왼쪽 메뉴에서 키 생성.
- 대칭 키를 만듭니다. 지침은 다음을 참조하세요. KMS 키 생성.
S3 버킷을 생성하고 암호화를 구성합니다.
S3 버킷을 만들고 암호화를 구성하려면 다음 단계를 완료하세요.
- Amazon S3 콘솔에서 버킷 탐색 창에서
- 왼쪽 메뉴에서 버킷 만들기.
- 럭셔리 버킷 이름, 버킷에 대한 고유한 이름을 입력하세요.
- 럭셔리 암호화 유형고르다 AWS Key Management Service 키를 사용한 서버 측 암호화.
- 럭셔리 AWS KMS 키, 고르다 AWS KMS 키에서 선택하세요 생성한 키를 선택합니다.
- 기본 설정으로 버킷 생성을 완료하거나 필요에 따라 사용자 정의하세요.
훈련 데이터 업로드
훈련 데이터를 업로드하려면 다음 단계를 완료하세요.
- Amazon S3 콘솔에서 버킷으로 이동합니다.
- fine-tuning-datasets 및 outputs 폴더를 만들고 버킷 암호화 설정을 서버 측 암호화로 유지합니다.
- 왼쪽 메뉴에서 가이드라가 훈련 데이터 파일을 업로드하세요.
VPC 생성
VPC를 생성하려면 다음을 사용하세요. 아마존 가상 프라이빗 클라우드 (Amazon VPC) 다음 단계를 완료하세요.
- Amazon VPC 콘솔에서 VPC 생성.
- VPC 생성 모든 가용성 영역에 개인 서브넷이 있습니다.
Amazon S3 VPC 게이트웨이 엔드포인트 생성
Amazon S3 VPC 엔드포인트를 설정하고 리소스 기반 IAM 정책을 사용하여 모델 사용자 지정 데이터가 포함된 S3 버킷에 대한 액세스를 제한하면 VPC의 보안을 더욱 강화할 수 있습니다.
Amazon S3 게이트웨이 엔드포인트를 생성하고 사용자 지정 IAM을 사용하여 VPC에 연결해 보겠습니다. 리소스 기반 정책 Amazon S3 파일에 대한 액세스를 보다 엄격하게 제어합니다.
다음 코드는 샘플 리소스 정책입니다. 이전에 만든 버킷의 이름을 사용하세요.
AWS KMS VPC 인터페이스 엔드포인트에 대한 보안 그룹 생성
보안 그룹은 인스턴스의 가상 방화벽 역할을 하여 인바운드 및 아웃바운드 트래픽을 제어합니다. 이 VPC 엔드포인트 보안 그룹은 VPC 프라이빗 서브넷에 연결된 보안 그룹에서 발생하는 트래픽만 허용하여 보호 계층을 추가합니다. 다음 단계를 완료하여 보안 그룹을 만듭니다.
- Amazon VPC 콘솔에서 보안 그룹 탐색 창에서
- 왼쪽 메뉴에서 보안 그룹 생성.
- 럭셔리 보안 그룹 이름, 이름을 입력하십시오 (예 :
bedrock-kms-interface-sg
). - 럭셔리 상품 설명, 설명을 입력하십시오.
- 럭셔리 VPC, VPC를 선택합니다.
- VPC CIDR 블록의 HTTPS 트래픽에 인바운드 규칙을 추가합니다.
Amazon Bedrock 사용자 정의 미세 조정 작업을 위한 보안 그룹 생성
이제 VPC 리소스에 대한 Amazon Bedrock 사용자 정의 미세 조정 작업 액세스를 제어하기 위한 규칙을 설정하기 위해 보안 그룹을 만들 수 있습니다. 나중에 모델 사용자 정의 작업 생성 중에 이 보안 그룹을 사용합니다. 다음 단계를 완료하세요.
- Amazon VPC 콘솔에서 보안 그룹 탐색 창에서
- 왼쪽 메뉴에서 보안 그룹 생성.
- 럭셔리 보안 그룹 이름, 이름을 입력하십시오 (예 :
bedrock-fine-tuning-custom-job-sg
). - 럭셔리 상품 설명, 설명을 입력하십시오.
- 럭셔리 VPC, VPC를 선택합니다.
- 보안 그룹에서 트래픽을 허용하려면 인바운드 규칙을 추가합니다.
AWS KMS VPC 인터페이스 엔드포인트 생성
이제 VPC와 AWS KMS 사이에 개인 연결을 설정하기 위한 인터페이스 VPC 엔드포인트(PrivateLink)를 만들 수 있습니다.
보안 그룹의 경우 이전 단계에서 만든 보안 그룹을 사용하세요.
VPC 엔드포인트를 통해 리소스에 대한 액세스를 제어하는 VPC 엔드포인트 정책을 연결합니다. 다음 코드는 샘플 리소스 정책입니다. 이전에 만든 KMS 키의 Amazon 리소스 이름(ARN)을 사용합니다.
이제 개인 통신에 필요한 엔드포인트를 성공적으로 생성했습니다.
모델 사용자 정의를 위한 서비스 역할 생성
다음 권한을 사용하여 모델 사용자 지정을 위한 서비스 역할을 만들어 보겠습니다.
- A 신뢰 관계 Amazon Bedrock이 모델 사용자 정의 작업을 가정하고 수행하도록 합니다.
- 권한 Amazon S3에서 훈련 및 검증 데이터에 액세스하고 Amazon S3에 출력 데이터를 쓰려면
- 다음 리소스를 KMS 키로 암호화하는 경우 키를 해독할 수 있는 권한이 부여됩니다(참조). 모델 사용자 정의 작업 및 아티팩트 암호화)
- 모델 사용자 정의 작업 또는 결과 사용자 정의 모델
- 모델 사용자 정의 작업에 대한 교육, 검증 또는 출력 데이터
- 허가 VPC에 접근하려면
먼저 필요한 IAM 정책을 만들어 보겠습니다.
- IAM 콘솔에서 정책 탐색 창에서
- 왼쪽 메뉴에서 정책 만들기.
- $XNUMX Million 미만 권한 지정¸ 다음 JSON을 사용하여 S3 버킷, VPC 및 KMS 키에 대한 액세스를 제공합니다. 계정, 버킷 이름 및 VPC 설정을 제공합니다.
다음 IAM 권한 정책을 VPC 권한의 템플릿으로 사용할 수 있습니다.
다음 IAM 권한 정책을 Amazon S3 권한의 템플릿으로 사용할 수 있습니다.
이제 IAM 역할을 만들어 보겠습니다.
- IAM 콘솔에서 역할 탐색 창에서
- 왼쪽 메뉴에서 역할 생성.
- 다음 신뢰 정책으로 역할을 만듭니다(AWS 계정 ID 제공):
- 사용자 정의 VPC 및 S3 버킷 액세스 정책을 할당합니다.
- 역할에 이름을 지정하고 선택하세요 역할 만들기.
IAM 역할로 KMS 키 정책 업데이트
이전 단계에서 만든 KMS 키에서 IAM 역할의 ARN을 포함하도록 키 정책을 업데이트해야 합니다. 다음 코드는 샘플 키 정책입니다.
자세한 내용은 모델 사용자 정의 작업 및 아티팩트 암호화.
미세 조정 작업을 시작합니다
미세 조정 작업을 설정하려면 다음 단계를 완료하세요.
- Amazon Bedrock 콘솔에서 다음을 선택합니다. 커스텀 모델 탐색 창에서
- . 모델 섹션 선택 모델 맞춤설정 and 미세 조정 작업 만들기.
- $XNUMX Million 미만 모델 세부 정보선택한다. 모델 선택.
- 왼쪽 메뉴에서 라마 3.1 8B 지시 기본 모델로 선택하고 신청.
- 럭셔리 미세 조정된 모델 이름, 사용자 지정 모델의 이름을 입력하세요.
- 선택 모델 암호화 KMS 키를 추가하고 앞서 생성한 KMS 키를 선택합니다.
- 럭셔리 직업 이름에서 훈련 작업의 이름을 입력합니다.
- 선택적으로 태그 추적용 태그를 추가하는 섹션입니다.
- $XNUMX Million 미만 VPC 설정, 이전 단계에서 생성한 VPC, 서브넷 및 보안 그룹을 선택합니다.
작업에 대한 VPC 서브넷과 보안 그룹을 지정하면 Amazon Bedrock은 서브넷 중 하나에 있는 보안 그룹과 연결된 탄력적 네트워크 인터페이스(ENI)를 생성합니다. ENI를 사용하면 Amazon Bedrock 작업이 VPC의 리소스에 연결할 수 있습니다.
각 가용성 영역에 최소한 하나의 서브넷을 제공하는 것이 좋습니다.
- $XNUMX Million 미만 입력 데이터, 훈련 및 검증 데이터 세트에 대한 S3 위치를 지정합니다.
- $XNUMX Million 미만 하이퍼파라미터, 값을 설정하다 신기원, 배치 크기, 학습률및 학습률 워밍업 단계 미세 조정 작업을 위해.
인용하다 사용자 정의 모델 하이퍼파라미터 자세한 내용은.
- $XNUMX Million 미만 출력 데이터에 대한 S3 위치, 미세 조정 지표를 저장하는 버킷의 S3 경로를 입력합니다.
- $XNUMX Million 미만 서비스 액세스에서 Amazon Bedrock을 인증하는 방법을 선택합니다. 당신은 선택할 수 있습니다 기존 서비스 역할 사용 이전에 만든 역할을 사용합니다.
- 왼쪽 메뉴에서 미세 조정 작업 생성.
작업 모니터링
Amazon Bedrock 콘솔에서 다음을 선택합니다. 커스텀 모델 탐색창에서 일자리를 찾으세요.
작업 세부 정보 페이지에서 작업을 모니터링할 수 있습니다.
프로비저닝된 처리량 구매
미세 조정이 완료된 후(다음 스크린샷에 표시된 대로) 추론을 위해 사용자 지정 모델을 사용할 수 있습니다. 그러나 사용자 지정 모델을 사용하려면 먼저 해당 모델에 대한 프로비저닝된 처리량을 구매해야 합니다.
다음 단계를 완료하십시오.
- Amazon Bedrock 콘솔의 아래 기초 모델 탐색 창에서 커스텀 모델.
- 에 모델 탭, 모델을 선택하고 선택하세요 프로비저닝된 처리량 구매.
- 럭셔리 프로비저닝된 처리량 이름이름을 입력하십시오.
- $XNUMX Million 미만 모델 선택모델이 이전에 선택한 사용자 정의 모델과 동일한지 확인하세요.
- $XNUMX Million 미만 약속 기간 및 모델 단위, 커밋먼트 기간 및 모델 단위를 구성합니다. 참조 Amazon Bedrock의 Provisioned Throughput으로 모델 호출 용량 증가 추가 통찰력을 위해. 이 게시물에서는 다음을 선택합니다. 약정 없음 1개의 모델 단위를 사용합니다.
- $XNUMX Million 미만 예상 구매 요약, 예상 비용을 검토하고 선택하세요 프로비저닝된 처리량 구매.
프로비저닝된 처리량이 서비스되기 시작하면 해당 모델을 추론에 사용할 수 있습니다.
모델 사용
이제 추론을 위해 모델을 사용할 준비가 되었습니다.
- Amazon Bedrock 콘솔의 아래 놀이터 탐색 창에서 채팅/문자.
- 왼쪽 메뉴에서 모델 선택.
- 럭셔리 카테고리선택한다. 커스텀 모델 아래에 사용자 정의 및 자체 호스팅 모델.
- 럭셔리 모델, 방금 훈련한 모델을 선택하세요.
- 럭셔리 맞춤형 설비, 방금 구매한 프로비저닝 처리량을 선택하세요.
- 왼쪽 메뉴에서 신청.
다음 스크린샷에 표시된 대로 이제 샘플 질문을 할 수 있습니다.
이러한 절차를 구현하면 Amazon Bedrock에서 미세 조정된 모델을 배포하고 추론 작업에 사용할 때 보안 모범 사례를 따를 수 있습니다.
이 미세 조정된 모델에 대한 액세스가 필요한 생성 AI 애플리케이션을 개발할 때 VPC 내에서 구성할 수 있는 옵션이 있습니다. VPC 인터페이스 엔드포인트를 사용하면 VPC와 Amazon Bedrock API 엔드포인트 간의 통신이 퍼블릭 인터넷이 아닌 PrivateLink 연결을 통해 이루어지도록 할 수 있습니다.
이 접근 방식은 보안과 개인 정보 보호를 더욱 강화합니다. 이 설정에 대한 자세한 내용은 다음을 참조하세요. VPC와 Amazon Bedrock 간에 개인 연결을 생성하려면 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 사용하세요..
정리
향후 요금이 발생하지 않도록 이 데모를 위해 생성된 다음 AWS 리소스를 삭제하세요.
- Amazon Bedrock 모델 프로비저닝 처리량
- VPC 엔드 포인트
- VPC 및 관련 보안 그룹
- KMS 키
- IAM 역할 및 정책
- S3 버킷 및 객체
결론
이 게시물에서는 Amazon Bedrock에서 민감한 데이터를 보호하고 AI 모델의 무결성을 유지하는 데 중요한 보안 미세 조정 작업을 구현했습니다.
적절한 IAM 역할 구성, 저장 중 및 전송 중 암호화, 네트워크 격리를 비롯한 이 게시물에 설명된 모범 사례를 따르면 미세 조정 프로세스의 보안 태세를 크게 강화할 수 있습니다.
Amazon Bedrock 워크플로에서 보안을 우선시하면 데이터와 모델을 보호할 수 있을 뿐만 아니라 이해 관계자 및 최종 사용자와의 신뢰를 구축하여 책임감 있고 안전한 AI 개발이 가능합니다.
다음 단계로 계정에서 솔루션을 사용해 보고 의견을 공유해 보세요.
저자에 관하여
비샬 나익 Amazon Web Services(AWS)의 수석 솔루션 아키텍트입니다. 그는 AWS 솔루션과 모범 사례를 통해 고객이 비즈니스 요구 사항을 달성하고 복잡한 문제를 해결하도록 돕는 것을 즐기는 빌더입니다. 그의 핵심 초점 분야는 Generative AI와 Machine Learning입니다. 여가 시간에는 Vishal은 시간 여행과 대체 우주를 주제로 한 단편 영화를 만드는 것을 좋아합니다.
수밋 트리파티 노스캐롤라이나에 있는 AWS의 TAM(Enterprise Support Lead)입니다. 그는 다양한 역할을 통해 기술 분야에서 17년 이상의 경력을 보유하고 있습니다. 그는 고객이 운영 문제와 마찰을 줄일 수 있도록 돕는 데 열정을 쏟고 있습니다. 그의 중점 분야는 AI/ML과 에너지 및 유틸리티 부문입니다. 업무 외에 그는 가족과 함께 여행하고 크리켓과 영화를 보는 것을 즐깁니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/security-best-practices-to-consider-while-fine-tuning-models-in-amazon-bedrock/