주요 컨텐츠로 이동

복합 AI 시스템(Compound AI System)

Databricks 무료로 시작하기

복합 AI 시스템이란 무엇인가요?

Berkeley AI 연구(BAIR) 블로그의 정의에 따르면, 복합 AI 시스템이란 상호 작용하는 여러 구성 요소를 결합하여 AI 작업을 처리하는 시스템입니다. 이러한 구성 요소에는 모델, 검색 또는 외부 도구에 대한 다중 호출이 포함될 수 있습니다. 예를 들어, 검색 증강 생성(RAG) 애플리케이션은 모델과 데이터 검색 시스템을 결합하므로 복합 AI 시스템에 해당합니다. 복합 AI 시스템은 다양한 AI 모델, 도구 및 파이프라인의 강점을 활용하여 개별 모델을 단독으로 사용할 때보다 성능, 다양성 및 재사용성 면에서 더 나은 결과를 보여줍니다.

복합 시스템

점점 더 많은 AI 성과가 복합 시스템에서 나오고 있습니다(출처).

까다로운 AI 작업을 수행하기 위해 개발자들의 복합 AI 시스템 구축이 늘어나고 있습니다. 이러한 시스템은 종종 단독 모델보다 뛰어난 성능을 보여주지만, 커뮤니티로서 우리는 아직 이러한 시스템과 그 구성 요소를 설계하는 최선의 방법을 찾고 있습니다.

Gartner 배너 이미지 링크

복합 AI 시스템을 구축하는 이유는 무엇인가요?

  • 어떤 작업들은 시스템 설계를 통해 더 쉽게 개선될 수 있습니다. 더 크고 성능이 뛰어난 모델을 사용하면 AI 애플리케이션을 개선할 수 있지만, 어느 순간 수익이 감소하는 지점에 도달할 수 있습니다. 또한 훈련이나 미세 조정을 통해 모델을 개선하거나 맞춤 설정하는 작업은 시간과 비용이 많이 들 수 있습니다. 복합 시스템에 다른 모델이나 도구를 통합하면 어떠한 단일 모델보다도 애플리케이션 품질을 개선할 수 있습니다.
  • 동적 시스템 구현: 개별 모델은 근본적으로 학습 데이터에 의존한다는 한계가 있습니다. 개별 모델은 주어진 정보와 행동을 학습할 뿐, 외부 데이터 소스를 검색하거나 권한을 관리 및 제어할 수 없습니다. 시스템 접근 방식을 통해 데이터베이스, 코드 해석기, 권한 시스템 등과 같은 외부 리소스를 추가하여, 개별 모델보다 훨씬 더 역동적이고 유연한 복합 AI 시스템을 만들 수 있습니다.
  • 제어 및 신뢰도 향상: 개별 모델은 사실에 입각한 정보나 일관된 형식의 결과를 안정적으로 반환하기 어렵습니다. 이를 위해서는 신중한 프롬프트 설정, 다양한 예시, 미세 조정 또는 해결 방법(예: 좋은 답변을 얻는 것이 중요한 문제라고 LLM에게 알림)이 필요할 수 있습니다. LLM을 다른 도구 및 데이터 소스와 오케스트레이션하면 정확한 외부 정보를 제공하거나 출력 형식 지정 제약을 더 효과적으로 적용하는 도구를 사용하여 AI 시스템의 신뢰성과 안정성을 높일 수 있습니다.
  • 다양한 비용 대비 품질 옵션: 개별 모델은 일반적으로 고정된 비용에 고정된 품질을 제공하지만 모든 사용 사례에 적합하지 않을 수 있습니다. LLM을 외부 도구와 통합하면 보다 다양한 비용 대비 품질 옵션을 제공할 수 있습니다. 예를 들어, 세심하게 조정된 소규모 모델과 다양한 검색 휴리스틱을 결합하면 성능이 뛰어난 대규모 모델보다 저렴한 비용으로 좋은 결과를 얻을 수 있습니다. 반면에 예산이 충분하다면 외부 도구와 데이터 소스를 도입하여 뛰어난 대규모 모델의 성능을 더욱 향상시킬 수 있습니다.

효과적인 복합 AI 시스템을 구축하는 방법은 무엇인가요?

복합 AI 시스템은 아직 신생 분야이므로, 그 개발과 사용을 안내하는 모범 사례들도 아직 발전하고 있는 단계입니다. 복합 AI 시스템에는 다양한 접근 방식이 있으며, 각각의 장단점이 있습니다. 예를 들어, 다음과 같은 접근 방식이 있습니다.

  • 제어 로직: 복합 AI 시스템에서 제어 로직을 정의하는 코드 베이스는 특정 조건에서 특정 작업을 수행하기 위해 모델을 호출할 수 있습니다. 이를 통해 프로그래밍 제어 흐름의 신뢰성을 유지하면서 LLM의 표현력까지 활용할 수 있습니다. 다른 시스템은 제어 흐름에 LLM을 사용할 수 있지만, 입력을 유연하게 해석하고 처리할 수 있는 반면 신뢰성이 다소 희생될 수 있습니다. Databricks External Model과 같은 도구는 애플리케이션의 여러 부분을 서로 다른 모델로 라우팅하는 프로세스를 간소화하여 제어 로직에 도움을 줄 수 있습니다.
  • 시간과 리소스 배분: 복합 AI 시스템을 개발할 때, 모델 성능 개선에 더 많은 시간과 리소스를 투자할지, 아니면 시스템의 다른 측면을 개선하는 데 집중할지 명확하지 않을 수 있습니다. 모델을 미세 조정하거나 더 성능이 뛰어난 모델로 교체하는 것이 복합 AI 시스템의 성능을 향상시킬 수 있지만, 데이터 검색 시스템이나 다른 구성 요소를 개선하는 것도 마찬가지로 성능 향상에 기여할 수 있습니다.
  • 측정 및 최적화: 평가는 AI 모델과 관련된 모든 시스템에서 중요하지만, 접근 방식은 애플리케이션에 따라 매우 다양합니다. 일부 시스템에서는 개별 지표로 엔드투엔드 성능을 평가하는 것이 적합할 수 있지만, 다른 시스템에서는 여러 구성 요소를 개별적으로 평가하는 것이 더 합리적일 수 있습니다. 예를 들어, RAG 애플리케이션에서는 검색과 생성 구성 요소를 별도로 평가해야 하는 경우가 많습니다. MLflow는 검색 및 생성을 포함하여 복합 AI 시스템의 다양한 측면을 평가할 수 있는 유연한 접근 방식을 제공합니다.

접근 방식이 빠르게 변화하고 있지만, 효과적인 복합 AI 시스템을 구축하기 위한 몇 가지 핵심 원칙은 다음과 같습니다.

  • 강력한 평가 시스템 개발: 복합 AI 시스템은 상호 작용하는 구성 요소들로 이루어지며, 그 중 하나만 변경해도 전체 시스템의 성능에 영향을 미칠 수 있습니다. 시스템의 성능을 효과적으로 측정할 방법을 마련하고, 이를 기록하고 접근 및 활용할 수 있는 인프라를 구축하는 것이 중요합니다.
  • 다양한 접근 방식: 앞서 언급했듯이, 복합 AI 시스템 구축을 위한 모범 사례들은 아직 확립되지 않았습니다. 전체 애플리케이션 제어 로직과 개별 구성 요소 측면에서 AI 모델과 기타 도구를 통합하는 다양한 방법을 시도해 볼 필요가 있습니다. 모듈화를 통해 다양한 모델, 데이터 검색기, 도구 등을 교체할 수 있는 애플리케이션을 실험하기 더 편리합니다. MLflow는 평가와 실험을 위한 다양한 도구를 제공하여 복합 AI 시스템 개발에 특히 유용합니다.

복합 AI 시스템 구축의 주요 과제는 무엇인가요?

복합 AI 시스템은 AI 모델만 사용할 때와 비교하여 다음과 같은 몇 가지 주요 개발 과제를 안고 있습니다.

  • 더 방대한 설계 공간: 복합 AI 시스템은 하나 이상의 AI 모델을 검색기 또는 코드 해석기, 데이터 소스, 코드 라이브러리 등과 같은 도구와 결합합니다. 일반적으로 이러한 각 구성 요소에는 여러 가지 옵션이 있습니다. 예를 들어, RAG 애플리케이션을 개발하려면 최소한 임베딩 및 텍스트 생성에 사용할 모델, 사용할 데이터 소스, 데이터를 저장할 위치, 사용할 검색 시스템을 선택해야 합니다. 명확한 모범 사례가 없으면 개발자는 이 방대한 설계 공간을 탐색하고 적합한 솔루션을 찾기 위해 상당한 노력을 투자해야 합니다.
  • 시스템 구성 요소의 공동 최적화: AI 모델은 특정 도구와 잘 연동하도록 최적화되어야 하며, 그 반대의 경우도 마찬가지입니다. 복합 AI 시스템의 한 구성 요소를 변경하면 전체 시스템의 동작이 예상치 못한 방식으로 변경될 수 있으며, 모든 구성 요소가 매끄럽게 연동하도록 하는 것은 어려운 과제입니다. 예를 들어, RAG 시스템의 특정 검색 시스템에서 하나의 LLM이 잘 작동하는 반면 다른 LLM은 잘 작동하지 않을 수 있습니다.
  • 복잡한 운영: LLM만으로도 이미 서비스 제공, 모니터링 및 보안 관리가 어려울 수 있습니다. 이를 다른 AI 모델 및 도구와 결합하면 이러한 문제가 더욱 복잡해집니다. 이러한 복합 시스템을 사용하려면 개발자가 애플리케이션을 모니터링하고 디버깅하기 위해 MLOps와 DataOps 도구 및 사례를 독특한 방식으로 결합해야 할 수 있습니다. Databricks Lakehouse Monitoring은 복합 AI 시스템의 복잡한 데이터와 모델링 파이프라인을 보다 효과적으로 파악할 수 있도록 도와줍니다.

추가 자료

용어집으로 돌아가기