주요 컨텐츠로 이동

LLMOps란 무엇인가요?

LLMOps(Large Language Model Ops)는 프로덕션 환경에서 대규모 언어 모델의 운영 관리에 사용되는 사례, 기술 및 도구를 포괄합니다.

OpenAI의 GPT, Google의 Bard 그리고 Databricks의 Dolly가 출시된 후로 강조되고 있는 최신 LLM 기술은 LLM을 구축하고 배포하는 기업의 성장에 상당한 영향을 미치고 있습니다. 따라서 이러한 모델을 운영하는 방법에 대한 모범 사례를 구축해야 했습니다. LLMOps를 사용하면 대규모 언어 모델을 효율적으로 배포, 모니터링 및 유지 관리할 수 있습니다. 기존 MLOps(Machine Learning Ops)와 마찬가지로 LLMOps에는 데이터 사이언티스트, DevOps 엔지니어 및 IT 전문가의 협업이 필요합니다. 여기에서 Databricks와 함께 자체 LLM을 구축하는 방법을 알아볼 수 있습니다.

LLM을 위한 개발-프로덕션 워크플로

대규모 언어 모델(LLM)은 서술형 질의 응답부터 요약, 다양한 안내 따르기에 이르기까지 다양한 작업에서 이전 첨단 기술보다 훨씬 앞서 있는 새로운 차원의 자연어 처리(NLP) 모델입니다. 일반적으로 MLOps의 운영 요구 사항은 LLMOps에도 적용되지만 고유한 접근 방식이 요구되는 LLMOps를 위한 LLM의 교육과 배포에는 어려움이 따릅니다.

LLMOps는 MLOps와 어떻게 다른가요?

MLOps 사례를 조정하기 위해 머신 러닝(ML) 워크플로 및 요구 사항이 LLM에 따라 어떻게 변경되는지 고려해야 합니다. 주요 고려 사항은 다음과 같습니다.

  • 컴퓨팅 리소스: 대규모 언어 모델을 트레이닝하고 세부적으로 조정하려면 일반적으로 대규모 데이터 세트에 대해 훨씬 더 많은 계산을 수행해야 합니다. 이 프로세스의 속도를 높이려면 훨씬 더 빠른 데이터 병렬 작업을 수행할 수 있는 특수 하드웨어(예: GPU)가 필요합니다. 이러한 특수 컴퓨팅 리소스에 대한 액세스 권한은 대규모 언어 모델을 트레이닝하고 배포하는 데 필수적입니다. 또한, 추론 비용은 모델 압축 및 모델 정제 기술의 중요성을 높입니다.
  • 전이 학습: 처음부터 새로 생성하거나 트레이닝하는 많은 기존 ML 모델과 달리 대부분의 대규모 언어 모델은 기반 모델에서 시작하여 특정 도메인에서의 성능을 개선하기 위해 새로운 데이터로 세부 조정됩니다. 세부적인 조정을 통해 더 적은 데이터와 컴퓨팅 리소스로도 특정 애플리케이션의 성능을 극대화할 수 있습니다.
  • 인간 피드백: 대규모 언어 모델 트레이닝은 인간 피드백 기반 강화 학습(RLHF)이라는 기능을 통해 크게 개선되었습니다. 더 일반적으로 말하면, LLM 작업은 매우 개방적인 경우가 많으므로 애플리케이션의 최종 사용자의 피드백은 LLM 성능을 평가하는 데 매우 중요합니다. 이 피드백 루프를 LLMOps 파이프라인 내에 통합하면 평가가 간소화되고 향후 LLM 조정을 위한 데이터가 제공됩니다.
  • 초매개변수 조정: 기존 ML에서 초매개변수 조정은 정확도 또는 기타 지표를 개선하는 데 중점을 두는 경우가 많습니다. LLM의 경우 조정은 트레이닝 및 추론의 비용과 컴퓨팅 성능 요구 사항을 줄이는 데에도 중요합니다. 예를 들어, 배치 크기와 학습 속도를 조정하면 트레이닝 속도와 비용이 크게 달라질 수 있습니다. 따라서 기존 ML 모델과 LLM 모두 조정 프로세스를 추적하고 최적화할 수 있지만, 서로 다른 부분에 주안점을 둡니다.
  • 성능 지표: 기존 ML 모델에도 정확도, AUC, F1 점수 등과 같이 매우 명확하게 정의된 성능 지표가 있습니다. 이러한 지표는 매우 간단하게 계산할 수 있습니다. 그러나 LLM을 평가할 때는 추가적인 구현 고려 사항인 BLEU(Bilingual Evaluation Understudy) 및 ROGUE(Recall-Oriented Understudy for Gisting Evaluation)와 같은 완전히 다른 표준 지표와 점수가 적용됩니다.
  • 프롬프트 엔지니어링: 명령 추종(Instruction-following) 모델은 복잡한 프롬프트 또는 명령 정보를 사용할 수 있습니다. 이러한 프롬프트 템플릿을 엔지니어링하는 것은 LLM으로부터 정확하고 신뢰할 수 있는 응답을 얻는 데 매우 중요합니다. 프롬프트 엔지니어링은 프롬프트 삽입, 민감한 데이터 유출, 탈옥 등을 포함한 모델 할루시네이션(환각) 및 프롬프트 해킹의 위험을 줄일 수 있습니다.
  • LLM 체인 또는 파이프라인 구축: LangChain, LlamaIndex와 같은 도구를 사용하여 구축된 LLM 파이프라인은 여러 LLM 호출 및/또는 벡터 데이터베이스나 웹 검색과 같은 외부 시스템에 대한 호출을 결합합니다. 이러한 파이프라인을 통해 LLM을 지식 기반 Q&A와 같은 복잡한 작업에 사용하거나 여러 문서를 기반으로 사용자 질문에 답변할 수 있습니다. LLM 애플리케이션 개발은 새로운 LLM을 구축하는 대신 이러한 파이프라인을 구축하는 데 중점을 두는 경우가 많습니다.

LLMOps가 필요한 이유는 무엇인가요?

LLM은 특히 프로토타입 제작 시 쉽게 사용할 수 있지만 상용 제품에서 LLM을 사용하는 것은 여전히 어려운 과제입니다. LLM 개발 수명 주기는 데이터 수집, 데이터 준비, 프롬프트 엔지니어링, 모델 조정, 모델 배포, 모델 모니터링 등과 같은 많은 복잡한 구성 요소로 구성됩니다. 또한 데이터 엔지니어링부터 데이터 사이언스, ML 엔지니어링에 이르기까지 여러 팀에 걸친 협업과 전달이 필요한 일이기도 합니다. 따라서 이 모든 프로세스를 동기화하고 협업 상태를 유지하려면 극히 엄격한 운영 원칙을 적용해야 합니다. LLMOps는 LLM 개발 수명 주기의 실험, 반복, 배포 및 지속적인 개선을 포함합니다.

LLMOps의 이점은 무엇인가요?

LLMOps의 주요 이점은 효율성, 확장성 및 위험 완화입니다.

  • 효율성: LLMOps를 사용하면 데이터 팀이 모델과 파이프라인을 더욱 빠르게 배포하고 양질의 ML 모델을 제공하며 배포와 프로덕션 속도를 높일 수 있습니다.
  • 확장성: LLMOps는 엄청난 확장성과 관리를 지원하므로 수천 개의 모델을 감독, 제어, 관리하고 지속적 통합, 지속적 제공, 지속적 배포를 모니터링할 수 있습니다. 구체적으로 설명하자면, LLMOps는 ML 파이프라인을 재현할 수 있으므로 여러 데이터 팀의 긴밀한 협업을 촉진하고 DevOps 팀과 IT 팀의 갈등을 해소하며 릴리스 속도도 높입니다.
  • 위험 완화: LLM에는 철저한 규제 검토가 필요할 때가 많습니다. LLMOps를 사용하면 투명성을 강화하고 관련 요청에 더욱 빠르게 대응하며 조직이나 업계의 정책을 더욱 엄격하게 준수할 수 있습니다.

LLMOps의 구성 요소는 무엇인가요?

머신 러닝 프로젝트에서 LLMOps의 범위는 프로젝트의 필요에 따라 집중적일 수도, 광범위할 수도 있습니다. 경우에 따라서는 LLMOps가 데이터 준비부터 파이프라인 생산까지 모든 것을 포괄할 수도 있고, 아니면 프로젝트에 따라 모델 배포 프로세스에만 LLMOps를 구현해야 하기도 합니다. 대부분의 기업에서 MLOps 원칙을 활용하는 분야는 다음과 같습니다.

  • EDA(Exploratory Data Analysis, 탐색적 데이터 분석)
  • 데이터 준비 및 프롬프트 엔지니어링
  • 모델 조정
  • 모델 검토와 거버넌스
  • 모델 유추와 서빙
  • 인간 피드백을 통한 모델 모니터링

LLMOps의 모범 사례로는 어떤 것이 있나요?

LLMOps의 모범 사례는 LLMOps 원칙을 적용하는 단계에 따라 설명할 수 있습니다.

  • EDA(Exploratory Data Analysis): 재현, 편집 및 공유 가능한 데이터 세트, 테이블 및 시각화를 만들어 머신 러닝 수명주기에 적합한 데이터를 반복적으로 탐색, 공유하고 준비합니다.
  • 데이터 준비 및 프롬프트 엔지니어링: 데이터를 반복적으로 변환, 집계 및 중복 제거하고 데이터 팀 전체에 데이터를 표시하고 공유할 수 있도록 합니다. LLM에 대한 구조화되고 신뢰할 수 있는 쿼리의 프롬프트를 반복적으로 개발합니다.
  • 모델 조정: Hugging Face Transformers, DeepSpeed, PyTorch, TensorFlow, JAX와 같은 인기 있는 오픈 소스 라이브러리를 사용하여 모델 성능을 조정하고 개선합니다.
  • 모델 검토 및 거버넌스: 파이프라인 계보 및 버전을 추적하고 파이프라인 아티팩트와 전환을 수명 주기 전반에 걸쳐 관리합니다. MLflow와 같은 오픈 소스 MLOps 플랫폼의 도움을 받아 ML 모델 전반에 걸쳐 검색, 공유와 협업을 수행합니다.
  • 모델 유추와 서빙: 모델 새로 고침 빈도, 추론 요청 횟수와 테스트 및 QA 면에서 이와 비슷한 프로덕션 세부 사항을 관리합니다. 리포지토리나 오케스트레이터(DevOps 원칙을 차용함)와 같은 CI/CD 도구를 사용하여 프로덕션 이전의 파이프라인을 자동화합니다. GPU 가속을 사용하여 REST API 모델 엔드포인트를 사용하도록 설정합니다.
  • 인간 피드백을 통한 모델 모니터링: 모델 드리프트(drift) 및 악의적인 사용자 동작에 대한 경고를 사용하여 모델 및 데이터 모니터링 파이프라인을 만듭니다.

LLMOps 플랫폼이란 무엇인가요?

LLMOps 플랫폼은 데이터 사이언티스트와 소프트웨어 엔지니어에게 반복 데이터 탐색, 실시간 공동 작업 기능을 지원하는 협업 환경을 제공하여 실험 추적, 프롬프트 엔지니어링, 모델 관리 뿐만 아니라 관리형 모델 전환, 배포와 LLM 모니터링 등을 간편하게 수행할 수 있게 해줍니다. LLMOps는 머신 러닝 수명 주기의 운영, 동기화 및 모니터링 측면을 자동화합니다.

LLMOps 플랫폼

Databricks는 세계적 수준의 개방형 MLOps 플랫폼인 MLflow를 비롯한 완전 관리형 환경을 제공합니다. Databricks 머신 러닝 이용해 보기

추가 자료

용어집으로 돌아가기