대부분의 애플리케이션은 다양한 형식을 통해 가용 콘텐츠와 상호 작용해야 합니다. 이러한 애플리케이션 중에는 보험 청구 및 의료비 청구서와 같은 복잡한 문서를 처리하는 애플리케이션도 있습니다. 모바일 앱은 사용자가 생성한 미디어를 분석해야 합니다. 기업들은 문서, 이미지, 오디오, 비디오 파일 등의 디지털 자산을 기반으로 의미 체계 인덱스를 구축해야 합니다. 하지만 비정형 멀티모달 콘텐츠에서 인사이트를 도출하는 기능은 설정하기가 쉽지 않습니다. 다양한 데이터 형식에 대한 처리 파이프라인을 구현하고, 필요한 정보를 얻기 위해 여러 단계를 거쳐야 하기 때문입니다. 이는 일반적으로 프로덕션 환경에 여러 모델을 배포해야 하고, 그러한 각 모델마다 (미세 조정 및 프롬프트 엔지니어링을 통한) 비용 최적화, 안전 조치(예: 할루시네이션 방지), 대상 애플리케이션과의 통합(데이터 형식 포함), 모델 업데이트를 수행해야 함을 의미합니다.
이 프로세스를 간소화하기 위해 AWS re:Invent 기간 중에, 문서, 이미지, 오디오, 동영상 등 비정형 멀티모달 콘텐츠에서 귀중한 인사이트를 간편하게 생성할 수 있는 Amazon Bedrock 기능인 Amazon Bedrock Data Automation을 평가판으로 발표했습니다. Bedrock Data Automation을 사용하면 지능형 문서 처리, 미디어 분석 및 기타 멀티모달 데이터 중심 자동화 솔루션을 구축하는 데 소요되는 개발 시간과 작업량을 줄일 수 있습니다.
Bedrock Data Automation을 독립형 기능으로 사용하거나 Amazon Bedrock Knowledge Bases의 파서로 사용하여, 멀티모달 콘텐츠에서 인사이트를 인덱싱하고 검색 증강 생성(RAG)을 위한 보다 관련성 높은 답변을 제공할 수 있습니다.
오늘 Bedrock Data Automation이 교차 리전 추론 엔드포인트 지원 기능과 함께 정식 출시되어 더 많은 AWS 리전에서 제공할 수 있게 되었으며, 여러 로케이션의 컴퓨팅 리소스도 원활하게 활용할 수 있게 되었습니다. 평가판 단계에서 보내주신 피드백을 바탕으로 정확도를 개선하고 이미지 및 비디오의 로고 인식을 위한 지원 기능도 추가했습니다.
이 기능이 실제로 어떻게 작동하는지 살펴보겠습니다.
교차 리전 추론 엔드포인트와 함께 Amazon Bedrock Data Automation 사용
Bedrock Data Automation 평가판에 대한 블로그 게시물에서는 Amazon Bedrock 콘솔의 시각적 데모를 사용하여 문서 및 비디오에서 정보를 추출하는 방법을 보여줍니다. 콘솔 데모 환경을 통해 이 기능의 작동 원리와 맞춤화하기 위해 수행할 수 있는 작업을 알아보시기 바랍니다. 이 게시물에서는 콘솔에서 수행하는 몇 단계를 설명한 후 코드 샘플을 소개하면서 Bedrock Data Automation이 애플리케이션에서 어떻게 작동하는지 자세히 살펴봅니다.
이제 Amazon Bedrock 콘솔의 데이터 자동화 섹션에 처음 액세스하면 교차 리전 지원을 활성화할지 여부를 확인하는 메시지가 나타납니다. 예를 들면 다음과 같습니다.

API 관점에서 보면, 이제 사용할 데이터 자동화 프로필을 지정하기 위한 추가 파라미터(dataAutomationProfileArn
)가 InvokeDataAutomationAsync
작업에 필요합니다. 이 파라미터의 값은 리전 및 AWS 계정 ID에 따라 달라집니다.
arn:aws:bedrock:<REGION>:<ACCOUNT_ID>:data-automation-profile/us.data-automation-v1
또한 프로젝트 Amazon 리소스 이름(ARN)이 포함되어 있다는 점을 더 잘 반영하기 위해 dataAutomationArn
파라미터의 이름이 dataAutomationProjectArn
으로 변경되었습니다. 이제 Bedrock Data Automation을 간접적으로 호출할 때 사용할 프로젝트 또는 블루프린트를 지정해야 합니다. 블루프린트를 전달하면 사용자 지정 출력이 생성됩니다. 표준 기본 출력을 계속 가져오려면 arn:aws:bedrock:<REGION>:aws:data-automation-project/public-default
를 사용하도록 DataAutomationProjectArn
파라미터를 구성합니다.
이름에서 알 수 있듯이 InvokeDataAutomationAsync
작업은 비동기식입니다. 입력 및 출력 구성을 전달하고 결과가 준비되면, 출력 구성에 지정된 대로 Amazon Simple Storage Service(Amazon S3) 버킷에 결과가 기록됩니다. notificationConfiguration
파라미터를 사용하여 Bedrock Data Automation으로부터 Amazon EventBridge 알림을 받을 수 있습니다.
Bedrock Data Automation에서는 다음 두 가지 방법으로 출력을 구성할 수 있습니다.
- 표준 출력은 문서 의미 체계, 비디오 챕터 요약, 오디오 트랜스크립트 등의 데이터 유형과 관련하여 사전 정의된 인사이트를 제공합니다. 표준 출력을 사용할 경우 몇 단계만 거치면 원하는 인사이트를 설정할 수 있습니다.
- 사용자 지정 출력은 블루프린트를 사용하여 추출 요구 사항을 지정함으로써 보다 맞춤화된 인사이트를 얻을 수 있게 해줍니다.
새 기능이 어떻게 작동하는지 직접 볼 수 있도록, 프로젝트를 만들고 표준 출력 설정을 사용자 지정해 보겠습니다. 문서의 경우 마크다운 대신 일반 텍스트를 선택합니다. 참고로 Bedrock Data Automation API를 사용하여 이러한 구성 단계를 자동화할 수 있습니다.

비디오의 경우 전체 오디오 트랜스크립션과 전체 비디오의 요약이 필요합니다. 또한 각 챕터의 요약을 요청합니다.

블루프린트를 구성하려면 Amazon Bedrock 콘솔 탐색 창의 데이터 자동화 섹션에서 사용자 지정 출력 설정을 선택합니다. 여기에서 US-Driver-License 샘플 블루프린트를 검색하겠습니다. 다른 샘플 블루프린트에서 더 많은 예와 아이디어를 찾아볼 수 있습니다.
샘플 블루프린트는 편집할 수 없으므로 작업 메뉴를 사용하여 블루프린트를 복제하고 프로젝트에 추가합니다. 여기에서 블루프린트를 수정하고, 생성형 AI를 사용하여 필요한 형식으로 데이터를 추출하거나 계산할 수 있는 사용자 지정 필드를 추가하는 방법으로, 추출할 데이터를 미세 조정할 수 있습니다.

미국 운전 면허증 이미지를 S3 버킷에 업로드하겠습니다. 그런 다음 AWS SDK for Python(Boto3)을 통해 Bedrock Data Automation을 사용하여 이미지에서 텍스트 정보를 추출하는 이 샘플 Python 스크립트를 사용하겠습니다.
스크립트의 초기 구성에는 입력 및 출력에 사용할 S3 버킷의 이름, 버킷의 입력 파일 위치, 결과의 출력 경로, Bedrock Data Automation에서 사용자 지정 출력을 가져오는 데 사용할 프로젝트 ID, 출력에 표시할 블루프린트 필드가 포함됩니다.
입력 파일의 이름을 전달하는 스크립트를 실행하겠습니다. 출력에서 Bedrock Data Automation이 추출한 정보를 볼 수 있습니다. US-Driver-License가 일치하며 운전 면허증의 이름과 날짜가 출력에 인쇄됩니다.
예상대로 Bedrock Data Automation 프로젝트와 관련한 블루프린트에서 선택한 정보를 출력에서 볼 수 있습니다.
마찬가지로, 제 동료 Mike Chambers의 비디오 파일에서 동일한 스크립트를 실행합니다. 출력을 작게 유지하기 위해 전체 오디오 트랜스크립트나 비디오에 표시되는 텍스트는 인쇄하지 않습니다.
python bda.py mike-video.mp4
Invoking Bedrock Data Automation for 'mike-video.mp4'.......................................................................................................................................................................................................................................................................... Success
Asset ID: 0
- 표준 출력
Semantic modality: VIDEO
Duration: 810476 ms
요약: 이 포괄적인 데모에서는 한 기술 전문가가 대규모 언어 모델(LLM)의 기능과 한계를 살펴보고, AWS 서비스를 사용하는 실용적인 애플리케이션을 선보입니다. 그는 LLM에 대한 일반적인 오해를 바로잡는 것부터 시작하면서, LLM이 훈련 데이터를 통해 일반적인 세계의 지식을 가지게 되었지만 외부 데이터 소스에 연결되지 않는 한 최신 실시간 정보가 부족하다고 설명합니다.
이 개념을 설명하기 위해 그는 위치와 기상 조건에 따라 입고 나갈 옷을 추천하는 ‘Outfit Planner’ 애플리케이션을 시연합니다. 호주 브리즈번을 예로 사용하자 이 애플리케이션은 LLM 기능과 실시간 날씨 데이터를 조합하여 열대 기후에 적합한 가벼운 린넨 셔츠, 반바지, 모자 등 적절한 복장을 제안합니다.
그런 다음 Amazon Bedrock 플랫폼으로 시연이 이어집니다. Amazon Bedrock 플랫폼을 통해 사용자는 파운데이션 모델을 사용하여 생성형 AI 애플리케이션을 구축하고 규모를 조정할 수 있습니다. 발표자는 OutfitAssistantAgent’를 선보이며, 이 애플리케이션이 어떻게 실시간 날씨 데이터에 액세스하여 정보를 바탕으로 복장을 추천하는지 설명합니다. 그는 플랫폼의 ‘Show Trace’ 기능을 통해, 에이전트의 의사 결정 프로세스와 위치 및 날씨 정보를 검색하고 처리하는 방법을 설명합니다.
발표자는 Amazon Bedrock을 사용하여 OutfitAssistant를 구성하면서 세부적인 기술이 어떻게 구현되는지 소개합니다. 에이전트의 워크플로는 Amazon Bedrock 서비스 내에서 완전한 서버리스 관리형 서비스로 설계되었습니다.
이 프레젠테이션에서는 기술적 측면을 더 자세히 다루면서 AWS Lambda 콘솔 통합에 대해 설명하고 OpenWeatherMap API와 같은 외부 서비스에 연결하는 작업 그룹 함수를 만드는 방법을 보여줍니다. 발표자는 LLM을 데이터베이스, 텍스트 파일, 외부 API 등의 관련 데이터 소스를 제공하는 도구와 연결하면 훨씬 더 유용해진다는 점을 강조합니다.
발표자가 다른 AWS 개발자 콘텐츠를 더 살펴보고 좋아요와 구독을 통해 채널에 참여하도록 시청자들을 독려하는 한편, LLM을 외부 데이터 소스와 결합하여 강력한 상황 인식 애플리케이션을 구축할 때 얻을 수 있는 실질적인 가치를 강조하면서 프레젠테이션이 마무리됩니다.
Statistics:
- 발표자 수: 1
- 챕터 수: 6
- 장면 수: 48
Chapter 0 00:00:00:00-00:01:32:01 (92025 ms)
- 챕터 요약: 다양한 로고와 텍스트가 새겨진 회색 후드 스웨트셔츠를 입은 수염을 기르고 안경을 쓴 남자가 화려한 배경 앞의 책상에 앉아 있습니다. 그는 새로운 대규모 언어 모델(LLM)이 빈번하게 출시된다는 점을 지적하며 사람들이 ‘월드 시리즈 우승자는 누구인가?’와 같은 질문을 통해 이러한 모델을 어떻게 자주 테스트하는지 설명합니다. 남자는 LLM이 인터넷의 일반 데이터를 기반으로 훈련을 받기 때문에 과거 사건에 대한 정보는 가지고 있지만, 현재 사건에 대한 정보는 가지고 있지 않을 수 있다고 설명합니다. 그런 다음 그는 LLM으로부터 원하는 것에 대한 질문을 던지며, ‘위는 위’, ‘아래는 아래’ 등의 기본 개념을 이해하는 것과 같은 일반적인 세계 지식을 원하지만 구체적인 사실에 관한 지식은 필요하지 않다고 말합니다. 남자는 LLM에 다른 시스템을 연결하여 자신의 니즈와 관련한 최신 사실 데이터에 액세스할 수 있음을 시사합니다. 그는 일반적인 세계 지식과 도구를 사용하고 ‘에이전트 워크플로’라고 부르는 에이전트 방식의 워크플로에 연결할 수 있는 기능의 중요성을 강조합니다. 이 남자는 이 용어를 맞춤법 검사기에 추가할 것을 시청자들에게 권합니다. 이 용어가 일반적으로 사용될 가능성이 높기 때문입니다.
Chapter 1 00:01:32:01-00:03:38:18 (126560 ms)
- 챕터 요약: 이 비디오는 수염을 기르고 안경을 쓴 남자가 노트북에서 ‘Outfit Planner’ 애플리케이션을 시연하는 모습을 보여줍니다. 이 애플리케이션을 통해 사용자는 호주 브리즈번과 같은 위치를 입력하여, 기상 조건에 따라 적절한 복장을 추천받을 수 있습니다. 남자는 이 애플리케이션이 대규모 언어 모델을 사용하여 이러한 추천을 생성하는데, 실제 데이터 소스에 직접 액세스할 수 없기 때문에 부정확하거나 할루시네이션이 발생한 정보를 제공하는 경우도 있다고 설명합니다.
남자는 Outfit Planner를 사용하는 과정을 안내하면서, 브리즈번을 위치로 입력하고 온도, 습도, 구름과 같은 날씨 세부 정보를 수신합니다. 그런 다음 열대 환경에서 비슷한 의상을 입은 여성의 이미지와 함께 가벼운 린넨 셔츠, 반바지, 샌들, 모자 등의 의상 옵션을 제안하는 애플리케이션을 보여줍니다.
남자는 데모를 시연하는 내내, 정확한 최신 정보를 제공하는 데 있어 외부 데이터 연결이 없는 현재 언어 모델의 한계를 지적합니다. 또한 출력을 세분화하고 생성된 추천의 정확성을 개선하기 위해 애플리케이션 내에서 프롬프트를 편집하고 설정을 조정해야 할 필요성을 강조합니다.
Chapter 2 00:03:38:18-00:07:19:06 (220620 ms)
- 챕터 요약: 이 비디오에서는 사용자가 파운데이션 모델(FM)을 사용하여 생성형 AI 애플리케이션을 구축하고 규모를 조정할 수 있는 Amazon Bedrock 플랫폼을 보여줍니다. [speaker_0]은 AWS에서의 FM 관리, 사용자 지정 모델과의 통합, 주요 AI 스타트업에 대한 액세스 제공 등의 주요 기능을 자세히 설명하면서 플랫폼 개요를 소개합니다. 이 비디오에서는 Amazon Bedrock 콘솔 인터페이스를 보여줍니다. 여기서 [speaker_0]은 ‘Agents’ 섹션으로 이동하여 “OutfitAssistantAgent” 에이전트를 선택합니다. [speaker_0]은 호주 브리즈번에서의 추천 의상을 요청하면서 OutfitAssistantAgent를 테스트합니다. 에이전트는 서늘하고 안개가 자욱한 날씨인 관계로 가벼운 재킷이나 스웨터를 입는 것이 좋다고 제안합니다. 추천의 정확성을 확인하기 위해 [speaker_0]은 ‘Show Trace’ 버튼을 클릭합니다. 이 버튼을 클릭하면 에이전트의 워크플로와 브리즈번의 현재 위치 세부 정보 및 날씨 정보를 검색하는 데 사용한 단계가 표시됩니다. 이 비디오에서는 에이전트가 오케스트레이션 및 지식 기반 시스템을 사용하여 사용자의 쿼리와 검색된 데이터를 기반으로 적절한 답변을 결정한다고 설명합니다. 위치 및 날씨 데이터와 같은 실시간 정보에 액세스할 수 있는 에이전트의 기능을 강조하며, 정확하고 연관성 높은 응답을 생성하는 데 이 기능이 매우 중요하다고 설명합니다.
Chapter 3 00:07:19:06-00:11:26:13 (247214 ms)
- 챕터 요약: 이 비디오에서는 Amazon Bedrock을 사용하여 ‘OutfitAssistant’라는 AI 어시스턴트 에이전트를 구성하는 프로세스를 보여줍니다. [speaker_0]은 현재 시간과 기상 조건에 따라 복장을 추천한다는 에이전트의 목적을 소개합니다. 구성 인터페이스를 통해 Anthropic의 언어 모델(이 데모의 경우 Claud 3 Haiku 모델)을 선택하고 에이전트의 동작에 대한 자연어 명령을 정의할 수 있습니다. [speaker_0]은 이 작업 그룹이 외부 세계와 상호 작용하기 위한 도구 또는 작업의 그룹이라고 설명합니다. OutfitAssistant 에이전트는 Lambda 함수를 도구로 사용하므로, Amazon Bedrock 서비스 내에서 완전한 서버리스 관리형 서비스로 작동합니다. [speaker_0]은 두 개의 작업 그룹을 정의합니다. 하나는 장소 이름에서 위도 및 경도 좌표를 검색하는 ‘get coordinates’이고, 다른 하나는 위치를 기반으로 현재 시간을 판단하는 ‘get current time’입니다. ‘get current weather’ 작업을 실행하려면 먼저 ‘get coordinates’ 작업을 직접적으로 호출하여 위치 좌표를 가져온 다음, 해당 좌표를 사용하여 현재 날씨 정보를 검색해야 합니다. 이는 에이전트의 워크플로와 에이전트가 정의된 작업을 활용하여 복장 추천을 생성하는 방법을 보여줍니다. 비디오 전반에 걸쳐 [speaker_0]은 이름, 설명, 모델 선택, 지침, 작업 그룹 등, 에이전트의 구성에 대한 세부 정보를 제공합니다. 이러한 측면과 관련된 다양한 옵션 및 설정이 인터페이스에 표시되므로, [speaker_0]이 에이전트의 동작과 기능을 사용자 지정할 수 있습니다.
Chapter 4 00:11:26:13-00:13:00:17 (94160 ms)
- 챕터 요약: 이 비디오에서는 AWS Lambda 콘솔에 대한 [speaker_0]의 프레젠테이션과 강력한 에이전트 구축을 위한 기계 학습 모델과의 통합 기능을 보여줍니다. [speaker_0]은 위치, 시간, 날씨 데이터와 같은 입력 파라미터를 기반으로 텍스트 답변을 생성하는 데 사용할 수 있는 작업 그룹 함수를 AWS Lambda를 통해 생성하는 방법을 보여줍니다. OpenWeatherMap API와 같은 외부 서비스를 활용하여 날씨 정보를 가져오는 Lambda 함수 코드가 표시됩니다. [speaker_0]은 대규모 언어 모델의 유용성을 높이려면 데이터베이스, 텍스트 파일 또는 외부 API와 같은 관련 데이터 소스를 제공하는 도구에 연결해야 한다고 설명합니다. 이 프레젠테이션에서는 작업을 정의하고, Lambda 함수를 설정하고, AWS 환경 내에서 다양한 도구를 활용하여 컨텍스트 인식 응답을 생성할 수 있는 지능형 에이전트를 구축하는 프로세스를 다룹니다.
Chapter 5 00:13:00:17-00:13:28:10 (27761 ms)
- 챕터 요약: 다양한 로고와 텍스트가 새겨진 회색 후디를 입은 수염을 기르고 안경을 쓴 남자가 화려한 배경 앞의 책상에 앉아 있습니다. 그는 스티커와 AWS 로고를 비롯한 로고가 있는 노트북 컴퓨터를 사용하고 있습니다. 남자는 Amazon Web Services(AWS)와 Lambda 함수, 대규모 언어 모델 등의 AWS 서비스에 대해 프레젠테이션을 발표하거나 이야기하고 있는 것으로 보입니다. 그는 Lambda 함수로 어떤 작업을 수행할 수 있다면, 대규모 언어 모델을 확장하는 데에 활용할 수 있을 것이라고 언급했습니다. 남자는 이 비디오가 시청자에게 유용하고 유익했으면 좋겠다는 희망을 전하면서, AWS 개발자 채널에서 다른 비디오도 확인해 보라고 권하며 설명을 마칩니다. 또한 시청자에게 비디오에 좋아요를 누르고 채널을 구독하고 다른 비디오를 시청하도록 요청합니다.
알아야 할 사항
이제 미국 동부(버지니아 북부)와 미국 서부(오리건)의 두 AWS 리전에서 교차 리전 추론을 통해 Amazon Bedrock Data Automation을 사용할 수 있습니다. 해당 리전의 Bedrock Data Automation을 사용하면 미국 동부(오하이오, 버지니아 북부)와 미국 서부(캘리포니아 북부, 오리건) 등 4개 리전 중 하나에서 교차 리전 추론을 사용하여 데이터를 처리할 수 있습니다. 이들 리전은 모두 미국에 있으므로, 데이터가 동일한 지역 내에서 처리됩니다. AWS는 현재 2025년 후반에 유럽과 아시아의 더 많은 리전에 대한 지원을 추가하기 위해 노력하고 있습니다.
평가판과 비교하여, 그리고 교차 리전 추론을 사용할 때와 비교하여 요금에는 변화가 없습니다. 자세한 내용은 Amazon Bedrock 요금 페이지를 참조하세요.
이제 Bedrock Data Automation에는 세분화된 암호화 제어를 위한 AWS Key Management Service(AWS KMS) 고객 관리형 키 지원, 인터넷을 통해 연결하는 것이 아니라 가상 프라이빗 클라우드(VPC)에서 Bedrock Data Automation API에 직접 연결할 수 있는 AWS PrivateLink, 비용을 추적하고 AWS Identity and Access Management(AWS IAM)의 태그 기반 액세스 정책을 적용하기 위한 Bedrock Data Automation 리소스 및 작업에 대한 태깅 등 다양한 보안, 거버넌스 및 관리 관련 기능도 추가되었습니다.
이 블로그 게시물에서는 Python을 사용했지만 Bedrock Data Automation은 모든 AWS SDK와 함께 사용할 수 있습니다. 예를 들어 백엔드 문서 처리 애플리케이션에는 Java, .NET 또는 Rust를, 이미지, 비디오 또는 오디오 파일을 처리하는 웹 앱에는 JavaScript를, 최종 사용자가 제공한 콘텐츠를 처리하는 네이티브 모바일 앱에는 Swift를 각각 사용할 수 있습니다. 그 어느 때보다 손쉽게 멀티모달 데이터에서 인사이트를 도출할 수 있게 되었습니다.
다음은 자세한 내용을 참조할 수 있는 코드 샘플을 비롯한 몇 가지 참고 자료입니다.
– Danilo
잠시 시간 있으신가요? 이 1분짜리 설문조사에 참여해 주세요!