DevOps에서 LLMOps까지
2023년 인공지능 업계의 가장 핫한 트렌드는 단연 생성형AI와 초거대언어모델(LLM)이었다. 2022년 11월 등장한 챗GPT를 시작으로 등장한 초거대언어모델(LLM)은 우리 삶에 자연스럽게 녹아들며 우리의 삶을 크게 바꾸어나가기 시작했다. 자연스럽게 LLM을 활용하기 위한 다양한 라이브러리(Libraries)와 방법론이 등장하기 시작했는데, 이번시간에는 초거대언어모델(LLM)을 보다 효율적으로 운영하고 거대한 언어모델의 사전학습 및 추가 학습 및 배포하기 위한 방법론인 LLMOps의 개념에 대해 자세히 알아보도록 하자.
2007년대 DevOps(Development Operations)라는 개념이 등장하면서 소프트웨어 개발과 IT운영을 따로 떼어 생각해오던 기존의 관례를 넘어 부서간 협력을 통해 효율성과 안정성을 혁신적으로 개선할 수 있게 되었다. DevOps는 Netflix와 Amazon 등 빅테크를 중심으로 퍼져나가며 많은 회사에서 효율적으로 IT 기술을 활용하기 위한 하나의 방법론으로 자리 잡게 되었다.
2015~6년대 딥러닝 기술의 발달로 길었던 인공지능 빙하기가 끝나고 인공지능 기술이 새롭게 주목받기 시작하면서 MLOps(Machine Learning Operations)라는 개념이 새롭게 등장했다. MLOps란 위의 DevOps 방법론을 기계학습(Machine Learning)에 적용한 것으로, 머신러닝(딥러닝) 모델의 설계부터 데이터 학습에 이르는 개발과정과 운영 및 배포를 통합하고 효율화 하는 과정을 말한다. MS Azure, AWS, Databricks, SuperbAI 등 다양한 국내외 회사에서 특화된 기능과 강점을 가진 MLOps 기능을 제공하는 플랫폼이 등장하기도 했다.
2022년말 챗GPT의 등장으로 인공지능 업계는 또 한번의 전성기를 맞이하게 된다. 모델에 천문학적인 양의 매개변수(parameter)를 부여하고 방대한 양의 학습용 텍스트 데이터를 사전학습(pre-trained)한 뒤 태스크와 도메인에 적합한 데이터로 미세조정(fine-tuning)하는 방식으로 설계된 언어모델들은 압도적인 성능을 자랑하며 초거대언어모델(LLM)이라고 불리기 시작했다.
필연적으로 LLM을 운영하기 위한 새로운 방법론이 필요해졌고 이를 위해 이전의 DevOps, MLOps 방법론을 LLM에 적용한 것이 바로 LLMOps이다. 기업에서 초거대언어모델(LLM)을 도입하고 활용하기 위해서는 초거대모델의 학습과 배포 등 운영을 위한 사이클을 관리하는 LLMOps가 중요하다. 그렇다면 기업에서 초거대언어모델(LLM)을 사용하기 위해서는 LLMOps가 왜 특히 더 중요한 것일까?
기업은 개인에 비해 정보 보안 리스크가 매우 크다. OpenAI나 네이버 하이퍼클로버 같은 LLM 제공업체의 API를 사용할 때, 기업 정보를 상대측 서버로 전송해야 하는데 이 과정에서 기밀 정보 유출의 위험이 있다. 그 결과, OpenAI 같은 API 기반 서비스는 기업들에게 실질적으로 사용하기 힘들다.
이에 대한 대안으로, 많은 기업들은 자체 로컬 서버나 클라우드에 오픈 소스(open source)로 제공되는 LLaMA2나 Alpaca와 같은 LLM을 설치하고, 자체 데이터로 추가 학습을 진행하는 것을 고려하고 있다. 단순 API 활용이 아닌 이처럼 고도화 된 전략을 사용하는 접근법에서는 LLMOps 방법론이 중요하게 여겨진다.
또한, 기업 내에서는 수십명부터 수만명까지 다양한 구성원들이 LLM을 활용한다. 그렇기 때문에, LLM을 초기 설정하는 것뿐만 아니라, 구성원들이 정보를 요청하고 응답을 받는 등의 모든 과정을 효과적으로 관리하기 위해서는 LLM의 교육, 배포, 그리고 재학습 과정을 체계적으로 조직하는 것이 필수적이다.
그렇다면 일반 머신러닝 모델과 초거대언어모델(LLM) 간의 주요 차이점은 무엇이며, LLM을 사용하기 위해 LLMOps가 왜 필요한지를 알아보자. 먼저, LLM은 학습 가중치를 조절하는 매개변수가 일반 딥러닝 모델보다 훨씬 많다. 예를 들어, GPT-3.5는 대략 1750억개의 매개변수를 가지며, GPT-4 이후의 모델은 이보다 훨씬 더 많은 매개변수를 가질 것으로 예상된다.
LLM의 또 다른 특징은 학습 데이터의 양이 방대하다는 것이다. 대표적인 LLM들은 일상적인 단어뿐만 아니라, 전문적인 논문이나 서적에서 추출한 많은 토큰으로 구성된 말뭉치로 사전 학습되기 때문이다. 따라서 LLM을 효과적으로 운영하기 위해서는 고성능의 GPU, 클라우드 스토리지 연동, 자연어를 숫자로 변환하는 임베딩 과정 등 다양한 요소가 실시간으로 연동되어야 한다.
LLMOps는 초거대언어모델(LLM)을 위한 기술로 볼 수 있으며, LLMOps는 MLOps의 한가지 형태로 머신러닝 모델을 효율적으로 운영하는 목적은 같지만, 다음과 같이 명확한 차이점이 존재한다.
일반 머신러닝 모델과는 다르게 초거대언어모델(LLM)을 학습하고 조정하려면 대규모 데이터셋에서 많은 연산을 수행해야 한다. 기본적으로 LLMOps에는 MLOps보다 강력한 컴퓨팅 파워가 필요하며, 특수한 GPU나 TPU와 같은 하드웨어를 필요로 한다는 차이점이 있다.
일반적인 머신러닝 모델은 사전 학습 없이 맨땅에서 학습을 진행하는 경우가 많지만, 초거대언어모델(LLM)은 기존의 모델을 기반으로 특정 분야의 성능을 높이기 위해 추가 데이터를 학습하는 파인튜닝이라는 작업을 거치게 된다. 기본적인 언어 모델을 의료 분야와 같은 특정 영역에 적용하기 위해 추가 데이터로 학습시키는 경우를 예로 들 수 있다.
시계열, 이미지 등 기타 데이터를 다루는 일반적인 머신러닝 모델과는 다르게 초거대언어모델(LLM)은 사용자의 피드백에 크게 의존하며, 인간과 같은 자연스러운 문장이나 연관성 있는 내용을 생성해내는지 여부는 성능평가에서 중요한 요소라고 할 수 있다. LLMOps를 통해 사용자의 피드백을 모델에 통합하면 모델의 성능이 더욱 향상될 수 있으며, LLMOps에는 이러한 요소를 반영할 수 있는 파이프라인 설계가 필수적이다.
일반적인 머신러닝은 분야에서 하이퍼파라미터 조정 작업은 정확도를 향상시키는 데 중점을 둔다. 그러나 초거대언어모델(LLM)에서는, 비용 절감과 효율적인 연산을 위한 하이퍼파라미터 조정이 주요 목표가 된다. 두 경우 모두 튜닝 과정이 중요하지만, 다른 목표를 가지고 있는만큼 초거대언어모델(LLM)의 특수한 목적을 고려해야 한다.
일반적인 머신러닝 모델은 AUC Curve나 Precision, Recall과 같은 객관적이고 명확한 성능 지표를 가지고 있고, 매우 간단히 측정할 수 있다. 그러나 초거대언어모델(LLM) 평가는 인간과의 유사성과 문맥 파악 및 추론능력 등 다양한 요소를 고려해야 하기 때문에 BLEU(Bilingual Evaluation Understudy) 및 ROGUE(Recall-Oriented Understudy for Gisting Evaluation)와 같은 특별한 성능 지표가 요구된다. 따라서 LLMOps를 구현해내기 위해서는 초거대언어모델(LLM)의 성능측정의 모호성을 충분히 고려할 필요가 있다.
***해당 글은 최초 타사 기고문으로 작성된 글임을 밝힙니다.***