기사 공유하기

생성형 AI의 가장 대표적인 사례인 거대 언어 모델(LLM)은 막대한 규모의 다양한 입력 데이터 학습을 통해 텍스트 외에도 이미지, 음성, 영상 등의 다양한 응용 영역에서 높은 성능을 보일 수 있기 때문에 이를 기반 모델 또는 파운데이션 모델(Foundation Model:FM)이라고 부르고 있다. 이 이름은 스탠포드 대학 인간중심인공지능연구소에서 2021년 ‘파운데이션 모델의 기회와 위기’라는 보고서를 내고 파운데이션 모델 연구 센터를 만들면서 확산된 이름이다.

보고서에서는 파운데이션 모델을 다음과 같이 정의하고 있다.

“광범위한 다운스트림 작업에 적용(예: 미세 조정)할 수 있는 대규모 데이터로 학습한 모델(일반적으로 대규모 자기 감독을 사용)로, 현재 예로는 BERT, GPT-3, CLIP이 있다.”

스탠포드대학교 인간중심인공지능연구소, ‘파운데이션 모델의 기회와 위기’, 2021.
그림 1 파운데이션 모델 개념도 [출처: CFRM 보고서]

챗GPT의 기반 모델인 GPT-3.5나 GPT-4를 포함해 구글 바드의 기반인 PaLM 1, 2, 메타의 라마(LLaMA) 등이 파운데이션 모델이며 앤쓰로픽과 같은 여러 스타트업에서 개발하고 있는 자체 모델 역시 파운데이션 모델이다.

파운데이션 모델이 인공지능 연구의 가장 중심 모델이 되면서 그동안 인공지능 개발에서 다루어왔던 MLOps의 개념은 이제 파운데이션 모델을 원하는 도메인 데이터로 튜닝하고, 최적화해서 실제 배포에 이르게 만드는 전 과정을 클라우드에서 어떻게 실행하고 구현할 것인가 하는 FMOps의 개념으로 빠르게 바뀌고 있다. FMOps라는 용어 외에 LLMOps라는 용어도 사용하고 있으나 LLMOps는 주로 자연어 처리에 국한된 모델을 의미하는 경우가 많기 때문에 이미지, 음성, 영상 등 다양한 모달리티를 위한 애플리케이션을 구축하기 위한 용어로 FMOps를 사용하고 있다.


파운데이션 모델 기술 스택

파운데이션 모델(FM)이 어떤 기반 아키텍처를 가졌는가에 대한 몇 가지 다이어그램이 제시되고 있는데, 인큐베이션 그룹인 마드로나(Madrona)에서는 2023년 1월 ‘파운데이션 모델 스택에 대한 우리의 뷰’라는 기사를 통해 6단계로 이루어진 모델을 선보였다.

그림 2 파운데이션 모델 스택

맨 아래에는 엔비디아, AMD, 아마존, 구글, 세레브라스 같은 인공지능용 반도체를 만드는 회사이다. 국내에서는 삼성전자, 퓨리오사, 리벨리온, 사피온, 모빌린트 같은 기업이 여기에 해당한다.

그다음 레이어에는 퍼블릭 클라우드 서비스인 애저, AWS, 구글 클라우드가 해당하며 최근 DGX 클라우드를 통해 AI 클라우드 영역을 빠르게 확장하고 있는 엔비디어 클라우드 역시 이 레이어에 들어간다고 볼 수 있다. 국내에서는 뉴로클라우드를 선보이는 네이버클라우드 서비스가 이 레이어에 본격적으로 뛰어든 서비스라고 볼 수 있다.

클라우드 위의 레이어가 개발자들이 자신들이 선택한 모델을 더 효율적으로 최적화하고, 학습하며, 실행 배포하기 위한 FMOps를 지원하기 위한 다양한 서비스와 솔루션이다. 이 부분은 다음 섹션에서 더 자세히 다루고자 하며 이번 글의 중심 주제이다.

FMOps 레이어 위에는 폐쇄형 FM과 오픈 소스형 FM, FM 모델 허브, 오픈 소스 데이터 소스들이 있다. 비공개 폐쇄형 FM에는 오픈AI, 구글, 마이크로소프트, 코히어, 앤쓰로픽, AI21랩스 외에도 인플렉션, 캐릭터AI, 어뎁트 등이 있으며 주요 빅테크 기업과 리딩 스타트업을 포함하고 있다.

이에 대항하는 오픈 소스형 FM은 가장 유명한 메타의 라마, 라마2, OPT가 있으며, 일루더AI, 블룸, 칭화대학 등의 GLM, 스테이블 디퓨전, 모자익AI 등이 여기에 해당한다. 점점 더 많은 오픈 소스프로젝트가 이 영역에서 성장하고 있으며, 이 영역은 모바일에서 iOS와 안드로이드 대결과 같은 양상을 띠고 있는 것이 흥미로운 점이다.

국내도 네이버의 하이퍼클로바와 하이퍼클로바X, KT의 믿음, LG의 엑사원 2.0, 카카오의 코GPT 2.0 등이 폐쇄형 FM이라고 볼 수 있으며 국내 전문 기업은 대부분 오픈 소스를 기반으로 하는 애플리케이션을 만들고 있다.

다양한 FM 모델을 모아서 등록하고 관련 정보를 서비스하는 FM 모델 허브로는 허깅페이스와 깃허브가 있으며, 오픈 데이터 소스로는 라이온(LAION), 더 파일, 커먼 크롤 같은 곳이 대표적이다.

그 다음 레이어는 도구 레이어로 FM을 기반으로 응용 서비스를 빠르게 개발하거나 외부 서비스와 연동을 하기 위한 솔루션으로 구성한다. 여기에는 여러 모델에 대한 결과 최적화나 프롬프트 오케스트레이션이나 엔지니어링을 지원하는 랭체인, GPTIndex, 코그노시스, 픽시 등과 평가를 위한 휴먼룹스, 허니하이브, 와이랩스 등이 있으며, 외부 데이터 소스와 접근하기 위한 API, 실제 실행을 위한 API 등이 해당된다. 때로는 이 레이어를 FMOps 레이어에 포함하기도 한다.

마지막 레이어는 우리에게 최근 가장 인상적인 결과를 보이는 챗GPT를 포함한 다양한 응용 서비스이다. 챗GPT를 포함해 바드, 인플렉션의 파이, 재스퍼, 하이퍼라이트, 런웨이, 어뎁트 ACT-1, 깃허브 코파일럿 등이 등장했으며, 기존 서비스들이 생성형 AI를 활용해 새로운 기능과 서비스를 제공하는 것도 이 영역이다.

국내에서는 네이버가 준비하는 ‘큐:’, 뤼튼, 업스테이지의 아숙업(AskUp), 솔트룩스의 루시아, 마음AI의 마음GPT 등은 모두 이 레이어에 속하는 서비스들이다.

FM 아키텍처를 레이어 구조가 아닌 LLM 애플리케이션 구축 관점에서 보는 아키텍처는 안데르센호로위츠(a16z.com)의 블로그에서 APP 스택 중심으로 제시하고 있다. 이 다이어그램은 데이터의 흐름과 입출력 관계를 살펴보기에 더 편리함을 갖고 있지만, 각 기술 스택이 어떻게 체계적으로 구성되는 것인가를 살펴보기 위해서는 마드로나의 스택 그림을 보는 것이 더 나을 수 있다. 괄호 안에 나오는 기업 이름은 a16z가 투자한 포트폴리오 회사이기 때문에 가장 최고의 기업이라는 의미는 아니다.

그림 3 LLM 앱 스택 [출처: a16z.com]

FMOps 기술과 기업

카카오 엔터프라이즈는 자사의 블로그에서 MLOps와 FMOps 차이를 다음과 같이 설명하고 있다.

“MLOps가 AI 모델의 개발, 배포, 최적화를 위한 플랫폼이라면 FMOps는 이미 학습을 마치고 배포된 모델과 자사 또는 자신의 데이터를 결합하여 커스텀한 LLM 기반 AI 앱을 만드는 것.”

카카오엔터프라이즈, [IT TREND] FMOps, LLM 시대의 AI 앱 개발 방법, 2023. 6. 16.

이에 따라 FMOps는 사전 학습한 모델을 자기가 원하는 애플리케이션에 최적화하게 만들기 위한 과정과 이를 위한 데이터 공급과 처리, 테스트 및 평가, 배포 및 모니터링이 주 과업이 되며 이 각각 영역에 새로 도전하는 여러 기업이 나타나고 있다.

우선 가장 먼저 생각할 수 있는 것은 FM 모델을 우리가 생각하는 응용 분야에 최적화하는 방안이다. 제일 먼저 자사의 콘텐츠로 모델을 파인 튜닝하는 방안을 생각할 수 있다. 이 방식은 시간과 비용이 많이 드는 방법이지만 가장 효과를 볼 수 있는 방법이다. 여기에는 오픈AI의 API를 이용하는 방법, 아마존의 세이지메이커나 애저의 ML 스튜디오 등을 이용하는 방법이 있다. 관련한 도구와 서비스로는 스케일AI, 리튠, 스노클AI, 하니하이브, 휴먼루프 등의 도구가 있다.

그 이전에 문서를 정제하는 데이터 전처리 작업(ETL)은 주로 데이터브릭스, 아파치 에어플로우(Apache Airflow)와 같은 기존 도구나 랭체인(LangChain) 또는 LlamaIndex의 문서 로더 기능을 추가로 활용할 수도 있다.

원하는 도메인 정보를 FM이 적절히 반영하게 하기 위해서는 데이터 임베딩이라고 하는 방식으로 사용자 데이터를 청킹이라는 단위로 쪼개서 데이터베이스에 저장하고 이를 통해 더 적절한 응답을 만들어 내는 방식이 필요하다. 이 과정도 전처리 과정 중 하나로 이해할 수 있으며 오픈AI의 API(text-embedding-ada-002), 코히어, 허깅페이스의 버트(BERT), 센텐스 트랜스포머, GPT-J 등을 사용할 수 있다.

최근에는 검색 증강 생성(RAG: Retrieval Augmented Generation)이라는 방식이 관심을 받고 있는데, 사용자의 정보를 저장한 후 질의가 들어오면 관련된 정보를 검색하여 해당 정보가 담긴 문서들을 프롬프트를 통해 LLM에 전달하는 방식이다.

그림 4 AWS에서 RAG를 수행하는 방법 [출처: AWS]

이때, 수집한 문서를 분할하고, 언어 모델의 해석을 통해 벡터 형태(임베딩)로 변환한 후, 이를 벡터 DB에 저장한다. 이 방식이 관심을 받으면서 벡터 데이터베이스 솔루션 기업이 다시 관심을 받고 있다. 2023년은 벡터 데이터베이스의 해라고 할 만큼 최근 이 기술에 관한 관심이 매우 높다. 가장 대표적인 것이 파인콘(Pinecone)으로 안정적인 클라우드 기반으로 서비스하고 있으며, 위비에이트(Weaviate), 베스파(Vespa), 큐드란트(Qdrant)는 단일 노드 기반의 오픈소스 데이터베이스이다. 엄밀하게 데이터베이스는 아니지만 로컬 벡터 관리 라이브러리인 크로마와 파이스(Faiss)도 간단히 사용할 수 있다.

앱에 프롬프트가 들어오면 문장을 임베딩 벡터로 만들고 벡터 DB에서 가장 유사도가 높은 벡터를 찾고 이와 연관된 문서를 가져오거나 저장된 벡터를 기반으로 개인화를 수행하거나 문서를 결합해 좀 더 정확한 프롬프트를 만들어 낼 수 있다. 이때 유사도로 사용하는 것을 ‘근사적으로 가까운 (ANN)’ 벡터를 찾는 방안인데 이때 무작위 투영, PQ (Product Quantization), LSH (Locality Sensitive Hashing), HNSW (Hierarchical Navigable Small World) 등의 기법을 사용한다.

주어진 사용자 질의는 프롬프트 구성이라는 과정을 거치는데, 컴파일된 프롬프트는 일반적으로 개발자가 하드 코딩한 프롬프트 템플릿, 몇 가지 예시로 제공하는 유효한 출력의 예시, 외부 API에서 검색된 필요한 정보, 벡터 데이터베이스에서 검색된 관련 문서 집합을 결합하는 방식으로 최적의 프롬프트를 만들어 낸다. 이 과정을 다시 도식화하면 다음 그림과 같이 된다.

그림 5 프롬프트 구성 과정 [출처: Matt Boegner 웹사이트]

기존 데이터베이스 솔루션도 점점 벡터 데이터베이스를 지원하고 있다. 여기에는 잘 알려진 아파치 카산드라, 일래스틱서치, 몽고DB, 레디스, 네오4J 등이 있다.

그림 6 여러 유형의 벡터 데이터베이스 [출처: Frank Adams 블로그]

FM을 주어진 도메인에 최적화 하는 방안으로 비용과 시간 문제 때문에 미세 조정 또는 파인 튜닝이 아닌 프롬프트 엔지니어링이나 체이닝으로 응답을 최적화 시키는 방안이 실제로 많이 사용된다. 프롬프트 엔지니어링과 프롬프트 체이닝을 통해 모델이 더욱 나은 답변을 줄 수 있게 하고 또 프롬프트들을 서로 체인으로 연결시켜 보다 복잡한 태스크 수행이 가능하도록 상세하게 프롬프트의 흐름을 수정할 수 있게 하는 방법을 말한다.

대표적인 도구로는 애저의 ML 스튜디오에 있는 기능인 프롬프트 플로우(Prompt Flow)가 있다. 마이크로소프트는 빌트인 도구 및 리소스 (자연어 프롬프트 결합, 언어 템플릿화, 파이썬 코드)를 통해 사용자들이 보다 쉽게 자신의 프롬프트들을 트래킹 하고, 재생산하고, 시각화하고, 비교하고, 분석하고, 향상할 수 있게 했다. 또한 사용자가 더 빠르게 프롬프트를 보고, 설계하고 관리할 수 있도록 하는 노트북 형태의 프로그래밍 인터페이스, 유향 비순환 그래프(DAG: Directed Acyclic Graph) 뷰 그리고 챗봇 테스트 대화 창을 제공하여 사용자가 기존보다 빠르고 쉽게 기업의 특성에 맞는 LLM 기반 앱 개발을 할 수 있도록 UI를 설계했다.

그림 7 프롬프트 플로우 화면 [출처: 애저]

또 다른 서비스로는 오픈 소스로 제공하는 플로와이즈AI(FlowiseAI)라는 랭체인 기반 노코드 개발 플랫폼이다. 유사한 제품으로는 랭플로우(LangFlow)가 있다. 사용자는 LLM 모델과 외부 API 간 연결을 드래그 앤 드롭으로 할 수 있어 오픈소스 LLM 앱을 빠르게 개발하고 배포한 후 동작하는 것까지 확인해 볼 수 있는 것이 특징이다. 하지만 랭체인 외 다른 체인 프레임워크를 지원하지 않는다는 제약이 있으며, FMOps 워크플로우 중에서도 프롬프트 체이닝 과정을 사용자가 보다 직관적으로 수행할 수 있도록 노코드 기반으로 UI를 제공한다는 것이 특징이다.

그림 8 플로와이즈AI 화면 [출처: 깃허브]

FMOps에서 검토하는 또 하나의 도구 그룹으로는 오케스트레이션 프레임워크가 있다. 프롬프트 체인, 외부 API와의 인터페이스(API 호출이 필요한 시기 결정 포함), 벡터 데이터베이스에서 컨텍스트 데이터 검색, 여러 LLM 호출에서 메모리 유지 관리 등 많은 세부 사항을 추상화한다. 또한 위에서 언급한 많은 일반적인 애플리케이션에 대한 템플릿도 제공하는데, 이 템플릿의 출력은 언어 모델에 제출하라는 프롬프트 또는 일련의 프롬프트이다. 오케스트레이션 프레임워크의 대표적인 사례는 랭체인과 라마인덱스(Llamaindex)가 있으며 이 중에서 랭체인이 가장 많은 관심을 받고 있지만, 아직은 매우 초보적인 상태라 실효성이 떨어진다는 비판도 있다.

FMOps에는 이 밖에도 프롬프트 공유를 위한 서비스인 프롬프트 마켓플레이스로 프롬프터블, 프롬프트베이스, 그래디언트 J, 애저 AI 스튜디오 등이 있으며 이를 통해 프롬프트 템플릿을 사용자가 유/무료로 조회하고 가져갈 수 있다.

배포 및 관리 단계에서는 모델 검토를 위한 테스트 도구와 신뢰를 위한 안정성 등을 검사하는 도구들이 있으며, 사용자의 앱 인터랙션 피드백을 수집해 공통 주제를 파악하고 테스트베드에 이를 전송해 앱 성능을 개선하는 모니터링 도구들이 있다.


나가면서

FMOps는 그동안 MLOps로 머신 러닝 전 과정을 지원하는 프레임워크가 발전해 온 것처럼 파운데이션 모델에서 데이터 준비부터 배포까지 전 과정을 파운데이션 모델에 적합하게 지원하기 위한 다양한 기술과 도구 모음이다. 현재는 매우 다양한 스타트업, 빅테크 기업, 오픈 소스 도구들이 경쟁을 하고 있지만 조만간에 AWS의 세이지메이커, 구글의 버텍스AI, 애저의 AI 스튜디오 같은 종합 프레임워크 안으로 하나씩 정리되어 통합될 것이다.

이런 측면에서 LLM 기반의 앱을 만드는 것이 주력하는 국내 기업이 한국어 처리를 위한 FMOps 도구와 기술을 개발하는 것도 아직 기회를 많이 갖고 있을 것으로 본다. 국내에서 LLM을 개발하고 서비스하고자 하는 기업들도 결국 FMOps에서 언급하는 도구와 기술 그룹을 확보해서 고객에게 제공해야 하기 때문이다.


디지털 이슈 리포트

본 글은 한국지능정보사회진흥원의 지원을 받아 작성되었으며, 디지털서비스 이용지원시스템에 동시 게재합니다.


관련 글