llm-d의 작동 방식
LLM 프롬프트는 복잡하고 비균일합니다. 일반적으로 대량의 데이터를 처리하려면 방대한 컴퓨팅 리소스와 스토리지가 필요합니다.
llm-d는 LLM과 같이 정교한 대규모 추론 모델의 리소스 수요 증가를 지원할 수 있는 모듈식 아키텍처를 갖추고 있습니다.
모듈식 아키텍처를 통해 AI 워크로드의 모든 개별 구성 요소들은 모델의 요구에 따라 함께 또는 개별적으로 작동할 수 있습니다. 이렇게 하면 모델이 더 빠르게 추론할 수 있습니다.
llm-d를 마라톤 경주라고 생각해 보겠습니다. 각 주자는 자신의 페이스를 조절합니다. 결승선을 통과하는 시간은 서로 다를 수 있지만 모든 주자는 각자 능력껏 완주합니다. 만약 모두가 동시에 결승선을 통과해야 한다면 지구력, 수분 섭취, 훈련량 같은 다른 주자들의 개별적인 다양한 니즈에 맞춰야 할 것입니다. 그렇게 되면 상황이 아주 복잡해집니다.
모듈식 아키텍처는 추론 프로세스의 각 요소들이 최상의 결과를 최대한 빠르게 도출하기 위해 각자의 속도에 맞춰 작동할 수 있도록 합니다. 그러면 특정 프로세스를 개별적으로 수정하거나 업데이트하기가 훨씬 쉬워집니다.
이러한 모델 처리 방식 덕분에 llm-d는 대규모 LLM 추론의 요구 사항을 다룰 수 있습니다. 또한 사용자는 단일 서버 배포의 한계를 넘어 기업 전반에서 생성형 AI 추론을 사용할 수 있습니다.
llm-d 모듈식 아키텍처의 구성 요소는 다음과 같습니다.
- 쿠버네티스: 컨테이너화된 애플리케이션을 배포, 관리, 확장하는 데 필요한 대부분의 수동 프로세스를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼입니다.
- vLLM: 생성형 AI 애플리케이션의 결과 도출 속도를 높여주는 오픈소스 추론 서버입니다.
- 추론 게이트웨이(Inference Gateway, IGW): 모델 라우팅, 서빙 우선순위, '스마트' 부하 분산과 같은 기능을 호스팅하는 쿠버네티스 게이트웨이 API 확장 프로그램입니다.
이렇게 접근성이 뛰어난 모듈식 아키텍처를 갖춘 llm-d는 대규모 분산 LLM 추론에 가장 적합한 플랫폼입니다.
AI 기술 구현의 4가지 핵심 고려 사항
잘 정의된 경로란?
잘 정의된 경로란 llm-d를 통해 대규모 분산 추론을 구축하기 위한 구체적인 '청사진' 또는 전략을 가리킵니다. 이러한 잘 정의된 경로는 llm-d 오픈소스 커뮤니티에 의해 입증되고 재현 가능합니다. 잘 정의된 경로는 다음과 같이 정의됩니다.
- 지능형 추론 스케줄러: 지능형 추론 스케줄링은 정교한 토큰 라우팅 결정을 처리합니다. 지능형 추론 스케줄링의 토큰 인식 라우팅('스마트' 부하 분산이라고도 함) 기능은 모델의 키 값(Key Value, KV) 캐시, 대기 시간, 모듈식 기능, 관측성 등을 고려하여 추론의 속도를 높이는 점수 산정 및 필터링 알고리즘을 구현합니다.
- 프리필과 디코딩이 분리된 서비스: 프리필(프롬프트 처리) 서비스와 디코딩(토큰 생성) 서비스는 추론 서버에 대한 컴퓨팅 요구 사항이 서로 다릅니다. 두 작업이 분리되면 각각 별도로 작동하고 확장될 수 있습니다. 따라서 대기 시간 장애물과 같은 개별적인 문제들이 모든 모델에 한꺼번에 영향을 주는 것을 막습니다.
- 광범위한 전문가 병렬 처리: Mixture of Experts(MoE) 모델은 프롬프트를 개별적으로 처리할 수 있는 특화된 숙련도를 가진 모델들로 세분화됩니다. 각 프롬프트에 답하기 위해 전체 데이터베이스를 사용하는 단일 고밀도 모델 대신, llm-d는 프롬프트에 대한 답변에 가장 적합한 하나의 '전문가' 모델을 식별합니다. 마치 문서에서 전체 텍스트를 읽기보다는 단어를 찾는 '찾기' 기능을 사용하는 것과 유사합니다. 이러한 접근 방식은 추론 속도를 높이고 GPU를 더 효율적으로 사용합니다.
잘 정의된 경로 외에도 llm-d는 다음과 같은 지능형 추론 툴을 사용해 추론 효율성을 높입니다.
토큰 인식 라우팅: 토큰마다 컴퓨팅 요구 사항이 다르기 때문에 추론 과정에서 토큰별로 특정 경로가 트리거됩니다. 추론 트래픽은 토큰 길이, 대기열 깊이, 캐시 적중 예측에 따라 라우팅되어 대기 시간을 줄이고 장시간의 서비스 중단을 피합니다.
마라톤 비유를 다시 사용해 보자면, 속도가 느린 주자(복잡한 모델)는 최대한 빨리 결승선을 통과하기 위해 언덕이 적은 경로(스마트 부하 분산)를 택할 수 있는 것입니다.
- 공유 KV 캐시 및 재사용: 공유 KV 캐시는 반복되는 토큰을 인식하여 각 키 값을 디코딩하는 데 소요되는 시간을 줄입니다.
예를 들어 아리조나주의 주도를 묻는 프롬프트의 경우 '주도는 어디인가요'와 '아리조나주의'라는 두 개의 토큰으로 디코딩되어야 합니다. 다른 주의 주도를 묻는 프롬프트('알래스카주의 주도는 어디인가요?')가 입력되면 모델은 첫 번째 토큰('주도는 어디인가요')에 대한 연산이 이미 수행되었기 때문에 해당 토큰을 처리하는 방법을 알고 있습니다. 따라서 중복된 프리필 연산을 방지할 수 있으며, 각 프롬프트에 답변할 때 소모되는 GPU 스토리지를 줄여 추론 속도를 높일 수 있습니다. - 모듈식 배포와 관측성: 모듈식 모델들을 각각 따로 모니터링하고 확장하며 업데이트할 수 있습니다. 가시성을 제한하는 '블랙박스' 대신, 모듈식 유연성은 프레임워크의 각 부분에 대한 인사이트를 제공합니다. 따라서 모델을 더 빠르게 적응시키고 AI 워크로드를 오늘날의 일반적인 DevOps 및 GitOps 사례에 맞게 조정하기가 더 쉽습니다.
llm-d의 핵심 구성 요소
llm-d는 오픈소스 커뮤니티에서 개발했습니다. 그렇기 때문에 llm-d의 기능들은 다양한 구성 요소와 협업에 따라 달라집니다. 핵심 구성 요소는 다음과 같습니다.
- 쿠버네티스 네이티브 프레임워크: llm-d는 쿠버네티스 플랫폼 내에서 실행되고 그 이점을 모두 활용할 수 있도록 설계되었습니다. llm-d 프레임워크는 뛰어난 접근성을 위해 쿠버네티스 기반 분산형 플랫폼(예: Red Hat® OpenShift®)을 위해 구축되었습니다. 이러한 쿠버네티스 네이티브 접근 방식은 생성형 AI 추론을 전사적으로 적용하는 데 필요한 정책, 보안, 관측성 레이어를 제공합니다.
- 분산 LLM 추론: 분산 추론은 복잡한 추론 요청을 여러 서버와 엣지 기기에 할당합니다. 여기서 각 기능은 병렬로 작동하여 결과물을 생성하며, 이를 통해 더 빠르고 확장 가능한 AI 기반 서비스를 구현할 수 있습니다. llm-d는 Envoy, vLLM, KServe와 같은 오픈소스 커뮤니티 프로젝트를 활용하여 분산 추론을 실현합니다.
- 커뮤니티 중심의 오픈소스 프로젝트: 오픈소스 커뮤니티에서는 누구나 훌륭한 아이디어를 내고, 모두가 사용할 수 있도록 기술을 개선할 수 있습니다. 이 오픈소스 프로젝트는 Google, IBM, CoreWeave, NVIDIA, Red Hat 등과 같은 산업 리더들의 아이디어에 크게 의존합니다.
이러한 구성 요소들을 통해 기업은 llm-d를 사용하여 대기 시간, 복잡성 또는 높은 비용에 대한 걱정 없이 생성형 AI 활용 사례를 확장할 수 있습니다.
llm-d가 다른 LLM 처리 방법과 다른 점
일반적인 AI 모델 프롬프트의 패턴은 주로 길이가 짧고 반복적인 형태를 띱니다. 따라서 각 프롬프트는 동일한 지원과 리소스를 할당받는데, 이를 '라운드 로빈(round-robin)' 부하 분산이라고도 합니다.
그러나 LLM은 기존 워크로드와 다릅니다. LLM은 긴 디코딩 단계를 실행하고 접두사 캐시 재사용에 의존하며 컴퓨팅 및 메모리 요구 사항이 제각기 다릅니다. 그렇기 때문에 일반적인 쿠버네티스 부하 분산으로는 복잡한 LLM 요구 사항을 충족할 수 없습니다.
게다가 대부분의 조직이 가시성이 거의 없는 상태로 LLM을 배포하기 때문에 AI 워크로드에 대한 제어력이 제한적입니다. 그 결과 GPU를 제대로 활용하지 못하고 대기 시간이 발생하며 확장이 어려운 경직된 아키텍처로 이어집니다. 일반적인 LLM 기반 추론 시스템은 프롬프트 구조, 토큰 수, 캐시 상태를 무시할 수 있으며, 이는 리소스 낭비를 초래합니다.
예를 들어 검색 증강 생성(RAG) 프롬프트에는 사고나 추론에 의존하는 프롬프트와는 다른 부하 분산이 필요합니다. 각자 다른 부하 분산이 필요한 여러 프롬프트들로 인해 워크로드가 과부하되면 추론 프로세스가 느려집니다.
이렇게 생각해 보세요. 파이를 기가 막히게 잘 굽는 동네 제과점이 있습니다. 이 제과점은 애플 파이, 블루베리 파이, 피칸 파이는 매일 실수 없이 구워냅니다. 그런데 크루아상, 퍼지, 웨딩 케이크를 주문 받으면 제빵사들의 처리 효율이 떨어집니다. 처리할 수 있는 주문 수는 줄고 작업이 제대로 이루어지지 않게 됩니다. 이 제과점에 필요한 것은 복잡한 베이커리 제품과 매일 만드는 파이에 대한 주문을 모두 처리할 수 있도록 작업을 배분할 수 있는 총괄 셰프입니다. 총괄 셰프는 파이든 다른 빵이든 주문을 모두 처리하기 위해 가장 효율적인 방식으로 복잡한 작업 스케줄링을 조율할 수 있습니다.
AI 기술 구성에 있어 llm-d가 바로 그 총괄 셰프입니다.
llm-d는 LLM 인지형 AI 추론 플랫폼을 제공합니다. 즉, LLM 프롬프트 요청 특성의 높은 변동성에 대비되어 있음을 의미합니다. 이 오픈소스 프레임워크는 성능을 예측 가능하게 모니터링하고, 비용을 최적화하고, 사용자의 기대치를 충족하는 것을 가능하게 합니다. 그리고 llm-d는 LLM 추론을 쿠버네티스 네이티브 아키텍처로 변환하여 마치 마이크로서비스처럼 관리 가능한 추론 프레임워크로 만들어 줍니다.
사용자들이 대규모로 쉽게 추론할 수 없을 때 시장 출시 시간은 길어지고 생성형 AI 활용 사례를 조직 전체에 적용하기가 더 어려워집니다.
llm-d의 장점
llm-d는 분리 모델 확장을 더욱 용이하게 하며 팀이 더 적은 리소스로도 빠른 시간 안에 더 큰 AI 목표를 달성하는 데 도움이 됩니다.
- 모델 품질 및 성능: llm-d는 지능형 부하 분산과 같은 툴을 사용하여 LLM 추론 응답 시간을 개선합니다. llm-d 프레임워크는 반복적 추론 토큰, 블랙박스 중단 현상과 같은 일반적인 LLM 추론 장애물을 제거합니다. 이러한 장애물을 제거하면 모델 성능과 개발자 생산성이 개선됩니다.
- 비용 효율성: llm-d는 특유의 모듈성 덕분에 더 많은 사용자가 동시에 AI 워크로드에 액세스하고 결과를 더 빠르게 얻을 수 있습니다. 따라서 엔지니어와 개발자는 모델을 충분히 활용하고 GPU를 더 효과적으로 사용할 수 있습니다. 접근성과 속도가 개선되므로 팀은 시간과 리소스를 다른 곳에 할당할 수 있습니다.
- 제어: llm-d는 분산 서빙을 활용하여 LLM 추론에 새로운 차원의 유연성을 부여합니다. 추론의 서로 다른 단계인 프리필과 디코딩을 분리함으로써 각 구성 요소들이 독립적으로, 그리고 동시에 작동할 수 있으므로 추론 속도가 향상됩니다.
Red Hat의 지원 방식
Red Hat AI는 확장 가능한 생성형 AI 추론에 대한 액세스를 개선하는 것을 우선시합니다.
Red Hat의 AI 플랫폼은 vLLM을 사용하여 갈수록 복잡해지고 있는 추론의 요구 사항과 기업의 기대치를 충족합니다.
Red Hat AI는 대규모 엔터프라이즈 AI 워크로드에 대한 지원을 강화하기 위해 llm-d를 사용합니다. llm-d는 쿠버네티스의 입증된 오케스트레이션 기능을 활용해 고급 추론 지원을 Red Hat의 기존 엔터프라이즈 AI 인프라에 통합합니다.
llm-d는 또 다른 오픈소스 성공 사례가 될 뿐만 아니라 '모든 모델, 모든 가속기, 모든 클라우드'라는 Red Hat의 비전에도 부합합니다.
llm-d의 개념, 그리고 llm-d가 필요한 이유
최근 주목을 끄는 추세가 있습니다. 그것은 바로 대규모 언어 모델(Large Language Model, LLM) 인프라를 사내에 도입하는 조직이 늘고 있다는 사실입니다.