다음을 통해 공유


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

중요합니다

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

자세한 내용은 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을 사용하면 대규모 언어 모델 및 벡터화를 위해 Microsoft Foundry 모델의 Azure OpenAI와 통합을 통해 RAG를 사용할 수 있습니다. Faiss 및 Azure AI Search(이전의 Cognitive Search)를 벡터 저장소로 지원합니다. 또한 데이터 청크를 위한 LangChain과 같은 오픈 소스 제품, 도구 및 프레임워크도 지원합니다.

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 프롬프트 흐름에서 벡터 인덱스를 만드는 방법(미리 보기)