AWS, 베드락 온디맨드·배치 추론 묶은 문서 데이터 추출 파이프라인 공개
AWS가 머신러닝 블로그에서 온디맨드 추론과 배치 추론을 동적으로 오가며 문서에서 데이터를 추출하는 지능형 문서 처리 파이프라인 구축법을 공개했다. 아마존 베드락 위에 두 추론 방식을 함께 두고 처리 속도와 비용을 상황에 맞게 고르도록 한 것이 핵심으로, 빠른 응답이 필요한 시간 민감 요청에는 온디맨드를, 비용을 아껴야 할 때는 배치를 쓴다.
이 파이프라인은 문서 단위로 LLM 모델과 프롬프트를 동적으로 지정할 수 있어, 같은 파이프라인으로 여러 유형의 문서에서 데이터를 뽑아낼 수 있다. AWS는 편집 가능한 텍스트 없이 이미지로만 된 스캔 PDF 형태의 토지 임대차 문서 수억 건이 밀려 있고 매일 새 문서가 쌓이는 고객 사례를 예로 들며, 형식이 제각각인 스캔 PDF나 텍스트 파일에서 데이터를 표준화해 추출한다고 설명했다.
온디맨드 파이프라인은 문서를 하나씩 처리해 수 초 안에 결과를 돌려준다. AWS SQS의 선입선출(FIFO) 큐에 문서 ID와 LLM 모델 ID, 프롬프트 ID·버전 등이 담긴 메시지가 도착하면 Lambda 함수가 작동한다. Lambda는 S3 버킷에서 PDF를 가져와 페이지를 PNG 이미지로 변환하고, 베드락 프롬프트 매니지먼트에서 프롬프트를 불러와 LLM을 호출한 뒤 결과를 다이나모DB 테이블에 저장한다.
FIFO 큐를 쓰는 이유로는 메시지를 정확히 한 번 전달하고, 엄격한 순서를 지키며, 메시지 그룹 ID로 관련 메시지의 처리 순서를 보장하는 점을 들었다. 베드락 호출은 컨버스(Converse) API로 이뤄지며, LLM은 추출 데이터를 JSON 문자열로 돌려준다.
스캔 PDF는 멀티모달 모델이 이해할 수 있도록 이미지로 변환된다. 글 작성 시점 기준 클로드 4 소네트 모델은 멀티모달 호출당 최대 20개 이미지만 허용하므로, 20페이지를 넘는 문서는 20페이지 단위 청크로 나눠 doc_id·chunk_count·chunk_id와 함께 다이나모DB에 저장한다.
프롬프트는 베드락 프롬프트 매니지먼트에 고유 ID와 버전으로 관리된다. 토지 임대차 문서는 토지 속성을 번호 목록이나 표, 도면 등 제각각으로 담고 있어 형식에 맞춘 서로 다른 프롬프트를 쓰면 추출 정확도가 높아진다. 다만 리전당 프롬프트 50개, 프롬프트당 버전 10개라는 서비스 한도가 있다.
배치 파이프라인은 높은 처리량을 위해 표준 SQS 큐를 쓴다. 아마존 이벤트브리지 스케줄러가 정해진 일정에 배치 추론 Lambda 함수를 깨우면, 함수는 큐에 충분한 메시지가 있는지 먼저 확인한다. 글 작성 시점 기준 베드락 배치 추론 작업은 최소 100건의 레코드가 필요하다.
배치 Lambda는 큐 메시지를 돌며 문서 ID와 모델·프롬프트 정보를 추출하고, 온디맨드와 마찬가지로 문서를 이미지로 변환하며 큰 파일을 나눈다. 표준 SQS 큐는 정확히 한 번 전달을 보장하지 않으므로 중복 메시지는 무시하도록 했다. 전처리를 거쳐 JSONL 파일을 만들어 배치 추론 작업을 제출하고, 이후 후처리 Lambda가 결과를 마무리한다.