https://www.usenix.org/system/files/osdi22-yu.pdf
작성일 : 2024/03
Transformer 구조의 생성 모델은 다양한 분야에서 높은 성능을 보이고 있다. 하지만, auto-regressive 특성상, 같은 모델을 여러번 동작시켜야 하기 때문에, serving에서 여러 한계가 존재한다.
대부분의 기존 시스템은 request를 처리하는 server와 engine의 조합으로 이루어진다. Server의 경우, client request를 받아서 batch로 묶고 engine으로 보내는 역할을 한다. engine에서는 server에서 전달받은 batch를 LLM으로 처리하여 다시 server로 보낸다. 마지막으로 server는 engine에서 받은 결과를 다시 client에 전달한다. 대부분의 serving system이 이러한 구조로 구성되어 있으며, 대표적인 예시로 server는 Triton inference server, Tensorflow serving등이 있고 engine은 FasterTransformer, pytorch등이 있다.
그러나 이러한 기존 시스템은 2가지의 문제를 갖고 있다.
논문에서는, 이런 문제를 해결하위해 새로운 ‘iteration level scheduling’과 ‘selective batching’을 제안한다.
iteration level scheduling은 모델의 실행을 request 단위가 아니라, single iteration 단위로 바꾸면서 request의 배칭을 유연하게 만드는 방법이다.
selective batching은 sequence 길이가 다른 request 더라도, 같은 batch로 돌릴 수 있도록 만드는 기술로써, iteration level scheduling을 가능하게 만드는 핵심 기술이다.