이 블로그 포스트에서는 동의 기반 음성 클로닝을 지원하기 위한 '음성 동의 게이트 (voice consent gate)'라는 아이디어를 소개합니다. 이 아이디어를 시작하는 데 도움이 되는 예제 Space와 accompanying code 를 제공합니다.
최근 몇 년간 현실적인 음성 생성 기술은 매우 인상적 (uncannily) 으로 발전했습니다. 일부 상황에서는 실제 사람의 목소리와 거의 동일한 소리를 가진 합성 음성을 생성할 수 있습니다. 그리고 오늘, 과거에는 SF(과학소설) 같았던 것이 현실이 되었습니다: 음성 클로닝. 녹음된 음성으로 수 초만으로도 누구든 자신의 목소리로 말한 내용을 생성할 수 있습니다.
음성 생성 기술, 특히 음성 클로닝은 주목할 만한 위험과 이점을 가지고 있습니다. '딥페이크 (deepfakes)'의 위험성은, 전직 바이든 대통령의 복제 음성을 이용한 로보콜에서 볼 수 있듯이, 사람들이 말하지 않은 것을 말한 것으로 착각하게 할 수 있습니다. 반면, 음성 클로닝은 잃어버린 언어 능력을 회복하여 자신의 목소리로 다시 소통할 수 있게 해주는 강력한 유용한 도구이거나, 새로운 언어와 방언을 배우는 데 도움을 줄 수 있습니다.
그렇다면 의미 있는 사용 (meaningful use) 을 어떻게 악의적 사용 (malicious use) 을 막아낼까요? 우리는 하나의 가능한 답변을 탐구합니다: 음성 동의 게이트 (voice consent gate). 이는说话자가 명시적으로 동의를 표시할 때만 그 목소리가 복제될 수 있는 시스템입니다. 즉, 모델은 사용자가 허용하지 않는 한 당신의 목소리로 말하지 않습니다.
우리는 아래에 이 아이디어의 기본 데모를 제공합니다:
음성 동의 게이트는 동의 (consent) 와 같은 윤리적 원칙을 AI 시스템 워크플로우에 직접적으로 통합하는 방법을 제공하는 우리가 탐구 중인 인프라 구조입니다. 우리 데모에서는, 이는说话자의 동의 문구가 말해지고 인식된 후에만 모델이 시작되도록 함으로써 동의를 행동의 전제 조건으로 만듭니다. 이는 추상적인 원칙을 구체적인 시스템 조건으로 만들어 추적 가능하고 감사 가능한 상호작용을 생성합니다: 모호하지 않은 동의 행위가 이루어진 후에야 AI 모델이 실행될 수 있습니다.
이러한 설계 선택은 음성 클로닝 외에도 중요합니다. 이 것은 AI 시스템이 기본적으로 자율성을 존중하도록 구축할 수 있음을 보여주며, 투명성과 동의를 단순한 선언적 요소가 아닌 기능적 요소로 만들 수 있음을 보여줍니다.
음성 동의 게이트를 갖춘 기본 음성 클로닝 시스템을 만들기 위해서는 세 가지 부분이 필요합니다:
- 복제될 목소리 (의 '说话者') 의 음성을 생성할 새로운 동의 문장을 만드는 방법 – 즉, 현재 동의 컨텍스트를 고유하게 참조하여 말하도록 하는 것입니다.
- 자동 음성 인식 (ASR) 시스템 – 동의 문구를 인식하는 것입니다.
- 음성 클로닝 텍스트 - 음성 (TTS) 시스템 – 텍스트와说话자의 음성 조각을 입력으로 받아 음성을 생성합니다.
우리의 관찰: 일부 음성 클로닝 시스템은 이제 단 하나의 문장만으로도说话자의 목소리와 유사한 음성을 생성할 수 있으므로, 동의에 사용되는 문장은 음성 클로닝에도 사용될 수 있습니다.
동의 비트 (The consent bit): 영어 음성 클로닝 시스템에서 음성 동의 게이트를 생성하려면, 해당 맥락에서 명확한 정보에 기반한 동의를 명시적으로 표명하도록 사람들이 읽을 수 있는 짧은 자연스러운 영어 발화 (~20 단어) 를 생성해야 합니다. 우리는 동의 문구와 모델 이름을 명시적으로 포함하는 것을 권장하며, 예를 들어
발화자의 입력이 생성된 텍스트와 일치하면, 음성 클로닝 시스템은 발화자의 동의 오디오를 입력으로 사용하여 시작할 수 있습니다.
이를 수행하는 몇 가지 옵션이 있으며, 우리는 더 많은 아이디어를 듣고 싶습니다. 현재는 다음과 같습니다:
- 데모에서 제공하는 것: 음성 동의 게이트를 음성 클로닝 모델에 직접 연결하여 발화자의 목소리로 임의의 텍스트를 작성하고 생성합니다. 모델은 동의 오디오를 직접 사용하여 발화자의 목소리를 학습합니다.
- 대안적으로, 데모에서 제공하는 코드를 수정하여 다양한 다른 업로드된 음성 파일로 발화자의 목소리를 모델링할 수 있습니다. 발화자가 온라인 녹음물을 사용할 경우 동의를 제공하는 경우 등입니다. 프롬프트와 동의 문구는 이에 따라 변경되어야 합니다.
- 또한, 시스템이 사용하는 동의 오디오를 저장할 수도 있습니다. 예를 들어, 발화자가 미래의 임의의 발화물에 자신의 목소리를 사용하도록 동의를 할 때입니다. 이는
huggingface_hub 업로드 기능을 사용하여 수행할 수 있습니다. 여기에서 어떻게 하는지 확인하세요. 다시 말하지만, 발화자가 말해야 하는 프롬프트와 동의 문구는 이 사용 맥락을 고려해야 합니다.
코드를 복사하여 자신의 용도에 맞게 사용할 수 있습니다.
코드는 모듈러 구조이므로 다른 방식으로 쪼개고 재구성하여 프로젝트에 통합할 수 있습니다. 우리는 시간이 지남에 따라 이를 더욱 견고하고 안전하게 만들려고 노력하며, 개선 방법을 어떻게 할지 궁금해합니다.
책임감 있게 다루어진다면, 이 기술은 우리를 괴롭히는 것이 아니라 인간과 기계 사이의 존중 있는 협력으로 바뀔 수 있습니다 — 기계 속에는 귀신은 없지만 좋은 관행입니다. 🎃