1 पॉइंट द्वारा GN⁺ 2024-09-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें

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 टिप्पणियां

 
GN⁺ 2024-09-20
Hacker News प्रतिक्रियाएँ
  • पहली प्रतिक्रिया

    • latency बहुत कम है, इसलिए open source model के लिए यह बड़ी उपलब्धि है
    • हाल के बहुत उम्दा LLMs की तुलना में response quality कमज़ोर है
    • यह 2019 के LLM की याद दिलाता है
    • audio के लिहाज़ से यह काफ़ी अच्छा है, लेकिन response quality पर ज़्यादा ध्यान देना चाहिए
  • दूसरी प्रतिक्रिया

    • YouTube पर कुछ महीने पहले का एक दिलचस्प demo मिला
    • यक़ीन है कि अब तक इसमें सुधार हो चुका होगा
  • तीसरी प्रतिक्रिया

    • real-time speech -> LLM -> speech output solution विकसित कर रहा/रही हूँ
    • streaming neural audio codec सबसे दिलचस्प लगता है
    • product नज़रिए से, सीधे LLM से जोड़ने के बजाय tool/function calling चरण की ज़रूरत है
    • tincans का development बंद हो गया है, लेकिन इस दिशा में आगे बढ़ने की काफ़ी संभावना है
  • चौथी प्रतिक्रिया

    • Moshi, CC-BY license के तहत है
    • हाल ही में Apache v2 के तहत जारी एक similar 7b model भी है
  • पाँचवीं प्रतिक्रिया

    • सोच रहा/रही हूँ कि iPad के a-shell terminal में TTS interface देने का कोई आसान तरीका है या नहीं
  • छठी प्रतिक्रिया

    • हाल में speech-enabled LM क्षेत्र में काफ़ी प्रगति हुई है
    • संबंधित projects में LLaMA-Omni और mini-omni शामिल हैं
  • सातवीं प्रतिक्रिया

    • inference server, Rust में लिखा गया है और huggingface का Candle crate इस्तेमाल करता है
    • Moshi के लेखकों में से एक Candle के मुख्य authors में से भी है
    • Candle पर आधारित inference stack बना रहा/रही हूँ
  • आठवीं प्रतिक्रिया

    • इस्तेमाल करने पर यह तुरंत जवाब देता है, लेकिन असली सवाल का उत्तर बाद में देता है
    • कभी-कभी यह loop में फँस सकता है
  • नौवीं प्रतिक्रिया

    • latency लगभग 200ms है, जो बहुत कम है
    • 7B transformer model इस्तेमाल करने की वजह से यह बहुत ज़्यादा smart नहीं है
    • बड़ा model इस्तेमाल करने पर latency बढ़ सकती है
    • system architecture में बीच के चरण के responses देने का कोई तरीका होना चाहिए
  • दसवीं प्रतिक्रिया

    • response speed प्रभावशाली है, लेकिन response quality उतनी अच्छी नहीं है
    • Moshi के साथ बातचीत का एक उदाहरण दिया गया है
    • इसने "2019 year" जैसा ग़लत जवाब दिया
    • COVID-19 के बारे में ग़लत जानकारी दी