Moshi: रीयल-टाइम बातचीत के लिए speech-text आधारित मॉडल
Moshi का परिचय
- Moshi रीयल-टाइम बातचीत के लिए speech-text आधारित मॉडल और द्विदिश voice conversation framework है
- यह अत्याधुनिक streaming neural audio codec Mimi का उपयोग करता है
- Mimi 24 kHz audio को 12.5 Hz में बदलता है, और bandwidth को 1.1 kbps पर बनाए रखते हुए 80ms latency के साथ streaming तरीके से प्रोसेस करता है
- यह मौजूदा non-streaming codecs SpeechTokenizer(50Hz, 4kbps) और SemantiCodec(50Hz, 1.3kbps) की तुलना में बेहतर प्रदर्शन करता है
Moshi कैसे काम करता है
- Moshi दो audio streams को मॉडल करता है: एक Moshi का, और दूसरा उपयोगकर्ता का
- inference के समय, उपयोगकर्ता की stream audio input से ली जाती है, और Moshi की stream मॉडल के output से sample की जाती है
- इन दो audio streams के साथ, Moshi अपनी आवाज़ से संबंधित text tokens का अनुमान लगाता है
- एक छोटा Depth Transformer दिए गए time step पर codebooks के बीच dependencies को मॉडल करता है, और बड़ा 7B-parameter Temporal Transformer temporal dependencies को मॉडल करता है
- Moshi सैद्धांतिक रूप से 160ms latency हासिल करता है, और व्यवहार में L4 GPU पर 200ms से कम latency रखता है
Mimi की विशेषताएँ
- Mimi, SoundStream और EnCodec जैसे पुराने neural audio codecs पर आधारित है, और encoder व decoder में Transformer जोड़ता है
- Mimi text tokens की औसत frame rate (~3-4 Hz) के अधिक करीब मिलान करने के लिए stride को समायोजित करता है
- Mimi WavLM के self-supervised representations के साथ मेल कराने के लिए पहले codebook token को align करने वाला distillation loss उपयोग करता है
- Mimi adversarial training loss और feature matching का ही उपयोग करते हुए, कम bitrate पर भी subjective quality में बड़ा सुधार दिखाता है
रिपॉज़िटरी संरचना
- इस रिपॉज़िटरी में Moshi inference stack के तीन संस्करण हैं
- PyTorch का उपयोग करने वाला Python संस्करण
moshi/ डायरेक्टरी में है
- M-series Mac के लिए MLX का उपयोग करने वाला Python संस्करण
moshi_mlx/ डायरेक्टरी में है
- production में उपयोग किया जाने वाला Rust संस्करण
rust/ डायरेक्टरी में है
- live demo code
client/ डायरेक्टरी में दिया गया है
मॉडल
- तीन मॉडल जारी किए गए हैं
- voice codec Mimi
- पुरुष synthetic voice के लिए fine-tuned Moshi (Moshiko)
- महिला synthetic voice के लिए fine-tuned Moshi (Moshika)
- प्रत्येक मॉडल HuggingFace रिपॉज़िटरी में उपलब्ध है
- सभी मॉडल CC-BY 4.0 लाइसेंस के तहत जारी किए गए हैं
आवश्यकताएँ
- कम से कम Python 3.10 आवश्यक है, और Python 3.12 की अनुशंसा की जाती है
- विशिष्ट आवश्यकताओं के लिए प्रत्येक backend डायरेक्टरी देखें
- PyTorch और MLX client installation commands प्रदान किए गए हैं
Python (PyTorch)
- PyTorch-आधारित API
moshi डायरेक्टरी में है
- यह streaming audio tokenizer (mimi) और language model (moshi) प्रदान करता है
- interactive mode में चलाने के लिए server शुरू करना होगा
Python (MLX) for macOS
moshi_mlx इंस्टॉल करने के बाद local inference चलाया जा सकता है
- command-line interface बुनियादी है, और इसमें echo cancellation सुविधा नहीं है
Rust
- Rust inference server चलाने के लिए
rust डायरेक्टरी में commands का उपयोग करें
- macOS पर
--features cuda की जगह --features metal का उपयोग किया जा सकता है
क्लाइंट
- web UI के उपयोग की अनुशंसा की जाती है, और यह अतिरिक्त echo cancellation सुविधा देता है
- command-line interface भी उपलब्ध है
विकास
- रिपॉज़िटरी को clone करके install और development किया जा सकता है
FAQ
- issue खोलने से पहले FAQ सेक्शन देखें
लाइसेंस
- Python भाग MIT लाइसेंस के तहत है, और Rust backend Apache लाइसेंस के तहत है
- web client code MIT लाइसेंस के तहत है
- model weights CC-BY 4.0 लाइसेंस के तहत हैं
उद्धरण
- Mimi या Moshi का उपयोग करने पर paper को cite करें
GN⁺ की संक्षिप्त टिप्पणी
- Moshi रीयल-टाइम बातचीत के लिए एक नवाचारी speech-text मॉडल है, जो कम latency और उच्च गुणवत्ता प्रदान करता है
- Mimi codec मौजूदा codecs की तुलना में अधिक कुशल है और Transformer के माध्यम से प्रदर्शन को अधिकतम करता है
- यह विभिन्न platforms पर उपयोग योग्य है और PyTorch, MLX, Rust जैसी कई versions प्रदान करता है
- रीयल-टाइम conversation applications बनाने वाले developers के लिए यह बहुत उपयोगी है, खासकर जहाँ कम latency महत्वपूर्ण हो
- समान कार्यक्षमता वाले अन्य प्रोजेक्ट्स में Google का WaveNet और OpenAI का Jukebox शामिल हैं
1 टिप्पणियां
Hacker News प्रतिक्रियाएँ
पहली प्रतिक्रिया
दूसरी प्रतिक्रिया
तीसरी प्रतिक्रिया
चौथी प्रतिक्रिया
पाँचवीं प्रतिक्रिया
छठी प्रतिक्रिया
सातवीं प्रतिक्रिया
आठवीं प्रतिक्रिया
नौवीं प्रतिक्रिया
दसवीं प्रतिक्रिया