A simple fix for LLM tail latency
개요
LLM의 느린 응답으로 인한 실시간 서비스의 문제를 해결하기 위해, 요청을 두 번 보내고 더 빠른 응답을 취하는 간단한 방법을 제시합니다.
주요 내용
* Tail Latency의 중요성: 음성 에이전트와 같이 대화형 실시간 서비스에서는 LLM 응답의 지연(tail latency)이 사용자 경험에 치명적일 수 있습니다. 개별 LLM 요청 중 극히 일부라도 응답이 수십 초 지연될 경우, 사용자는 침묵 후 연결을 끊을 확률이 높아집니다.
* 두 가지 해결 옵션:
* Priority Tier 업그레이드: LLM 제공업체의 더 높은 비용의 우선 처리 서비스 티어를 이용합니다.
* 요청 중복 전송: 표준 티어를 유지하면서 각 요청을 두 번 보내고 더 빠르게 도착한 응답을 사용합니다.
* 중복 전송의 성능 우위: 50개의 실제 프로덕션 요청을 대상으로 테스트한 결과, 각 요청을 두 번 보내는 방식이 OpenAI의 Priority Tier보다 'Time to first token' 및 'Time to complete response' 측정 항목 모두에서 더 나은 성능을 보였습니다. 특히 최악의 경우 응답 완료 시간은 9.8초에서 3.5초로 감소했습니다.
* 작동 원리: 이 방법은 느린 응답이 드물고 독립적인 경우에 효과적입니다. 요청을 두 번 보내면 두 복제본 모두 동시에 느린 응답을 생성할 확률이 낮아집니다.
시사점
실시간 LLM 기반 제품을 구축할 때, 지연 시간을 개선하기 위해 더 비싼 서비스 티어를 먼저 고려하기 전에, 각 요청을 두 번 보내는 간단한 방법을 벤치마킹해볼 가치가 있습니다. 이는 동일한 비용으로 더 나은 지연 시간을 달성할 수 있는 단순하지만 효과적인 솔루션입니다.
댓글
GitHub Discussions