이 문서에서는 Google Cloud에서 GraphRAG 생성형 AI 애플리케이션의 인프라를 설계하는 데 도움이 되는 참조 아키텍처를 제공합니다. 주요 대상에는 지능형 정보 검색 시스템을 구축하고 관리하는 설계자, 개발자, 관리자가 포함됩니다. 이 문서에서는 AI, 그래프 데이터 관리, 지식 그래프 개념에 대한 기본적인 이해가 있다고 가정합니다. 이 문서에서는 GraphRAG 애플리케이션의 설계 및 개발에 관한 구체적인 안내를 제공하지 않습니다.
GraphRAG는 그래프 기반 검색 증강 생성 (RAG) 접근 방식입니다. RAG는 벡터 검색을 사용하여 검색된 상황에 맞는 데이터로 프롬프트를 보강하여 AI 생성 응답을 그라운딩하는 데 도움이 됩니다. GraphRAG는 벡터 검색과 지식 그래프 쿼리를 결합하여 다양한 소스의 데이터 간 상호 연결성을 더 잘 반영하는 컨텍스트 데이터를 검색합니다. GraphRAG를 사용하여 증강된 프롬프트는 더 자세하고 관련성 높은 AI 대답을 생성할 수 있습니다.
아키텍처
다음 다이어그램은 Google Cloud에서 GraphRAG 지원 생성형 AI 애플리케이션의 아키텍처를 보여줍니다.
위 다이어그램의 아키텍처는 데이터 수집과 서빙이라는 두 개의 하위 시스템으로 구성됩니다. 다음 섹션에서는 하위 시스템의 목적과 하위 시스템 내 및 하위 시스템 간 데이터 흐름을 설명합니다.
데이터 수집 하위 시스템
데이터 수집 하위 시스템은 외부 소스에서 데이터를 수집한 다음 GraphRAG를 위해 데이터를 준비합니다. 데이터 수집 및 준비 흐름에는 다음 단계가 포함됩니다.
- 데이터가 Cloud Storage 버킷으로 수집됩니다. 이 데이터는 데이터 분석가가 업로드하거나, 데이터베이스에서 수집하거나, 모든 소스에서 스트리밍할 수 있습니다.
- 데이터가 수집되면 메시지가 Pub/Sub 주제로 전송됩니다.
- Pub/Sub가 업로드된 데이터를 처리하기 위해 Cloud Run 함수를 트리거합니다.
- Cloud Run 함수는 Vertex AI의 Gemini API와 LangChain의
LLMGraphTransformer
과 같은 도구를 사용하여 입력 파일에서 지식 그래프를 빌드합니다. - 이 함수는 Spanner Graph 데이터베이스에 지식 그래프를 저장합니다.
- 이 함수는 LangChain의
RecursiveCharacterTextSplitter
또는 Document AI의 레이아웃 파서와 같은 도구를 사용하여 데이터 파일의 텍스트 콘텐츠를 세부 단위로 분할합니다. - 이 함수는 Vertex AI Embeddings API를 사용하여 텍스트 세그먼트의 벡터 임베딩을 만듭니다.
- 이 함수는 벡터 임베딩과 연결된 그래프 노드를 Spanner Graph에 저장합니다.
벡터 임베딩은 시맨틱 검색의 기반으로 사용됩니다. 지식 그래프 노드를 사용하면 복잡한 데이터 관계와 패턴을 탐색하고 분석할 수 있습니다.
서빙 하위 시스템
서빙 하위 시스템은 생성형 AI 애플리케이션과 사용자 간의 질문-대답 수명 주기를 관리합니다. 서빙 흐름에는 다음 단계가 포함됩니다.
- 사용자가 Vertex AI Agent Engine에 배포된 AI 에이전트에 자연어 쿼리를 제출합니다.
- 에이전트는 다음과 같이 질문을 처리합니다.
- Vertex AI 임베딩 API를 사용하여 질문을 벡터 임베딩으로 변환합니다.
- 임베딩 데이터베이스에서 벡터 유사성 검색을 수행하여 질문과 관련된 그래프 노드를 가져옵니다.
- 지식 그래프를 탐색하여 질문과 관련된 데이터를 가져옵니다.
- 원래 질문과 검색된 그래프 데이터를 결합하여 프롬프트를 보강합니다.
- AI 애플리케이션 순위 API를 사용하여 그래프 데이터베이스에서 가져온 노드와 엣지로 구성된 결과를 순위 지정합니다. 순위는 쿼리와의 의미론적 관련성을 기반으로 합니다.
- Gemini API Vertex AI를 호출하여 결과를 요약합니다.
- 그런 다음 에이전트가 요약된 결과를 사용자에게 전송합니다.
Cloud Logging에서 질문-대답 활동 로그를 저장하고 볼 수 있으며 Cloud Monitoring을 사용하여 로그 기반 모니터링을 설정할 수 있습니다.
사용 제품
이 참조 아키텍처에서는 다음과 같은 Google 제품과 도구를 사용합니다.
- Spanner Graph: Spanner의 확장성, 가용성, 일관성 기능을 제공하는 그래프 데이터베이스입니다.
- Vertex AI: ML 모델 및 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용하도록 LLM을 맞춤설정할 수 있게 해주는 ML 플랫폼입니다.
- Cloud Run Functions: Google Cloud에서 단일 목적 함수를 직접 실행할 수 있는 서버리스 컴퓨팅 플랫폼입니다.
- Cloud Storage: 다양한 데이터 유형에 적합한 저비용, 무제한 객체 저장소입니다. Google Cloud내부 및 외부에서 데이터에 액세스할 수 있고 중복성을 위해 여러 위치에 복제됩니다.
- Pub/Sub: 메시지 생성 서비스를 메시지 처리 서비스와 분리하는 비동기식의 확장 가능한 메시징 서비스입니다.
- Cloud Logging: 스토리지, 검색, 분석, 알림을 지원하는 실시간 로그 관리 시스템입니다.
- Cloud Monitoring: 애플리케이션 및 인프라의 성능, 가용성, 상태에 관한 정보를 제공하는 서비스입니다.
사용 사례
GraphRAG는 다양한 업계의 사용 사례를 위한 지능형 데이터 검색을 지원합니다. 이 섹션에서는 의료, 금융, 법률 서비스, 제조 분야의 몇 가지 사용 사례를 설명합니다.
헬스케어 및 의약품: 임상 의사 결정 지원
임상 결정 지원 시스템에서 GraphRAG는 의료 문헌, 환자 전자 의료 기록, 약물 상호작용 데이터베이스, 임상 시험 결과의 방대한 데이터를 통합 지식 그래프로 통합합니다. 임상의와 연구원이 환자의 증상과 현재 복용 중인 약물을 쿼리하면 GraphRAG는 지식 그래프를 탐색하여 관련 질환과 잠재적인 약물 상호작용을 식별합니다. 환자의 유전적 프로필과 같은 기타 데이터를 기반으로 맞춤 치료 추천을 생성할 수도 있습니다. 이러한 유형의 정보 검색은 키워드 일치보다 맥락이 풍부하고 증거에 기반한 답변을 제공합니다.
금융 서비스: 금융 데이터 통합
금융 서비스 회사는 지식 그래프를 사용하여 분석가 보고서, 실적 발표, 위험 평가와 같은 다양한 소스의 데이터에 대한 통합된 구조화된 뷰를 분석가에게 제공합니다. 지식 그래프는 회사, 임원과 같은 주요 데이터 항목을 식별하고 항목 간의 중요한 관계를 매핑합니다. 이 접근 방식을 사용하면 풍부하고 상호 연결된 데이터 웹을 제공하여 더 심층적이고 효율적인 재무 분석이 가능합니다. 분석가는 복잡한 공급망 종속성, 경쟁업체 간에 중복되는 이사회 구성원, 복잡한 지정학적 위험에 대한 노출과 같이 이전에 숨겨져 있던 유용한 정보를 발견할 수 있습니다.
법률 서비스: 사례 연구 및 선례 분석
법률 분야에서 GraphRAG는 선례, 법규, 판례, 규제 업데이트, 내부 문서를 기반으로 맞춤 법률 추천을 생성하는 데 사용할 수 있습니다. 변호사는 사건을 준비할 때 특정 법적 주장, 유사한 사건에 대한 이전 판결 또는 새로운 법률의 영향에 관한 미묘한 질문을 할 수 있습니다. GraphRAG는 사용 가능한 법률 지식의 상호 연결성을 활용하여 관련 선례를 식별하고 적용 가능성을 설명합니다. 또한 법적 개념, 법규, 사법적 해석 간의 관계를 추적하여 반박 주장을 제안할 수도 있습니다. 이 접근 방식을 사용하면 법률 실무자는 기존의 지식 검색 방법보다 더 철저하고 정확한 통찰력을 얻을 수 있습니다.
제조 및 공급망: 기관 지식 활용
제조 및 공급망 운영에는 높은 수준의 정밀도가 필요합니다. 필요한 수준의 정밀도를 유지하는 데 필요한 지식은 수천 개의 밀도 높은 정적 표준 운영 절차 (SOP) 문서에 묻혀 있는 경우가 많습니다. 공장의 생산 라인이나 기계가 고장나거나 물류 문제가 발생하면 엔지니어와 기술자는 연결이 끊긴 PDF 문서를 검색하여 문제를 진단하고 해결하는 데 중요한 시간을 낭비하는 경우가 많습니다. 지식 그래프와 대화형 AI를 결합하면 숨겨진 기관 지식을 대화형 진단 파트너로 바꿀 수 있습니다.
설계 대안
이 문서에서 설명하는 아키텍처는 모듈식입니다. 요구사항에 따라 아키텍처의 특정 구성요소를 대체 제품, 도구, 기술을 사용하도록 조정할 수 있습니다.
지식 그래프 빌드
LangChain의 LLMGraphTransformer
도구를 사용하여 처음부터 지식 그래프를 빌드할 수 있습니다. allowed_nodes
, allowed_relationships
, node_properties
, relationship_properties
과 같은 LLMGraphTransformer
매개변수로 그래프 스키마를 지정하면 결과 지식 그래프의 품질을 개선할 수 있습니다. 하지만 LLMGraphTransformer
는 일반 도메인에서 항목을 추출할 수 있으므로 의료 또는 제약과 같은 틈새 도메인에는 적합하지 않을 수 있습니다. 또한 조직에 이미 지식 그래프를 빌드하는 강력한 프로세스가 있는 경우 이 참조 아키텍처에 표시된 데이터 수집 하위 시스템은 선택사항입니다.
지식 그래프 및 벡터 임베딩 저장
이 문서의 아키텍처는 Spanner를 지식 그래프 및 벡터 임베딩의 데이터 저장소로 사용합니다. 엔터프라이즈 지식 그래프가 이미 다른 곳 (예: Neo4j와 같은 플랫폼)에 있는 경우 임베딩에 벡터 데이터베이스를 사용하는 것이 좋습니다. 하지만 이 접근 방식은 추가 관리 노력이 필요하며 비용이 더 많이 들 수 있습니다. Spanner는 그래프 구조와 벡터 삽입 모두에 대해 통합되고 전역적으로 일관된 데이터 저장소를 제공합니다. 이러한 데이터 저장소를 사용하면 통합 데이터 관리가 가능하여 비용, 성능, 보안 거버넌스, 운영 효율성을 최적화할 수 있습니다.
에이전트 런타임
이 참조 아키텍처에서 에이전트는 AI 에이전트를 위한 관리형 런타임을 제공하는 Vertex AI Agent Engine에 배포됩니다. Cloud Run 및 Google Kubernetes Engine (GKE)도 고려할 수 있습니다. 이 문서에서는 이러한 옵션에 대해 설명하지 않습니다.
RAG를 사용한 그라운딩
사용 사례 섹션에서 설명한 것처럼 GraphRAG는 다양한 시나리오에서 그라운딩을 위한 지능형 데이터 검색을 지원합니다. 하지만 프롬프트를 보강하는 데 사용하는 소스 데이터에 복잡한 상호 관계가 없는 경우 생성형 AI 애플리케이션에 RAG가 적합할 수 있습니다.
다음 참조 아키텍처는 벡터 지원 관리 데이터베이스 또는 특수 벡터 검색 제품을 사용하여 Google Cloud 에서 RAG에 필요한 인프라를 구축하는 방법을 보여줍니다.
- Vertex AI 및 벡터 검색을 사용하는 RAG 지원 생성형 AI 애플리케이션을 위한 인프라
- Vertex AI 및 PostgreSQL용 AlloyDB를 사용하는 RAG 지원 생성형 AI 애플리케이션을 위한 인프라
- GKE 및 Cloud SQL을 사용하는 RAG 지원 생성형 AI 애플리케이션을 위한 인프라
설계 고려사항
이 섹션에서는 이 참조 아키텍처를 사용하여 보안, 안정성, 비용, 성능에 대한 특정 요구사항을 충족하는 토폴로지를 개발할 때 고려해야 하는 설계 요소, 권장사항, 권장사항을 설명합니다.
이 섹션의 안내는 일부일 뿐 모든 내용을 포함하지는 않습니다. 워크로드의 요구사항과 사용하는 Google Cloud 및 서드 파티 제품과 기능에 따라 추가로 고려해야 할 설계 요소와 장단점이 있을 수 있습니다.
보안, 개인 정보 보호, 규정 준수
이 섹션에서는 워크로드의 보안 및 규정 준수 요구사항을 충족하는 Google Cloud 의 토폴로지를 설계하기 위한 설계 고려사항과 권장사항을 설명합니다.
제품 | 설계 고려사항 및 권장사항 |
---|---|
Vertex AI | Vertex AI는 데이터 상주, 데이터 암호화, 네트워크 보안, 액세스 투명성에 대한 요구사항을 충족하기 위해 사용할 수 있는 Google Cloud 보안 제어를 지원합니다. 자세한 내용은 다음 문서를 참조하세요. 생성형 AI 모델은 특히 유해한 대답을 요청하는 프롬프트가 제공될 때 유해한 대답을 생성할 수 있습니다. 안전을 강화하고 잠재적인 오용을 완화하기 위해 유해한 대답을 차단하는 콘텐츠 필터를 구성할 수 있습니다. 자세한 내용은 안전 및 콘텐츠 필터를 참고하세요. |
Spanner Graph | 기본적으로 Spanner Graph에 저장된 데이터는 Google-owned and Google-managed encryption keys를 사용하여 암호화됩니다. 사용자가 제어하고 관리하는 암호화 키를 사용해야 하는 경우 고객 관리 암호화 키 (CMEK)를 사용할 수 있습니다. 자세한 내용은 CMEK 정보를 참고하세요. |
Cloud Run Functions | 기본적으로 Cloud Run은 Google-owned and Google-managed encryption keys를 사용하여 데이터를 암호화합니다. 사용자가 제어하는 키를 사용하여 컨테이너를 보호하려면 CMEK를 사용하면 됩니다. 자세한 내용은 고객 관리 암호화 키 사용을 참고하세요. 승인된 컨테이너 이미지만 Cloud Run에 배포되도록 하려면 Binary Authorization을 사용하면 됩니다. Cloud Run은 데이터 상주 요구사항을 충족하도록 도와줍니다. Cloud Run Functions는 선택한 리전 내에서 실행됩니다. |
Cloud Storage |
기본적으로 Cloud Storage에 저장되는 데이터는 Google-owned and Google-managed encryption keys를 사용하여 암호화됩니다. 필요한 경우 CMEK를 사용하거나 고객 제공 암호화 키(CSEK)와 같은 외부 관리 방법을 사용하여 관리하는 자체 키를 사용할 수 있습니다. 자세한 내용은 데이터 암호화 옵션을 참고하세요. Cloud Storage는 버킷과 객체에 액세스할 수 있는 권한을 사용자에게 부여하기 위해 Identity and Access Management (IAM) 및 액세스 제어 목록 (ACL)의 두 가지 방법을 지원합니다. 대부분의 경우 버킷 및 프로젝트 수준에서 권한을 부여할 수 있는 IAM을 사용하는 것이 좋습니다. 자세한 내용은 액세스 제어 개요를 참고하세요. Cloud Storage를 통해 데이터 수집 하위 시스템에 로드하는 데이터에는 민감한 정보가 포함될 수 있습니다. Sensitive Data Protection을 사용하여 민감한 정보를 검색, 분류, 익명화할 수 있습니다. 자세한 내용은 Cloud Storage에 Sensitive Data Protection 사용을 참고하세요. Cloud Storage는 데이터 상주 요구사항을 충족하도록 도와줍니다. 데이터는 사용자가 지정한 리전 내에 저장 또는 복제됩니다. |
Pub/Sub | 기본적으로 Pub/Sub는 Google-owned and Google-managed encryption keys를 사용하여 저장 중 및 전송 중인 모든 메시지를 암호화합니다. Pub/Sub에서는 애플리케이션 계층에서 메시지 암호화를 위해 CMEK를 사용할 수 있습니다. 자세한 내용은 메시지 암호화 구성을 참고하세요. 데이터 상주 요구사항이 있는 경우 메시지 데이터가 특정 위치에 저장되도록 하려면 메시지 스토리지 정책을 구성하면 됩니다. |
Cloud Logging | 관리자 활동 감사 로그는 이 참조 아키텍처에 사용되는 모든 Google Cloud 서비스에 대해 기본적으로 사용 설정됩니다. 이러한 로그는Google Cloud 리소스의 구성 또는 메타데이터를 수정하는 API 호출 또는 기타 작업을 기록합니다. 이 아키텍처에 사용되는 Google Cloud 서비스에 대해 데이터 액세스 감사 로그를 사용 설정할 수 있습니다. 이러한 로그를 사용하면 리소스의 구성 또는 메타데이터를 읽는 API 호출 또는 사용자 제공 리소스 데이터 생성, 수정, 읽기에 대한 사용자 요청을 추적할 수 있습니다. 데이터 상주 요구사항을 충족하기 위해 지정한 리전에 로그 데이터를 저장하도록 Cloud Logging을 구성할 수 있습니다. 자세한 내용은 로그 리전화를 참고하세요. |
AI 및 ML 워크로드와 관련된 보안 원칙 및 권장사항은 Google Cloud Well-Architected Framework의 AI 및 ML 관점: 보안을 참고하세요.
안정성
이 섹션에서는 Google Cloud에서 배포를 위한 안정적인 인프라를 빌드하고 운영하기 위한 설계 고려사항 및 권장사항을 설명합니다.
제품 | 설계 고려사항 및 권장사항 |
---|---|
Vertex AI | Vertex AI는 Gemini 모델에 동적 공유 할당량 (DSQ)을 지원합니다. DSQ를 사용하면 사용한 만큼만 지불 요청을 유연하게 관리할 수 있으며 할당량을 수동으로 관리하거나 할당량 증가를 요청할 필요가 없습니다. DSQ는 활성 고객에게 지정된 모델과 리전의 사용 가능한 리소스를 동적으로 할당합니다. DSQ를 사용하면 개별 고객에 사전 정의된 할당량 제한이 없습니다. 요청 수가 할당된 용량을 초과할 경우 오류 코드 429가 반환됩니다. 비즈니스에 중요한 워크로드로서 일관되게 높은 처리량이 필요한 경우 프로비저닝된 처리량을 사용하여 처리량을 예약할 수 있습니다. 데이터를 여러 리전 또는 국가에서 공유할 수 있는 경우 전역 엔드포인트를 사용할 수 있습니다. |
Spanner Graph | Spanner는 높은 데이터 가용성과 전역 확장성을 위해 설계되었습니다. 리전 중단 시에도 가용성을 보장하기 위해 Spanner는 여러 리전의 여러 영역에 데이터를 복제하는 멀티 리전 구성을 제공합니다. 이러한 내장된 복원력 기능 외에도 Spanner는 포괄적인 재해 복구 전략을 지원하기 위해 다음 기능을 제공합니다.
자세한 내용은 재해 복구 개요를 참고하세요. |
Cloud Run Functions | Cloud Run은 리전 서비스입니다. 데이터는 리전 내 여러 영역에 동기식으로 저장됩니다. 트래픽은 영역 간에 자동으로 부하 분산됩니다. 영역 서비스 중단이 발생해도 Cloud Run이 계속 실행되고 데이터가 손실되지 않습니다. 리전 서비스 중단이 발생하면 Google에서 서비스 중단을 해결할 때까지 서비스 실행이 중지됩니다. |
Cloud Storage | 리전, 이중 리전, 멀티 리전의 세 가지 위치 유형 중 하나로 Cloud Storage 버킷을 만들 수 있습니다. 리전 버킷에 저장된 데이터는 리전 내 여러 영역에 동기식으로 복제됩니다. 더 높은 가용성을 위해서는 데이터가 리전 간에 동기식으로 복제되는 이중 리전 또는 멀티 리전 버킷을 사용하면 됩니다. |
Pub/Sub | 메시지 트래픽이 일시적으로 급증하는 기간에 오류가 발생하지 않도록 게시자 설정에서 흐름 제어를 구성하여 게시 요청 속도를 제한할 수 있습니다. 실패한 게시 시도를 처리하려면 필요에 따라 재시도-요청 변수를 조정합니다. 자세한 내용은 요청 재시도를 참고하세요. |
아키텍처의 모든 제품 | Google Cloud에 워크로드를 배포한 후 Active Assist를 사용하여 클라우드 리소스의 안정성을 더욱 최적화하기 위한 권장사항을 확인하세요. 권장사항을 검토하고 환경에 맞게 적용합니다. 자세한 내용은 추천 허브에서 추천 찾기를 참고하세요. |
AI 및 ML 워크로드와 관련된 안정성 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 안정성을 참고하세요.
비용 최적화
이 섹션에서는 이 참조 아키텍처를 사용하여 빌드하는 Google Cloud 토폴로지의 설정 및 운영 비용을 최적화하는 방법을 안내합니다.
제품 | 설계 고려사항 및 권장사항 |
---|---|
Vertex AI | Vertex AI 비용을 분석하고 관리하려면 초당 쿼리 수 (QPS) 및 초당 토큰 수 (TPS) 기준선을 만들고 배포 후 이러한 측정항목을 모니터링하는 것이 좋습니다. 기준은 용량 계획에도 도움이 됩니다. 예를 들어 기준을 사용하면 프로비저닝된 처리량이 필요한 시기를 판단할 수 있습니다. 생성형 AI 애플리케이션에 적합한 모델 을 선택하는 것은 비용과 성능에 직접적인 영향을 미치는 중요한 결정입니다. 특정 사용 사례에 대해 성능과 비용 간의 최적 균형을 제공하는 모델을 식별하려면 모델을 반복적으로 테스트하세요. 가장 비용 효율적인 모델로 시작하여 점차 더 강력한 옵션으로 진행하는 것이 좋습니다. 프롬프트 (입력)의 길이와 생성된 대답(출력)은 성능과 비용에 직접적인 영향을 미칩니다. 짧고 직접적이며 충분한 맥락을 제공하는 프롬프트를 작성합니다. 모델에서 간결한 대답을 얻을 수 있도록 프롬프트를 설계하세요. 예를 들어 '2문장으로 요약해 줘' 또는 '핵심 3가지 나열해 줘'와 같은 문구를 포함합니다. 자세한 내용은 프롬프트 설계 권장사항을 참고하세요. 입력 토큰 수가 많은 반복 콘텐츠가 포함된 요청의 비용을 줄이려면 컨텍스트 캐싱을 사용하세요. 관련이 있는 경우 일괄 예측을 고려하세요. 일괄 요청은 표준 요청보다 저렴한 가격으로 청구됩니다. |
Spanner Graph | 관리형 자동 확장 처리기를 사용하여 CPU 사용률 및 스토리지 요구사항에 따라 Spanner 그래프 데이터베이스의 컴퓨팅 용량을 동적으로 조정합니다. 소규모 워크로드의 경우에도 최소 용량이 필요한 경우가 많습니다. 예측 가능하고 안정적인 기준 컴퓨팅 용량의 경우 약정 사용 할인 (CUD)을 구매하세요. CUD는 컴퓨팅 용량에 대해 시간당 특정 금액을 지출하겠다는 약속의 대가로 상당한 할인을 제공합니다. 재해 복구 또는 규정 준수를 위해 백업을 다른 리전에 복사할 때는 네트워크 이그레스 비용을 고려하세요. 비용을 절감하려면 필수 백업만 복사하세요. |
Cloud Run Functions | Cloud Run Functions를 만들 때 할당할 메모리 및 CPU 양을 지정할 수 있습니다. 비용을 줄이려면 기본 (최소) CPU 및 메모리 할당으로 시작합니다. 성능을 향상시키려면 CPU 한도 및 메모리 한도를 구성하여 할당을 늘릴 수 있습니다. 자세한 내용은 다음 문서를 참조하세요. CPU 및 메모리 요구사항을 예측할 수 있으면 CUD로 비용을 절약할 수 있습니다. |
Cloud Storage | 데이터 수집 하위 시스템의 Cloud Storage 버킷에 대해 워크로드의 데이터 보관 및 액세스 빈도 요구사항에 따라 적합한 스토리지 클래스를 선택합니다. 예를 들어 스토리지 비용을 관리하려면 Standard 클래스를 선택하고 객체 수명 주기 관리를 사용하면 됩니다. 이 방법을 사용하면 지정된 조건에 따라 객체를 더 저렴한 스토리지 클래스로 자동으로 다운그레이드하거나 삭제할 수 있습니다. |
Cloud Logging | 로그 저장 비용을 관리하려면 다음을 수행하면 됩니다. |
아키텍처의 모든 제품 | Google Cloud에 워크로드를 배포한 후 Active Assist를 사용하여 클라우드 리소스 비용을 추가로 최적화하기 위한 권장사항을 확인합니다. 권장사항을 검토하고 환경에 맞게 적용합니다. 자세한 내용은 추천 허브에서 추천 찾기를 참고하세요. |
Google Cloud 리소스의 비용을 추정하려면 Google Cloud 가격 계산기를 사용하세요.
AI 및 ML 워크로드와 관련된 비용 최적화 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 비용 최적화를 참고하세요.
성능 최적화
이 섹션에서는 Google Cloud 에서 워크로드의 성능 요구사항을 충족하는 토폴로지를 설계하기 위한 설계 고려사항과 권장사항을 설명합니다.
제품 | 설계 고려사항 및 권장사항 |
---|---|
Vertex AI |
생성형 AI 애플리케이션에 적합한 모델 을 선택하는 것은 비용과 성능에 직접적인 영향을 미치는 중요한 결정입니다. 특정 사용 사례에 대해 성능과 비용 간의 최적 균형을 제공하는 모델을 식별하려면 모델을 반복적으로 테스트하세요. 가장 비용 효율적인 모델로 시작하여 점차 더 강력한 옵션으로 진행하는 것이 좋습니다. 프롬프트 (입력)의 길이와 생성된 대답(출력)은 성능과 비용에 직접적인 영향을 미칩니다. 짧고 직접적이며 충분한 맥락을 제공하는 프롬프트를 작성합니다. 모델에서 간결한 대답을 얻을 수 있도록 프롬프트를 설계하세요. 예를 들어 '2문장으로 요약해 줘' 또는 '핵심 3가지 나열해 줘'와 같은 문구를 포함합니다. 자세한 내용은 프롬프트 설계 권장사항을 참고하세요. Vertex AI 프롬프트 옵티마이저를 사용하면 프롬프트 성능을 대규모로 빠르게 개선하고 최적화할 수 있으며 수동으로 다시 작성할 필요가 없습니다. 최적화 도구를 사용하면 다양한 모델에서 프롬프트를 효율적으로 조정할 수 있습니다. |
Spanner Graph | Spanner Graph 성능을 최적화하기 위한 권장사항은 다음 문서를 참고하세요. |
Cloud Run Functions | 기본적으로 각 Cloud Run 함수 인스턴스에는 CPU 1개와 256MiB 메모리가 할당됩니다. 성능 요구사항에 따라 CPU 및 메모리 한도를 구성할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요. 성능 최적화에 관한 자세한 안내는 일반적인 Cloud Run 개발 팁을 참고하세요. |
Cloud Storage | 대용량 파일을 업로드하려면 병렬 복합 업로드를 사용하면 됩니다. 이 전략을 사용하면 큰 파일이 청크로 분할됩니다. 청크가 Cloud Storage에 병렬로 업로드된 후 데이터가 클라우드에서 재구성됩니다. 네트워크 대역폭과 디스크 속도가 병목 요인이 되지 않는 경우, 병렬 복합 업로드는 일반 업로드 작업보다 더 빠를 수 있습니다. 그러나 이 전략은 일부 제한사항과 비용 영향이 있습니다. 자세한 내용은 동시 복합 업로드를 참고하세요. |
아키텍처의 모든 제품 | Google Cloud에 워크로드를 배포한 후 Active Assist를 사용하여 클라우드 리소스의 성능을 추가로 최적화하기 위한 추천을 받으세요. 권장사항을 검토하고 환경에 맞게 적용합니다. 자세한 내용은 추천 허브에서 추천 찾기를 참고하세요. |
AI 및 ML 워크로드와 관련된 성능 최적화 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 성능 최적화를 참고하세요.
배포
Google Cloud에서 GraphRAG가 작동하는 방식을 살펴보려면 GitHub에서 다음 Jupyter 노트북을 다운로드하여 실행하세요. Google Cloud 에서 Spanner Graph 및 Vertex AI Agent Engine을 사용하는 GraphRAG
다음 단계
- Spanner Graph 및 LangChain을 사용하여 GraphRAG 애플리케이션 빌드
- 생성형 AI 애플리케이션을 위한 모델 및 인프라 선택
- RAG 지원 생성형 AI 애플리케이션을 위한 인프라 설계:
- Google Cloud의 AI 워크로드에 관한 아키텍처 원칙 및 권장사항을 알아보려면 Well-Architected Framework: AI 및 ML 관점을 검토하세요.
- 그 밖의 참조 아키텍처, 다이어그램, 튜토리얼, 권장사항을 알아보려면 클라우드 아키텍처 센터를 확인하세요.
참여자
저자:
기타 참여자:
- 아시프 셰이크 | AI 고객 엔지니어
- 아시시 차우한 | AI 고객 엔지니어
- 그렉 브로스만 | 제품 관리자
- 루카스 브루더러 | Cloud AI 제품 관리자
- 난디타 엠바르 | AI 고객 엔지니어
- 피유시 마투르 | 제품 관리자, 스패너
- 스미타 벤카트 | AI 고객 엔지니어