스크립트
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그럼 다음 영상에서 뵙겠습니다.