다음을 통해 공유


Azure Machine Learning 프롬프트 흐름을 사용하여 증강 생성 검색(미리 보기)

Important

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다.

자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

RAG(검색 증강 생성)는 미리 학습된 LLM(대규모 언어 모델) 및 자체 데이터를 사용하여 응답을 생성하는 패턴입니다. Azure Machine Learning에서는 이제 프롬프트 흐름에서 RAG를 구현할 수 있습니다. RAG에 대한 지원은 현재 공개 미리 보기 상태입니다.

이 문서에서는 RAG의 일부 이점을 나열하고 기술 개요를 제공하며 Azure Machine Learning의 RAG 지원에 대해 설명합니다.

참고 항목

LLM 및 RAG 개념이 새로운가요? Microsoft 프레젠테이션의 이 동영상 클립은 간단한 설명을 제공합니다.

RAG를 사용하는 이유는 무엇인가요?

전통적으로 베이스 모델은 특정 작업을 수행하고 원하는 도메인에 적응하는 데 있어 효율성을 보장하기 위해 특정 시점 데이터로 학습되었습니다. 그러나 때로는 신규 데이터나 최신 데이터로 작업해야 하는 경우도 있습니다. 베이스 모델을 보완할 수 있는 두 가지 방식은 새로운 데이터로 베이스 모델을 미세 조정하거나 추가 학습하는 것 또는 신속한 엔지니어링을 사용하여 모델을 실시간으로 보완하거나 안내하는 RAG입니다.

미세 조정은 지속적인 도메인 적응에 적합하므로 모델 품질을 크게 개선시킬 수 있지만 종종 더 높은 비용이 발생합니다. 반대로 RAG는 프롬프트에 제공된 새 데이터에 대한 추론 엔진과 동일한 모델을 사용할 수 있는 대체 방식을 제공합니다. 이 기술을 사용하면 값비싼 미세 조정 없이 상황 내 학습이 가능해 기업이 LLM을 보다 효율적으로 사용할 수 있습니다.

RAG를 사용하면 기업은 데이터 관련성을 유지하고 비용을 최적화하면서 사용자 지정 솔루션을 달성할 수 있습니다. RAG를 채택함으로써 회사는 LLM의 추론 기능을 사용하고 기존 모델을 활용하여 새로운 데이터를 기반으로 응답을 처리하고 생성할 수 있습니다. RAG는 미세 조정 없이 정기적인 데이터 업데이트를 촉진하여 LLM을 비즈니스에 효율적으로 통합합니다.

  • LLM에 지시문이나 프롬프트로 보충 데이터를 제공합니다.
  • 기존 모델에 팩트 확인 구성 요소를 추가합니다.
  • 미세 조정과 관련된 추가 시간과 비용을 들이지 않고 최신 데이터로 모델을 학습합니다.
  • 비즈니스별 데이터에 대한 학습

LLM(대규모 언어 모델)에서 RAG 사용에 대한 기술 개요

정보 검색에서 RAG는 고유의 데이터로 LLM의 기능을 활용할 수 있는 방식입니다. LLM을 사용하도록 설정하여 사용자 지정 데이터에 액세스하려면 다음 단계가 필요합니다. 첫째, 대규모 데이터는 관리 가능한 조각으로 나누어야 합니다. 둘째, 청크를 검색 가능한 형식으로 변환해야 합니다. 셋째, 변환된 데이터는 효율적으로 액세스할 수 있는 위치에 저장되어야 합니다. 또한 LLM이 응답을 제공할 때 인용 또는 참조에 대한 관련 메타데이터를 저장하는 것이 중요합니다.

RAG 단계를 거치는 LLM의 기술 개요 다이어그램 스크린샷.

다이어그램을 더 자세히 살펴보겠습니다.

  • 원본 데이터: 데이터가 있는 위치입니다. 이는 컴퓨터의 파일/폴더, 클라우드 리포지토리의 파일, Azure Machine Learning 데이터 자산, Git 리포지토리 또는 SQL 데이터베이스일 수 있습니다.

  • 데이터 청크: 원본의 데이터를 일반 텍스트로 변환해야 합니다. 예를 들어, 워드 문서나 PDF를 크랙하여 열고 텍스트로 변환해야 합니다. 그러면 텍스트가 더 작은 조각으로 나누어집니다.

  • 텍스트를 벡터로 변환: 포함이라고 합니다. 벡터는 개념을 숫자 시퀀스로 변환한 숫자 표현으로, 컴퓨터가 해당 개념 간의 관계를 쉽게 이해할 수 있도록 해줍니다.

  • 원본 데이터와 포함 간의 링크: 이 정보는 만들어진 청크에 메타데이터로 저장되며, LLM이 응답을 생성하는 동안 인용을 생성하는 데 사용됩니다.

Azure Machine Learning을 사용한 RAG(미리 보기)

Azure Machine Learning의 RAG는 벡터 저장소로 Faiss 및 Azure AI Search(이전의 Cognitive Search)를 지원하고 데이터 청크를 위한 LangChain과 같은 오픈 소스 제공 도구 및 프레임워크를 지원하는 대규모 언어 모델 및 벡터화를 위한 Azure OpenAI Service와의 통합을 통해 사용하도록 설정됩니다.

RAG를 구현하려면 몇 가지 주요 요구 사항을 충족해야 합니다. 첫째, 데이터를 LLM으로 보내기 전에 효율적인 검색이 가능한 방식으로 데이터 형식을 지정해야 합니다. 그러면 궁극적으로 토큰 사용량이 줄어듭니다. RAG의 효율성을 보장하려면 정기적으로 데이터를 정기적으로 업데이트하는 것도 중요합니다. 또한 데이터를 사용하여 LLM의 결과를 평가할 수 있으면 기술의 효율성을 측정할 수 있습니다. Azure Machine Learning을 사용하면 이러한 측면을 쉽게 시작할 수 있을 뿐만 아니라 RAG를 개선하고 프로덕션화할 수도 있습니다. Azure Machine Learning은 다음을 제공합니다.

  • RAG 기반 Q&A 시나리오를 시작하기 위한 샘플입니다.
  • 데이터를 만들고 관리하고 이를 프롬프트 흐름에 통합하는 마법사 기반 UI 환경입니다.
  • 테스트 데이터 만들기, 자동 프롬프트 만들기, 시각화된 프롬프트 평가 메트릭을 포함하여 RAG 워크플로를 측정하고 향상시키는 기능.
  • Notebooks에서 사용자 지정 파이프라인을 만들기 위해 새로운 기본 제공 RAG 구성 요소를 사용하여 더 많은 제어 기능을 갖춘 고급 시나리오입니다.
  • LangChain과 같은 오픈 소스 제품으로 만들어진 데이터를 활용할 수 있는 코드 환경.
  • 파이프라인과 작업을 사용하여 RAG 워크플로를 MLOps 워크플로에 원활하게 통합합니다.

결론

Azure Machine Learning을 사용하면 Azure Machine Learning 스튜디오를 사용하거나 Azure Machine Learning 파이프라인과 함께 코드를 사용하여 AI에 RAG를 통합할 수 있습니다. RAG 워크플로 측정 및 향상, 데이터 만들기 테스트, 자동 프롬프트 만들기, 프롬프트 평가 메트릭 시각화 기능과 같은 여러 가지 부가 가치를 제공합니다. 파이프라인을 사용하여 RAG 워크플로를 MLOps 워크플로에 통합할 수 있습니다. LangChain과 같은 오픈 소스 제품을 통해 데이터를 사용할 수도 있습니다.

다음 단계

Azure Machine Learning과 함께 벡터 저장소 사용(미리 보기)

Azure Machine Learning 프롬프트 흐름에서 벡터 인덱스를 만드는 방법(미리 보기)