Skip to main content
QUICK REVIEW

[논문 리뷰] Teola: Towards End-to-End Optimization of LLM-based Applications

Xin Tan, Yimin Jiang|arXiv (Cornell University)|2024. 06. 29.
Distributed and Parallel Computing Systems인용 수 4
한 줄 요약

Teola는 LLM 기반 응용 프로그램을 위한 미세한 수준의 프리미티브 수준 데이터플로우 그래프 오케스트레이션 프레임워크를 제안하며, LLM 및 비-LLM 구성 요소 간의 종단 간 최적화를 가능하게 한다. 저수준 작업 프리미티브와 그 종속성을 노출시킴으로써 Teola는 토폴로지 인식 배치 및 모듈 간 병렬 처리와 파이프라인 처리를 통해 최대 2.09배의 성능 향상을 달성하며, 기존의 모듈 기반 프레임워크를 능가한다.

ABSTRACT

Large language model (LLM)-based applications consist of both LLM and non-LLM components, each contributing to the end-to-end latency. Despite great efforts to optimize LLM inference, end-to-end workflow optimization has been overlooked. Existing frameworks employ coarse-grained orchestration with task modules, which confines optimizations to within each module and yields suboptimal scheduling decisions. We propose fine-grained end-to-end orchestration, which utilizes task primitives as the basic units and represents each query's workflow as a primitive-level dataflow graph. This explicitly exposes a much larger design space, enables optimizations in parallelization and pipelining across primitives of different modules, and enhances scheduling to improve application-level performance. We build Teola, a novel orchestration framework for LLM-based applications that implements this scheme. Comprehensive experiments show that Teola can achieve up to 2.09x speedup over existing systems across various popular LLM applications. The code is available at https://github.com/NetX-lab/Ayo.

연구 동기 및 목표

  • 粗미세도의 모듈 수준 오케스트레이션으로 인해 발생하는 LLM 기반 응용 프로그램의 최적화되지 않은 종단 간 성능 문제를 해결하기 위해.
  • 고수준 모듈이 아닌 프리미티브 연산 수준에서 워크플로우를 모델링하여 더 넓은 최적화 공간을 노출하기 위해.
  • LLM 및 비-LLM 구성 요소 간 병렬 처리, 파이프라인 처리 및 스케줄링의 공동 최적화를 가능하게 하기 위해.
  • 프론트엔드 오케스트레이션을 백엔드 실행에서 분리하고 응용 프로그램 인식 스케줄링을 가능하게 하여 응용 프로그램 수준의 지연 시간을 개선하기 위해.
  • 고립된 LLM 추론 최적화를 넘어서 통합적인 종단 간 성능 최적화를 지원하는 시스템을 구축하기 위해.

제안 방법

  • 각 LLM 기반 응용 프로그램 워크플로우를 각 프리미티브가 메타데이터를 가진 상징적 연산인 프리미티브 수준의 데이터플로우 그래프로 표현하기.
  • 사용자 쿼리를 응용 프로그램 전용 프리미티브 그래프로 파싱하고, 효율적인 실행을 위한 타겟 최적화 단계를 적용하기 위해 그래프 최적화기 사용하기.
  • 이중 레이어 런타임 스케줄러를 구현: 상위 레이어 스케줄러는 쿼리 수준 실행 그래프를 관리하고, 하위 레이어 스케줄러는 각 엔진별로 관련 프리미티브를 배치 및 처리하기.
  • 프리미티브 그래프 내의 토폴로지 깊이와 요청 상관관계를 활용하여 토폴로지 인식 배치를 가능하게 하고, 자원 활용도를 향상시키기.
  • Ray을 통해 기존 실행 엔진(예: vLLM)과 통합하여 분산 스케줄링 및 실행을 수행하며, LlamaIndex 및 LangChain과 같은 프레임워크와의 호환성을 유지하기.
  • 엔진 전용 속성과 프리미티브 간 관계를 노출하여 스케줄링 결정을 안내하고, 모듈 간 최적화를 가능하게 하기.

실험 결과

연구 질문

  • RQ1프리미티브 수준에서의 미세한 오케스트레이션은 LLM 기반 응용 프로그램의 종단 간 지연 시간을 크게 감소시킬 수 있는가?
  • RQ2모듈 수준의 체인과 비교해 프리미티브 수준의 데이터플로우 모델링은 스케줄링과 배치에 어떻게 개선을 이룰 수 있는가?
  • RQ3이질적인 LLM 워크플로우에서 모듈 간 병렬 처리와 파이프라인 처리를 얼마나 효과적으로 활용할 수 있는가?
  • RQ4프리미티브 종속성과 토폴로지 깊이에 기반한 응용 프로그램 인식 스케줄링은 시스템 처리량과 지연 시간을 어떻게 향상시킬 수 있는가?
  • RQ5실제 LLM 응용 프로그램 워크로드에서 Teola의 종단 간 최적화는 기존 프레임워크와 비교해 어떻게 성능을 뛰어넘는가?

주요 결과

  • Teola는 검색 기반 생성 및 문서 질의 응답과 같은 다양한 LLM 응용 프로그램에서 기존 시스템 대비 최대 2.09배의 성능 향상을 달성한다.
  • 일부 RAG 기반 워크플로우에서 비-LLM 구성 요소가 종단 간 지연 시간의 50% 이상을 차지함을 확인하여 통합 최적화의 필요성을 강조한다.
  • 프리미티브 수준의 데이터플로우 그래프는 모듈 기반 체인보다 훨씬 더 넓은 최적화 공간을 노출하며, 모듈 간 병렬 처리와 파이프라인 처리를 가능하게 한다.
  • 프리미티브 그래프 구조에 기반한 토폴로지 인식 배치는 런타임 스케줄러에서 요청 융합과 자원 활용도를 향상시킨다.
  • 이중 레이어 스케줄링 아키텍처는 오케스트레이션 로직과 엔진 실행을 효과적으로 분리하여 효율적이고 응용 프로그램 인식 요청 스케줄링을 가능하게 한다.
  • Teola의 설계는 기존 LLM 추론 최적화(예: vLLM, KV 캐시 재사용)와 호환되어 상호 보완적인 성능 향상을 이룬다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.