2 puan yazan GN⁺ 2024-09-20 | 1 yorum | WhatsApp'ta paylaş
  • LLaMA-Omni, Llama-3.1-8B-Instruct tabanlı bir ses-dil modelidir; sesli komutları girdi olarak alıp metin ve ses yanıtlarını aynı anda üretir
  • Temel hedefi düşük gecikmeli, yüksek kaliteli sesli etkileşimdir; README’ye göre gecikme süresi en düşük 226 ms’ye kadar inebilir
  • Model yalnızca 4 GPU ile 3 günden kısa sürede eğitildi ve Llama-3.1-8B-Omni, Whisper-large-v3, unit-based HiFi-GAN vocoder kullanılarak çalıştırılır
  • Gradio demosu controller, web server ve model worker’ın ayrı ayrı çalıştırıldığı bir yapıya sahiptir; Gradio’nun streaming audio oynatımındaki kararsızlık nedeniyle otomatik oynatma etkinleştirilmemiştir
  • Kod Apache-2.0 lisanslıdır, ancak model yalnızca akademik araştırma amaçlıdır; ticari kullanım yasaktır ve ayrı bir ticari lisans için iletişime geçilmesi gerekir

LLaMA-Omni ne yapar

  • LLaMA-Omni, Llama-3.1-8B-Instruct tabanlı bir ses-dil modelidir
  • Sesli komutları girdi olarak alır ve metin yanıtı ile ses yanıtını aynı anda üretir
  • Düşük gecikmeli sesli etkileşimi ve yüksek kaliteli yanıtları hedefler; README’deki öne çıkan bilgilere göre gecikme süresi en düşük 226 ms’dir
  • İlgili makale arXiv:2409.06666 üzerinde yayımlanmıştır

Yayımlanan modeller ve veri kümesi

Son güncellemeler

  • Mayıs 2025’te LLaMA-Omni 2, ACL 2025 ana konferansına kabul edildi
  • Nisan 2025’te LLaMA-Omni2 yayımlandı
    • 0.5B’den 32B parametreye kadar uzanan bir ses-dil modeli serisidir
    • Yanıt kalitesi ve ses üretim kalitesi iyileştirildi
  • Ocak 2025’te LLaMA-Omni, ICLR 2025’e kabul edildi

Kurulum ve çalıştırma akışı

  • Kurulum, depoyu klonladıktan sonra Python 3.10 conda ortamında paketlerin kurulmasıyla yapılır
    • pip==24.0 kurulduktan sonra pip install -e . çalıştırılır
  • Ek bağımlılıklar olarak fairseq ve flash-attn kurulmalıdır
  • Hızlı başlangıç için üç hazırlık gerekir
    • Llama-3.1-8B-Omni modelini indirme
    • Whisper-large-v3 modelini indirme
    • unit-based HiFi-GAN vocoder ve config.json indirme

Gradio demosu ve yerel çıkarım

  • Gradio demosu üç süreçten oluşur
    • controller: omni_speech.serve.controller
    • Gradio web server: omni_speech.serve.gradio_web_server
    • model worker: omni_speech.serve.model_worker
  • Demo çalıştırıldıktan sonra localhost:8000 üzerinden LLaMA-3.1-8B-Omni ile etkileşime geçilebilir
  • Gradio’nun streaming audio oynatımı kararsız olduğundan yalnızca streaming audio sentezi uygulanmıştır ve otomatik oynatma etkinleştirilmemiştir
  • Yerel çıkarım, sesli komut dosyalarını omni_speech/infer/examples biçimine uygun şekilde düzenledikten sonra bash omni_speech/infer/run.sh omni_speech/infer/examples ile çalıştırılır

Lisans ve kullanım kısıtları

  • Kod Apache-2.0 License ile yayımlanmıştır
  • Model yalnızca akademik araştırma amacıyla kullanılabilir; ticari kullanım yasaktır
  • Akademik ortamlarda kullanım, değiştirme ve dağıtım mümkündür, ancak özgün makaleye atıf yapılması gerekir
  • Ticari kullanım soruları veya ticari lisans edinimi için fengyang@ict.ac.cn adresiyle iletişime geçilmelidir

Temel projeler ve atıf

  • Kod tabanı LLaVA üzerine kuruludur
  • Ses kodlayıcı ve ses adaptörüyle ilgili bazı kodlar SLAM-LLM üzerinden alınmıştır
  • Araştırma için faydalı olması durumunda LLaMA-Omni: Seamless Speech Interaction with Large Language Models makalesine atıf yapılmalıdır
  • Sorular GitHub issue üzerinden veya fangqingkai21b@ict.ac.cn adresinden iletilebilir

1 yorum

 
GN⁺ 2024-09-20
Hacker News yorumları
  • Bu model metinle ifade edilemeyen sesler de çıkarabiliyor mu? Örneğin “bir tavuğun çıkardığı sesi çıkar” gibi bir istek

    • Konuşma dışı sözcük gösterimleriyle ilişkili sesler üretebiliyorsa, yansıma sözcükler konusunda özellikle takılmasını gerektirecek bir neden yok gibi görünüyor
    • Böyle sesleri anlayabilir de mi? Sözcük telaffuzunun ya da tonlamanın doğru mu yanlış mı olduğunu ayırt edip edemediğini merak ediyorum
    • Neredeyse kesinlikle hayır gibi. Yalnızca insan konuşması üretmek üzere yapılmış eski tarz bir vocoder gibi duyuluyor
    • “gıdak gıdak” gibi bir sesten mi bahsediyorsun?
      Ama hem “gıdak gıdak” sözcüğünü söyleyip hem de gerçekten tıkırtılı/gıdaklayan sesi çıkarabilir mi?
  • Böyle bir modelin, salt metin modeline konuşma tanıma/konuşma sentezi eklenmiş bir yaklaşıma göre ne gibi avantajları ya da potansiyeli olduğunu pek anlayamıyorum
    Model daha sofistike hale gelirse, konuşma sentezinde kaybolan tonlama, ritim, duygu gibi şeyleri doğru yorumlayabilmek veya üretebilmek mi asıl mesele?

    • Konuşma tanıma/konuşma sentezinde çok fazla bilgi kaybı ve tahmin var
      Konuşma tanıma modeli sözcükleri yanlış duyabilir, ama ses LLM’i geniş bağlam sayesinde gerçek sözcükleri anlayabilir. Konuşma sentezi modeli tonlamayı tahmin etmek zorunda olduğundan tamamen yanılabilir, ama ses LLM’i doğal olarak hangi tonla konuşması gerektiğini öğrenebilir. Örneğin araya giren bir sözse daha yüksek bir ton kullanabilir
      Sadece araya girmek bile, konuşma tanıma/sentez sistemleri genellikle ne zaman konuşacağını belirlemek için ses etkinliği algılama ve sezgisel kurallara dayandığından, çoğu zaman kullanıcı konuşmayı bıraktıktan sonra konuşma kuralına bağlı kalır. Ses LLM’i doğal sohbeti, konuşma süresini fazla kaplamamayı ve birden fazla kişiyle birlikte konuşmayı da öğrenebilir
      Ses LLM’i müzik ya da sesler üretebilir, mırıldandığın şarkının ne olduğunu söyleyebilir. Çok sayıda yeni olasılık var
      Ancak “öğrenebilir” dememin nedeni iyi eğitim verisi gerektirmesi. Bildiğim kadarıyla bu modellerin çoğu şu anda genel metin veri kümelerini konuşma sentezine dönüştürerek eğitiliyor; dolayısıyla pratikte sıradan konuşma tanıma/sentez sistemlerinden daha iyi değiller. Mimarinin kanıtlanması için iyi, ama tam kapasiteyi göstermiyor
    • Şahsen OpenAI’nin advanced voice mode gibi ses modellerini dil öğreniminde kullanmayı çok heyecan verici buluyorum
      Hızlı ya da yavaş konuşma özelliği bile, geleneksel konuşma sentezi sistemlerinin yapamadığı bir şeydi. Teorik olarak telaffuzumun doğru olup olmadığını da söyleyebilir; yanlış telaffuz ettiğim şeyi tekrarlayıp ardından doğru telaffuzu dinleterek düzeltebilir
      OpenAI’nin advanced voice mode’unun bunu gerçekte ne kadar iyi yaptığını henüz düzgünce test eden bir şey görmediğim için bilmiyorum, ama kendim denemek isterim. Diğer ses modelleri de bu seviyeye gelirse dil öğrenme aracı olarak inanılmaz olur
    • Bu konu zaten çok ele alındı; örneğin OpenAI’nin -O makalesine bakılabilir
      Büyük etkenlerden biri batching yüzünden oluşan gecikme. Ajanın sözünü düzgünce kesip araya girmek zorlaştığı için gerçek konuşma daha garip hale geliyor. Ve evet, multimodal daha iyi anlıyor. Ancak duygu tanıma konusunda bir analiz görmedim; GPT-O’nun bu yeteneği üzerine bir analiz gören var mı merak ediyorum
    • Temelde sesten metne dönüşümde bilgi kaybı oluşuyor. Bazen önemli değildir, ama bazen çıktı kalitesini anlamlı biçimde yükseltebilir
      Bunun dışında yanıt gecikmesini azaltma, konuşmacı ayrımını iyileştirme, konuşma sırasındaki duraklamalara daha iyi tepki verme gibi ikincil avantajlar olabilir
    • Sadece “Really” yazarsan, o tonlamayı kimse bilemez
      “Really?” ya da “Really!” yazsan bile hâlâ yorum payı kalır. Ses arayüzlerinin gerçekten başarılı olması için, Google’dan önce aramanın berbat olup Google’la değişmesi gibi bir ana ihtiyaç var; bunun özü tonlama, ritim ve duyguyu yorumlayıp üretmekse, böyle modeller yapmak oldukça mantıklı
  • Ollama, LM Studio, llama.cpp gibi model çalıştırma araçları arasında bunu destekleyen var mı?

  • Yani bu, konuşma tanıma → LLM → konuşma sentezi yapısı değil mi? Girdi olarak Chewbacca sesiyle bağırırsam model bunu anlamsız girdi olarak mı algılar, yoksa kötü bir konuşma tanıma sistemi gibi rastgele sözcüklere mi yorar?

    • Mimari olarak öyle değil, ama muhtemelen bunu anlamsız girdi olarak algılayamaz. Makaleye göre

      we construct a dataset named InstructS2S-200K by rewriting existing text instruction data and performing speech synthesis
      Yalnızca konuşma senteziyle okunmuş sorularla eğitilmiş ve anlamsız sesleri hiç görmemiş ya da duymamış. Muhtemelen “İyi misin?” diye sormaktansa, senin bir şey sorduğunu halüsinasyonlayıp bir yanıt uydurma olasılığı daha yüksek. Gerçek sesli veri kümeleri çok fazla değil ve kazıyıp alınabilecek StackOverflow’un sesli bir sürümü de yok

    • Eskiden bununla oynardım. Google Translate’i Çince gibi bilmediğim bir dile ayarlayıp rastgele sesler çıkarınca tutarlı ama çılgın İngilizce cümleler verirdi
      Tonlamalı dillerde özellikle daha iyi çalışıyor gibi gelirdi
  • Demo klibindeki konuşma sentezi sesi, Ellen McLain’e, yani Valve seslendirme sanatçısına şaşırtıcı derecede benziyor
    https://en.m.wikipedia.org/wiki/Ellen_McLain

    • LJ Speech veri kümesi ile eğitilmiş gibi duyuluyor. En iyi veri kümelerinden biri ve çok yaygın kullanılıyor
  • Hızı oldukça iyi görünüyor. Yakın zamanda LMStudio + AnythingLLM ile yerel sesli sohbet denedim; hâlâ istediğimden biraz yavaştı ve PiperTTS sesi bundan daha iyiydi

  • 3 günlük eğitim için fena değil. Ses çıktısı kalitesinin daha fazla cilalanması gerekiyor, ama daha fazla eğitimle ne değişeceğini görmek ilginç

  • Eğitim ya da ince ayar kodu olsa iyi olurdu. Ticari kullanım için ses ince ayarı temel gereksinim gibi görünüyor

  • GitHub deposunun README’sinde o aptal yıldız trend grafiği varsa güvenim çok daha azalıyor; böyle hisseden sadece ben miyim?

    • Bu biraz garip. İnsanlar kendi işleriyle gurur duyabilir
  • Performansı gösteren bir demo var mı?