Amazon Web Services 한국 블로그
AWS Step Functions 및 Amazon Bedrock을 사용하여 생성형 AI 앱 구축하기
오늘 AWS는 AWS Step Functions와 Amazon Bedrock의 최적화된 두 가지 새로운 통합 기능을 발표합니다. Step Functions는 개발자가 손쉽게 분산 애플리케이션을 구축하고, 프로세스를 자동화하고, 마이크로 서비스를 오케스트레이션하고, 데이터 및 기계 학습 (ML) 파이프라인을 생성할 수 있게 해주는 시각적 워크플로 서비스입니다.
지난 9월, 저희는 파운데이션 모델(FM)을 사용하여 생성형 인공 지능(AI) 애플리케이션을 구축하고 확장할 수 있는 가장 간편한 도구인 Amazon Bedrock을 출시했습니다. Bedrock에서는 AI21 Labs, Anthropic, Cohere, Stability AI, Amazon 등 주요 제공업체의 파운데이션 모델을 선택할 수 있으며, 프라이버시와 보안을 유지하면서 생성형 AI 애플리케이션을 구축하는 데 필요한 다양한 기능을 사용할 수 있습니다. AWS Management Console, AWS Command Line Interface(AWS CLI) 또는 AWS SDK에서 Amazon Bedrock을 사용할 수 있습니다.
Step Functions에 최적화된 새로운 Amazon Bedrock 통합 기능을 통해, 작업을 오케스트레이션하여 Amazon Bedrock을 사용한 생성형 AI 애플리케이션을 구축할 수 있을 뿐만 아니라 220여 개의 AWS 서비스와 통합할 수도 있습니다. Step Functions를 사용하면 워크플로를 시각적으로 개발, 검사 및 감사할 수 있습니다. 이전에는 워크플로에서 Amazon Bedrock을 사용하려면 AWS Lambda 함수를 호출해야 했습니다. 따라서 워크플로를 유지 관리하는 코드를 추가해야 했고, 그만큼 애플리케이션 비용이 늘어났습니다.
Step Functions는 Amazon Bedrock에 최적화된 두 가지 새로운 API 작업을 제공합니다.
InvokeModel
– 이 통합 기능은 모델을 간접적으로 호출하고 파라미터에서 제공된 입력으로 추론을 실행할 수 있게 해줍니다. 이 API 작업을 사용하면 텍스트, 이미지 및 임베딩 모델에 대한 추론을 실행할 수 있습니다.CreateModelCustomize Job
– 이 통합 기능은 기본 모델을 사용자 정의하기 위한 미세 조정 작업을 생성합니다. 파라미터에 파운데이션 모델과 훈련 데이터의 위치를 지정합니다. 작업이 완료되면 사용자 지정 모델을 사용할 준비가 된 것입니다. 이 API는 비동기 API이며, 이 통합 기능을 통해 Step Functions는 작업을 실행하고 작업이 완료될 때까지 기다린 후 다음 상태로 진행할 수 있습니다. 즉, 모델 사용자 지정 생성 작업이 실행되는 동안에는 상태 머신 실행이 일시 중지되고 작업이 완료되면 자동으로 재개됩니다.
InvokeModel
API 작업에서는 최대 25MB의 요청 및 응답이 허용됩니다. 하지만 Step Functions에서는 상태 페이로드 입력 및 출력에 256KB의 한도가 적용됩니다. 이 통합 기능을 통해, InvokeModel
API가 데이터를 읽고 결과를 쓰는 Amazon Simple Storage Service(S3) 버킷을 정의하면 더 큰 페이로드를 지원할 수 있습니다. 이 구성은 API 작업 구성 파라미터 섹션의 파라미터 섹션에서 제공할 수 있습니다.
Amazon Bedrock 및 AWS Step Functions를 시작하는 방법
시작하기 전에 Amazon Bedrock을 사용할 수 있는 리전에 상태 머신을 생성해야 합니다. 이 예에서는 미국 동부(버지니아 북부) us-east-1
을 사용합니다.
AWS Management Console에서 새 상태 머신을 생성합니다. ‘bedrock’을 검색하면 사용 가능한 두 가지 API 작업이 나타납니다. InvokeModel을 상태 머신으로 끌어 놓습니다.
이제 오른쪽 메뉴에서 해당 상태를 구성할 수 있습니다. 먼저, 사용할 파운데이션 모델을 정의할 수 있습니다. 목록에서 모델을 선택하거나 입력에서 모델을 동적으로 가져옵니다.
다음으로 모델 파라미터를 구성해야 합니다. 텍스트 상자에 추론 파라미터를 입력하거나 Amazon S3에서 파라미터를 로드할 수 있습니다.
API 작업 구성을 계속 스크롤하면 S3 대상 버킷과 같은 API의 추가 구성 옵션을 지정할 수 있습니다. 이 필드를 지정하면, API 작업에서는 API 응답을 상태 출력으로 반환하는 대신 지정된 버킷에 저장합니다. 여기에서 요청 및 응답의 콘텐츠 유형을 지정할 수도 있습니다.
상태 머신 구성을 마친 후에는 상태 머신을 생성하고 실행할 수 있습니다. 상태 머신이 실행되면 실행 세부 정보를 시각화하고, Amazon Bedrock 상태를 선택하고, 입력 및 출력을 확인할 수 있습니다.
Step Functions를 사용하면 다양한 서비스를 결합하여 다양한 문제를 해결하면서 필요한 만큼 광범위하게 상태 머신을 구축할 수 있습니다. 예를 들어 Amazon Bedrock과 함께 Step Functions를 사용하여 프롬프트 체인을 사용한 애플리케이션을 생성할 수 있습니다. 프롬프트 체인이란 매우 길고 상세한 프롬프트 대신 여러 개의 작고 간단한 프롬프트를 FM에 전달하여 복잡한 생성형 AI 애플리케이션을 구축하는 기법입니다. 프롬프트 체인을 구축하려면 Amazon Bedrock을 여러 번 직접 호출하여 각각의 작은 프롬프트에 대한 추론을 얻는 상태 머신을 생성하면 됩니다. 병렬 상태를 사용하여 이 모든 작업을 병렬로 실행한 다음, 병렬 작업의 응답을 하나의 응답으로 통합하고 결과를 생성하는 AWS Lambda 함수를 사용할 수 있습니다.
정식 출시
AWS Step Functions에 최적화된 Amazon Bedrock 통합 기능은 Amazon Bedrock이 제공되는 AWS 리전에서만 사용할 수 있습니다.
Step Functions 콘솔에서 샘플 프로젝트를 사용해보면서 Step Functions와 Amazon Bedrock을 시작할 수 있습니다.
— Marcia