[00:00]
좋습니다. OpenAI가 Whisper를 출시한 지 2년 반이 넘었는데요
[00:03]
이후로
[00:04]
OpenAI가 음성-텍스트 변환 모델인 Whisper를 소개했습니다. 이 모델은
[00:07]
훌륭했고, 가중치가 공개된 마지막 주요 모델이었습니다
[00:10]
정말 뛰어났고 일종의
[00:12]
가중치가 공개된 마지막 주요 모델이었습니다
[00:16]
지난 2년 동안 몇 차례 업데이트했지만
[00:18]
지난 2년간 몇 번 업데이트했지만
[00:20]
최신 버전의 음성-텍스트 모델이나
[00:23]
음성-텍스트 변환 또는
[00:26]
텍스트-음성 변환 등의 최신 버전은 공개하지 않았습니다. 그래서
[00:28]
이것이 확실히 ASR(자동 음성 인식)의 표준이 되었고
[00:31]
많은 사람들이 사용해 왔습니다. 그리고
[00:34]
대부분의 사람들이 아마도
[00:36]
OpenAI가 출시한 정확한 버전을 사용하지는 않았지만
[00:39]
사람들은 Hugging Face의 Distil-Whisper를 사용하거나
[00:41]
Hugging Face의 Distil-Whisper를 사용하거나
[00:44]
심지어 저 같은 경우는
[00:46]
MLX 버전의 모델을 사용해서
[00:49]
맥에서 완전히 로컬로 실행할 수 있게 했습니다. 자,
[00:52]
우리가 OpenAI의 새로운 무언가를 기다리는 동안
[00:54]
전혀 예상치 못하게
[00:57]
NVIDIA가 조용히 Parakeet이라는 모델의
[00:59]
가중치를 공개했습니다. 사실
[01:02]
Parakeet 모델은 새로운 것이 아닙니다
[01:04]
원래 버전은 작년에 나왔지만
[01:06]
여전히 상당히 큰 규모였고
[01:08]
아마도 모든 사람들이 기대했던
[01:11]
Whisper를 능가하는 모델은 아니었습니다
[01:13]
지난주에 그들은 Parakeet 버전 2를 출시했습니다
[01:16]
이제 이것은 훨씬 작은 모델입니다. 단지 60억 또는
[01:18]
훨씬 작은 모델로, 60억 또는
[01:21]
6억 개의 파라미터만 가지고 있습니다. 그리고
[01:24]
완전 자동 음성 인식을 할 수 있을 뿐만 아니라
[01:27]
정확한 단어 수준의 타임스탬프 같은 것도
[01:29]
정확한 단어 수준의 타임스탬프를 제공하고
[01:31]
구두점, 대문자화 등 다양한 기능을 예측할 수 있습니다
[01:34]
구두점, 대문자화, 다양한 기능을 갖추고 있습니다
[01:36]
그리고 단어 오류율이 실제로
[01:38]
Whisper보다 더 좋은 것으로 밝혀졌습니다. 그런데
[01:41]
유일한 단점은 영어만 지원한다는 것입니다
[01:44]
최소한 현재 출시된 버전은
[01:46]
다국어 버전이 아닙니다. 그래서
[01:48]
다국어가 필요하다면
[01:51]
다국어가 필요하다면
[01:52]
Whisper가 여전히 좋은 선택일 겁니다
[01:55]
하지만 영어 녹음을 정말 빠르게 전사하고 싶다면
[01:58]
영어 녹음을 빠르게 전사하고 싶다면
[02:00]
Parakeet을 꼭 확인해 보세요
[02:02]
이미 Hugging Face에 올라와 있습니다. 잠시 후에
[02:04]
코드를 살펴보겠습니다. 이 모델은
[02:06]
상업적 사용까지 허용하는 라이선스로
[02:08]
상업적 사용이 가능한 라이선스로 제공되며
[02:11]
Hugging Face에 실제 모델을 올린 것 외에도
[02:13]
Hugging Face에 모델을 올린 것 외에도
[02:17]
NVIDIA는 또한 Hugging Face Spaces를 출시했는데
[02:19]
여기서 직접 사용해 볼 수 있습니다
[02:21]
그냥 샘플 중 하나를 선택해서
[02:24]
제공된 샘플 중 하나를 선택하고
[02:26]
전사할 수 있습니다
[02:29]
놀랍게도, 이에 대한 블로그 포스트나
[02:31]
출시에 대한 자세한 정보가 없는 것 같습니다
[02:34]
특히 이것이 실제로
[02:37]
NVIDIA의 상당히 중요한 출시인 것 같은데
[02:38]
NVIDIA에서 나온 상당히 중요한 출시인 것 같고
[02:40]
많은 사람들이 실제로 이를 좋아할 것 같고
[02:43]
많은 사람들이 이것을 사용하여
[02:44]
전사 등에 사용할 수 있어 좋아할 것 같습니다
[02:47]
논문을 살펴보면
[02:49]
이와 관련된 두 개의 논문이 있는데
[02:50]
실제로 꽤 오래된 논문들입니다. 그래서
[02:53]
이것은 원래 Parakeet 모델의
[02:55]
새로운 튜닝이나 아키텍처 개선인 것 같습니다
[02:57]
원래 Parakeet 모델의 아키텍처 개선인 것 같습니다
[02:59]
원래 Parakeet 모델의 아키텍처 개선인 것 같습니다
[03:02]
모델 카드를 살펴보면
[03:05]
모델 카드를 살펴보면,
[03:07]
약 12만 시간의 영어 음성 데이터로
[03:10]
학습되었음을 알 수 있습니다. 확실히 최근에
[03:13]
성공을 거둔 소규모 오픈소스 TTS보다
[03:15]
훨씬 더 많은 데이터를 사용했습니다.
[03:18]
최근에 성공을 거두고 있죠.
[03:19]
물론 이것은 텍스트 음성 변환이 아닌
[03:21]
음성 텍스트 변환이라는 점이 다르지만,
[03:23]
또한 그들이 여기에 올린 내용에서
[03:25]
추론을 수행하는 방법에 대한 링크도
[03:27]
잘 제공해 두었습니다.
[03:30]
실제로 긴 오디오 파일도 처리할 수 있습니다.
[03:32]
저 개인적으로는 이것이 정말
[03:34]
흥미로운 이유 중 하나는
[03:36]
우리가 이 모델을 정상적으로 실행할 수 있다는 것뿐만 아니라,
[03:39]
곧 Colab에서 살펴볼 텐데,
[03:40]
이미 MLX 버전도 나오고 있다는 점입니다.
[03:43]
이를 통해 완전히 로컬에서
[03:46]
이 모델을 실행할 수 있습니다.
[03:48]
코드로 들어가 보겠습니다.
[03:50]
Colab 버전을 먼저 살펴보고
[03:51]
MLX에서 이미 사용 가능한 것과
[03:53]
곧 출시될 내용도 살펴보겠습니다.
[03:56]
좋습니다, 코드로 넘어가서
[03:58]
이것을 작동시키기 위해서는
[04:00]
Nemo collections ASR을 사용해야 합니다.
[04:04]
위에서 이미 설치한 것을 볼 수 있습니다.
[04:07]
Nemo 툴킷을 모두 설치할 수도 있습니다.
[04:09]
오디오 처리를 위한 유틸리티도
[04:12]
몇 가지 설치했습니다.
[04:14]
일단 설치가 완료되면, Hugging Face의
[04:16]
transformers와 매우 유사합니다.
[04:18]
기본적으로 모델을 로드하기만 하면
[04:20]
바로 사용할 수 있습니다.
[04:22]
여기 예제를 보면,
[04:24]
기본적으로 작은 웹 파일을 제공하여
[04:27]
전사를 시연하고 있습니다. 그 파일을 사용하면
[04:31]
잘 작동합니다. 유일한 문제는
[04:33]
몇 분보다 긴 파일을 사용하려고 할 때
[04:36]
문제가 발생한다는 것입니다.
[04:38]
여기서 제가 가져온
[04:40]
MP3 파일은 강연 녹음인데,
[04:42]
제 기억으로는 약 26분 정도 됩니다.
[04:46]
이것을 실행하면 오류가 발생합니다.
[04:48]
그냥 실행하면 오류가 발생하는데,
[04:51]
볼 수 있듯이 이런 종류의 오류는
[04:53]
모델에 비해 형태가
[04:55]
너무 길다는 것을 보여줍니다.
[04:58]
그래서 파일을 분할하는 방법이 필요합니다.
[05:00]
제가 여기에 구현한 것이 바로 그것입니다.
[05:03]
모든 것을 처리해서 트랜스크라이버를 초기화하고,
[05:06]
오디오 경로를 가져오면
[05:08]
세그먼트를 자동으로 조정하여
[05:11]
처리합니다. 이 버전을 사용하면
[05:14]
상단에서 모델을 직접 로드할 필요가 없습니다.
[05:16]
이 코드가 모델을 자동으로 로드해줍니다.
[05:19]
모델이 로드되면 오디오의
[05:21]
지속 시간이 몇 초인지 확인할 수 있고,
[05:23]
스테레오를 모노로 변환하고,
[05:24]
오디오를 16kHz로 변환하는 등의
[05:26]
작업을, 여기에서 긴 전사를 수행하기 위한
[05:28]
설정을 적용하는 것까지 처리합니다.
[05:31]
놀랍게도 전사 작업이
[05:33]
매우 빠르게 이루어집니다.
[05:37]
여기서 볼 수 있듯이 25-26분 분량의 오디오가
[05:39]
25초 만에 전사되었습니다.
[05:42]
그 다음 CSV 파일로 저장하여
[05:44]
확인할 수 있습니다. 또한
[05:47]
전사 내용을 시각화하고
[05:50]
각 발화 시간 등을 시각화할 수 있게 해줍니다.
[05:53]
이를 CSV 파일로 저장해 볼 수 있고,
[05:56]
또한 전사 내용을 시각화하고
[05:58]
각 내용이 언제 말해졌는지 등의
[06:00]
다양한 시간을 시각화할 수 있습니다.
[06:02]
등의 정보를 시각화할 수 있습니다.
[06:05]
그래서 여기서 뭔가를 재생하고 싶으시면
[06:07]
제가 다시 가져왔는데요,
[06:10]
오디오 트랜스크립터를 인스턴스화했습니다.
[06:12]
처음 500초를 재생하고 있습니다. 자, 보시면
[06:15]
여기에 들어가서 시작하면
[06:17]
제 이름은 패티입니다. 저는 팀 세쿼이아의 멤버 중 한 명이고
[06:20]
파트너인 소니아와 콘스탄틴과 함께 있습니다. 이들이 오늘의 MC를 맡을 것이며
[06:25]
세쿼이아의 모든 파트너들과 함께
[06:28]
AI 어센드에 오신 것을 환영합니다.
[06:30]
보시다시피 트랜스크립션이 정말 좋죠?
[06:33]
이름 같은 것들을 아주 잘 인식하고 있습니다.
[06:36]
대문자로 표시해야 할 부분도 잘 인식하고
[06:38]
옆에 타임스탬프도 있습니다.
[06:41]
이것은 기본적으로 모든 내용을 CSV 파일로 저장합니다.
[06:43]
이제 스크립트를 작성해서
[06:45]
일반적인 마크다운 형식이나
[06:47]
원하는 다른 형식으로 변환할 수 있습니다.
[06:49]
그렇게 하는 것은 어렵지 않을 겁니다.
[06:52]
보시다시피 전체를 다 트랜스크립션했네요.
[06:55]
파일의 끝부분까지 완료했습니다.
[06:57]
1600초가 넘는 분량이에요.
[06:58]
만약 여러분이 오디오를
[07:00]
빠르게 트랜스크립션할 수 있는 도구를 찾고 계시고
[07:03]
그 오디오가 영어라면 이 도구가 좋을 겁니다.
[07:06]
이것이 영어만 지원한다는 점은
[07:08]
이상적이지 않다는 것을 잘 알고 있습니다.
[07:11]
만약 다국어 사용 사례가 있다면
[07:14]
위스퍼를 계속 사용하는 것이
[07:15]
아마도 더 나을 겁니다.
[07:17]
엔비디아가 언젠가 이 모델의
[07:19]
다국어 버전을 출시하길 바랍니다.
[07:21]
이제 로컬에서 실행하고 싶고
[07:24]
애플 실리콘 칩이 있는 맥을 가지고 있다면
[07:26]
MLX 버전으로 실행할 수 있습니다.
[07:28]
맥에서 꽤 빠르게 실행됩니다.
[07:30]
프로젝트를 설정하고 실행하기만 하면 됩니다.
[07:32]
Python API를 사용하는 방법에 대한
[07:34]
예제들이 여기 있습니다.
[07:36]
제가 위스퍼 대신 이것을 정말 좋은 대체재로 발견했는데
[07:38]
팟캐스트나 그런 것들의 대량 트랜스크립션을 할 때
[07:41]
기본적으로 LLM 모델에 전달할
[07:43]
컨텍스트를 생성하는 용도로 사용하고 있습니다.
[07:47]
그래서 매우 fancy한 것이 필요하지 않고
[07:49]
타임스탬프가 있으면 모델이 쉽게 처리할 수 있습니다.
[07:52]
이 모델에서 부족한 점은
[07:54]
화자 구분(diarization)이 없다는 것입니다.
[07:57]
누가 언제 말하고 있는지 알 수 없죠.
[07:59]
제가 여기서 보여드린 것처럼
[08:02]
매우 정확한 트랜스크립션을 얻었지만
[08:04]
실제로 말하는 사람이 누구인지
[08:06]
알 수 있는 시스템이 없습니다.
[08:09]
외부 화자 구분 모델을 사용할 수 있습니다.
[08:12]
제가 위스퍼와 함께 사용하던 방법입니다.
[08:14]
다른 옵션은 제가 오디오 비디오용 Gemini로
[08:16]
보여드린 것처럼 멀티모달 LLM을 사용하는 것입니다.
[08:19]
기본적으로 화자들을 입력하면
[08:22]
목소리 차이를 듣는 것뿐만 아니라
[08:24]
한 사람이 다른 사람의 이름을 언급할 때 알아듣고
[08:27]
화자 목록을 함께 전달하면
[08:29]
실제 화자가 누구인지 파악할 수 있습니다.
[08:32]
더 고급 기능이 필요하다면 그것도 옵션입니다.
[08:35]
개인적으로 이것은 매우 흥미로운 모델입니다.
[08:38]
앞으로 이런 모델의 다양한 버전을 보게 될 것 같습니다.
[08:40]
실시간 트랜스크립션이 가능해서
[08:42]
LLM 어시스턴트에 자동으로 전달하고
[08:44]
아마도 카코라(Kakora)와 같은 실시간 TTS 응답을 받을 수 있을 겁니다.
[08:48]
어쨌든 한번 사용해 보세요.
[08:51]
저는 다양한 용도로 테스트하고 있고
[08:53]
나중에 이런 TTS와 ASR 시스템을
[08:56]
결합하는 방법에 대한 더 많은 영상을 만들 수도 있습니다.
[08:58]
자신의 기기에서 실시간 트랜스크립션을 수행하는 방법을 보여드리고
[09:01]
클라우드로 아무것도 보내지 않아도 되는 방법을 알려드리겠습니다.
[09:04]
항상 그렇듯이 댓글로 여러분의 생각을 알려주세요.
[09:06]
사람들이 이것을 사용하고 있는지 매우 궁금합니다.
[09:09]
제가 이 영상을 녹화하는 시점에는
[09:11]
MLX 버전 외에는 많은 버전을 보지 못했습니다.
[09:12]
다른 버전이 있다면 알려주세요.
[09:14]
제 예상으로는 이것이 양자화될 것이고
[09:16]
양자화된 버전이 나오면 더 빨라질 것이며
[09:18]
정확도는 크게 손실되지 않을 것 같습니다.
[09:20]
항상 그렇듯이 이 영상이 유용했다면
[09:22]
좋아요와 구독 부탁드립니다.
[09:23]
다음 영상에서 다시 만나요.
[09:26]
이만 안녕히 계세요.
[09:28]
[09:31]
[09:34]
[09:36]
[09:38]
[09:40]
[09:44]
[09:47]
[09:49]
[09:51]
[09:53]
[09:55]
[09:57]
[09:59]
[10:00]
[10:02]
[10:05]
[10:06]
[10:09]
[10:11]
[10:13]
[10:16]
[10:18]
[10:19]
[10:21]