AI 응용 프로그램은 실제로 어떤 모습일까요? 몇 가지를 구축한 후에는 이를 (여러) 부분으로 나누고 운영상의 의미를 살펴보는 것이 좋을 것 같습니다.
우리는 이전에 AI 애플리케이션의 공통점(많은 점)과 차이점(많은 점)을 살펴보았습니다. AI 애플리케이션을 "예측적이든 생성적 이든 AI를 활용하는 애플리케이션"으로 정의하는 것은 매우 쉽습니다.
그건 사실이지만, 이런 새로운 종류의 애플리케이션을 빌드, 배포, 제공, 보안 및 운영해야 하는 사람들에게 그것은 무엇을 의미할까요?
첫째, 새로운 움직이는 부품이 필요하다는 뜻입니다. 추론 서비스 만 있는 것은 아닙니다. 벡터 데이터베이스와 같이 애플리케이션 아키텍처에 표준으로 추가되는 다른 새로운 구성 요소도 있습니다. 이는 API 에 대한 의존도가 높아진다는 것을 의미합니다.
이러한 구성 요소의 대부분이 컨테이너화되어 있다는 것도 사실입니다. 새로운 AI 애플리케이션 프로젝트를 설정할 때 벡터 데이터 저장소로 사용하기 위해 PostgreSQL을 실행하는 컨테이너를 실행합니다. 여러 산업 보고서 (예를 들어 Databricks의 보고서 ) 에 따르면 상당수의 AI 애플리케이션에서 RAG(Retrieval Augmented Generation)를 사용하고 있습니다. 그 이유는 직접 모델을 미세 조정하거나 훈련시키지 않고도 원하는 데이터를 사용하여 기존 AI 모델을 보강할 수 있기 때문입니다. 상당수의 사용 사례에서 이는 AI 애플리케이션을 구현하는 가장 좋은 방법입니다.
컨테이너화된 그래프 데이터베이스(예: Neo4J)를 실행하여 지식 그래프를 생성할 수도 있습니다. 그래프 데이터베이스는 소셜 네트워크, 추천 엔진 데이터, 사기 감지와 같은 그래프 관련 데이터를 작업할 때 특히 유용합니다. 올해 초에 알게 된 것처럼, 이는 정책 수립과 관련된 환각을 완화하는 데도 유용한 것으로 나타났습니다. 그래프 데이터베이스를 포함하면 '보안이 필요한 새로운 것' 목록에 새로운 프로토콜인 GraphQL이 추가될 수 있습니다.
그런 다음 어떤 추론 서비스를 사용할지 결정할 겁니다. 나에게는 선택권이 있어요. 클라우드 공급자 서비스나 AI를 서비스로 사용할 수도 있고(ChatGPT와 같은), 로컬 서비스를 실행할 수도 있습니다 . 예를 들어, 제가 가장 최근에 한 작업은 MacBook에서 Ollama 와 phi3를 사용하는 것이었습니다. 이 경우 추론 서버를 하나만 실행하고 있는데, 여러 개를 실행하면 내가 가진 리소스보다 더 많은 리소스가 소모되기 때문입니다. 물론 생산 과정에서는 수요를 충족할 수 있도록 더 많은 인스턴스가 있을 가능성이 높습니다.
phi3를 사용할 것이기 때문에 추론 서비스에 접근하기 위한 프레임워크로 phidata를 선택했습니다. 저는 인기 있는 선택인 서비스로서의 AI를 활용할 때 Langchain 도 사용해 봤는데, 좋은 소식은 운영 관점에서 볼 때 이 프레임워크가 핵심 AI 애플리케이션 자체 외부에서 작동하는 것이 아니라는 것입니다.
아직 코드 한 줄도 쓰지 않았는데 이미 여러 구성 요소를 실행하고 있으며, 각각 API를 통해 액세스하고 자체 컨테이너에서 실행합니다. 그렇기 때문에 우리는 AI 애플리케이션이 현대적인 애플리케이션이며 전달, 보안 및 운영에 대한 모든 익숙한 과제를 가져온다는 전제로 시작합니다. 이것이 또한 AI 모델을 배포하면 제공 및 보안이 필요한 API 수가 급격히 늘어날 것이라고 믿는 이유입니다.
AI 애플리케이션은 이미 복잡한 환경에 또 다른 계층을 추가하므로 당연히 복잡성도 증가합니다. 즉, AI 애플리케이션 아키텍처는 보안부터 SRE, 네트워크에 이르기까지 모든 운영 기능에 대한 부하를 증가시키게 됩니다. 이러한 각 구성 요소에는 자체적인 확장 프로필이 있습니다. 즉, 일부 구성 요소는 다른 구성 요소보다 더 빨리 확장되어야 하며 대부분이 다른 API를 활용하고, 어떤 경우에는 프로토콜을 활용하기 때문에 요청이 분산되는 방식이 달라집니다.
게다가 AI 애플리케이션 아키텍처는 내부적으로 매우 다양할 것입니다. 즉, 제가 만든 AI 애플리케이션은 여러분이 만든 AI 애플리케이션과 다른 지역 교통 특성과 요구 사항을 보일 가능성이 높습니다. 그리고 더 많은 이질성은 자연스럽게 더 큰 복잡성을 의미합니다. 왜냐하면 이는 동질성을 촉진하는 표준화의 반대이기 때문입니다.
표준화는 수십 년 동안 기업이 시장에 새로운 기능을 제공하고 운영 효율성을 높이는 동시에 AI 애플리케이션 아키텍처의 다양성을 해결하는 데 필요한 인적 자원을 확보할 수 있는 수단으로 활용되어 왔습니다.
이것이 일부 공유 서비스(특히 앱 및 API 보안) 가 보안을 서비스형으로 제공하는 엣지 로 이동하는 이유입니다. 이러한 공유 서비스 세트는 모든 환경(코어, 클라우드, 에지)에서 워크로드를 보다 효과적으로 보호할 수 있을 뿐만 아니라, AI 애플리케이션 전반에서 표준으로 사용할 수 있는 공통 서비스 세트를 제공합니다.
AI 애플리케이션의 해부학을 이해하면 필요한 애플리케이션 제공 및 보안 서비스 유형뿐만 아니라 이러한 서비스가 필요한 위치를 결정하는 데 도움이 됩니다.