- LLaMA-Omni एक Llama-3.1-8B-Instruct आधारित speech-language model है, जो voice instructions को इनपुट के रूप में लेकर टेक्स्ट और वॉइस रिस्पॉन्स एक साथ जनरेट करता है
- इसका मुख्य लक्ष्य कम latency और उच्च-गुणवत्ता वाला वॉइस इंटरैक्शन है, और README के अनुसार latency सबसे कम 226ms तक जा सकती है
- मॉडल को सिर्फ 4 GPU पर 3 दिन से कम समय में train किया गया, और इसे
Llama-3.1-8B-Omni,Whisper-large-v3, unit-based HiFi-GAN vocoder के साथ चलाया जाता है - Gradio demo में controller, web server, और model worker को अलग-अलग चलाया जाता है, और Gradio की streaming audio playback अस्थिर होने के कारण auto-play सक्षम नहीं है
- कोड Apache-2.0 के तहत है, लेकिन मॉडल केवल academic research purpose के लिए है; commercial use प्रतिबंधित है और अलग commercial license के लिए संपर्क करना होगा
LLaMA-Omni क्या करता है
- LLaMA-Omni Llama-3.1-8B-Instruct पर आधारित एक speech-language model है
- यह voice instructions को इनपुट के रूप में लेकर text response और voice response एक साथ जनरेट करता है
- इसका लक्ष्य कम latency वाला वॉइस इंटरैक्शन और उच्च-गुणवत्ता वाले रिस्पॉन्स हैं, और README के highlights के अनुसार latency सबसे कम 226ms है
- संबंधित पेपर arXiv:2409.06666 पर उपलब्ध है
जारी किए गए मॉडल और डेटासेट
- मॉडल Hugging Face, ModelScope, Wisemodel, और Replicate पर उपलब्ध है
- डेटासेट Multiturn-Speech-Conversations के रूप में उपलब्ध है
- मई 2025 अपडेट में बेहतर
InstructS2S-200Kजारी किया गया, इसे multi-turn conversations तक विस्तारित किया गया, और इनपुट speech timbre में भी विविधता बढ़ाई गई
हाल के अपडेट
- मई 2025 में, LLaMA-Omni 2 को ACL 2025 main conference में स्वीकार किया गया
- अप्रैल 2025 में, LLaMA-Omni2 जारी किया गया
- यह 0.5B से 32B parameters तक की speech-language model series है
- इसने response quality और speech generation quality में सुधार किया है
- जनवरी 2025 में, LLaMA-Omni को ICLR 2025 में स्वीकार किया गया
इंस्टॉलेशन और रन फ़्लो
- इंस्टॉलेशन के लिए repository को clone करने के बाद Python 3.10 conda environment में packages इंस्टॉल किए जाते हैं
- पहले
pip==24.0इंस्टॉल करें, फिरpip install -e .चलाएँ
- पहले
- अतिरिक्त dependencies के रूप में fairseq और flash-attn इंस्टॉल करने होंगे
- quick start के लिए तीन चीज़ें तैयार करनी होंगी
Llama-3.1-8B-Omniमॉडल डाउनलोडWhisper-large-v3मॉडल डाउनलोड- unit-based HiFi-GAN vocoder और
config.jsonडाउनलोड
Gradio demo और local inference
- Gradio demo तीन processes से बना है
- controller:
omni_speech.serve.controller - Gradio web server:
omni_speech.serve.gradio_web_server - model worker:
omni_speech.serve.model_worker
- controller:
- demo चलाने के बाद
localhost:8000परLLaMA-3.1-8B-Omniके साथ इंटरैक्ट किया जा सकता है - Gradio में streaming audio playback अस्थिर होने के कारण सिर्फ streaming audio synthesis लागू की गई है, और auto-play सक्षम नहीं है
- local inference के लिए voice instruction files को
omni_speech/infer/examplesफ़ॉर्मेट के अनुसार व्यवस्थित करें, फिरbash omni_speech/infer/run.sh omni_speech/infer/examplesचलाएँ
लाइसेंस और उपयोग सीमाएँ
- कोड Apache-2.0 License के तहत जारी किया गया है
- मॉडल का उपयोग केवल academic research purpose के लिए किया जा सकता है और commercial use प्रतिबंधित है
- academic environment में उपयोग, संशोधन, और वितरण संभव है, लेकिन मूल पेपर का citation आवश्यक है
- commercial use या commercial license के लिए
fengyang@ict.ac.cnपर संपर्क करना होगा
1 टिप्पणियां
Hacker News की राय
क्या यह मॉडल ऐसी आवाज़ें भी निकाल सकता है जिन्हें टेक्स्ट में व्यक्त नहीं किया जा सकता? उदाहरण के लिए, “मुर्गी जैसी आवाज़ निकालो” जैसी रिक्वेस्ट
लेकिन क्या यह “कुकड़ूँ-कूँ” शब्द कहना और असली clucking जैसी आवाज़ निकालना, दोनों कर सकता है?
मुझे साफ़ नहीं है कि ऐसे मॉडल का शुद्ध टेक्स्ट मॉडल पर speech recognition/speech synthesis जोड़ने वाले तरीके की तुलना में क्या फ़ायदा या संभावनाएँ हैं
क्या जैसे-जैसे मॉडल ज़्यादा परिष्कृत होंगे, मुख्य बात यह होगी कि वे speech synthesis में खो जाने वाली intonation, rhythm, emotion जैसी चीज़ों को ठीक से समझें या पैदा करें?
speech recognition मॉडल शब्द ग़लत सुन सकता है, लेकिन audio LLM व्यापक context की वजह से असली शब्द समझ सकता है। speech synthesis मॉडल को intonation का अनुमान लगाना पड़ता है, इसलिए वह पूरी तरह ग़लत हो सकता है, लेकिन audio LLM स्वाभाविक रूप से सीख सकता है कि किस tone में बोलना चाहिए। उदाहरण के लिए, बीच में बोलते समय यह ऊँचा tone इस्तेमाल कर सकता है
सिर्फ़ बीच में बोलने के मामले में भी, speech recognition/synthesis सिस्टम आम तौर पर voice activity detection और heuristics पर निर्भर करते हैं कि कब बोलना है, इसलिए अक्सर नियम यह होता है कि यूज़र के बोलना बंद करने के बाद ही जवाब दें। audio LLM स्वाभाविक बातचीत करना, बातचीत का समय ज़्यादा न घेरना, और कई लोगों के साथ बोलना भी सीख सकता है
audio LLM संगीत या अन्य आवाज़ें भी बना सकता है, या यह बता सकता है कि आपने जो धुन गुनगुनाई वह कौन-सा गाना है। नई संभावनाएँ बहुत हैं
लेकिन मैंने “सीख सकता है” इसलिए कहा, क्योंकि इसके लिए अच्छा training data चाहिए। मेरी जानकारी में, अभी ऐसे ज़्यादातर मॉडल सामान्य text datasets को speech synthesis में बदलकर train किए गए हैं, इसलिए वे असल में पारंपरिक speech recognition/synthesis सिस्टम से बेहतर नहीं हैं। architecture साबित करने के लिए यह अच्छा है, लेकिन पूरी क्षमता नहीं दिखाता
तेज़ या धीमे बोलने जैसी चीज़ें तो पहले ही ऐसी क्षमता हैं जो पारंपरिक speech synthesis सिस्टम अच्छी तरह नहीं कर पाते थे। सिद्धांत रूप में, यह मुझे यह भी बता सकता है कि मेरा उच्चारण सही है या नहीं, और मेरे ग़लत उच्चारण को दोहराकर फिर सही उच्चारण सुना कर सुधार भी सकता है
OpenAI का advanced voice mode यह व्यवहार में कितना अच्छा करता है, इस पर मैंने अभी तक कोई ठोस टेस्ट नहीं देखा, इसलिए पता नहीं, लेकिन मैं इसे खुद आज़माना चाहूँगा। अगर दूसरे voice models भी इस स्तर तक पहुँच जाएँ, तो वे language learning tools के रूप में जबरदस्त होंगे
बड़े कारकों में से एक batching की वजह से आने वाली latency है। किसी एजेंट को स्वाभाविक रूप से बीच में रोकना मुश्किल हो जाता है, इसलिए असली बातचीत ज़्यादा अटपटी लगती है। और हाँ, multimodal सिस्टम बेहतर समझते हैं। लेकिन emotion recognition पर मैंने कोई विश्लेषण नहीं देखा; जानना चाहूँगा कि क्या किसी ने GPT-O की इस क्षमता का विश्लेषण देखा है
इसके अलावा reply latency में सुधार, speaker separation में सुधार, और बातचीत के दौरान pauses पर बेहतर प्रतिक्रिया जैसे सहायक फ़ायदे भी हो सकते हैं
“Really?” या “Really!” लिखने पर भी व्याख्या की गुंजाइश रहती है। अगर voice interface को सच में सफल होना है, तो उसे वैसा क्षण चाहिए जैसा Google से पहले search की हालत और फिर Google के आने के बाद हुआ था; और अगर उसकी कुंजी intonation, rhythm, emotion की व्याख्या और generation है, तो ऐसे मॉडल बनाना काफ़ी उचित है
क्या Ollama, LM Studio, llama.cpp जैसे model runtime tools में से कोई इसे support करता है?
तो क्या इसका मतलब यह है कि यह speech recognition → LLM → speech synthesis architecture नहीं है? अगर इनपुट में Chewbacca जैसी आवाज़ लगाई जाए, तो क्या मॉडल उसे निरर्थक इनपुट मानेगा, या खराब speech recognition की तरह उसे किसी न किसी शब्द के रूप में समझ लेगा?
लगता था कि tonal languages में यह ख़ास तौर पर ज़्यादा काम करता है
डेमो क्लिप में speech synthesis voice की आवाज़ हैरान करने वाली हद तक Ellen McLain, यानी Valve की voice actor, जैसी लगती है
https://en.m.wikipedia.org/wiki/Ellen_McLain
speed काफ़ी अच्छी लग रही है। मैंने हाल ही में LMStudio + AnythingLLM के साथ local voice chat आज़माया था; वह अभी भी मेरी उम्मीद से थोड़ा धीमा था, और PiperTTS की voice इससे बेहतर थी
3 दिन की training के हिसाब से यह बुरा नहीं है। voice output quality को और polish करना होगा, लेकिन ज़्यादा training के बाद क्या बदलाव आते हैं, यह दिलचस्प होगा
अच्छा होता अगर training या fine-tuning code भी होता। commercial use के लिए voice fine-tuning एक मुख्य requirement लगती है
क्या GitHub repository README में वह बेवकूफ़ाना star history graph देखकर भरोसा कम हो जाने वाला मैं अकेला हूँ?
क्या performance दिखाने वाला कोई demo है?