MLOps Now
VESSL AI에서 주최한 MLOps Now라는 행사에 감사하게 초청받아 발표 겸 다른 분들의 발표를 들으러 갔다.
발표 순서는 다음과 같다.
- MLOps & LLMOps 2023 트렌드
- 안재만, Co-founder & CEO, VESSL AI
- MLOps & AI Infrastructure for Production-ready LLMs
- 류인태, Product Manager, VESSL AI
- 고군분투 LLM 프로덕트 적용기 — Blind Prompting 부터 Agent까지
- 허훈, Technical Lead & ML Engineer, LINER
- 코르카가 바라보는 LLM 기술과 제품의 방향
- 이태호, Technical Lead, Corca
MLOps & LLMOps 2023 트렌드 - 안재만
MLOps & LLMOps
MLOps = ML + DevOps
Automated, Reproducible, Testable, Evolvable ML Workflow
머신러닝 모델을 개발, 배포, 운영하는 일련의 과정
ChatGPT가 나오게 되면서 트렌드가 MLOps에서 LLMOps로 변경됨
- How and why MLOps differs from LLMOps
- Transfer Learning: LLMOps에선 Full Training이 아닌 PEFT를 해야 한다.
- Compute management: 기존의 추론과 다르게 컴퓨팅 리소스 스케일이 다르다.
- Feedback loops: LLM은 평가하는 것이 어렵다. 이 평가 피드백을 통해 LLM을 어떻게 개선하느냐에 대한 고민이 필요하다. (태호 생각: 이건 기존 MLOps랑 동일하지 않을까?)
LLMOps
LLM Maturity Model
Level 1. In-Context Learning / Prompt Engineering
Level 2. Retrieval Augmented Generation (RAG)
Level 3. Fine-tuning
Level 4. Training
Level 99. Foundation Model Traininig
Example: Generative AI Personalization Stack
"RAG까지만으로도 충분한 비즈니스 임팩트를 낼 수 있다." 가 요즘 학계의 정설
Fine-tuning의 부작용
- 원래 모델의 퍼포먼스 저하
- 학습이 잘 안됨
- 바로 시작하는 것 추천하지 않음
- RAG까지만으로 제대로 된 아웃풋을 내기가 어렵다고 판단을 내릴 수 있는 경우 시도
VESSL Way
- LLM학습부터 Gen AI 모델 배포까지
- 하나의 단일한 Interface로
- 어떤 환경에서나 쉽게
- 노트북부터 파이프라인까지
위를 위해 추상화를 잘하자!
1 VESSL Run
어떤 ML 학습이든, 어떤 인프라 위에서든, 어떤 스케일이든 VESSL Run 하나로 실행
2 VESSL Run - Hub
LLM 학습부터 생성형 AI 모델 배포까지 YAML 하나로
3 VESSL Run - Workloads
한번에 수백, 수천개의 실험을 실행하여, 더욱 빠르게 모델 개발
4 VESSL Run - Dashboard
5 VESSL Pipeline
6 VESSL Artifacts
등등 MLOps 자동화를 위한 다양한 컴포넌트를 가지고 있다.
현재는 LLM으로도 하고 있다.
스캐터랩, TMAP, 현대차 등은 VESSL을 통해 GCP, On-premise 등의 자원을 연결하여 수 십개의 LLM 학습을 자동화하고 있다.
Insights from MLOps World 2023
7 keywords & 3 sessions
참석회사들: doordash, grammarly, cohere, aporia, huggingface, log10, guardrails, canonical, anaconda, instacart, stripe, dropbox 등
7 Keywords
- LLMOps
- Finetuning LLMs
- Deploy LLMs
- LLM Evaluation
- Security / Privacy
- RAG
- Business / Enterprise
Meta: Future of End-to-End ML Platform
16000장 정도의 GPU를 극한으로 사용하기 위한 ML Platform이자 end-to-end AI system performance simulator이다.
대량의 실험과 연구 등을 진행하고 있는데 여기에 들어오는 네트워크 optimize를 어떻게 할 것인가. Arcadia라는 새로운 시스템.
모든 걸 다 주고 Arcadia가 전부 다 고려해서 최적화하는 느낌이다. 그를 위한 코어 컴포넌트는 아래와 같은 orchestrator이다.
Instacart: Supercharging ML/AI Foundations
- Early ML Adoption and Evolution (2014-2020)
- In-House ML Platform Development (Since 2021)
- Recent Initiatives (H1 2023)
- Enhancements in ML Infrastructure
- Future Directions
MLOps & AI Infrastructure for Production-ready LLMs - 류인태
- Why open source LLMs?
- Why self-host open source LLMs?
- How to deploy LLMs into production?
Open Source Model vs Proprietary Models
Proprietary가 압도적이다.
오픈소스와 클로즈는 투입되는 돈 자체가 다르다.
오픈소스로 fine-tuning하면 약 건당 80달러 정도 필요
OpenAI로 fine-tuning하면 약 건당 12달러 정도 필요
Is open-source model doomed?
Open Source LLMs Direction 1: Fine-tuning
롤의 챗봇을 만든다고 생각해보자. 롤의 세계관 안에 완벽히 알고 있어야 한다.
Fine-tuning의 목적: OpenAI랑 싸워서 더 좋은 성능을 내는 것이 아니라 context를 잘 알려주는 것에 초점이 맞춰져 있어야 한다.
Open Source LLMs Direction 2: Downstream Tasks
Downsteam task에 집중해야 한다. 특정 기능만을 더 잘하는!
Why Self-host Open Source LLMs?
- Privacy
- Control over data
- Full ownership
- No forced data sharing
- Customized security protocols
- Compliance with Regional Laws
- Control over data
- Control
- Fine-tuning on proprietary data to enable domain-specific answers at high quality
- Research flexibility
- Operation Stability
- The system stability of OpenAI is much lower than expected
- Transparency
- Avoid Black Boxes
- Custom Monitoring
- Continuous Improvement
What is VESSL AI's approach?
VESSL Run, Artifact, Pipeline 사용법에 대한 길고 긴 소개
태호의 3줄 요약:
- GUI, CLI 모두 쓰기 쉽게 잘 만들었다
- 다양한 옵션들을 yaml로 쓸 수 있도록 했다
- 아직 성숙하지 않은 분야기에 섣부른 추상화일 수 있지 않을까? 이 자유도 안에서 내가 유의미하게 사용할 수 있을까? 에 대한 고민 하게 된다
- 그럼에도 불구하고 분명 기본적인 것만 한다면 굉장히 유용하게 쓸 수 있을 것 같은 느낌
고군분투 LLM 프로덕트 적용기 - 블라인드 프롬팅부터 에이전트까지 - 허훈
Prompting
프롬프트 엔지니어링 매우 중요함
Q. OpenAI, Claude 등등이 다른가?
A. 자세한 건 다를 수 있어도 거시적인 관점에서는 다 동일하기에 분명 배우는 것 유의미하다.
지금 고친 프롬프트가 실제로 더 나은 프롬프트인가?
프롬프트 수정으로 일반화된 성능 개선이 이루어지고 있는가?
이제 막 발견한 오류 케이스에 대한 단순 대응은 아닌가?
=> Blind Prompting을 해야 한다.
테스트케이스를 짜서 테스트를 해야 한다.
기술적으로는 별 것이 없지만 이 것으로 인해 정량적인 스코어를 통해 개선 여부를 확인할 수 있음
문제는 OpenAI API가 deterministic하지 않다.
그렇지만 테스트케이스가 더 많아지고 시행 횟수를 높일 수록 일반화된 성능 경향을 발견할 수 있을 것이다.
RAG
추천 시스템 빌딩하면서 여러 벡터 서치 많이 써봤다.
결국 elastic search로 귀결되었다. hybrid search를 같이 해야 하기 때문.
term-matching search, vector search를 같이 해야 한다. function score가 어떤 분포로 형성되고 있고, 어떤 조각들이 활용되고 있는지 grafana로 로깅 및 대시보드로 관리 중.
Model Management
OpenAI Rate Limit Error가 빈번히 발생했다. 키를 여러개 만들어서 롤링함.
필연적으로 시스템 복잡도를 증가시키는 결과를 낳게 됨.
이상적으로는 여러 파운데이션 모델을 활용할 수 있도록 fallback 로직 구현해야 함.
fallback은 비용과 성능에 영향을 주기 때문에 트래킹을 잘 해야 함.
1년 전의 나(허훈님)에게 말하고 싶은 내용
- GPT-4부터 시작해라.
- GPT-4는 신이다.
- 어느 정도 구현이 되면 속도나 비용의 최적화를 위해 팜2나 라마로 변경하는 것을 추천
- Generative UX
- Blank Page Syndrome
- 모든 제품에 대화형 인터페이스를 붙일 필요는 없다.
- 채팅창에서 내가 뭘 해야 할지 모름.
- 어떤 요청을 처리해줄 수 있지?
- 어디까지 알고 있지?
- 어떻게 물어봐야 하지?
- 이런 단점들이 있음
- linus lee라는 사람의 generative UX 관련 발표를 꼭 들어봐라
- Blank Page Syndrome
기능에 대한 이해도가 부족한 상황이어서 바로 효용을 제공할 수 있는 기능으로 변경=> Ask AI 에서 Summary로 버튼 텍스트를 바꿈
=> AB 테스트했을 때 굉장히 유의미했음
보다 명확한 인터페이스를 제공해야 된다.
Evaluation from the very start
코르카가 바라보는 LLM 기술과 제품의 방향 - 나~~~
아래 피피티 파일로 내용을 대체합니다.
전반적으로 발표자 분들의 내용이 흥미로웠고 배울 내용도 많았다. 내 발표도 사람들이 그렇게 느낄 수 있는 발표였으면 좋겠다.