Retrieval Augmented Generation(RAG, 검색 증강 생성)과 같은 생성적 AI 시스템의 인기 증가는 정보의 방대한 양과 효율적이며 사용자 친화적인 상호 작용 방법으로의 중요한 전환을 반영합니다. 사용자가 질문을 제기하고 기존 문서를 기반으로 직접 답변을 받을 수 있게함으로써 이러한 시스템들은 대규모 데이터 세트의 수동 검색과 해석의 필요성을 제거합니다. 이것은 정확한 정보에 빠르게 접근이 필요한 전문적이고 학문적 환경에서 특히 유익합니다.
이러한 시스템을 개발하는 단순함과 그 사용 사례의 명확성은 그들의 성장적인 채택에 기여합니다. 이들은 광범위한 프로그래밍 기술이나 복잡한 인프라 구조를 필요로하지 않으면서 정보가 풍부한 문서, 비디오 또는 기타 데이터 소스에서 가치를 추출하는 간소화된 프로세스를 제공합니다.
특히 RAG 모델은 정보 검색과 텍스트 생성의 강점을 결합하여 사용자 쿼리에 대한 정확한 답변을 제공합니다. 이는 관련 문서나 데이터를 검색한 다음 그 정보를 기반으로 일관되고 문맥적으로 적절한 응답을 생성합니다. 이 하이브리드 접근 방식은 생성된 응답의 품질과 관련성을 크게 향상시켜 고객 지원, 연구 및 교육과 같은 다양한 응용 프로그램에서 유용한 도구로 만듭니다.
또한 기계 학습 프레임워크와 사전 훈련된 모델이 더욱 접근 가능해지면서 RAG 기반 시스템 또는 유사한 생성적 AI 프로젝트를 개발하는 데 대한 진입 장벽이 더욱 낮아집니다. 이러한 개발의 용이성은 정보 처리의 명확한 이점과 결합되어 RAG 및 유사 시스템의 AI 커뮤니티에서의 지속적인 성장과 인기에 기여할 것으로 보입니다.
RAG란 무엇인가요?
Retrieval-Augmented Generation(RAG)의 기본 메커니즘을 설명하겠습니다. RAG는 데이터 소스에서 정보를 검색하고 해당 정보를 기반으로 텍스트를 생성하는 모델을 결합합니다. 다음은 프로세스의 분해 및 RAG 모델링과 관련된 문제와 해결책에 대한 일부 통찰력입니다:
- 문서 세분화와 벡터화:
- 문서는 작은 청크로 분할되며, 이후에 벡터 표현으로 변환됩니다. 이 벡터화는 관련 정보의 효율적인 비교와 검색을 용이하게 합니다.
- 질문 벡터화:
- 사용자의 질문도 벡터 표현으로 변환되어 문서 벡터와 비교할 수 있게 됩니다.
- 검색:
- 시스템은 코사인 거리와 같은 유사성 지표를 사용하여 질문 벡터와 가장 유사한 문서 청크를 식별합니다.
- 답변 생성:
- 검색된 문서 청크는 GPT 같은 언어 모델로 전송되며, 이 모델은 이러한 청크에 포함된 정보를 기반으로 응답을 생성합니다.
- 구현의 용이성:
- LangChain 또는 LlamaIndex와 같은 도구들은 RAG 파이프라인의 설정과 구현을 단순화하여 벡터 기반을 설정하고 문서를 분할하며 모델을 연결하는데 몇 줄의 코드만 필요로 합니다.
- 인기와 제한사항:
- RAG 시스템의 단순성과 유용성은 상업적 사용에서 특히 주목을 받았습니다. 그러나 더욱 인기를 얻게되면서 정확성과 잘못된 또는 환영된 응답을 생성할 가능성과 같은 제한이 분명해지며, 이는 기업에 대한 명성 위험을 초래할 수 있습니다.
- 문제와 해결책:
- RAG 모델링은 특히 정확하고 신뢰할 수 있는 답변이 중요한 상업적 사용에서 부정확성 또는 환영과 같은 문제에 직면할 수 있습니다. 연구자와 실무자들은 검색 프로세스를 개선하고 생성 모델을 미세 조정하거나 생성된 응답의 정확성과 신뢰성을 보장하기 위해 추가 검증 단계를 포함함으로써 이러한 문제를 해결하려고 노력하고 있습니다.
현대 도구를 사용하여 RAG를 구현하는 단순함, 명확한 사용 사례, 그리고 대량의 데이터를 처리할 수 있는 능력은 많은 응용 프로그램에 대해 매력적인 선택으로 만듭니다. 그러나 모든 기술과 마찬가지로 중요하거나 상업적 응용 프로그램에서 효과적이고 책임있게 사용하기 위해주의가 필요한 일련의 도전과제가 있습니다.
RAG의 주요 문제
Retrieval-Augmented Generation (RAG) 모델을 통해 쿼리에 대한 답변을 쉽게 얻는 경험은 처음에는 마법과 같아 보입니다. 그러나 상업적 배포를 고려할 때 몇 가지 도전이 나타납니다. 상업적 목적으로 RAG를 사용하려는 경우 주요 문제는 다음과 같습니다:
- 정확성과 신뢰성:
- RAG는 정확하지 않거나 관련성 없는 답변을 제공할 수 있으며, 정확하고 올바른 정보가 중요한 상업적 환경에서는 문제가 될 수 있습니다.
- 확장성:
- 데이터 양이 증가함에 따라 높은 수준의 성능과 정확성을 유지하는 것이 어려워질 수 있습니다.
- 지연 시간:
- 상업용 응용 프로그램에서는 실시간 또는 거의 실시간 응답이 종종 필요하지만, RAG의 두 단계 프로세스(검색 및 생성)는 지연 시간을 초래할 수 있습니다.
- 유지 관리의 복잡성:
- 기본 데이터 저장소를 유지 관리하고 최신 상태로 유지하는 것이 복잡하고 자원이 많이 들 수 있습니다.
- 환영:
- RAG 모델은 부정확한 검색 또는 원래 데이터에 없는 정보를 만들어내어 환영된 답변을 생성할 수 있습니다.
- 비용:
- 계산, 저장 및 유지 관리 비용이 높을 수 있으며, 시스템이 확장됨에 따라 특히 높아질 수 있습니다.
- 사용자 정의 및 미세 조정:
- RAG를 특정 도메인 또는 비즈니스 요구에 맞게 조정하고 성능을 향상시키기 위해 미세 조정하는 것이 어렵고 시간이 많이 소요될 수 있습니다.
- 개인 정보 보호 및 보안 문제:
- 고객 또는 독점 정보를 다룰 때 민감한 데이터의 개인 정보 보호 및 보안을 보장하는 것이 매우 중요하지만 어려울 수 있습니다.
- 평가 및 모니터링:
- 시스템의 성능을 지속적으로 평가하고 모니터링하며, 품질과 정확성을 유지하기 위해 필요한 조정을 하는 것이 필요하지만 자원이 많이 들 수 있습니다.
- 설명 가능성 부족:
- 생성된 답변은 설명 가능성이 부족할 수 있으며, 이는 종종 신뢰를 구축하고 규제 요구 사항을 준수하기 위해 상업적 환경에서 필요합니다.
이러한 도전은 상업적 시나리오에서 RAG 시스템을 효과적으로 활용하기 위해 철저한 고려와 전략적 계획이 필요합니다. 해결책은 지속적인 모니터링 및 평가를 위한 메커니즘 개발, 정확성을 향상시키기 위해 추가 검증 레이어를 사용, 지연 시간을 줄이기 위해 인프라에 투자하고, 강력한 보안 및 개인 정보 보호 프로토콜을 구축하는 것을 포함할 수 있습니다.
비용
*OpenAI GPT-3.5 Turbo와 GPT-4 비용 및 출력 결과 비교
비용 분석은 Generative Pre-trained Transformer 모델인 GPT-3.5와 GPT-4를 상업적 목적으로 사용할 때 Retrieval Augmented Generation (RAG) 모델을 배포하는 데 관련된 경제적 고려 사항에 대한 이해를 제공합니다. 여기에 분석을 기반으로 한 몇 가지 핵심 포인트와 추가 고려 사항이 있습니다:
- 비용 효율성 대 품질:
- 비용과 품질 간의 타협이 분명합니다. GPT-4는 뛰어난 품질을 제공하지만, 특히 중소기업에게는 비용이 부담스러울 수 있습니다. 반면 GPT-3.5는 비용 효율적이지만 응답의 품질을 저하시킬 수 있습니다.
- API 비용:
- API 사용의 페이-퍼-콜 모델은 쿼리의 양이 증가함에 따라 비싸질 수 있습니다. 이는 비용 효율성과 품질 서비스 간의 균형을 유지하려는 기업에게 중요한 고려 사항입니다.
- 토큰 생성 비용:
- 프롬프트와 완성 토큰으로 나누어진 응답 생성 비용은 전체 지출의 중요한 부분을 차지합니다. 이러한 비용을 효과적으로 관리하는 것은 이익을 유지하는 데 중요합니다.
- 고객 만족도와 유지:
- 부정확하거나 환영된 응답으로 인해 고객을 잃는 위험은 심각한 우려 사항입니다. 비용을 관리하면서 높은 품질의 정확한 응답을 제공하는 균형을 유지하는 것이 중요합니다.
- 확장 도전:
- 사용자 기반이 증가하거나 기존 사용자의 사용이 증가함에 따라 비용이 상응하여 증가합니다. 이러한 확장은 더 비용 효율적인 솔루션이 발견되지 않는 한 이익을 상쇄할 수 있습니다.
- 모델 선택:
- 모델 선택은 서비스 품질과 비용에 직접적인 영향을 미칩니다. 비용과 품질 사이의 원하는 균형을 달성하기 위해 대안을 탐색하거나 기존 설정을 최적화하는 것이 필수적입니다.
- 최적화 기회:
- 더 나은 효율성을 위해 모델을 미세 조정하거나 대량 가격 옵션을 탐색하거나 수용 가능한 품질로 경쟁력 있는 가격을 제공하는 다른 모델이나 플랫폼을 조사하는 것과 같이 비용을 최적화할 기회가 있을 수 있습니다.
- 장기 계약 및 가격 모델:
- 모델 제공 업체와 장기 계약을 체결하거나 다양한 가격 모델을 탐색하는 것도 일부 비용 완화와 예측 가능성을 제공할 수 있습니다.
- 사용자 정의 모델에 대한 투자:
- 장기적으로 특정 사용 사례 또는 도메인에 맞게 맞춤형 모델을 개발하는 것도 비용을 제어하면서 품질을 유지하거나 향상시키는 데 도움이 될 수 있는 방법일 수 있습니다.
이 분석은 상업적 환경에서 AI 서비스를 배포할 때 비용을 관리하고 품질을 유지하며 고객 만족도를 보장하기 위해 잘 생각된 전략의 중요성을 강조합니다.
일반적인 RAG 서비스을 가지고 있다고 가정해 봅시다. 이 서비스는 중소기업과 대기업 10곳이 있습니다. 각각은 하루에 100개의 질문을 합니다(중소기업과 대기업의 직원 수를 고려할 때 이는 매우 적은 양입니다). 그래서 하루에 1000개의 질문이 있습니다. 한번에 사용된 토큰의 평균 수는 8천 개입니다(5천 개는 프롬프트, 3천 개는 생성입니다).
모든 것을 계산하면 다음과 같은 결과를 얻을 수 있습니다:
프롬프트와 완성(completion) 토큰에 대한 월별 비용은 다음과 같이 계산할 수 있습니다:
GTP-4 8K:
프롬프트의 경우: 5K 토큰 * $0.03/1K 토큰 * 하루에 1000번 * 30일 = $4,500
완성의 경우: 3K 토큰 * $0.06/1K 토큰 * 하루에 1000번 * 30일 = $5,400
그러므로, 월별 총 비용은 $4,500 (프롬프트) + $5,400 (완성) = $9,900입니다.
그리고 귀하의 서비스에 대한 평균 비용은 $1000입니다. 월말에는 $100이익이 있습니다. 가장 비관적인 시나리오에서, 클라이언트는 하루에 100개의 질문을 합니다.
GPT-3.5 4K
프롬프트의 경우: 5K 토큰×$0.0015/1K 토큰×1000회/일×30일=$225
완성의 경우: 3K 토큰×$0.002/1K 토큰×1000회/일×30일=$180
따라서, 월별 총 비용은: $225(프롬프트)+$180(완성)=$405
서비스에 대한 평균 비용이 $1000인 경우, 월말에는 이익이: $1000(서비스 비용)−$405(총 비용)=$595
이렇게 계산하면 GPT-3.5 4K를 사용할 때 월말에 $595의 이익이 발생하는 것으로 나타납니다.
물론 실제로 우리가 보는 모든 제품들은 클라이언트의 질문을 처리하기 위해 GPT-3.5 모델을 사용합니다. 그러나 중소기업과 대기업의 경우, 그들은 단순히 귀하와의 계약을 해지하고 서비스를 이용하지 않을 수 있습니다.
환영(Hallucinations)
기계 학습 모델, 특히 GPT-3 또는 GPT-4와 같은 언어 생성 모델에서의 환영은 모델이 훈련 데이터 또는 수신한 입력에 없는 정보를 생성하는 경우를 나타냅니다. 이것은 상업적 또는 민감한 설정에서 중대한 도전이 됩니다. 여기 환영의 문제와 그 결과에 대해 더 자세히 살펴보겠습니다:
- 근본 원인:
- 환영은 훈련 데이터의 편견, 과적합 또는 모델이 입력을 잘못 해석하는 것과 같은 다양한 요인으로 발생할 수 있습니다.
- 비즈니스에 대한 영향:
- 비즈니스 설정에서 환영은 잘못된 정보로 이어져서 법적 책임, 고객 불만 및 회사의 명성 훼손으로 이어질 수 있습니다.
- 고객 지원 및 온보딩:
- 기업은 고객 지원이나 온보딩과 같은 작업에 대한 인적 자원 요구를 줄이기 위해 AI를 찾을 수 있습니다. 그러나 환영은 잘못된 정보를 제공하여 문제를 해결하는 대신 더 많은 문제를 만들 수 있습니다.
- 품질 통제 및 검증:
- 환영과 관련된 위험을 완화하기 위해 모델에 의해 생성된 정보의 정확성과 신뢰성을 검증하는 메커니즘을 갖추는 것이 중요합니다.
- 지속적인 모니터링 및 피드백:
- 모델의 성능을 지속적으로 모니터링하고 사용자로부터 피드백을 수집하면 시간이 지남에 따라 환영을 식별하고 수정하는 데 도움이 될 수 있습니다.
- 도메인 특정 교육 및 미세 조정:
- 도메인 특정 데이터에서 모델을 교육하거나 미세 조정하면 모델이 관련 사실과 맥락에 더 익숙해지게 되어 환영의 가능성을 줄일 수 있습니다.
- 하이브리드 인간-AI 시스템:
- 인간 운영자가 AI의 출력을 검토하거나 검증할 수 있는 하이브리드 시스템을 구현하는 것도 정확성을 보장하고 환영을 방지하기 위한 솔루션일 수 있습니다.
- 투명한 커뮤니케이션:
- 사용자에게 AI의 기능과 제한에 대해 투명하게 소통하는 것도 중요하여 기대를 관리하고 신뢰를 구축합니다.
- 연구 투자:
- 언어 모델에서 환영을 이해하고 완화하는 연구를 더욱 추진하는 것이 상업용으로 그들의 신뢰성을 향상시키는 데 필요합니다.
- 규제 준수:
- 정보 정확성 및 공개에 관한 규제 지침을 준수하는 것도 환영과 관련된 위험을 관리하는 데 도움이 될 수 있습니다.
AI 모델의 환영은 실제로 심각한 우려사항이며, 이 문제를 해결하기 위해서는 기술 개선, 운영 감독 및 투명한 커뮤니케이션을 포함
문맥적 프롬프트(contextual prompt)에 대한 불이행(non-compliance)
언어 모델에서 문맥적 프롬프트(contextual prompt)에 대한 불이행(non-compliance) 문제는 지시사항의 일관성과 준수가 중요한 상업적 애플리케이션에 대해 중대한 도전입니다. 이 문제에 대한 주요 포인트와 일부 가능한 해결책은 다음과 같습니다:
- 모델 결정론:
- GPT-3.5와 같은 모델의 비결정적(non-deterministic) 성질로 인해 시스템 프롬프트에서 설정한 규칙을 항상 따르지 않을 수 있습니다. 이러한 예측 불가능성은 비즈니스 환경에서 문제가 될 수 있습니다.
- 품질 대 준수:
- GPT-4와 같은 높은 품질의 모델은 프롬프트에 대한 더 나은 준수를 보일 수 있지만, 이는 더 높은 비용으로 이어질 수 있습니다.
- ChatGPT의 사용자 정의 지시사항:
- ChatGPT에서 사용자 정의 지시사항을 제공할 수 있는 기능은 모델의 행동을 더 잘 제어하기 위한 한 걸음이지만, 불이행 문제를 완전히 해결하지는 않을 수 있습니다.
- 엔지니어링 및 작업 흐름 모델링:
- 이 문제를 해결하려면 비용을 절약하면서 모든 규칙과 환영을 확인하는 방식으로 작업 흐름을 모델링하는 엔지니어링 접근 방식이 필요할 수 있습니다. 이에는 사용자 정의 논리 또는 추가 검증 레이어를 개발하는 것이 포함될 수 있습니다.
- 하이브리드 접근 방식:
- AI와 인간 감독을 결합하는 하이브리드 접근 방식은 문맥적 프롬프트에 대한 준수를 보장하는 데 도움이 될 수 있습니다. 인간은 특히 중요하거나 민감한 상황에서 모델의 출력을 검증하고 수정할 수 있습니다.
- 미세 조정 및 도메인 특정 교육:
- 모델을 도메인 특정 데이터와 특정 지침으로 미세 조정하면 문맥적 프롬프트에 대한 준수를 개선하는 데 도움이 될 수 있습니다.
- 규칙 기반 후처리:
- 모델의 출력에 규칙 기반 후처리 단계를 구현하여 지정된 지침을 준수하도록 보장합니다.
- 지속적인 모니터링 및 피드백:
- 모델의 성능을 지속적으로 모니터링하고 시간이 지남에 따라 모델의 문맥적 프롬프트 준수를 조정하고 개선하기 위해 피드백을 포함합니다.
- 연구 투자:
- 문맥적 프롬프트와 지침에 대한 모델 준수를 개선하기 위해 추가 연구를 투자하는 것이 상업적 애플리케이션에 대한 그들의 유용성을 향상시키는 데 중요합니다.
- 사용자와의 투명한 커뮤니케이션:
- 모델의 제한을 사용자에게 통신하여 사용자가 성능과 지침 준수에 대해 현실적인 기대를 갖도록 하는 것도 중요합니다.
이러한 통찰력은 언어 모델에서 문맥적 프롬프트에 대한 불이행과 관련된 도전을 해결하기 위해 잘 구조화된 접근 방식의 필요성을 강조하며, 특히 이러한 준수가 원하는 결과를 달성하기 위해 중요한 비즈니스 사용 사례에 대해 중요합니다.
흐름 내에서의 처리
위에서 언급한 문제들을 고려할 때, 이러한 요인들이 비즈니스에서 AI 모델, 특히 RAG 모델링의 품질과 사용 경험에 미치는 영향을 부분적으로 최소화할 수 있는 해결책이 있습니다.
스마트 캐시
이 주제는 GenAI의 발전과 함께 인기를 얻고 있습니다. 이미 시스템에 캐시를 통합할 수 있게 해주는 몇 가지 프로젝트들이 있습니다.
1) 같은 의도를 가진 질문들에 대한 비용 최적화라는 주요 문제를 해결하지 않습니다.
2) 비즈니스 사용자는 캐시를 제어하고 작업하기 위한 인터페이스가 없습니다.
따라서, 이 문제를 해결하기 위해서
GenAI를 고객 지원 또는 새로운 직원의 온보딩에 사용하는 것에 대해 이야기하면, 고객/직원들로부터의 질문 중 약 65-70%가 동일한 의도를 가지고 있다는 결론에 도달합니다. 즉, 고객이 묻는다면:
“당신의 주소는 무엇입니까?”와 “어떻게 찾아갈 수 있나요?” — 이들은 서로 다른 질문이지만 동일한 의도를 가지고 있습니다. 한 질문에 대한 답변은 다른 질문에 대한 답변으로 간주될 수 있습니다. 그리고 스마트 캐시의 핵심 작업은 의도를 인식하고 다시 생성하는 대신 이미 존재하는 답변을 제공하는 것입니다.
첫 단계에서 스마트 캐시를 사용함으로써, LLM 호출에 소비할 금액을 줄이고, 무엇보다도 답변이 정확하고 고품질이 될 것입니다.
그리고 동시에, 비즈니스 사용자들에게 정확하고 부정확한 질문을 판별할 수 있는 능력을 제공하고, 그것들을 저장할 수 있는 능력을 제공한다면 — 이것은 장기적으로 여러분의 제품을 놀랍도록 빠르고 유용하게 만들고, 전체 비즈니스는 이것을 신뢰할 수 있는 것이라는 확신을 가질 것입니다.
Generative AI(GenAI)의 맥락에서 스마트 캐시(Smart Cache) 개념은 사용자 쿼리의 반복되거나 유사한 의도를 인식하고 응답함으로써 효율성을 향상시키고 중복 처리를 줄이는 것을 목표로 합니다. 이 아이디어와 거론된 우려를 해결하기 위한 잠재적 구현에 대한 상세 내용은 다음과 같습니다:
- 의도 인식:
- 사용자 쿼리의 기본 의도를 정확하게 식별하기 위해 자연어 이해(NLU) 또는 기타 의도 인식 기술을 활용합니다.
- 의미 유사성이나 클러스터링과 같은 고급 기술을 사용하여 동일한 질문의 다양한 표현을 함께 그룹화합니다.
- 캐시 관리:
- 이전에 마주친 의도에 대한 응답을 저장하고, 새 쿼리를 캐시된 응답과 매칭하는 데 도움이 되는 메타데이터와 함께 캐시 시스템을 설계합니다.
- 캐시가 신선하고 관련성이 있도록 캐시 삭제 및 업데이트 정책을 구현합니다.
- 캐시 제어를 위한 사용자 인터페이스:
- 비즈니스 사용자가 캐시를 보고, 관리하고, 수동으로 업데이트할 수 있는 사용자 인터페이스를 제공합니다.
- 사용자가 캐시된 응답을 추가, 수정 또는 삭제하고 캐시 성능에 대한 피드백을 제공할 수 있도록 합니다.
- 비용 최적화:
- 스마트 캐시를 활용하면 동일하거나 유사한 쿼리에 대한 응답을 중복으로 생성하는 것을 피할 수 있어 비용을 절약할 수 있습니다.
- 캐시 히트율과 기타 메트릭을 측정하고 분석하여 지속적으로 성능을 최적화하고 비용을 줄입니다.
- 통합 및 사용자 정의:
- 스마트 캐시 시스템을 기존 고객 지원 또는 온보딩 플랫폼과 쉽게 통합할 수 있도록 제공합니다.
- 특정 비즈니스 요구 사항과 사용 사례에 맞게 캐시 동작을 맞춤 설정할 수 있도록 합니다.
- 품질 보증 및 모니터링:
- 캐시된 응답의 정확성과 관련성을 보장하기 위한 품질 보증 메커니즘을 포함합니다.
- 지속적인 모니터링과 분석을 통해 개선 영역을 식별하고 시스템이 성능 및 비용 절약 목표를 달성하고 있는지 확인합니다.
- 사용자 교육 및 문서화:
- 사용자가 스마트 캐시 시스템을 효과적으로 활용하는 방법을 이해하도록 돕기 위해 철저한 문서화 및 교육을 제공합니다.
- 피드백 루프 및 지속적인 개선:
- 사용자 피드백과 시스템 성능 데이터를 수집하기 위해 피드백 루프를 구현하고 스마트 캐시 시스템의 지속적인 정제 및 개선을 위해 활용합니다.
- 법률 및 개인 정보 보호 고려 사항:
- 개인 또는 민감한 정보를 처리할 때 법률 및 개인 정보 보호 요구 사항을 준수하도록 스마트 캐시 시스템을 보장합니다.
- 연구 및 개발:
- 스마트 캐시 시스템의 효과성과 효율성을 향상시킬 수 있는 새로운 기술과 기술을 탐색하기 위해 연구 및 개발에 투자합니다.
스마트 캐시 시스템을 구현하면 반복되거나 유사한 의도를 인식하고 응답함으로써 고객 지원 또는 온보딩 시나리오에서 GenAI를 사용하는 효율성을 크게 향상시킬 수 있으며, 비용 최적화 및 캐시 제어에 대한 사용자의 우려를 해소할 수 있습니다.