[Hacker News 요약] OpenAI, WebRTC 기반 저지연 음성 AI를 대규모로 제공하는 아키텍처 공개

16

설명

OpenAI는 대규모 음성 AI 서비스에서 발생하는 고질적인 지연 문제를 해결하기 위한 새로운 WebRTC 아키텍처를 공개했습니다. 이 아키텍처는 사용자가 자연스러운 대화를 경험할 수 있도록 음성 AI 상호작용의 핵심인 '저지연성'을 보장하는 데 중점을 둡니다. 특히 WebRTC를 Kubernetes 환경에 효율적으로 통합하면서도 수억 명의 사용자에게 안정적인 서비스를 제공하는 기술적 난제를 극복한 방법을 상세히 설명합니다. 이는 실시간 AI 애플리케이션 개발자들에게 중요한 통찰을 제공할 것입니다. ### 배경 설명 최근 몇 년간 대화형 AI의 발전은 인간과 기계의 상호작용 방식을 혁신하고 있습니다. 특히 음성 AI는 텍스트 기반 인터페이스를 넘어 더욱 직관적이고 자연스러운 사용자 경험을 제공하며, ChatGPT 음성 기능이나 실시간 API를 활용하는 개발자들에게 필수적인 요소가 되었습니다. 그러나 음성 AI가 '자연스럽다'고 느껴지려면 대화의 속도가 사람의 말 속도와 일치해야 합니다. 네트워크 지연은 어색한 침묵, 끊김, 또는 반응 지연으로 이어져 사용자 경험을 크게 저해합니다. OpenAI와 같은 대규모 서비스 제공자에게는 이러한 저지연성을 전 세계 9억 명 이상의 주간 활성 사용자에게 제공해야 하는 도전이 있습니다. 이는 빠른 연결 설정, 낮고 안정적인 미디어 왕복 시간, 그리고 낮은 지터 및 패킷 손실을 요구합니다. 기존의 WebRTC 배포 방식은 Kubernetes와 같은 클라우드 네이티브 환경에서 대규모로 확장할 때 '세션당 하나의 포트' 모델로 인해 포트 고갈, 상태 유지의 어려움, 그리고 글로벌 라우팅의 복잡성 등 여러 제약에 부딪혔습니다. 이러한 배경에서 OpenAI는 클라이언트에게 표준 WebRTC 동작을 유지하면서도 내부 인프라에서 패킷 라우팅 방식을 혁신하는 새로운 아키텍처를 설계하게 되었습니다. ### WebRTC의 핵심 역할과 트랜시버 아키텍처 선택 WebRTC는 브라우저, 모바일 앱, 서버 간에 저지연 오디오, 비디오, 데이터를 전송하기 위한 개방형 표준입니다. 이는 NAT 통과를 위한 ICE, 암호화된 전송을 위한 DTLS 및 SRTP, 코덱 협상, 품질 제어를 위한 RTCP 등 실시간 미디어의 복잡한 부분을 표준화하여 AI 제품 개발에 필수적인 기반을 제공합니다. OpenAI는 이러한 표준화된 프로토콜 스택을 활용하여 자체적인 인프라 개발에 집중할 수 있었습니다. 미디어 아키텍처 선택에 있어, OpenAI는 다자간 통화에 적합한 SFU(Selective Forwarding Unit) 대신, 1:1 사용자-모델 상호작용에 최적화된 '트랜시버(Transceiver)' 모델을 채택했습니다. 트랜시버는 클라이언트 연결을 종료하고 미디어 및 이벤트를 모델 추론을 위한 내부 프로토콜로 변환하며, WebRTC 세션 상태를 단일 서비스에서 관리하여 백엔드 서비스가 일반 서비스처럼 확장될 수 있도록 합니다. ### Kubernetes 환경에서의 대규모 WebRTC 배포 문제 트랜시버 모델을 선택한 후, OpenAI는 WebRTC를 Kubernetes 환경에 배포하는 과정에서 두 가지 주요 문제에 직면했습니다. 첫째는 '포트 고갈' 문제였습니다. 기존 WebRTC는 세션당 하나의 UDP 포트를 사용하는 경향이 있는데, 수십만 개의 동시 세션을 처리하려면 매우 큰 공용 UDP 포트 범위를 노출하고 관리해야 합니다. 이는 클라우드 로드 밸런서 및 Kubernetes 서비스 설계와 맞지 않으며, 보안 및 오토스케일링을 어렵게 만듭니다. 둘째는 '상태 유지' 문제였습니다. ICE 및 DTLS는 상태를 가지는 프로토콜이므로, 세션을 생성한 프로세스가 해당 세션의 패킷을 계속 수신해야 합니다. Kubernetes 환경에서 파드가 추가, 제거, 재스케줄링될 때 세션의 패킷이 다른 프로세스로 라우팅되면 연결 설정 실패나 미디어 손상으로 이어질 수 있습니다. ### 릴레이 + 트랜시버 분리 아키텍처와 ICE ufrag 기반 라우팅 OpenAI는 이러한 문제를 해결하기 위해 '릴레이(Relay) + 트랜시버(Transceiver)' 분리 아키텍처를 도입했습니다. 이 아키텍처는 패킷 라우팅과 프로토콜 종료를 분리합니다. 릴레이는 가벼운 UDP 포워딩 계층으로, 작은 공용 포트 공간을 사용하며 미디어를 암호 해독하거나 WebRTC 상태 머신을 실행하지 않습니다. 대신 패킷 메타데이터를 읽어 세션을 소유한 트랜시버로 패킷을 전달합니다. 트랜시버는 여전히 모든 WebRTC 프로토콜 상태를 소유합니다. 핵심은 'ICE ufrag(username fragment)'를 활용한 첫 패킷 라우팅입니다. 서버 측 ufrag에 라우팅 메타데이터를 인코딩하여, 릴레이는 클라이언트의 첫 STUN 패킷에서 ufrag를 디코딩하여 해당 세션을 소유한 트랜시버로 패킷을 직접 전달할 수 있습니다. 이 방식은 외부 조회 서비스 없이 패킷 경로에서 직접 라우팅 결정을 내릴 수 있게 합니다. ### 글로벌 릴레이 배포 및 Go 기반 구현 최적화 공용 UDP 포트 공간을 줄이고 안정적인 주소와 포트를 확보함으로써, OpenAI는 동일한 릴레이 패턴을 전 세계적으로 배포할 수 있었습니다. '글로벌 릴레이(Global Relay)'는 지리적으로 분산된 릴레이 인그레스 포인트로, 사용자와 가장 가까운 릴레이를 통해 트래픽이 OpenAI 네트워크로 진입하도록 하여 첫 홉 지연 시간을 단축합니다. 이는 지연 시간, 지터, 패킷 손실을 줄이는 효과를 가져옵니다. 시그널링은 Cloudflare의 지리적 라우팅을 사용하여 사용자에게 가까운 트랜시버 클러스터로 연결됩니다. 릴레이 서비스는 Go 언어로 구현되었으며, 프로토콜 종료 없이 STUN 헤더만 파싱하고 캐시된 상태를 활용하여 효율성을 극대화했습니다. SO_REUSEPORT, runtime.LockOSThread와 같은 Linux 소켓 옵션 및 Go 런타임 최적화를 통해 높은 패킷 처리율을 달성하면서도 커널 바이패스 프레임워크와 같은 복잡한 솔루션 없이도 대규모 트래픽을 처리할 수 있었습니다. ### 가치와 인사이트 OpenAI의 이번 아키텍처 공개는 대규모 실시간 AI 서비스를 구축하는 개발자 및 IT 전문가에게 여러 중요한 시사점을 제공합니다. 첫째, 표준 WebRTC를 유지하면서도 백엔드 인프라의 확장성 및 관리 용이성을 확보하는 방법을 보여줍니다. 특히 Kubernetes와 같은 컨테이너 오케스트레이션 환경에서 실시간 미디어 트래픽을 효율적으로 처리하는 구체적인 해결책을 제시합니다. 둘째, '릴레이 + 트랜시버' 분리 모델은 복잡한 세션 상태 관리를 한 곳에 집중시키고, 라우팅 계층을 얇고 효율적으로 유지함으로써 전체 시스템의 안정성과 성능을 향상시킵니다. 셋째, ICE ufrag와 같은 프로토콜 내장 정보를 활용한 '첫 패킷 라우팅' 기법은 외부 의존성 없이 빠르고 결정적인 라우팅을 가능하게 하여, 실시간 시스템 설계 시 유사한 접근 방식을 고려할 수 있게 합니다. 이는 궁극적으로 개발자들이 더욱 자연스럽고 몰입감 있는 음성 AI 경험을 사용자에게 제공할 수 있는 기반을 마련합니다. ### 기술·메타 - WebRTC - Kubernetes - Go - Pion (Go WebRTC 구현 라이브러리) - STUN (Session Traversal Utilities for NAT) - ICE (Interactive Connectivity Establishment) - DTLS (Datagram Transport Layer Security) - SRTP (Secure Real-time Transport Protocol) - Redis - Cloudflare (Geo-steering) ### 향후 전망 OpenAI의 저지연 음성 AI 아키텍처는 실시간 AI 서비스의 미래를 형성하는 중요한 이정표가 될 것입니다. 향후에는 이러한 아키텍처가 더욱 복잡한 다자간 상호작용, 즉 여러 AI 에이전트나 사용자가 동시에 참여하는 시나리오로 확장될 가능성이 있습니다. 또한, 모델의 복잡성이 증가하고 처리해야 할 오디오 데이터의 양이 늘어남에 따라, 현재의 저지연성을 유지하기 위한 새로운 최적화 기법이나 하드웨어 가속 기술의 도입이 활발해질 것으로 예상됩니다. 경쟁 측면에서는 다른 대규모 AI 서비스 제공업체들도 유사한 문제를 해결하기 위해 자체적인 WebRTC 인프라 최적화에 나설 것이며, 이는 관련 기술의 발전과 오픈소스 커뮤니티의 기여를 촉진할 것입니다. 궁극적으로 이러한 발전은 음성 AI가 단순한 도구를 넘어 인간의 대화와 거의 구별할 수 없는 수준으로 진화하는 데 기여할 것입니다. 📝 원문 및 참고 - Source: Hacker News - 토론(HN): [news.ycombinator.com](https://news.ycombinator.com/item?id=48013919) - 원문: [링크 열기](https://openai.com/index/delivering-low-latency-voice-ai-at-scale/) --- 출처: Hacker News · [원문 링크](https://openai.com/index/delivering-low-latency-voice-ai-at-scale/)
사이트 방문하기Visit Service

댓글 0

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.