누군가 오디오용 Ollama를 만들었습니다… 게다가 로컬에서 실행됩니다

BBetter Stack
컴퓨터/소프트웨어가전제품/카메라AI/미래기술

스크립트

00:00:00누군가 챗봇을 위한 Llama CPP가 해낸 일을 오디오 분야에서도 조용히 해내려 하고 있습니다.
00:00:05모든 모델을 내 컴퓨터에서 직접 실행하는 거죠.
00:00:08실행파일 하나면 되고 파이썬은 전혀 필요 없습니다.
00:00:10바로 Audio CPP가 그 일을 해내고 있습니다.
00:00:13출시된 지 한 달밖에 안 되었고 아직 가끔 충돌이 일어나긴 하지만,
00:00:17앞으로 이 분야가 나아갈 방향을 보여주는 것일지도 모릅니다.
00:00:20한번 살펴보죠.
00:00:26자, 몇 년 전으로 거슬러 올라가 보겠습니다.
00:00:28로컬에서 AI 모델을 실행하는 것은 예전에 정말 골치 아픈 일이었습니다.
00:00:32모델마다 새로운 환경을 구축해야 하고 PyTorch 버전은 충돌 나고 CUDA는 맞지 않기 일쑤였죠.
00:00:37그러다 GGML이라는 가벼운 C++ 라이브러리가 등장했습니다.
00:00:41Llama CPP와 Whisper CPP의 기반이 되는 엔진인데요,
00:00:44순식간에 언어 모델을 구동하거나 한 시간 분량의 오디오를 단일 네이티브 실행파일로 변환할 수 있게 되었습니다.
00:00:51파이썬도 필요 없고 클라우드도 필요 없습니다.
00:00:52그저 빠르고 로컬에서 깔끔하게 해결되었죠.
00:00:55하지만 아무도 채우지 못한 빈틈이 있었습니다.
00:00:56Whisper CPP는 듣기만 할 수 있었습니다.
00:00:59음성을 넣으면 텍스트가 나오는 것으로 끝이었죠.
00:01:01말로 대답할 수는 없었습니다.
00:01:02목소리를 복제할 수도 없었고요.
00:01:04애초에 존재하지 않던 소리를 만들어낼 수는 없었습니다.
00:01:06그래서 이 프로젝트, Audio CPP는 모두가 놓치고 있던 당연한 질문을 던졌습니다.
00:01:11파일 하나로 이 모든 작업을 다 할 수 있다면 어떨까요?
00:01:13텍스트 음성 변환, 음성 텍스트 변환, 목소리 복제, 음성 변환부터,
00:01:17누가 말하는지 식별하고 심지어 음악을 생성하는 것까지 말입니다.
00:01:21대략 30개의 모델 패밀리와 하나의 런타임이 이 안에 모두 담겨 있습니다.
00:01:25작업 속도를 높여주는 코딩 도구를 좋아하신다면 구독해 주시기 바랍니다.
00:01:28유용한 영상들이 계속 업로드되니까요.
00:01:30자, 직접 보여드리는 편이 이해하기 쉬울 겁니다.
00:01:32제 목소리가 담긴 10초짜리 클립이 있습니다.
00:01:35그 참조 음성을 그대로 Audio CPP에 전달합니다.
00:01:38파이썬 런타임 없이 GGML 위에서 순수 C++ 인퍼런스가 작동합니다.
00:01:43컴퓨터 밖으로 유출되는 데이터는 실제로 전혀 없습니다.
00:01:46방금 지어낸 문장을 직접 입력해 보겠습니다.
00:01:48맥북에서 Audio CPP에 대해 이야기하고 있는 제 모습입니다.
00:01:51날씨가 참 화창하네요.
00:01:53방금 들으신 건 불과 몇 초 전에는 존재하지도 않던 문장을 제 목소리로 복제해 읽어준 것입니다,
00:01:58Metal 백엔드를 이용해 온전히 제 맥에서 실행된 결과죠.
00:02:01외부로 나가는 데이터는 전혀 없습니다.
00:02:03일관성이 얼마나 유지되는지, 혹은 어디서 어설퍼지는지 들으실 수 있도록 입력값을 바꿔 하나 더 해보죠.
00:02:07로컬 음성 생성을 위한 또 다른 AI 목소리 테스트입니다.
00:02:11이렇게 잘 작동합니다.
00:02:12여기서 중요한 팁을 드리자면, 일부러 지금 실시간으로 시간을 재고 있다는 점입니다.
00:02:15이 프로젝트가 자랑하는 속도 수치들은 전부 맥이 아니라 NVIDIA 5090에서 측정된 것입니다.
00:02:22이 점을 기억해 두시면 잠시 뒤에 다시 짚어보겠습니다.
00:02:24그렇다면 이걸 대체 어떻게 구현해 낸 걸까요?
00:02:26기본적으로는 GGML이 그 복잡한 연산을 처리합니다.
00:02:30원하는 백엔드로 교체해서 쓸 수도 있죠.
00:02:31일반 CPU, NVIDIA, Vulkan, 그리고 애플 실리콘용 Metal까지 지원합니다.
00:02:35명령어 플래그를 통해 제어할 수 있습니다.
00:02:37작업을 고르고, 모델 패밀리를 고르고, 백엔드를 선택하면 됩니다.
00:02:40간단하게 실행할 수 있는 명령줄 도구도 마련되어 있습니다.
00:02:42그리고 꽤 영리한 부분이라고 할 수 있는 기능이 있습니다.
00:02:45오픈에이아이의 오디오 엔드포인트와 완전히 동일한 API를 지원하는 서버 모드인데요.
00:02:50클라우드를 위해 이미 작성해 둔 코드를 그대로 로컬호스트로 향하게만 하면 구조는 똑같으면서
00:02:56비용 청구서만 안 오게 되는 겁니다.
00:02:57자, 여기서 이 프로젝트가 차지하는 위치가 정말 매력적인 이유가 있습니다.
00:03:00Whisper CPP는 듣기만 할 수 있고.
00:03:03Ollama와 Llamacpp는 텍스트를 다루는 두뇌일 뿐이며.
00:03:06오디오 전용은 아니죠.
00:03:07Koki나 Piper는 말하기만 가능합니다.
00:03:10Ffmpeg는 오디오를 여기저기 옮겨 담을 뿐 신경망 모델을 직접 실행하지는 못하죠.
00:03:16하지만 CPP는 그 정중앙에 서서 이 모든 것들을 압도하려 합니다.
00:03:20다른 컴퓨터로 복사해서 바로 실행할 수 있는 단 하나의 정적 파일 안에 말이죠.
00:03:23다만 한 가지 주의할 점이 있습니다.
00:03:24일부 모델에 MLX 레이블이 붙어 있긴 하지만 실제로 애플의 MLX를 사용하는 것은 아닙니다.
00:03:30Metal 백엔드 위에서 돌아가는 순수 GGML일 뿐입니다.
00:03:33좋습니다.
00:03:33아직 칭찬만 하기에는 너무 이른 단계이니, 아직 별로 좋지 않은 부분들을 짚어보겠습니다.
00:03:38아직 초기 단계죠.
00:03:38여전히 이르고요.
00:03:39먼저, 그 대단한 성능 수치들 말입니다.
00:03:4110시간 분량의 오디오를 3분 만에 처리하고 PyTorch보다 5배 빠르다는 이야기요.
00:03:45그 기록들은 전부 5090 기준으로 측정된 것입니다.
00:03:46아직 애플 실리콘 환경에서의 공식 측정치는 하나도 올라와 있지 않습니다.
00:03:50단순히 상태 문서만 읽지 않고 지금 직접 테스트해 본 진짜 이유가 바로 이것입니다.
00:03:54.
00:03:55다음으로, 바로 다운로드해서 쓸 수 있는 빌드 파일이 마땅히 없습니다.
00:03:58미리 빌드되어 제공되는 버전은 윈도우용뿐입니다.
00:04:00맥에서는 Metal 빌드 스크립트와 Xcode 도구를 이용해 직접 빌드해야 합니다.
00:04:05불가능한 건 아닙니다.
00:04:06다만 시간이 꽤 걸리죠.
00:04:07클릭 한 번으로 끝나는 건 아닙니다.
00:04:09그리고 '파이썬 없음'이라는 약속은 실행할 때는 맞습니다.
00:04:12하지만 모델을 다운로드하고 변환할 때는 여전히 파이썬 도우미 스크립트에 의존해야 해서
00:04:16완벽하진 않습니다.
00:04:17마지막으로, 이 프로젝트는 기본적으로 1인 개발 형태입니다.
00:04:19현재 소수의 사람들이 매우 초기 버전을 사용 중이며, 이슈 트래커에는
00:04:24실제 프로그램 다운, 메모리 누수, 그리고 로봇처럼 들리는 일부 모델 관련 문제들이 가득합니다.
00:04:28매우 빠르게 진화하는 실험적 단계이므로 그에 맞춰 대해야 합니다.
00:04:32그렇다면 과연 누가 이걸 써야 할까요?
00:04:34아직 아주 초기 단계잖아요?
00:04:35따라서 로컬 AI를 좋아하고, 소스 코드를 직접 컴파일하는 것에 거부감이 없으며 출력을 직접 테스트해 볼 분들이라면
00:04:41정말 흥미로운 도구이고 라이선스도 깔끔합니다
00:04:44Apache 2.0 라이선스죠.
00:04:45깃허브에서는 라이선스가 없다고 표시되지만 파일을 열어보면.
00:04:47분명한 Apache 라이선스입니다.
00:04:48감지 시스템이 저작권 문구 쪽에서 오류를 일으킨 모양입니다.
00:04:51따라서 이걸 기반으로 합법적인 제품을 만드는 것은 가능하지만, 당장 상용화할 수 있는 아주 견고한 무언가가 필요하다면
00:04:56일단 문제들이 해결될 때까지 조금 기다리는 것이 좋겠죠?
00:04:59아직 완벽하진 않으니까요.
00:05:00하지만 한 발짝 물러서서 크게 바라보세요.
00:05:02Lama CPP가 처음부터 완벽한 버전으로 출시되었기 때문에 모든 걸 바꾼 것은 아닙니다.
00:05:06전혀 아니었죠.
00:05:07복잡하고 어지러운 파이썬 생태계를 단 하나의 빠르고 가벼운 로컬 실행파일로 탈바꿈시켰기 때문에 모든 걸 바꿀 수 있었습니다.
00:05:12로컬 바이너리 말입니다.
00:05:13그리고 전체 생태계가 그 위에 자연스럽게 올라탔습니다.
00:05:16Audio CPP도 소리를 대상으로 정확히 똑같은 도전을 하고 있습니다.
00:05:20수십 개의 취약한 파이썬 설정들로 흩어져 있던 로컬 오디오 AI가 사용자가 소유한 단 하나의 실행파일로 집약되는 것이죠.
00:05:26실행파일이 아직 거칠고 투박할지라도, 우리가 지금 목격하고 있는 변화의 흐름이 바로 그것입니다.
00:05:31관련 링크들은 아래 더보기란에 남겨두었습니다.
00:05:33한번 방문해서 확인해 보세요.
00:05:34설정하는 데 약간의 시간이 걸리겠지만 그럴 만한 가치가 있을지도 모릅니다.
00:05:37이와 같은 코딩 팁과 정보가 흥미로우셨다면 BetterStack 채널 구독을 꼭 부탁드립니다.
00:05:41그럼 다음 영상에서 뵙겠습니다.

핵심 요약

Audio CPP는 수십 개의 파이썬 기반 오디오 AI 모델을 단일 네이티브 C++ 실행파일로 통합하여 클라우드 없이 로컬 환경에서 구동하게 만든다.

하이라이트

  • Audio CPP는 파이썬 런타임 없이 30여 개의 오디오 모델 패밀리와 단일 런타임을 로컬에서 구동한다.

  • Whisper CPP와 달리 음성 텍스트 변환뿐만 아니라 텍스트 음성 변환, 목소리 복제, 음악 생성 기능을 모두 지원한다.

  • 프로젝트가 제시한 성능 수치는 맥이 아닌 NVIDIA 5090 환경에서 측정된 결과다.

  • 맥 환경에서는 미리 빌드된 파일이 없어 Metal 빌드 스크립트와 Xcode를 통해 직접 빌드해야 한다.

  • 모델을 다운로드하고 변환하는 과정에서는 여전히 파이썬 도우미 스크립트를 사용한다.

타임라인

오디오 AI를 위한 로컬 런타임 등장

  • Audio CPP는 파이썬 없이 단일 실행파일로 로컬에서 오디오 모델을 실행한다.
  • 기존의 Whisper CPP와 달리 음성 인식뿐만 아니라 목소리 복제와 음성 생성까지 지원한다.
  • 약 30개의 모델 패밀리가 하나의 런타임 안에 담겨 있다.

과거 로컬 AI 구동은 복잡한 환경 설정과 버전 충돌 문제를 동반했다. GGML 라이브러리를 기반으로 한 Llama CPP가 텍스트 분야에서 이를 해결한 것처럼, Audio CPP는 오디오 영역에서 동일한 목표를 추구한다. 하나의 파일로 텍스트 음성 변환, 음성 텍스트 변환, 목소리 복제, 화자 식별, 음악 생성까지 처리할 수 있다.

백엔드 지원과 API 서버 모드

  • Metal 백엔드를 통해 맥북 환경에서도 참조 음성을 이용한 실시간 음성 생성이 가능하다.
  • 일반 CPU, NVIDIA, Vulkan, 애플 실리콘용 Metal 백엔드를 명령어 플래그로 선택할 수 있다.
  • 오픈에이아이 오디오 엔드포인트와 동일한 API를 지원하는 서버 모드를 제공한다.

실행 과정에서 데이터는 외부로 전혀 유출되지 않고 로컬 기기 내에서 처리된다. 명령어 플래그를 통해 작업, 모델 패밀리, 백엔드를 직접 제어할 수 있다. 클라우드용으로 작성된 코드를 로컬호스트로 향하게 변경하는 것만으로 비용 발생 없이 동일한 구조를 활용할 수 있다.

초기 단계의 한계와 과제

  • 공개된 성능 수치는 NVIDIA 5090 기준이며 애플 실리콘 환경에서의 공식 측정치는 아직 없다.
  • 윈도우 외의 운영체제에서는 직접 빌드 과정을 거쳐야 한다.
  • 모델 다운로드와 변환 과정에는 여전히 파이썬 도우미 스크립트가 필요하다.

현재 1인 개발 형태의 초기 실험적 단계에 머물러 있어 다운 현상이나 메모리 누수 등의 이슈가 존재한다. 아파치 2.0 라이선스를 따르지만 상용화 단계의 안정성을 확보하기 위해서는 추가적인 문제 해결이 필요하다. 파이썬 생태계를 하나의 로컬 실행파일로 집약하려는 시도 자체에 의의가 있다.

커뮤니티 글

모든 글 보기