LLMOps 와 친해지기 1 - 용어 정리

LLMOps 란, Large Language Model 의 약자이며 대규모 언어 모델 입니다.

사내 신규 프로젝트로 LLMOps 를 사용하기 위한 UI 툴 서비스를 개발하게 되었습니다.

개발할 서비스에 대한 도메인 지식이 필요함을 느끼게 되었기에, 관련 용어와 개념을 정리하고자 합니다.

일반인의 시야에서 조사한 내용을 정리하는 목적을 가지고 LLM 에 초점을 가지므로, 좀 더 정확한 내용은 첨부한 참고 링크 를 확인해주세요.


용어 정리

머신러닝

참고: Machine learning (ML) – 머신러닝 이란?


기계학습 방법을 말합니다.

딥러닝 이 아닌 머신러닝 은 정형화된 데이터를 학습하며 사람의 개입이 많이 필요합니다.

정형화된 데이터란 데이터 각각에 대하여 labeling 이나 tagging 작업을 한 학습 데이터를 말합니다.

데이터가 많을수록 좋은 결과를 기대할 수 있기 때문에, 정형화된 데이터를 만드는 과정부터 많은 시간과 노력이 필요하게 됩니다.


딥러닝

참고: Machine learning (ML) – 머신러닝 이란?


머신러닝의 하위 분야이며, 머신러닝 처럼 정형화된 데이터로 학습할 수 있으며, 추가로 비정형 데이터를 학습할 수도 있습니다.

비정형 데이터 학습을 위해 사용되는 개념으로 신경망 이 있습니다.


신경망

참고: AWS - 신경망이란 무엇인가요?

참고: Machine learning (ML) – 머신러닝 이란?


신경망은 머신러닝의 하위 분야이며 딥러닝의 기계 학습 알고리즘 중 하나입니다.

신경망은 구조화 되지 않은 데이터와 명시적이지 않은 훈련 방식을 사용하며, 이렇게 학습한 데이터를 일반화 하고 추론 할 수 있습니다.

예를 들면 다음과 같습니다.

질문1: "결제 방법을 알려줘"
 
질문2: "비용 송금 방법을 알려줘"

위 질문은 문장은 다르지만, 컴퓨터는 신경망을 통해 "결제 방법 안내" 라는 동일한 문맥임을 이해합니다.


신경망은 노드 로 구성되며, 노드에는 입력 노드, 출력 노드 등, 무수히 많은 노드로 구성됩니다.

각 노드는 관련성에 대한 임계치 가 있으며, 임계치에 다다르면 활성화 되는데, 이러한 방식으로 관련된 노드들의 활성화를 통해 일반화추론 을 할 수 있게 됩니다.


MLOps

참고: MLOps란?


MLOpsMachine LearningOperations 의 합성어로, 효율적인 머신러닝 모델 개발, 배포, 운용 을 위한 개발 방법론이며, 새로운 모델 개발이 목적 입니다.

MLOps 를 구성하는 요소는 다음과 같습니다.

  • 지속적 통합 (CI: Continuous Integration)
  • 지속적 배포 (CD: Continuous Deployment)
  • 지속적 학습 (CT: Continuous Training)

FMOps

참고: 카카오엔터프라이즈 기술블로그 Tech&(테크앤):티스토리

FM(Foundation Model) 을 한국어로 기반 모델 이라고 합니다.

FMOps(Foundation Model Operations)기반 모델 개발, 배포, 운용 을 위한 개발 방법론 입니다.

FMOps(Foundation Model Operations) 에는 자연어 뿐만 아니라, 이미지나 음성을 기반으로 하는 모델(예시: DALL-E) 을 모두 포함합니다.


LLMOps

참고: 카카오엔터프라이즈 기술블로그 Tech&(테크앤):티스토리


FMOps 에 포함되는 개념이며, 자연어 처리 를 위한 개념으로 LLM(Large Language Model) 이 있습니다.

LLMOps(Large Langague Model Operations)LLM 개발, 배포, 운용 을 위한 개발 방법론입니다.


MLOps 와 FMOps 비교

참고: 카카오엔터프라이즈 기술블로그 Tech&(테크앤):티스토리


  • 목적
    • MLOps: 새로운 모델을 개발 합니다.
    • FMOps: 이미 학습이 완료된 모델과 자신의 데이터를 사용하여, 자신만의 AI 앱을 개발 합니다.
  • 다루는 모델 유형
    • MLOps: 기업이 직접 모델과 파이프라인 모두 개발하게 됩니다.
    • FMOps: API 를 통해서 원하는 모델을 사용 합니다.
  • 산출물
    • MLOps: Model 과 이를 사용할 수 있는 API 를 만들게 됩니다.
    • FMOps: LLM 과 사용자의 커스텀 데이터를 사용한 AI 어플리케이션 을 만들게 됩니다.

프롬프트

프롬프트 (Prompt) 란 무엇인가? - 정의, 원리, fine tuning


개발 환경에서는 다양한 설정과 실행방법이 있습니다.

이를 UI 로 모두 제공하는 것은 어렵기도 하고, 사용성도 복잡해집니다.

그래서 CLI 를 사용하는 경우가 많습니다.

프롬프트란, 컴퓨터에게 실행할 태스크를 전달하는 메시지, 명령어 라는 의미를 가집니다.

AI 가 발전함에 따라 현재는 명령어뿐만 아니라, 자연어까지 컴퓨터가 이해할 수 있게 되어서, 프롬프트의 의미는 컴퓨터에게 어떤 태스크를 수행할지 전달하는 자연어 메시지 라는 의미로 확장되었습니다.


프롬프트 체이닝

참고: 카카오엔터프라이즈 기술블로그 Tech&(테크앤):티스토리


프롬프트를 잘 작성할수록 AI 는 더 정확한 응답을 할 수 있습니다.

LLM 에 하나의 프롬프트를 연결하여 AI 앱을 만들수도 있지만, 더 정확한 기능을 구현하기 위해 LLM 에 외부의 프롬프트를 포함하여 복수의 프롬프트를 연결하여 개발하게 되는데, 이를 프롬프트 체이닝(Prompt Chaing) 이라고 합니다.


LangChain

참고: 카카오엔터프라이즈 기술블로그 Tech&(테크앤):티스토리


LangChain프롬프트 체이닝 을 지원하는 프레임워크 입니다.

LLM 과 외부의 프롬프트들을 자유롭게 연결할 수 있는 기능을 제공합니다.


LLM 앱 개발 플렛폼

LLM 과 LangChain 을 사용하여 AI 앱을 만들 수 있는 플렛폼이 있습니다. (프롬프트 체이닝 서비스 플렛폼)

대표적으로 LangFlowFlowiseAI 가 있습니다.


  • LangFlow:
  • FlowiseAI