서론
지난번엔 MLOps에 대한 내용에 대해서 알아보았다. 거의 강의를 옮겨적어놨는데 MLOps에 대한 이해에 조금이라도 도움됐길 바란다. 이번 포스팅에서는 MLOps가 직면하는 과제에 대해서 알아보도록 하겠다. 또한, Vertex AI를 활용해 어떻게 프로세스를 간소화 하는지 어떤식으로 지원하는 지에 대해서도 알아본다. 이 포스팅 역시 볼드체 위주로 한 번 보고 이후에 슥슥슥 내려가는 걸 추천한다.
생성형 AI 통합 과제
생성형 AI를 효과적으로 통합하기 위해서는 생성형 AI가 제시하는 과제(=생성형 AI를 MLOps framework에 통합)를 파악해야 된다고 한다. 첫번째 과제는 선행학습된 멀티테스킹 모델에 대한 infrastructure 요구의 증가라고 한다. 특히 LLM은 아키텍처도 복잡하고 선행학습 요구사항이 많아서 자원이 너무 많이 필요하다. 효과적으로 자원을 사용하려면 Vertex AI를 사용하라고 한다(;;). 생성형 AI를 위한 효과적인 플랫폼을 제공하고 선행 학습된 모델과 모델 설정 인터페이스, 학습 최적화 인프라를 제공하기 때문이라고 한다. 아무래도 GCP 컨텐츠라 이걸 기준으로 알려준다. AWS는 GCP vertex AI에 상응하는 무언가가 있을것이라 생각한다.
생성형 AI 통합 과제 1. AI 인프라 증가에 대한 대응
첫번째는 Model Garden이다. 구글 모델, 오픈소스 모델, 서드 파티 모델 등에 access를 제공하는 검색 gate way역할이라고 한다. 라벨을 지정하지 않고도 어떤 모델이 내 모델에 맞는지 파악에 도움을 준다고 한다. 각각에 대한 ML pipeline과 dataset 없이도 분류, 요약, 항목 추출 등이 가능한 것이다. Model Garden을 활용하여 GPU 및 TPU에서 모델을 학습시키는 데 필요한 권장사항을 파악할 수 있다. 두번째는 Vertex AI Generative Studio다. 데이터를 미세 조정(=맞춤 설정)이 가능하다. Vertex AI Generative Studio를 이용하면 샘플 prompt를 테스트 가능하고, custom prompt를 설계하며 기초 모델을 특정 애플리케이션에 맞게 조정할 수 있다고 한다. Fully Managed Environment로 구글이 기본 인프라를 관리한다. 이를 통해 개발자들이 애플리케이션 빌드와 배포에 더 집중할 수 있다. 세번째는 Vertex AI Training and Prediction이다. 데이터를 업로드하면 알아서 고가용성으로 확장하고 실행한다. ML 학습을 효율적으로 확장하고 이를 통해 AI 모델을 빌드하고 배포하는데 집중할 수 있는 것이다.
생성형 AI 통합 과제 2. 모델 튜닝, 커스터마이징
생성형 AI들은 특정 테스크에 맞게 fine tuning이 필요한 경우가 많다. 많은게 아니라 고도화를 원한다면 필수가 아닐까 싶다. 이 때 1) 지도 튜닝과 2) 사람 피드백을 통한 강화 학습(Reinforced Learning with Human Feedback), 3) 광범위한 데이터 큐레이션이 있다. 1번은 모델을 튜닝하는 거고, RLHF는 채팅 요약이나 어플리케이션처럼 예상 출력을 정의하기 어려운 작업에 사용된다. google PaLM 모델이나 llama2에도 제공된다고 한다. 데이터 큐레이션은 선행 학습 데이터를 특정 영역 데이터로 보강해서 모델 성능을 향상시키는 것이다.
생성형 AI 통합 과제 3. 새 artifacts 관리
프롬프트나 임베딩과같은 artifacts를 관리하는 것이다. 이때 Vertex AI가 제공하는건 1. 프롬프트 관리 및 분석이다. 프롬프트를 분석하고 디버깅을 지원하는 것이다. 예를들어 LangCahin, Weight & Biases 를 사용할 때 간단한 텍스트 완성부터 요약, 복잡한 자연어 처리, 애플리케이션까지 필요한 다양한 프롬프트 설계에 도움을 준다. 이걸로 특정 instruction, context, input data, output indicators와 같은 걸 제공하여 모델이 원하는 결과를 만들어내도록 하는 것이다. 두번째는 2. embedding management다. embedding은 텍스트, 이미지, 동영상과 같은 비정형 데이터를 벡터 표현으로 변환하여 유사도 검색을 가능하게 하는데, Vertex AI Feature Store를 통해 이런 임베딩을 저장, 관리, serving을 간소화할 수 있다. 세번째는 3. Adaptive Layer Management다. 작은 가중치 세트만 업데이트 하는 것이다. 실제로 파일 크기가 수십 메가 바이트 정도며 추론 생성을 위해 사용자의 프롬프트와 foundation 모델로 전달된다. 이 때 Vertex Model Registry를 사용해 예측 AI 모델은 물론 adaptive layer를 포함하는 생성형 AI 모델을 관리할 수 있다. 마지막은 4. Tuning job management다. 모델을 최적화하기 위해 튜닝을 하는데, 파이프라인을 사용해 생성형 AI 모델을 튜닝하려면 재현성(robust reproducability), 계보 추적(lineage tracking), 메타데이터 관리가 필요하다. 이 때 Vertex AI pipeline이 이 셋을 관리하는 걸 제공한다. 이를 통해 Spark, XGBoost, Tensorflow, Pytorch 등 무엇을 사용하든 데이터 셋(data set)에서 모델까지 추적이 가능하게 해주는 것이다.
생성형 AI 통합 과제 4. 평가와 모니터링
출력이 비정형적일때도 문제가 생기는데, 특히 생성형 AI의 output은 단일 출력이 아닌 이미지나, 채팅 로그 같은 비정형 데이터다. 그렇기에 이렇게 생성된 출력을 평가하고 모니터링하는 과정이 따로 필요하다. fluency, 사실성, 브랜드 평판과 같은 것들을 고려하는 측정 항목을 통해 평가할 수 있다. 이 때 사용되는 것이 Vertex AI Evaluation Services다. Vertex AI Evaluation Services는 다양한 평가와 목표, 방법, 측정 방법을 제공한다. 모델의 성능을 평가하려면 프롬프트와 정답 쌍이 포함된 평가 데이터 셋을 만든다. 각 쌍에 대해 프롬프트는 평가하려는 프롬프트고, 정답은 해당 프롬프트에 대한 이상적인 응답이다. 평가하는 동안 각 쌍의 프롬프트가 모델에 전달되어 출력을 생성한다. 모델에서 생성된 출력과 평가 데이터 셋의 정답이 평가 측정 항목 계산에 사용된다. 쉽게 말해, 문제랑 정답지 주고 문제를 모델에 던진 뒤 모델이 뱉은 대답과 내 정답지랑 비교해 계산하는 것이다. 지원되는 작업은 공식 문서를 참고하란다. 모니터링의 경우, Safety scores와 인용 검사 도구를 활용해 모니터링 단계에서 콘텐츠 품질과 신뢰성을 보장할 수 있다. 이 때 Vertex PaLM 이 각 입력 및 지원 요청에 대해 10개 이상의 카테고리에 걸쳐 안정성 점수가 포함된 자동 payload를 생성한다고 한다. payload를 생성한다는 말은 사용자가 보낸 요청에 대해 안전성과 관련된 메타데이터까지 포함된 구조화된 결과를 만들어준다는 뜻이다. 이걸 통해 적합한 기준점을 만들 수 있다. 인용 체크(Recitation Check)는 콘텐츠의 신뢰성 보장에 사용된다. 인용 검사기를 통해 기존 코드 저장소 및 웹 문서에 대해 모델 출력을 검사한다.
생성형 AI 통합 과제 5. enterprise 데이터와 연결
enterprise data와 연결하려면 효율적인 data access와 데이터 처리 메커니즘이 필요한데, 이 때도 Vertex AI를 사용할 수 있다고 한다. workflow를 원활하게 통합하는 것이다. 첫번째는1. embeddings와 vector search다. 효율적 쿼리 분석을 통해 enterprise 데이터를 처리 및 저장이 가능하다고 한다. 이 때 vertex AI는 3가지 서비스를 제공하는데, 1) Vertex Embeddings API - 텍스트와 이미지를 아우르는 임베딩 제품군으로 sementic 지식 비교를 위해 두 가지를 동일한 벡터 공간에 투영할 수 있다. 2) 완전 관리형 vector DB는 기존 ML기능과 함께 임베딩을 지원하는 vertex 벡터 검색과 Vertex Feature Store를 통해 임베딩 저장과 검색을 용이하게 해준다. 그리고 3) Vertex PaLM은 LangChain과 같은 서드파티 도구 및 프레임워크와 integration이 가능하다. 두번째는 2. 그라운딩(grounding) 기능이다. Vertex PaLM의 grounding 기능은 enterprise data를 기반으로 응답을 생성함으로써 할루시네이션을 줄일 수 있다. 세번째는 3.Vertex Extension이다. 이걸 통해 실시간으로 데이터를 실제 작업에 연결하는 확장 프로그램을 만들수도 관리할 수도 있다.
끝으로
복붙한것도 아니고 한땀한땀 영상보면서 했는데, 토탈 30분 컷이라더니 10분짜리 보는데만 몇십분이 걸렸다. 이제 끝났나 했는데 정말 이게 시작이다. 이제 5% 했단다. 아니다 사실 4%라 나와있다. 다음 포스팅은 여기로 오면된다. 다음 포스팅에서 봅시다.
'IT, Computer' 카테고리의 다른 글
[GCP] 모델 평가 (Model Evaluation) (4) (0) | 2025.05.10 |
---|---|
[GCP] MLOps framework for 생성형 AI (2) (0) | 2025.05.07 |
[GCP] GCP 튜토리얼을 무료로 제공하는 사이트가 있다? (1) (0) | 2025.05.06 |
[프로그래머스] 옹알이 (1) (0) | 2025.05.04 |
LLM 모델별(gpt, gemini, claude 등) 성능 비교하는 법 (0) | 2025.05.01 |