본문 바로가기

AI

AWS Bedrock - Part 1

Today Keys :   bedrock, generative, ai, 생성, foundation model, claude, anthorpic, model



이번 포스팅은 지난 9월 28일에 GA에 된 Amazon Bedrock에 대한 첫 번째 포스팅입니다. 

Amazon Bedrock은 FM(기본 모델)을 사용하여 생성 AI 애플리케이션을 구축하고 확장 할 수 있도록 도와주며, AI21 Labs/ Anthropic/Cohere/Meta/Stability AI 및 Amazon을 포함한 주요 AI 회사의 고성능 FM 선택과 함께 생성 AI를 구축하는 데 필요한 광범위한 기능 세트를 제공하는 완전관리형 서비스입니다.

첫 번째 포스팅에서는 Amazon Bedrock에서 제공하는 모델을 확인하고, 모델을 활성화하여 Play ground로 간단한 테스트와 함께 AWS에서 제공하는 예제와 간단한 실행 방법을 소개합니다.


 

Amazon Bedrock이 9월 28일 GA가 되었습니다.

 

현재 서울 리전은 지원이 되지는 않고, 총 5개이 리전(버지니아, 오레곤, 오하이오, 싱가포트, 도쿄)에서 지원이 되고 있습니다. 

 

다만, 버지니아 북부와 오레곤을 제외한 나머지 3개 리전에서는 아직 제한적으로만 Model 사용이 가능합니다.

 

싱가포르 리전에서 지원되는 모델

 

 

도쿄 리전에서는 지원되는 모델

 

오하이오 리전에서 지원되는 모델

 

 

버지니아 및 오레곤 리전에서 지원되는 모델

 

Amazon Bedrock에서 제공하는 Model을 사용하기 위해서는 우선 Model Access에 대한 활성화를 해야 합니다. 

'Model access' 메뉴에서, Bedrock에서 제공되는 Models Access 활성화를 하는 데, Claude Model의 경우에는 다른 모델과 달리 활성화 전에, Request를 해야합니다.

 

Request를 클릭하면 다음과 같은 'Request Anthropic models' 창이 뜨는 데, 아래 내용을 모두 기입하고 사용 요청을 하면, Model의 Access status가 'Not Requested'에서 다른 모델처럼 'Available'로 변경됩니다.

 

Model 활성화는 활성화하고자 하는 Model을 체크하고, 하단의 Save Changes를 선택하면 됩니다.

Cluade는 기존에 활성화 된 상태이며, 추가로 Claude Instant를 활성화

 

Model 활성화를 요청하면, Access Status가 'Available'에서 'In Progress'로 변경되는 것을 볼 수 있습니다.

 

Model Access 활성화가 완료도히면, Access status가 'Access granted'로 변경됩니다.

 

만약 활성화 된, Model을 다시 비활성화 하려면 해당 Model의 체크를 해제하고, 다시 저장하면 됩니다.

Claude는 그대로 사용하고, Claude Instant만 비활성화 하는 경우

 

비활성화를 시도하면, 다음과 같이 Model에 대한 Access를 제거할 것인지 다시 한 번 묻게 됩니다. 

'remove'를 입력하고, 'remove access'를 선택하면 체크를 해제한 Model의 Access가 비활성화 됩니다.

 

모델이 활성화 된 상태에서는 해당 모델을 바로 테스트 해 볼 수 있는 playground를 제공합니다. 

playground는 Chat, Text, Image를 각각 제공합니다.

다음은 Chat playground에서 Claude V2를 사용한 예시입니다.

하단에 내용을 입력하고, 'run'을 실행하면 아래와 같이 답변이 나오는 것을 볼 수 있습니다.

아래 확인할 수 있는 것처럼 Claude에서 한국어도 아주 잘 지원되는 것을 볼 수 있습니다.

 

Model을 선택하는 하단에 보면, 'Switch provisioned throughput'이란 메뉴를 볼 수 있는 데, 이는 Bedrock의 가격 모델에 대한 부분입니다. 기본적으로는 별도의 시간 약정 없이 사용한 만큼만 비용이 지부되는 On-Demand 형태로 사용되며, Provisioned throughput는 처리량 보장이 필요한 대규모의 환경에서 사용됩니다.

Provisioned throughput는 다른 AWS 서비스와 마찬가지로 특정한 사용량이 수반되지 않으면, 사용 금액이 더 비싸기 때문에 테스트 시에는 On-Demand로 사용하시면 됩니다.

 

Anthropic의 Claude에 대한 가격정책(On-Demand vs Provisioned Throughput)

 

 

Amazon Bedrock에서는 Bedrock을 통해서 사용 가능한 예시를 Prompt 내용이나, Inference Configuration과 함께 예시 겨과를 제공합니다. 또한, 해당 예시에 대한 API request 값도 함께 제공하여 해당 예시 내용을 수정하여 사용 할 수 있습니다.

또한, 우측 Examples 메뉴의 우측 상단에 'View notebook examples'도 메뉴를 클릭하면, 다양한 테스트 내용을 제공하는 Github로 바로 연결이 됩니다.

 

Github에 내용으로 직접 bedrock workshop을 수행 해 볼 수도 있습니다.

 

SageMaker Studio를 통해서 Github에 있는 Bedrock Workshop을 가져와서 다음과 같이 실행 할 수 있습니다.

아래에 실행한 예제는 '01_Generation'에 속한 예제로써, Bedrock LLM으로 Claude-v2를 사용하여, 사과 메일을 내용을 작성하는 하는 것입니다.

 

예시에서 제공되는 코드를 차례대로 수행하면 아래와 같이 마지막에 사과 메일(apology email)이 만들어 진 것을 확인 할 수 있습니다.