Amazon Web Services 한국 블로그

Amazon Bedrock, 사용자 지정 모델 가져오기 기능 출시 (미리보기)

Amazon Bedrock을 사용하면 생성형 AI 애플리케이션을 더 쉽게 구축하고 확장할 수 있게 해주는 유수의 인공 지능(AI) 기업들의 고성능 파운데이션 모델(FM)에 액세스할 수 있습니다. 이 모델들 중 일부는 특정 사용 사례에 맞도록 미세 조정하고 사용자 지정할 수 있는 공개적으로 사용 가능한 가중치를 제공합니다. 하지만 사용자 지정 FM을 안전하고 확장 가능한 방식으로 배포하는 것은 쉬운 일이 아닙니다.

오늘부터 Amazon Bedrock은 지원되는 모델 아키텍처(예: Meta Lama 2Mistral)에 사용자 지정 가중치를 가져오고 온디맨드 모드를 사용하여 사용자 지정 모델을 제공하는 기능을 평가판에 추가합니다. Amazon SageMakerAmazon Simple Storage Service(Amazon S3)에서 가중치가 있는 모델을 Hugging Face safetensor 형식으로 가져올 수 있습니다.

이러한 방식으로, 코드별 데이터세트를 기반으로 하여 Llama 2를 한층 더 교육하여 만든 Llama 2의 코드 전문 버전인 Code Llama와 같은 기존 사용자 지정 모델에 Amazon Bedrock을 사용하거나, 갖고 있는 데이터를 사용하여 사용자의 비즈니스 사례에 맞게 모델을 미세 조정하고 그 결과로 생성된 모델을 Amazon Bedrock으로 가져올 수 있습니다.

이제 이것이 실제로 어떻게 작동하는지 알아보겠습니다.

사용자 지정 모델을 Amazon Bedrock에 가져오기
Amazon Bedrock 콘솔에서, 탐색 창의 파운데이션 모델 섹션에서 가져온 모델을 선택합니다. 이제 Amazon S3 버킷이나 Amazon SageMaker 모델에서 모델 가중치를 가져와서 사용자 지정 모델을 만들 수 있습니다.

저는 S3 버킷에서 모델 가중치를 가져오기로 했습니다. 다른 브라우저 탭에서, 가중치를 safetensor 형식으로 제공하는 이 풀 요청(PR)을 사용하여 Hugging Face 웹사이트에서 MistralLite 모델을 다운로드합니다. 풀 요청은 현재 Ready to merge(병합 준비) 상태이므로, 여러분이 이것을 읽을 때는 메인 브랜치의 일부가 되어 있을 것입니다. MistralLite는 최대 32K 토큰의 긴 컨텍스트를 처리하는 고급 기능을 갖춘 미세 조정된 Mistral-7B-v0.1 언어 모델입니다.

다운로드가 완료되면 모델을 가져올 곳과 동일한 AWS 리전의 S3 버킷에 파일을 업로드합니다. 여기, Amazon S3 콘솔의 MistralLite 모델 파일들입니다.

콘솔 스크린샷.

Amazon Bedrock 콘솔로 돌아와서 모델의 이름을 입력하고 제안된 가져오기 작업 이름을 그대로 유지합니다.

콘솔 스크린샷.

모델 가져오기 설정에서 모델 가중치를 선택하고 S3를 검색하여 모델 가중치를 업로드한 위치를 선택합니다.

콘솔 스크린샷.

Amazon Bedrock이 S3 버킷의 파일에 액세스할 수 있도록 승인하기 위해, 새 AWS Identity and Access Management(IAM) 서비스 역할을 생성하고 사용하는 옵션을 선택합니다. View permissions details(권한 세부 정보 보기) 링크를 사용하여 이 역할에 포함할 내용을 확인합니다. 그런 다음, 작업을 제출합니다.

약 10분 후, 가져오기 작업이 완료됩니다.

콘솔 스크린샷.

이제 콘솔로 가져온 모델이 보입니다. 이 목록에는 모델 Amazon 리소스 이름(ARN)과 그 생성 날짜도 표시됩니다.

콘솔 스크린샷.

모델 파일들의 S3 위치와 같은 추가 정보를 얻기 위해 모델을 선택합니다.

콘솔 스크린샷.

모델 세부 정보 페이지에서, 모델을 콘솔에서 테스트하기 위해 Open in playground(플레이그라운드에서 열기)를 선택합니다. 텍스트 플레이그라운드에서, 다음과 같이 모델의 프롬프트 템플릿을 사용하여 질문을 입력합니다.

<|prompter|>LLM에서 긴 컨텍스트를 지원함에 있어서 주된 과제는 무엇입니까?</s><|assistant|>

MistralLite에서 가져온 모델이 신속하게 응답하여 이러한 과제들 몇 가지에 대해 설명합니다.

콘솔 스크린샷.

플레이그라운드에서 온도나 최대 길이 같은 구성을 사용하여 나의 사용 사례에 맞게 응답을 조정하거나 가져온 모델에 맞도록 중지 시퀀스를 추가할 수 있습니다.

API 요청의 구문을 보기 위해 플레이그라운드 오른쪽 상단에 수직으로 표시된 세 개의 작은 점을 선택합니다.

콘솔 스크린샷.

View API 구문을 선택하고 AWS Command Line Interface(AWS CLI)를 사용하여 다음 명령을 실행합니다.

aws bedrock-runtime invoke-model \
--model-id arn:aws:bedrock:us-east-1:123412341234:imported-model/a82bkefgp20f \
--body "{\"prompt\":\"<|prompter|>LLM에서 긴 컨텍스트를 지원함에 있어서 주된 과제는 무엇입니까?</s><|assistant|>\",\"max_tokens\":512,\"top_k\":200,\"top_p\":0.9,\"stop\":[],\"temperature\":0.5}" \
--cli-binary-format raw-in-base64-out \
--region us-east-1 \
invoke-model-output.txt

출력 결과는 플레이그라운드에서 얻은 것과 비슷합니다. 보시다시피 가져온 모델에서는 모델 ID가 가져온 모델의 ARN입니다. 이 모델 ID를 사용하여 AWS CLI와 AWS SDK에서 가져온 모델을 간접 호출할 수 있습니다.

알아야 할 사항
지원되는 모델 아키텍처들의 자체 가중치를 미국 동부(버지니아 북부) AWS 리전의 Amazon Bedrock으로 가져올 수 있습니다. 모델 가져오기 기능은 현재 평가판으로 제공되고 있습니다.

사용자 지정 가중치를 사용할 경우, Amazon Bedrock은 온디맨드 모드로 모델을 제공하며, 기간 약정 없이 사용한 만큼만 비용을 지불하면 됩니다. 자세한 정보는 Amazon Bedrock 요금을 참조하세요.

모델을 가져오는 기능은 AWS Identity and Access Management(IAM)를 사용하여 관리되며, 사용자의 조직 내에서 이 기능을 필요로 하는 역할에만 이 기능을 허용할 수 있습니다.

이번 출시로 보안 및 개인정보 보호 기능이 내장된 사용자 지정 모델들을 사용하여 생성형 AI 애플리케이션을 더 쉽게 구축하고 확장할 수 있게 되었습니다.

자세히 알아보기

Danilo