피드 구독

자연어 처리(NLP)의 최신 발전 사항 중 하나는 검색 증강 생성(RAG)으로, 정보 검색과 자연어 생성(NLG)의 장점을 결합한 기술입니다. RAG는 소프트웨어의 개념화, 설계 및 구현 방식을 재구성할 수 있는 기술로, 생성형 모델이 기반이 되는 효율성과 창의성의 새로운 시대를 엽니다.

검색 증강 생성(RAG)이란?

검색 증강 생성(RAG)은 생성기(generator)와 검색기(retriever) 등 두 가지 주요 구성 요소를 결합하는 자연어 처리(NLP) 모델입니다.

생성기: 일반적으로 대규모 언어 모델(LLM)을 기반으로 문장 또는 단락과 같은 새로운 콘텐츠를 생성하는 구성 요소입니다.

검색기: 이 구성 요소는 미리 결정된 문서 또는 데이터세트에서 관련 정보를 검색합니다.

간단히 정리하자면, RAG가 검색기를 사용하여 방대한 텍스트 컬렉션에서 유용한 정보를 찾으면 생성기가 해당 정보를 사용하여 LLM 기반 학습을 보강하여 새롭고 일관된 텍스트를 생성합니다. 이 접근 방식은 원본 LLM을 학습시키는 데 사용되는 방대한 데이터세트 이외에 도메인별로 특화된 경우가 많은 새로운 지식을 활용하여 AI 생성 콘텐츠의 품질과 관련성을 개선하는 데 도움이 되며, 일반적으로 질문에 답하거나 텍스트를 요약하는 등의 작업에 사용됩니다.

RAG는 이러한 두 가지 프로세스를 통합하므로 개발자는 기존의 풍부한 지식을 활용하여 LLM을 보강해 상황에 맞는 새로운 콘텐츠의 생성을 강화할 수 있습니다.

데이터의 유형

데이터는 대규모 언어 모델, 생성형 AI 모델 및 AI 애플리케이션의 핵심으로, 데이터는 다양한 도메인에서 이러한 모델들의 성능을 학습시키고, 검증하고, 개선하기 위해 다양한 방식으로 사용됩니다. NLP 모델과 RAG는 '벡터 데이터'라는 학습 데이터 유형을 사용하여 데이터세트 간 관계를 결정합니다.

벡터 데이터란?

지리 정보 시스템(GIS)과 지도 제작과 관련하여 벡터 데이터에 대해 들어보셨을 것입니다. 오늘날 벡터 데이터는 지리, 도시 계획, 환경 과학, 교통 등 수많은 분야에서 사용됩니다. 벡터 데이터를 사용하면 공간 정보를 정확하게 표현, 분석, 시각화할 수 있으므로 사용자가 지리 데이터를 이해하고 이를 기반으로 의사 결정을 내리는 데 도움이 됩니다. 벡터 데이터는 한 도시가 다른 도시와 얼마나 떨어져 있는지와 같이 사물 간 관계나 공간을 보여줍니다.

NLP와 RAG에 벡터 데이터는 어떻게 사용되나?

NLP와 RAG에서는 벡터 데이터가 전통적인 GIS 또는 공간 분석적인 의미로 사용되지 않으나 벡터 표상은 이러한 시스템 내에서 다양한 작업에 매우 중요합니다. 이 프레임워크에서 벡터 데이터는 일반적으로 고차원 벡터 공간에 있는 단어, 문장 또는 문서의 수치적 표현을 나타냅니다.

이러한 수치적 표현은 일반적으로 '임베딩'이라고 불리는 모델에서 사용됩니다. 이 같은 임베딩은 단어 또는 텍스트 세그먼트 간의 의미 및 구문 관계를 포착합니다. 예를 들어 복잡한 데이터를 컴퓨터가 이해할 수 있는 숫자 형식으로 변환하여 데이터를 임베딩으로 변환하는 데 특화된 IBM의 watsonx.ai나 Hugging Face와 같은 모델에 고차원 벡터 데이터가 제공될 수 있습니다.

RAG에서는 '벡터 데이터'라는 용어가 지리적 벡터를 나타내지 않을 수 있는 것에 반해, 텍스트를 벡터로 표현하는 것은 표현 학습, 검색, 생성 등 NLP와 RAG의 여러 측면에 있어 매우 중요합니다. 이 학습 데이터를 통해 모델은 텍스트를 의미 있게 처리하고 조작하여 질문 답변, 요약, 대화 생성과 같은 태스크를 용이하게 만듭니다.

소프트웨어 개발에 RAG를 사용하는 방법

1. 정보 검색

정보 검색은 소프트웨어 개발에서 중요한 역할을 합니다. 개발자는 도큐멘테이션, 코드 리포지토리, 포럼, 연구 논문 등 다양한 리소스에 액세스해야 하는 경우가 많습니다. RAG는 관련 정보 검색을 자동화하고, 시간을 절약하며, 개발자에게 정확하고 상황에 맞는 최신 정보에 대한 액세스 권한을 제공함으로써 이 프로세스를 간소화합니다.

2. 자연어 생성

관련 정보가 검색되면 RAG의 자연어 생성 구성 요소가 핵심적인 작업을 담당하게 됩니다. 여기에는 검색된 데이터를 기반으로 사람이 읽을 수 있는 텍스트를 생성하는 작업이 포함됩니다. 소프트웨어 개발에서 이는 코드 스니펫, 도큐멘테이션 또는 대화형 가이드로 나타날 수 있습니다. 생성된 콘텐츠는 기존 정보를 단순히 복사하여 붙여넣기된 것이 아니라 개발자의 특정 요구 사항에 맞게 조정됩니다.

3. 반복적인 개선

RAG를 차별화하는 요소는 반복적인 개선 프로세스입니다. 개발자는 생성된 콘텐츠와 상호작용하여 피드백을 제공하고 출력을 개선할 수 있습니다. 이러한 양방향 상호작용을 통해 최종 결과를 개선하므로 결과가 더 정확하고 개발자의 의도 및 코딩 스타일에 더 잘 부합합니다. 이것이 방대한 정보의 바다와 특정 프로젝트의 고유한 요구 사항 간의 격차를 해소하는 반복적 접근 방식입니다.

검색 증강 생성을 위한 소프트웨어 개발 활용 사례

활용 사례 1: 코드 생성

RAG는 코드 생성의 판도를 바꿀 수 있습니다. 개발자는 요구 사항 또는 로직을 개략적으로 설명할 수 있으며, 시스템은 관련 코드 스니펫을 검색하여 특정 컨텍스트에 맞게 조정할 수 있습니다. 이를 통해 코딩 프로세스가 가속화되고 모범 사례를 촉진할 수 있습니다.

활용 사례 2: 도큐멘테이션

도큐멘테이션은 소프트웨어 개발의 필수 요소이지만 시간 제약으로 인해 간과되는 경우가 많습니다. RAG는 관련 소스에서 정보를 가져와 일관되고 개발자 친화적인 도큐멘테이션을 자동으로 생성함으로써 도큐멘테이션 생성을 간소화합니다.

활용 사례 3: 트러블슈팅 및 디버깅

코딩 문제에 직면한 개발자는 RAG를 사용하여 솔루션을 검색하고 컨텍스트 인식 기반의 추천을 받을 수 있습니다. 그 결과 디버깅 프로세스와 다운타임을 크게 개선할 수 있습니다.

하이브리드 클라우드 컴퓨팅에 RAG 활용

개발자 운영(DevOps) 팀과 머신 러닝 운영(MLOps) 팀은 하이브리드 클라우드 환경에서 RAG를 데이터 관리, 모델 학습, 도큐멘테이션, 모니터링, 리소스 할당 프로세스 등을 개선하는 데 사용할 수 있습니다. 그 결과 머신 러닝 운영의 효율성과 효과가 제고됩니다.

데이터 및 도큐멘테이션

RAG는 온프레미스와 클라우드 기반 데이터 소스에서 관련 데이터를 검색하는 데 사용할 수 있습니다. 이는 데이터가 여러 위치에 분산될 수 있는 하이브리드 클라우드 환경에서 특히 유용합니다. MLOps는 데이터를 더 효과적으로 검색하고 보강함으로써 머신 러닝 모델이 학습 및 검증을 위해 다양하고 포괄적인 데이터세트에 액세스할 수 있도록 지원합니다.

또한 RAG는 MLOps 워크플로우 내에서 도큐멘테이션 및 지식 공유 프로세스를 자동화하는 데 도움이 될 수 있습니다. RAG 시스템은 NLG 기능을 사용하여 머신 러닝 실험, 모델 평가, 배포 절차 등에 대한 도큐멘테이션, 리포트 및 요약을 자동으로 생성할 수 있습니다. 그 결과 종합적인 활동 기록을 유지 관리하고 팀원 간 지식 이전을 간소화할 수 있습니다.

리소스 할당 및 최적화

RAG 기술을 워크플로우에 통합하여 하이브리드 클라우드 환경에서 적응형 리소스 할당 및 확장을 지원할 수 있습니다. 예를 들어 MLOps 팀은 온프레미스 인프라와 클라우드 기반 플랫폼 전반에 컴퓨팅 리소스를 동적으로 할당하여 모델 성능 및 리소스 활용도에 대한 인사이트를 생성함으로써 모델 학습, 추론, 배포 프로세스를 최적화할 수 있습니다.

AI 에코시스템 확장

RAG를 활용하고자 하는 개발자를 위한 데이터 제품 및 생성형 모델의 에코시스템이 성장하고 있습니다. ChatGPT를 개발한 OpenAI에서 주목할 만한 예를 찾아볼 수 있습니다. 바로 OpenAI에서 개발한 광범위한 모델 제품군의 일부인 OpenAI의 RAG 어시스턴트로, 현재 베타 릴리스 상태입니다.

조직과 개발자는 데이터 툴 및 모델의 에코시스템을 활용해 자체적인 RAG 버전을 구현하여 특정 활용 사례에 대해 보안 태세가 강화된 환경을 구축할 수도 있습니다. 또한 이 에코시스템에서 파트너십이 확대되면서 MLOps 팀은 복잡한 독립 실행형 기술들을 트러블슈팅하고 유지 관리하는 데 시간을 소비하는 대신 신속하게 시작하고 비즈니스 성과를 제공하는 데 집중할 수 있게 되었습니다.

자세히 알아보기

Dell Technologies와 Red Hat은 파트너십을 통해 Red Hat OpenShift AI가 적용된 Dell APEX Cloud Platform for Red Hat OpenShift 기반의 풀스택 AI/ML 솔루션을 제공합니다. DELL APEX Cloud Platform 기반의 OpenShift AI는 RAG가 적용된 LLM을 사용하여 디지털 어시스턴트를 생성해 일련의 벡터화된 문서를 토대로 조직 고유의 주제 정보뿐 아니라 사용자에게 최신 답변을 제공합니다.

Red Hat은 ML 모델과 AI 기반 지능형 애플리케이션을 생성, 배포, 관리하기 위한 통합 솔루션을 제공할 수 있도록 소프트웨어 및 하드웨어 파트너 에코시스템을 지속적으로 구축하고 있습니다.

Red Hat Ecosystem Catalog에서 Red Hat OpenShift에 대해 인증된 소프트웨어 및 하드웨어 파트너가 제공하며 모든 AI/ML 워크로드에 활용할 수 있는 솔루션을 살펴보세요.


저자 소개

Adam Wealand's experience includes marketing, social psychology, artificial intelligence, data visualization, and infusing the voice of the customer into products. Wealand joined Red Hat in July 2021 and previously worked at organizations ranging from small startups to large enterprises. He holds an MBA from Duke's Fuqua School of Business and enjoys mountain biking all around Northern California.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Virtualization icon

가상화

온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래