카카오/멀티모달 AI

3 개의 포스트

kakao4분 읽기큐레이션 요약

음성 AI 모델을 프로덕션에 올리기까지: Kanana-O 서빙 최적화 여정

Kanana-O를 실시간 음성 대화 서비스로 제공하려면 모델 학습과는 별개의 서빙 최적화가 필요하다. 카카오는 Thinker·Talker·VoiceBox로 구성된 파이프라인에 특화된 Kanana-Omni Server를 구축해 임베딩 전달, 스트리밍 지연, 프로세스 안정성, 동시 요청 처리 문제를 해결했다. 그 결과 동시 사용자 64명 기준으로 vllm-omni 대비 상대 처리량 1.6배를 달성했다. ## Kanana-O의 멀티모달 음성 생성 구조 - **Thinker**는 텍스트·이미지·오디오 입력을 이해하고 텍스트를 생성하는 대형 언어 모델이다. - **Talker**는 Thinker의 텍스트 임베딩을 받아 음성 토큰을 순차적으로 생성한다. - **VoiceBox**는 음성 토큰을 실제 오디오 파형으로 변환한다. - 프로덕션 환경에서는 다음 조건을 동시에 만족해야 한다. - 수백 밀리초 안에 첫 음성을 제공해야 한다. - 여러 사용자의 요청을 동시에 처리해야 한다. - 텍스트와 오디오를 끊김 없이 스트리밍해야 한다. - 각 모델의 GPU 메모리 요구량 차이를 관리해야 한다. ## 범용 멀티모달 서빙 프레임워크의 한계 - Thinker가 Talker에 전달하는 값은 토큰 ID가 아니라 수천 차원의 **히든 스테이트 임베딩**이다. - 임베딩을 직렬화하거나 CPU로 복사하면 지연이 커지므로 GPU 메모리 주소를 직접 공유하는 zero-copy 방식이 필요했다. - Talker는 매 스텝 음성 토큰을 생성하지만 VoiceBox는 일정량의 토큰이 쌓인 뒤 청크 단위로 소비한다. - Talker의 입력에는 다음 값이 누적된다. - 화자 특성을 나타내는 스피커 임베딩 - Thinker의 출력 임베딩 - 이전 스텝에서 생성한 음성 임베딩 - 이처럼 생산자와 소비자의 속도가 다르고 입력 길이가 계속 증가하는 구조는 일반적인 LLM 서빙 패턴과 맞지 않았다. - 자체 서버를 구축한 결과 상대 처리량은 다음과 같았다. - naive 구현: 0.44 - vllm-omni: 1 - Kanana-Omni Server: 1.6 ## 공유 메모리와 CUDA IPC를 활용한 데이터 전달 - 프로세스 간 임베딩 전달을 매번 직렬화·역직렬화하면 토큰마다 큰 오버헤드가 발생한다. - 서버 시작 시 OS 레벨에서 공유 메모리 블록을 미리 할당해 런타임 할당·해제를 제거했다. - Thinker는 공유 메모리 풀의 블록에 데이터를 쓰고, Talker에는 실제 데이터 대신 블록 번호와 크기 같은 메타데이터만 전달한다. - 같은 노드의 GPU 간 텐서 전달에는 **CUDA IPC**를 사용했다. - GPU 텐서를 CPU로 내렸다가 다시 GPU로 올리는 `Device → Host → Device` 복사를 제거해 컴포넌트 간 통신 지연을 줄였다. ## Cascaded Streaming Pipeline - Thinker가 전체 텍스트를 생성한 뒤 Talker를 실행하는 순차 방식은 첫 음성 응답까지 수 초가 걸릴 수 있다. - 세 컴포넌트를 비동기 태스크와 큐로 연결해 파이프라인을 겹쳐 실행했다. - Thinker가 첫 청크를 생성하면 Talker는 즉시 음성 토큰 생성을 시작한다. - Talker가 앞선 토큰을 생성하는 동안 VoiceBox는 이전 토큰 청크를 오디오로 합성한다. - 각 단계가 동시에 진행되므로 전체 처리 시간보다 첫 음성까지의 체감 지연을 크게 줄일 수 있다. ## 프로세스 분리와 장애 격리 - Thinker와 Talker는 각각 독립적인 vLLM 엔진으로 실행된다. - 하나의 프로세스에서 두 엔진을 구동하면 CUDA 컨텍스트 충돌이나 GPU 메모리 관리 간섭이 발생할 수 있다. - 따라서 두 모델을 별도 프로세스로 분리하고 각자의 CUDA 컨텍스트에서 실행했다. - 프로세스 생성에는 `fork` 대신 `spawn`을 사용했다. - `fork`: 부모의 CUDA 상태와 메모리를 복제해 충돌 위험이 있다. - `spawn`: 깨끗한 Python 인터프리터에서 시작해 GPU 상태 오염을 줄인다. - Thinker가 OOM으로 종료되더라도 Talker와 API 서버까지 함께 영향을 받지 않아 독립적인 재시작과 장애 대응이 가능하다. ## vLLM continuous batching을 이용한 동시 처리 - 요청마다 이미지·오디오 입력 크기와 누적 임베딩 길이가 달라 직접 배치를 구성하기 어렵다. - 수동 배칭은 padding 낭비와 복잡한 동기화 문제를 유발한다. - Kanana-Omni Server는 배치 구성을 vLLM의 **continuous batching 스케줄러**에 위임했다. - 서버는 요청을 비동기로 빠르게 엔진에 제출하고, vLLM이 GPU 메모리와 요청 상태를 고려해 forward pass를 묶는다. - 각 요청은 `request_id`로 결과를 구분하므로 여러 요청이 하나의 배치에서 처리돼도 개별 응답을 독립적으로 스트리밍할 수 있다. - 내부 루프는 요청을 받자마자 `asyncio.create_task(generate(...))`로 실행해 다음 요청을 즉시 수락한다. ## FastAPI `workers=1`과 비동기 처리 - 일반적인 FastAPI 서버처럼 여러 워커를 실행하면 각 워커가 vLLM 모델을 별도로 로드한다. - 그 결과 GPU 메모리 사용량과 모델 로딩 시간이 워커 수만큼 증가해 멀티워커 구성이 현실적으로 어렵다. - 모델별 서버를 따로 두면 워커 확장은 가능하지만, Thinker와 Talker 사이의 임베딩이 네트워크를 거쳐 zero-copy 이점을 잃게 된다. - 따라서 API 서버는 `workers=1`로 운영하고, 단일 이벤트 루프가 블로킹되지 않도록 요청부터 오디오 생성까지 전체 경로를 `async/await`로 구성했다. - 단일 워커 환경에서는 동기 작업 하나가 모든 사용자의 처리를 막을 수 있으므로, 끝에서 끝까지 비동기 설계가 필수다. 실시간 멀티모달 모델을 서비스할 때는 모델 자체보다 모델 간 데이터 이동, 스트리밍 타이밍, GPU 메모리 관리, 장애 격리가 성능을 좌우한다. 특히 모델 간 임베딩 전달이 빈번하다면 공유 메모리와 CUDA IPC를 검토하고, 긴 생성 파이프라인은 비동기 스트리밍과 continuous batching으로 구성하는 것이 효과적이다.

원문 읽기(새 탭에서 열림)
kakao3분 읽기큐레이션 요약

카나나 스칼라 1회 세미나 현장 스케치

카카오의 ‘카나나 스칼라’ 1회 세미나는 카나나 파운데이션 모델의 기술 성과와 향후 AI 전략을 학계와 공유한 자리였다. 카카오는 적은 학습 토큰으로 높은 성능을 달성한 효율성과 한국어·다중모달 처리 능력을 강조했으며, 기술 주권과 서비스 최적화를 위해 자체 모델 개발을 지속하겠다는 방향을 밝혔다. 또한 초개인화 에이전트, 디지털 월드모델, 실전형 실행 능력, 산학 협력을 중심으로 AI 생태계를 확장할 계획을 제시했다. ## 카나나 파운데이션 모델의 성과 - 카카오는 외부 모델을 활용하는 대신, 처음부터 직접 개발하는 ‘카나나’ 파운데이션 모델 라인업을 구축하고 있다. - 유사한 규모의 글로벌 모델이 23조 개의 학습 토큰을 사용한 데 비해, 카나나는 약 11조 개의 토큰만으로도 뛰어난 성능을 달성했다고 설명했다. - 이는 학습 데이터의 정제 수준과 품질이 모델 효율성에 크게 기여했다는 의미로 소개됐다. - 텍스트와 이미지뿐 아니라 오디오까지 실시간 처리하는 옴니 모델 **Kanana-o**도 시연했다. - Kanana-o는 감정을 담은 음성 표현과 다화자 대화 처리를 선보였으며, 현장에서는 한국어 구사 능력이 뛰어나다는 평가를 받았다. ## 자체 모델 개발과 기술 주권 - 외부 AI 모델에 의존할 경우 라이선스 정책 변경이나 기술 공개 제한 등 외부 변수에 영향을 받을 수 있다. - 카카오는 독자 모델을 통해 서비스 환경에 맞는 고효율·맞춤형 AI를 운영하고, 실질적인 비즈니스 성과를 창출하려 한다. - 교수진은 한국의 문화적 맥락과 사회적 이슈를 독자적으로 통제하려면 자체 모델이 필요하다고 평가했다. - 독자적인 모델 역량은 서비스 안정성과 기술 주권을 확보하는 전략적 자산으로 논의됐다. ## 디지털 월드모델과 초개인화 에이전트 - 카카오는 카카오톡 플랫폼에서 발생하는 사용자의 행동과 대화 맥락을 이해하는 ‘상황 이해 지능’에 주목하고 있다. - 온디바이스 기술을 활용하면 대화 내용이 외부로 유출되지 않도록 보호하면서도 사용자의 요청을 즉시 처리할 수 있다. - 이를 바탕으로 사용자의 일상과 맥락에 맞춰 행동하는 초개인화 에이전트를 구현하려 한다. - 교수진은 디지털 월드모델을 로봇이나 물리적 환경에만 한정하지 말고, 플랫폼 내 상호작용과 인과관계를 예측하는 모델로 확장하자고 제안했다. - 카카오톡의 방대한 서비스·사용자 상호작용은 카카오만의 차별화된 디지털 월드모델을 구축할 기반으로 평가됐다. ## 생성 능력보다 중요한 실전형 실행력 - 카카오는 단순히 문장을 생성하는 능력보다, AI가 작업을 계획하고 필요한 기능을 호출해 최종 과업을 완료하는 능력을 중시한다. - 자체 ‘오케스트레이션 벤치마크’를 개발해 복합적인 실제 문제 해결 능력을 평가할 계획이다. - 이는 여러 단계의 추론과 도구 사용이 필요한 서비스 환경에서 AI의 실질적인 유용성을 검증하기 위한 접근이다. - 교수진은 사용자가 느끼는 지능은 벤치마크 점수보다 복잡한 요구를 끝까지 해결하는 능력에서 드러난다고 강조했다. - 글로벌 모델과 단순 생성 품질 경쟁을 하기보다, 카카오 서비스 안에서의 실행력에 집중하는 전략이 효과적일 수 있다는 의견이 제시됐다. ## 학계와 산업계의 AI 인재 협력 - 카카오는 세미나를 계기로 대학 연구실과 학부 AI 동아리에 GPU 자원을 지원하는 방안을 검토하고 있다. - 지원 방식으로는 GPU 크레딧 제공이나 공동 과제 형태 등이 논의됐다. - 이러한 협력은 연구자와 학생들이 실제 AI 모델 개발과 실험을 수행할 수 있도록 돕고, 국내 AI 인재 생태계를 강화하는 데 목적이 있다. - 카나나 스칼라는 기술 논의뿐 아니라 지속적인 산학 협력의 출발점으로 추진될 예정이다. 카카오는 카나나를 단순한 대규모 언어 모델이 아니라, 한국어와 국내 서비스 맥락을 이해하고 실제 작업까지 수행하는 플랫폼형 AI로 발전시키려 한다. 향후에는 모델 성능 자체보다 개인정보 보호, 카카오 서비스와의 결합도, 복합 과업 실행력, 그리고 산학 협력을 통한 생태계 확장이 중요한 경쟁력이 될 것으로 보인다.

원문 읽기(새 탭에서 열림)
kakao원문

“생각하고 답변하는” 카카오의 하이브리드 멀티모달 언어모델, Kanana-v-4b-hybrid 개발기 (새 탭에서 열림)

카카오가 개발한 'Kanana-v-4b-hybrid'는 단순한 이미지 인식을 넘어 논리적 추론과 자기 점검 기능을 갖춘 하이브리드 멀티모달 언어모델입니다. 이 모델은 단일 시스템 내에서 일상적인 대화와 복잡한 시각적 추론을 동시에 수행하며, 특히 한국어 특유의 섬세한 제약 조건을 정확히 이해하고 처리하는 데 최적화되어 있습니다. 이를 통해 한국어 기반의 검정고시 및 수능 문항 평가인 KoNET에서 92.8점이라는 높은 성적을 거두며 한국형 AI의 새로운 가능성을 입증했습니다. ### 하이브리드 대응을 위한 단일 모델 구조 * 직관적 응답이 필요한 일반 대화와 논리적 단계가 필요한 추론 모델을 분리하지 않고 하나의 모델로 통합했습니다. * 별도의 라우팅(Routing) 시스템 없이도 한 대화 세션 내에서 시시각각 변하는 질의 성격에 유연하게 대응할 수 있습니다. * 모델 통합을 통해 응답 톤, 포맷, 안전 정책의 일관성을 유지하며, 시스템 운영 복잡도와 유지보수 비용을 획기적으로 낮췄습니다. ### 검증 가능한 결론을 도출하는 시각적 추론 * 이미지를 단순히 설명하는 수준을 넘어, 이미지 내 정보를 종합하고 조건을 적용하여 결론을 도출하는 '시각적 추론'에 집중했습니다. * 모델 스스로 정보 종합, 추론 전개, 결과 검증, 최종 답변의 단계를 거치도록 설계되어 답변의 근거가 명확합니다. * 영수증 검산, 표 기반 조건 필터링, 이미지 기반 수학 문제 풀이 등 단순 OCR로는 해결하기 어려운 복잡한 과제에서 높은 정확도를 보여줍니다. ### 신뢰도를 높이는 자기 점검(Reflection) 메커니즘 * 자신의 추론 과정을 스스로 재검토하여 모순이나 실수 가능성을 찾아내는 자기 점검 기능을 탑재했습니다. * 복잡한 멀티모달 질의에서 발생하기 쉬운 조건 누락이나 사소한 계산 실수를 스스로 발견하고 수정하는 패턴을 보입니다. * 이러한 '자기 수정' 과정은 모델의 단순한 정확성을 넘어, 사용자가 AI의 답변을 믿고 사용할 수 있게 만드는 핵심적인 신뢰 요인이 됩니다. ### 한국어 직관을 보존하는 로컬 추론 프로세스 * '~만 제외하고', '단, ~인 경우에만'과 같은 한국어 특유의 복잡한 예외 및 조건부 표현을 번역 없이 한국어 그대로 사고합니다. * 영문 추론 과정에서 발생할 수 있는 의미 왜곡이나 정보 누락을 방지하여 한국어 질의의 의도를 끝까지 유지합니다. * 이미지 속 한국어 텍스트 정보를 다른 언어로 변환하지 않고 직접 처리함으로써 정보의 손실 없는 논리 전개가 가능합니다. Kanana-v-4b-hybrid는 높은 기술적 완성도를 바탕으로 실제 서비스 환경에서 비용 효율성과 정확성을 동시에 잡으려는 환경에 적합합니다. 특히 한국어 환경에서의 정밀한 업무 보조나 교육용 AI 솔루션처럼 정답의 신뢰도가 중요한 분야에서 이 모델의 하이브리드 추론 능력은 강력한 경쟁력이 될 것입니다.