제퍼넷 로고

생성적 AI 애플리케이션을 위한 실시간 스트리밍 탐색 | 아마존 웹 서비스

시간

FM(Foundation Model)은 레이블이 지정되지 않고 일반화된 광범위한 데이터세트에 대해 훈련된 대규모 기계 학습(ML) 모델입니다. FM은 이름에서 알 수 있듯이 보다 전문화된 다운스트림 애플리케이션을 구축하기 위한 기반을 제공하며 적응성이 독특합니다. 자연어 처리, 이미지 분류, 추세 예측, 감정 분석, 질문 답변 등 다양한 작업을 수행할 수 있습니다. 이러한 규모와 범용 적응성은 FM이 기존 ML 모델과 다른 점입니다. FM은 다중 모드입니다. 텍스트, 비디오, 오디오 및 이미지와 같은 다양한 데이터 유형으로 작동합니다. LLM(대형 언어 모델)은 FM의 한 유형이며 방대한 양의 텍스트 데이터에 대해 사전 훈련되어 있으며 일반적으로 텍스트 생성, 지능형 챗봇 또는 요약과 같은 애플리케이션 용도로 사용됩니다.

스트리밍 데이터는 다양한 최신 정보의 지속적인 흐름을 촉진하여 보다 정확하고 상황에 맞는 출력을 적응하고 생성하는 모델의 능력을 향상시킵니다. 스트리밍 데이터의 이러한 동적 통합은 생성 적 AI 변화하는 조건에 신속하게 대응하여 다양한 작업에서 적응성과 전반적인 성능을 향상시키는 애플리케이션입니다.

이를 더 잘 이해하려면 여행자가 여행을 예약하는 데 도움을 주는 챗봇을 상상해 보세요. 이 시나리오에서 챗봇은 항공사 재고, 항공편 상태, 호텔 재고, 최신 가격 변동 등에 대한 실시간 액세스가 필요합니다. 이 데이터는 일반적으로 제3자로부터 제공되며 개발자는 이 데이터를 수집하고 데이터 변경 사항이 발생하는 대로 처리할 수 있는 방법을 찾아야 합니다.

일괄 처리는 이 시나리오에 가장 적합하지 않습니다. 데이터가 빠르게 변경되는 경우 이를 일괄 처리하면 챗봇이 오래된 데이터를 사용하게 되어 고객에게 부정확한 정보를 제공하게 되어 전반적인 고객 경험에 영향을 줄 수 있습니다. 그러나 스트림 처리를 통해 챗봇은 실시간 데이터에 액세스하고 가용성 및 가격 변화에 적응하여 고객에게 최상의 지침을 제공하고 고객 경험을 향상시킬 수 있습니다.

또 다른 예는 FM이 시스템의 실시간 내부 메트릭을 모니터링하고 경고를 생성하는 AI 기반 관찰 가능성 및 모니터링 솔루션입니다. 모델이 이상치나 비정상적인 메트릭 값을 발견하면 즉시 경고를 생성하고 운영자에게 알려야 합니다. 그러나 이러한 중요한 데이터의 가치는 시간이 지남에 따라 크게 감소합니다. 이러한 알림은 이상적으로는 몇 초 내에 또는 알림이 발생하는 동안에도 수신되어야 합니다. 운영자가 알림이 발생한 지 몇 분 또는 몇 시간 후에 이러한 알림을 받으면 해당 통찰력은 실행 가능하지 않으며 가치가 상실될 수 있습니다. 소매, 자동차 제조, 에너지, 금융 산업 등 다른 산업에서도 유사한 사용 사례를 찾을 수 있습니다.

이 게시물에서는 데이터 스트리밍이 실시간 특성으로 인해 생성 AI 애플리케이션의 중요한 구성 요소인 이유에 대해 논의합니다. 다음과 같은 AWS 데이터 스트리밍 서비스의 가치에 대해 논의합니다. Apache Kafka 용 Amazon Managed Streaming (아마존 MSK), Amazon Kinesis 데이터 스트림, Apache Flink용 Amazon 관리형 서비스아마존 키네 시스 데이터 파이어 호스 생성적 AI 애플리케이션을 구축하는 데 있어

상황에 맞는 학습

LLM은 특정 시점 데이터로 교육을 받았고 추론 시 새로운 데이터에 액세스할 수 있는 고유한 기능이 없습니다. 새로운 데이터가 나타나면 모델을 지속적으로 미세 조정하거나 추가로 교육해야 합니다. 이는 비용이 많이 드는 작업일 뿐만 아니라 새로운 데이터 생성 속도가 미세 조정 속도보다 훨씬 빠르기 때문에 실제로 매우 제한적입니다. 또한 LLM은 상황에 대한 이해가 부족하고 교육 데이터에만 의존하므로 환각에 빠지기 쉽습니다. 이는 유창하고 일관되며 구문론적으로 건전하지만 실제로는 잘못된 응답을 생성할 수 있음을 의미합니다. 또한 관련성, 개인화 및 맥락이 결여되어 있습니다.

그러나 LLM은 모델 가중치를 수정하지 않고도 보다 정확하게 응답하기 위해 컨텍스트에서 받은 데이터로부터 학습할 수 있는 능력을 갖추고 있습니다. 이것은 ... 불리운다 상황에 맞는 학습, 개인화된 답변을 생성하거나 조직 정책의 맥락에서 정확한 응답을 제공하는 데 사용할 수 있습니다.

예를 들어 챗봇에서 데이터 이벤트는 스트리밍 스토리지 엔진에 지속적으로 수집되는 항공편 및 호텔 재고 또는 가격 변동과 관련될 수 있습니다. 또한 데이터 이벤트는 스트림 프로세서를 사용하여 필터링, 강화 및 소비 가능한 형식으로 변환됩니다. 최신 스냅샷을 쿼리하면 결과가 애플리케이션에 제공됩니다. 스냅샷은 스트림 처리를 통해 지속적으로 업데이트됩니다. 따라서 최신 데이터는 사용자 프롬프트의 맥락에서 모델에 제공됩니다. 이를 통해 모델은 가격 및 가용성의 최신 변화에 적응할 수 있습니다. 다음 다이어그램은 기본적인 상황별 학습 작업흐름을 보여줍니다.

일반적으로 사용되는 상황 내 학습 접근 방식은 검색 증강 생성(RAG)이라는 기술을 사용하는 것입니다. RAG에서는 사용자 질문과 함께 가장 관련성이 높은 정책 및 고객 기록과 같은 관련 정보를 프롬프트에 제공합니다. 이러한 방식으로 LLM은 컨텍스트로 제공된 추가 정보를 사용하여 사용자 질문에 대한 답변을 생성합니다. RAG에 대해 자세히 알아보려면 다음을 참조하세요. Amazon SageMaker JumpStart의 기초 모델과 함께 Retrieval Augmented Generation을 사용한 질문 답변.

RAG 기반 생성 AI 애플리케이션은 훈련 데이터와 지식 베이스의 관련 문서를 기반으로 일반 응답만 생성할 수 있습니다. 애플리케이션에서 거의 실시간으로 개인화된 응답을 기대하는 경우 이 솔루션은 부족합니다. 예를 들어, 여행 챗봇은 사용자의 현재 예약, 사용 가능한 호텔 및 항공편 재고 등을 고려해야 합니다. 또한, 관련 고객 개인 데이터(일반적으로 통합된 고객 프로필)은 일반적으로 변경될 수 있습니다. 생성 AI의 사용자 프로필 데이터베이스를 업데이트하기 위해 일괄 프로세스를 사용하는 경우 고객은 오래된 데이터를 기반으로 불만족스러운 응답을 받을 수 있습니다.

이 게시물에서는 통합 고객 프로필 및 조직 지식 기반에 대한 실시간 액세스의 컨텍스트를 통해 질문 응답 에이전트를 구축하는 데 사용되는 RAG 솔루션을 향상시키기 위해 스트림 처리를 적용하는 방법에 대해 논의합니다.

거의 실시간으로 고객 프로필 업데이트

고객 기록은 일반적으로 조직 내의 데이터 저장소에 배포됩니다. 생성 AI 애플리케이션이 적절하고 정확한 최신 고객 프로필을 제공하려면 분산된 데이터 저장소에서 ID 확인 및 프로필 집계를 수행할 수 있는 스트리밍 데이터 파이프라인을 구축하는 것이 중요합니다. 스트리밍 작업은 지속적으로 새로운 데이터를 수집하여 시스템 전체에서 동기화하고 시간 창 전반에 걸쳐 보강, 변환, 조인 및 집계를 보다 효율적으로 수행할 수 있습니다. 변경 데이터 캡처(CDC) 이벤트에는 소스 레코드, 업데이트 및 시간, 소스, 분류(삽입, 업데이트 또는 삭제), 변경 시작자와 같은 메타데이터에 대한 정보가 포함됩니다.

다음 다이어그램은 통합 고객 프로필에 대한 CDC 스트리밍 수집 및 처리에 대한 예시 워크플로를 보여줍니다.

이 섹션에서는 RAG 기반 생성 AI 애플리케이션을 지원하는 데 필요한 CDC 스트리밍 패턴의 주요 구성 요소에 대해 설명합니다.

CDC 스트리밍 수집

CDC 복제기는 소스 시스템에서 데이터 변경 사항을 수집하고(일반적으로 트랜잭션 로그 또는 binlog를 읽어) 스트리밍 데이터 스트림 또는 주제에서 발생한 순서와 정확히 동일한 순서로 CDC 이벤트를 기록하는 프로세스입니다. 여기에는 다음과 같은 도구를 사용한 로그 기반 캡처가 포함됩니다. AWS 데이터베이스 마이그레이션 서비스 (AWS DMS) 또는 Apache Kafka용 Debezium과 같은 오픈 소스 커넥터를 연결합니다. Apache Kafka Connect는 Apache Kafka 환경의 일부로, 다양한 소스에서 데이터를 수집하고 다양한 대상으로 전달할 수 있습니다. Apache Kafka 커넥터를 실행할 수 있습니다. 아마존 MSK 커넥트 Apache Kafka 클러스터 구성, 설정 및 운영에 대해 걱정할 필요 없이 몇 분 안에 완료됩니다. 커넥터의 컴파일된 코드만 업로드하면 됩니다. 아마존 단순 스토리지 서비스 (Amazon S3) 워크로드의 특정 구성으로 커넥터를 설정합니다.

데이터 변경 사항을 캡처하는 다른 방법도 있습니다. 예를 들어, 아마존 DynamoDB CDC 데이터를 스트리밍하는 기능을 제공합니다. Amazon DynamoDB 스트림 또는 Kinesis 데이터 스트림. Amazon S3는 다음을 호출하는 트리거를 제공합니다. AWS 람다 새 문서를 저장할 때의 기능입니다.

스트리밍 스토리지

스트리밍 스토리지는 CDC 이벤트가 처리되기 전에 저장하는 중간 버퍼 역할을 합니다. 스트리밍 스토리지는 스트리밍 데이터를 위한 안정적인 스토리지를 제공합니다. 설계상 가용성이 높고 하드웨어 또는 노드 오류에 대한 복원력이 뛰어나며 이벤트가 기록되는 순서를 유지합니다. 스트리밍 스토리지는 데이터 이벤트를 영구적으로 또는 일정 기간 동안 저장할 수 있습니다. 이를 통해 오류가 있거나 재처리가 필요한 경우 스트림 프로세서가 스트림의 일부를 읽을 수 있습니다. Kinesis Data Streams는 대규모 데이터 스트림을 간단하게 캡처, 처리 및 저장할 수 있게 해주는 서버리스 스트리밍 데이터 서비스입니다. Amazon MSK는 Apache Kafka 실행을 위해 AWS에서 제공하는 완전관리형의 고가용성 보안 서비스입니다.

스트림 처리

스트림 처리 시스템은 높은 데이터 처리량을 처리하기 위해 병렬성을 갖도록 설계되어야 합니다. 여러 컴퓨팅 노드에서 실행되는 여러 작업 간에 입력 스트림을 분할해야 합니다. 작업은 네트워크를 통해 한 작업의 결과를 다음 작업으로 보낼 수 있어야 하며, 이를 통해 조인, 필터링, 강화, 집계 등의 작업을 수행하는 동안 데이터를 병렬로 처리할 수 있어야 합니다. 스트림 처리 애플리케이션은 이벤트가 늦게 도착할 수 있거나 정확한 계산이 시스템 시간이 아닌 이벤트 발생 시간에 의존하는 사용 사례에 대해 이벤트 시간과 관련하여 이벤트를 처리할 수 있어야 합니다. 자세한 내용은 다음을 참조하세요. 시간 개념: 이벤트 시간 및 처리 시간.

스트림 프로세스는 대상 시스템에 출력해야 하는 데이터 이벤트 형태로 결과를 지속적으로 생성합니다. 대상 시스템은 프로세스와 직접 통합되거나 중개자처럼 스트리밍 스토리지를 통해 통합될 수 있는 시스템일 수 있습니다. 스트림 처리를 위해 선택한 프레임워크에 따라 사용 가능한 싱크 커넥터에 따라 대상 시스템에 대한 다양한 옵션이 제공됩니다. 결과를 중간 스트리밍 스토리지에 쓰기로 결정한 경우 이벤트를 읽고 Apache Kafka 싱크 커넥터 실행과 같이 대상 시스템에 변경 사항을 적용하는 별도의 프로세스를 구축할 수 있습니다. 어떤 옵션을 선택하든 CDC 데이터는 특성상 추가 처리가 필요합니다. CDC 이벤트는 업데이트 또는 삭제에 대한 정보를 전달하므로 대상 시스템에 올바른 순서로 병합하는 것이 중요합니다. 변경 사항이 잘못된 순서로 적용되면 대상 시스템이 소스와 동기화되지 않습니다.

아파치 플 링크 낮은 대기 시간과 높은 처리량 기능으로 잘 알려진 강력한 스트림 처리 프레임워크입니다. 이벤트 시간 처리, 정확히 한 번만 처리하는 의미 체계 및 높은 내결함성을 지원합니다. 또한 다음과 같은 특수 구조를 통해 CDC 데이터에 대한 기본 지원을 제공합니다. 동적 테이블. 동적 테이블은 소스 데이터베이스 테이블을 모방하고 스트리밍 데이터의 열 형식 표현을 제공합니다. 동적 테이블의 데이터는 이벤트가 처리될 때마다 변경됩니다. 언제든지 새로운 기록을 추가, 업데이트 또는 삭제할 수 있습니다. 동적 테이블은 각 레코드 작업(삽입, 업데이트, 삭제)에 대해 별도로 구현해야 하는 추가 논리를 추상화합니다. 자세한 내용은 다음을 참조하세요. 동적 테이블.

Apache Flink용 Amazon 관리형 서비스를 사용하면 Apache Flink 작업을 실행하고 다른 AWS 서비스와 통합할 수 있습니다. 관리할 서버와 클러스터가 없으며 설정할 컴퓨팅 및 스토리지 인프라도 없습니다.

AWS 접착제 완전 관리형 ETL(추출, 변환 및 로드) 서비스입니다. 즉, AWS가 인프라 프로비저닝, 확장 및 유지 관리를 대신 처리합니다. 주로 ETL 기능으로 알려져 있지만 AWS Glue는 Spark 스트리밍 애플리케이션에도 사용할 수 있습니다. AWS Glue는 CDC 데이터를 처리하고 변환하기 위해 Kinesis Data Streams 및 Amazon MSK와 같은 스트리밍 데이터 서비스와 상호 작용할 수 있습니다. AWS Glue는 또한 Lambda와 같은 다른 AWS 서비스와 원활하게 통합할 수 있습니다. AWS 단계 함수, DynamoDB는 데이터 처리 파이프라인을 구축하고 관리하기 위한 포괄적인 에코시스템을 제공합니다.

통합된 고객 프로필

다양한 소스 시스템에서 고객 프로필의 통합을 극복하려면 강력한 데이터 파이프라인을 개발해야 합니다. 모든 기록을 하나의 데이터 저장소로 가져오고 동기화할 수 있는 데이터 파이프라인이 필요합니다. 이 데이터 저장소는 조직에 RAG 기반 생성 AI 애플리케이션의 운영 효율성에 필요한 전체적인 고객 기록 보기를 제공합니다. 이러한 데이터 저장소를 구축하려면 구조화되지 않은 데이터 저장소가 가장 좋습니다.

ID 그래프는 다양한 소스의 고객 데이터를 통합 및 통합하고, 데이터 정확성 및 중복 제거를 보장하고, 실시간 업데이트를 제공하고, 시스템 간 통찰력을 연결하고, 개인화를 지원하고, 고객 경험을 향상시키고, 규정 준수를 지원합니다. 이 통합된 고객 프로필을 통해 생성 AI 애플리케이션은 고객을 효과적으로 이해하고 소통하며 데이터 개인 정보 보호 규정을 준수하여 궁극적으로 고객 경험을 향상하고 비즈니스 성장을 촉진할 수 있습니다. 다음을 사용하여 ID 그래프 솔루션을 구축할 수 있습니다. 아마존 해왕성, 빠르고 안정적인 완전 관리형 그래프 데이터베이스 서비스입니다.

AWS는 구조화되지 않은 키-값 객체를 위한 몇 가지 관리형 및 서버리스 NoSQL 스토리지 서비스 제품을 제공합니다. 아마존 문서 DB (MongoDB 호환)은 빠르고 확장 가능하며 가용성이 뛰어나고 완벽하게 관리되는 기업입니다. 문서 데이터베이스 기본 JSON 워크로드를 지원하는 서비스입니다. DynamoDB는 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공하는 완전 관리형 NoSQL 데이터베이스 서비스입니다.

거의 실시간으로 조직의 지식 기반 업데이트

고객 기록과 마찬가지로 회사 정책 및 조직 문서와 같은 내부 지식 저장소는 스토리지 시스템 전체에 걸쳐 격리되어 있습니다. 이는 일반적으로 구조화되지 않은 데이터이며 비증분 방식으로 업데이트됩니다. AI 응용에 비정형 데이터를 활용하는 것은 텍스트 파일, 이미지, 오디오 파일 등 고차원 데이터를 다차원 수치로 표현하는 기술인 벡터 임베딩(Vector Embedding)을 활용하면 효과적이다.

AWS는 여러 가지를 제공합니다. 벡터 엔진 서비스같은 Amazon OpenSearch 서버리스, 아마존 켄드라Amazon Aurora PostgreSQL 호환 에디션 벡터 임베딩을 저장하기 위한 pgVector 확장자를 사용합니다. 생성적 AI 애플리케이션은 사용자 프롬프트를 벡터로 변환하고 이를 사용하여 벡터 엔진에 쿼리하여 상황에 맞는 관련 정보를 검색함으로써 사용자 경험을 향상시킬 수 있습니다. 그런 다음 검색된 프롬프트와 벡터 데이터가 모두 LLM으로 전달되어 보다 정확하고 개인화된 응답을 받습니다.

다음 다이어그램은 벡터 임베딩을 위한 스트림 처리 워크플로의 예를 보여줍니다.

기술 자료 콘텐츠를 벡터 데이터 저장소에 기록하기 전에 벡터 임베딩으로 변환해야 합니다. 아마존 기반암 or 아마존 세이지 메이커 선택한 모델에 액세스하고 이 변환을 위한 프라이빗 엔드포인트를 노출하는 데 도움이 될 수 있습니다. 또한 LangChain과 같은 라이브러리를 사용하여 이러한 엔드포인트와 통합할 수 있습니다. 일괄 프로세스를 구축하면 지식 기반 콘텐츠를 벡터 데이터로 변환하고 처음에 벡터 데이터베이스에 저장하는 데 도움이 될 수 있습니다. 그러나 벡터 데이터베이스를 지식 기반 콘텐츠의 변경 사항과 동기화하려면 문서를 재처리하는 간격을 사용해야 합니다. 문서 수가 많으면 이 프로세스가 비효율적일 수 있습니다. 이러한 간격 사이에 생성 AI 애플리케이션 사용자는 이전 콘텐츠에 따라 답변을 받거나 새 콘텐츠가 아직 벡터화되지 않았기 때문에 부정확한 답변을 받게 됩니다.

스트림 처리는 이러한 문제에 대한 이상적인 솔루션입니다. 초기에는 기존 문서에 따라 이벤트를 생성하고 소스 시스템을 추가로 모니터링하며 문서 변경 이벤트가 발생하는 즉시 생성합니다. 이러한 이벤트는 스트리밍 스토리지에 저장되고 스트리밍 작업에서 처리될 때까지 기다릴 수 있습니다. 스트리밍 작업은 이러한 이벤트를 읽고, 문서의 콘텐츠를 로드하고, 콘텐츠를 관련 단어 토큰 배열로 변환합니다. 각 토큰은 임베딩 FM에 대한 API 호출을 통해 벡터 데이터로 추가로 변환됩니다. 결과는 싱크 연산자를 통해 벡터 저장소에 저장되도록 전송됩니다.

문서 저장을 위해 Amazon S3를 사용하는 경우 Lambda용 S3 객체 변경 트리거를 기반으로 이벤트 소스 아키텍처를 구축할 수 있습니다. Lambda 함수는 원하는 형식으로 이벤트를 생성하고 이를 스트리밍 스토리지에 쓸 수 있습니다.

Apache Flink를 사용하여 스트리밍 작업으로 실행할 수도 있습니다. Apache Flink는 기존 파일을 검색하고 처음에 해당 내용을 읽을 수 있는 기본 FileSystem 소스 커넥터를 제공합니다. 그 후에는 파일 시스템에서 새 파일을 지속적으로 모니터링하고 해당 콘텐츠를 캡처할 수 있습니다. 커넥터는 일반 텍스트, Avro, CSV, Parquet 등의 형식으로 Amazon S3 또는 HDFS와 같은 분산 파일 시스템에서 파일 세트 읽기를 지원하고 스트리밍 레코드를 생성합니다. 완전관리형 서비스인 Apache Flink용 관리형 서비스는 Flink 작업 배포 및 유지 관리에 따른 운영 오버헤드를 제거하여 사용자가 스트리밍 애플리케이션 구축 및 확장에 집중할 수 있도록 해줍니다. Amazon MSK 또는 Kinesis Data Streams와 같은 AWS 스트리밍 서비스에 원활하게 통합되어 자동 확장, 보안 및 복원성과 같은 기능을 제공하여 실시간 스트리밍 데이터를 처리하기 위한 안정적이고 효율적인 Flink 애플리케이션을 제공합니다.

DevOps 기본 설정에 따라 스트리밍 레코드 저장을 위해 Kinesis Data Streams 또는 Amazon MSK 중에서 선택할 수 있습니다. Kinesis Data Streams는 사용자 지정 스트리밍 데이터 애플리케이션을 구축하고 관리하는 복잡성을 단순화하여 인프라 유지 관리가 아닌 데이터에서 통찰력을 얻는 데 집중할 수 있도록 해줍니다. Apache Kafka를 사용하는 고객은 AWS 환경 내에서 Apache Kafka 클러스터를 감독하는 데 있어 단순성, 확장성 및 신뢰성 때문에 Amazon MSK를 선택하는 경우가 많습니다. 완전관리형 서비스인 Amazon MSK는 Apache Kafka 클러스터 배포 및 유지 관리와 관련된 운영상의 복잡성을 처리하므로 사용자는 스트리밍 애플리케이션 구축 및 확장에 집중할 수 있습니다.

RESTful API 통합은 이 프로세스의 특성에 적합하기 때문에 실패를 추적하고 실패한 요청을 재시도하려면 RESTful API 호출을 통해 상태 저장 강화 패턴을 지원하는 프레임워크가 필요합니다. Apache Flink는 메모리 속도로 상태 저장 작업을 수행할 수 있는 프레임워크입니다. Apache Flink를 통해 API를 호출하는 가장 좋은 방법을 이해하려면 다음을 참조하세요. Apache Flink용 Amazon Kinesis Data Analytics의 일반적인 스트리밍 데이터 강화 패턴.

Apache Flink는 pgVector를 사용하여 PostgreSQL용 Amazon Aurora와 같은 벡터 데이터 저장소에 데이터를 쓰기 위한 기본 싱크 커넥터를 제공합니다. 아마존 오픈서치 서비스 VectorDB와 함께. 또는 MSK 주제 또는 Kinesis 데이터 스트림에서 Flink 작업의 출력(벡터화된 데이터)을 준비할 수 있습니다. OpenSearch 서비스는 Kinesis 데이터 스트림 또는 MSK 주제의 기본 수집을 지원합니다. 자세한 내용은 다음을 참조하세요. Amazon OpenSearch 수집을 위한 소스로 Amazon MSK 소개Amazon Kinesis Data Streams에서 스트리밍 데이터 로드.

피드백 분석 및 미세 조정

데이터 운영 관리자와 AI/ML 개발자가 생성 AI 애플리케이션과 사용 중인 FM의 성능에 대한 통찰력을 얻는 것이 중요합니다. 이를 달성하려면 사용자 피드백과 다양한 애플리케이션 로그 및 지표를 기반으로 중요한 핵심성과지표(KPI) 데이터를 계산하는 데이터 파이프라인을 구축해야 합니다. 이 정보는 이해관계자가 FM 성능, 애플리케이션 및 애플리케이션에서 받는 지원 품질에 대한 전반적인 사용자 만족도에 대한 실시간 통찰력을 얻는 데 유용합니다. 또한 도메인별 작업 수행 능력을 향상시키기 위해 FM을 더욱 세부적으로 조정하기 위해 대화 기록을 수집하고 저장해야 합니다.

이 사용 사례는 스트리밍 분석 영역에 매우 적합합니다. 애플리케이션은 각 대화를 스트리밍 저장소에 저장해야 합니다. 귀하의 애플리케이션은 사용자에게 각 답변의 정확성과 전반적인 만족도에 대한 평가를 표시할 수 있습니다. 이 데이터는 바이너리 선택 형식 또는 자유 형식 텍스트 형식일 수 있습니다. 이 데이터는 Kinesis 데이터 스트림 또는 MSK 주제에 저장되고 처리되어 실시간으로 KPI를 생성할 수 있습니다. 사용자의 감정 분석을 위해 FM을 활용할 수 있습니다. FM은 각 답변을 분석하고 사용자 만족도 카테고리를 지정할 수 있습니다.

Apache Flink의 아키텍처는 일정 기간 동안 복잡한 데이터 집계를 허용합니다. 또한 데이터 이벤트 스트림에 대한 SQL 쿼리를 지원합니다. 따라서 Apache Flink를 사용하면 원시 사용자 입력을 빠르게 분석하고 익숙한 SQL 쿼리를 작성하여 실시간으로 KPI를 생성할 수 있습니다. 자세한 내용은 다음을 참조하세요. 테이블 API 및 SQL.

Apache Flink Studio용 Amazon 관리형 서비스를 사용하면 대화형 노트북에서 표준 SQL, Python 및 Scala를 사용하여 Apache Flink 스트림 처리 애플리케이션을 구축하고 실행할 수 있습니다. Studio 노트북은 Apache Zeppelin으로 구동되며 Apache Flink를 스트림 처리 엔진으로 사용합니다. Studio 노트북은 이러한 기술을 완벽하게 결합하여 모든 기술 세트의 개발자가 액세스할 수 있는 데이터 스트림에 대한 고급 분석을 제공합니다. 사용자 정의 함수(UDF) 지원을 통해 Apache Flink를 사용하면 감정 분석과 같은 복잡한 작업을 수행하기 위해 FM과 같은 외부 리소스와 통합할 수 있는 맞춤형 연산자를 구축할 수 있습니다. UDF를 사용하면 다양한 지표를 계산하거나 사용자 감정과 같은 추가 통찰력으로 사용자 피드백 원시 데이터를 강화할 수 있습니다. 이 패턴에 대해 자세히 알아보려면 다음을 참조하세요. GenAI, Flink, Apache Kafka 및 Kinesis를 통해 실시간으로 고객 우려사항을 사전에 해결.

Apache Flink Studio용 관리형 서비스를 사용하면 클릭 한 번으로 Studio 노트북을 스트리밍 작업으로 배포할 수 있습니다. Apache Flink에서 제공하는 기본 싱크 커넥터를 사용하여 출력을 선택한 스토리지로 보내거나 Kinesis 데이터 스트림 또는 MSK 주제로 스테이징할 수 있습니다. 아마존 레드 시프트 및 OpenSearch 서비스는 모두 분석 데이터를 저장하는 데 이상적입니다. 두 엔진 모두 분석을 위해 별도의 스트리밍 파이프라인을 통해 Kinesis Data Streams 및 Amazon MSK에서 데이터 레이크 또는 데이터 웨어하우스로의 기본 수집 지원을 제공합니다.

Amazon Redshift는 SQL을 사용하여 데이터 웨어하우스와 데이터 레이크 전반에 걸쳐 정형 및 반정형 데이터를 분석하고, AWS가 설계한 하드웨어와 기계 학습을 사용하여 대규모로 최고의 가격 대비 성능을 제공합니다. OpenSearch 서비스는 OpenSearch 대시보드 및 Kibana(1.5~7.10 버전)를 기반으로 하는 시각화 기능을 제공합니다.

필요할 때 FM을 미세 조정하기 위해 사용자 프롬프트 데이터와 결합된 이러한 분석 결과를 사용할 수 있습니다. SageMaker는 FM을 미세 조정하는 가장 간단한 방법입니다. SageMaker와 함께 Amazon S3를 사용하면 모델을 미세 조정하기 위한 강력하고 원활한 통합이 제공됩니다. Amazon S3는 확장 가능하고 내구성이 뛰어난 객체 스토리지 솔루션 역할을 하여 대규모 데이터 세트, 교육 데이터 및 모델 아티팩트를 간편하게 저장하고 검색할 수 있습니다. SageMaker는 전체 ML 수명주기를 단순화하는 완전관리형 ML 서비스입니다. Amazon S3를 SageMaker의 스토리지 백엔드로 사용하면 Amazon S3의 확장성, 안정성 및 비용 효율성의 이점을 누리는 동시에 SageMaker 교육 및 배포 기능과 원활하게 통합할 수 있습니다. 이러한 조합을 통해 효율적인 데이터 관리가 가능하고, 협업 모델 개발이 촉진되며, ML 워크플로가 간소화되고 확장 가능해 궁극적으로 ML 프로세스의 전반적인 민첩성과 성능이 향상됩니다. 자세한 내용은 다음을 참조하세요. @remote 데코레이터를 사용하여 Amazon SageMaker에서 Falcon 7B 및 기타 LLM을 미세 조정합니다..

파일 시스템 싱크 커넥터를 사용하면 Apache Flink 작업은 개방형 형식(예: JSON, Avro, Parquet 등) 파일의 데이터를 Amazon S3에 데이터 객체로 전달할 수 있습니다. 트랜잭션 데이터 레이크 프레임워크(예: Apache Hudi, Apache Iceberg 또는 Delta Lake)를 사용하여 데이터 레이크를 관리하려는 경우 이러한 모든 프레임워크는 Apache Flink용 사용자 지정 커넥터를 제공합니다. 자세한 내용은 다음을 참조하세요. Amazon MSK Connect, Apache Flink 및 Apache Hudi를 사용하여 지연 시간이 짧은 소스-데이터 레이크 파이프라인 생성.

요약

RAG 모델을 기반으로 하는 생성적 AI 애플리케이션의 경우 두 개의 데이터 스토리지 시스템 구축을 고려해야 하며 모든 소스 시스템과 함께 최신 상태를 유지하는 데이터 작업을 구축해야 합니다. 기존 배치 작업은 생성 AI 애플리케이션과 통합하는 데 필요한 데이터의 크기와 다양성을 처리하는 데 충분하지 않습니다. 소스 시스템의 변경 사항 처리가 지연되면 응답이 부정확해지고 생성 AI 애플리케이션의 효율성이 저하됩니다. 데이터 스트리밍을 사용하면 다양한 시스템에 걸쳐 다양한 데이터베이스의 데이터를 수집할 수 있습니다. 또한 거의 실시간으로 여러 소스의 데이터를 효율적으로 변환, 보강, 조인 및 집계할 수 있습니다. 데이터 스트리밍은 애플리케이션 응답에 대한 사용자의 실시간 반응이나 의견을 수집하고 변환하는 단순화된 데이터 아키텍처를 제공하므로 모델 미세 조정을 위해 데이터 레이크에 결과를 전달하고 저장할 수 있습니다. 또한 데이터 스트리밍은 변경 이벤트만 처리하여 데이터 파이프라인을 최적화하는 데 도움이 되므로 데이터 변경에 더 빠르고 효율적으로 대응할 수 있습니다.

전단지에 포함된 링크에 대해 더 알아보기 AWS 데이터 스트리밍 서비스 나만의 데이터 스트리밍 솔루션 구축을 시작해 보세요.


저자에 관하여

알리 알레미 AWS의 스트리밍 전문가 솔루션 아키텍트입니다. Ali는 AWS 고객에게 아키텍처 모범 사례를 조언하고 안정적이고 안전하며 효율적이고 비용 효율적인 실시간 분석 데이터 시스템을 설계할 수 있도록 지원합니다. 그는 고객의 사용 사례에서 거꾸로 작업하고 비즈니스 문제를 해결하기 위한 데이터 솔루션을 설계합니다. AWS에 합류하기 전에 Ali는 여러 공공 부문 고객과 AWS 컨설팅 파트너의 애플리케이션 현대화 여정과 클라우드로의 마이그레이션을 지원했습니다.

임티아즈(Taz) 사예드 AWS 분석 분야의 세계적인 기술 리더입니다. 그는 데이터와 분석에 관한 모든 것에 대해 커뮤니티에 참여하는 것을 즐깁니다. 그는 다음을 통해 연락할 수 있습니다. 링크드인.

spot_img

최신 인텔리전스

spot_img