Building Block

MoAI Fabric

이기종 칩과 소프트웨어 간에 KV 캐시를 직접 이동시키는 소프트웨어 정의 패브릭 — 벤더, 세대, 병렬화 경계를 가로질러 prefill-decode 분리(disaggregation)를 프로덕션에서 동작하게 합니다.

The Problem

KV 캐시는 이기종 환경이 무너지는 지점입니다

현재의 추론 소프트웨어 스택들은 KV 캐시의 생산자와 소비자가 동일하다고 가정합니다. 그렇지 않을 경우, KV 캐시 전송이 이기종 칩을 효율적으로 활용하는 데 가장 큰 걸림돌이 됩니다.

Cross-Vendor Transport

GPU 간 직접 RDMA는 벤더에 종속되어 있습니다. 서로 다른 벤더의 칩 사이로 KV 캐시 바이트를 옮길 수 있는 native 경로는 없으며, CPU 메모리를 거치는 매우 느린 우회로만 가능합니다.

Memory Layout

서로 다른 attention 구현은 KV 텐서를 GPU 메모리 안에 다른 방식으로 배치합니다. 생산자의 바이트는 다른 레이아웃을 기대하는 소비자가 그대로 읽을 수 없습니다.

Data Type & Quantization

서로 다른 정밀도와 양자화 스킴은 같은 값을 다른 비트 패턴으로 인코딩합니다. 명시적 변환 없이 바이트를 그대로 옮기면 무관한 숫자가 됩니다.

Parallel Partitioning

서로 다른 병렬화 전략은 KV 캐시를 여러 GPU에 서로 다른 방식으로 분할합니다. 단순한 1:1 GPU-to-GPU 전송으로는 올바른 데이터를 재구성할 수 없습니다.

Solution

벤더에 무관한 직접적이고 호환되는 KV 캐시 전송

MoAI Fabric은 어떤 벤더의 GPU 사이에서도 KV 캐시를 직접 이동시키며, 그 과정에서 메모리 레이아웃, 데이터 타입, 양자화 스킴, 병렬 분할을 변환합니다.

GPU

Vendor A

GPU

Vendor B

KV Cache Compatibility

Cross-Vendor Direct RDMA

What It Enables

Prefill과 Decode를 분리하다

KV 캐시의 이동이 더 이상 동일한 하드웨어와 소프트웨어에 묶여 있지 않으므로, prefill과 decode를 독립적으로 배포할 수 있습니다 — 각 작업에 맞는 벤더, 세대, 병렬화 전략을 자유롭게 선택할 수 있습니다.

Across Vendors

Prefill은 NVIDIA GPU에서, decode는 AMD GPU에서 (또는 그 반대로) 실행할 수 있습니다. Fabric은 KV 캐시를 벤더별 포맷 간에 변환하고 네트워크를 통해 직접 전송하므로, 어느 단계에서도 느린 CPU 우회나 벤더 종속이 발생하지 않습니다.

Across Generations

단계별로 GPU 세대를 다르게 조합할 수 있습니다 — 예를 들어 prefill은 B300, decode는 H200로. 서로 다른 세대는 종종 다른 KV 캐시 포맷을 사용하지만, Fabric이 이를 투명하게 호환시키므로 기존 인벤토리를 최신 칩과 함께 계속 활용할 수 있습니다.

Independent Sizing and Parallelism

지연 시간 및 처리량 SLO에 따라 prefill과 decode 각각의 GPU 수와 병렬화 전략을 독립적으로 선택할 수 있습니다. 두 단계가 서로 다른 규모로 동작할 때 발생하는 KV 캐시 분할 불일치는 Fabric이 처리합니다.