Whisper

Whisper

Speech Recognition AI OpenAI Chatbots

OpenAI Whisper’ı Anlamak

Whisper Bir Model mi, Sistem mi?

OpenAI Whisper, bağlama bağlı olarak hem bir model hem de bir sistem olarak düşünülebilir.

  • Bir model olarak Whisper, özellikle ASR görevleri için tasarlanmış sinir ağı mimarilerinden oluşur. 39 milyon ila 1,55 milyar parametre arasında değişen çeşitli boyutlarda modeller içerir. Daha büyük modeller daha yüksek doğruluk sunar ancak daha fazla hesaplama kaynağı gerektirir.
  • Bir sistem olarak Whisper, sadece model mimarisini değil, aynı zamanda onu çevreleyen tüm altyapı ve süreçleri kapsar. Buna eğitim verileri, ön işleme yöntemleri ve dil tanıma ile çeviri gibi gerçekleştirebildiği çeşitli görevlerin entegrasyonu dahildir.

Whisper’ın Temel Yetenekleri

Whisper’ın ana işlevi, konuşmayı metin çıktısına dönüştürmektir. Şu alanlarda üstündür:

  • Çok Dilli Konuşma Tanıma: 99 dili destekler ve küresel uygulamalar için güçlü bir araçtır.
  • Konuşma Çevirisi: Desteklenen herhangi bir dilden konuşmayı İngilizce metne çevirebilir.
  • Dil Tanımlama: Önceden belirtilmesine gerek olmadan konuşulan dili otomatik olarak algılar.
  • Aksanlara ve Arka Plan Gürültüsüne Dayanıklılık: Farklı verilerle eğitildiği için çeşitli aksan ve gürültülü ortamlarda etkili çalışır.

OpenAI Whisper Nasıl Çalışır?

Dönüştürücü (Transformer) Mimarisi

Whisper’ın temelinde Dönüştürücü (Transformer) mimarisi bulunur; özel olarak bir kodlayıcı-çözücü modelidir. Dönüştürücüler, ardışık verileri işlerken ve uzun dizilerde bağlamı kavramada uzmanlaşmış sinir ağlarıdır. 2017’de yayımlanan “Attention is All You Need” makalesiyle tanıtılan dönüştürücüler, birçok NLP görevinde temel haline gelmiştir.

Whisper’ın işlem süreci şunları içerir:

  1. Ses Ön İşleme: Girdi sesi 30 saniyelik parçalara ayrılır ve zaman içinde sesin frekans ve yoğunluğunu yakalayan log-Mel spektrogramına dönüştürülür.
  2. Kodlayıcı (Encoder): Spektrogramı sayısal bir ses temsilcisine dönüştürür.
  3. Çözücü (Decoder): Ses girdisine karşılık gelen metin sembollerinin (kelimeler veya alt birimler) dizisini tahmin etmek için bir dil modeli kullanır.
  4. Özel Sembollerin Kullanımı: Dil tanıma, zaman damgaları ve görev odaklı komutlar (örn. transkript veya çeviri) gibi işlemler için özel semboller içerir.

Çok Dilli Çok Görevli Denetimli Verilerle Eğitim

Whisper, internetten toplanan 680.000 saatlik denetimli veri üzerinde eğitildi. Bu veri şunları içerir:

  • Çok Dilli Veri: Yaklaşık 117.000 saati 99 farklı dilde olup, modelin diller arası genelleme yeteneğini artırır.
  • Çeşitli Akustik Koşullar: Veri setinde farklı alan ve ortamlardan sesler bulunur; bu da farklı aksan, lehçe ve arka plan gürültüsüne karşı dayanıklılık sağlar.
  • Çok Görevli Öğrenme: Aynı anda birden fazla görevde (transkripsiyon, çeviri, dil tanımlama) eğitim alarak, Whisper paylaşımlı temsiller öğrenir ve genel performansı artar.

Uygulamalar ve Kullanım Alanları

Transkripsiyon Hizmetleri

  • Sanal Toplantılar ve Not Tutma: Genel ses ve eğitim, sağlık, gazetecilik ile hukuk gibi sektörlere özel platformlarda transkripsiyonu otomatikleştirir.
  • İçerik Üretimi: Podcast, video ve canlı yayınlar için transkriptler üreterek erişilebilirliği artırır ve metin referansları sağlar.

Dil Çevirisi

  • Küresel İletişim: Bir dilden konuşmayı İngilizce metne çevirerek diller arası iletişimi kolaylaştırır.
  • Dil Öğrenme Araçları: Farklı dillerde telaffuz ve anlamın anlaşılmasını destekler.

Yapay Zeka Otomasyonu ve Sohbet Botları

  • Sesli Sohbet Botları: Whisper’ı sohbet botlarına entegre ederek sesli etkileşim imkanı sunar, kullanıcı deneyimini artırır.
  • Yapay Zeka Asistanları: Farklı dillerde verilen sözlü komutları anlayıp işleyebilen asistanlar geliştirilir.

Erişilebilirlik İyileştirmeleri

  • Altyazı: Video içerikleri için altyazı üreterek işitme engelli bireylere yardımcı olur.
  • Yardımcı Teknolojiler: Cihazların, dil desteğine ihtiyaç duyan kullanıcılar için konuşmayı transkript ve çeviri şeklinde sunmasını sağlar.

Çağrı Merkezleri ve Müşteri Desteği

  • Gerçek Zamanlı Transkripsiyon: Müşteri temsilcilerine, çağrıların gerçek zamanlı metin transkriptini sunar.
  • Duygu Analizi: Transkripte edilen metni analiz ederek müşteri duygusunu ölçer ve etkileşimi geliştirir.

OpenAI Whisper’ın Avantajları

Çok Dilli Destek

99 dili kapsamasıyla Whisper, çeşitli dilsel girdileri işleme konusunda öne çıkar. Bu çok dillilik, küresel uygulamalar ve uluslararası hedef kitlelere yönelik hizmetler için uygundur.

Yüksek Doğruluk ve Dayanıklılık

Kapsamlı denetimli verilerle eğitilen Whisper, transkripsiyon görevlerinde yüksek doğruluk sağlar. Farklı aksan, lehçe ve arka plan gürültülerine karşı dayanıklılığı sayesinde gerçek dünyada güvenilirdir.

Görevlerde Esneklik

Transkripsiyonun ötesinde Whisper şunları da yapabilir:

  • Dil Tanımlama: Önceden bilgi olmadan konuşulan dili algılar.
  • Konuşma Çevirisi: Konuşmayı bir dilden İngilizce metne çevirir.
  • Zaman Damgası Üretimi: Transkriptte cümle düzeyinde zaman damgaları sunar.

Açık Kaynaklı Olması

Açık kaynaklı olarak yayımlanan Whisper geliştiricilere şunları sağlar:

  • Özelleştirme ve İnce Ayar: Modeli belirli görevler veya alanlar için ayarlayabilirler.
  • Uygulamalara Entegrasyon: Lisans kısıtlaması olmadan Whisper’ı ürün ve hizmetlere gömebilirler.
  • Topluluğa Katkı: Modeli geliştirebilir ve iyileştirmeleri paylaşabilirler.

Sınırlamalar ve Dikkat Edilmesi Gerekenler

Hesaplama Gereksinimleri

  • Kaynak Yoğunluğu: Büyük modeller önemli ölçüde hesaplama gücü ve bellek (en büyük model için 10 GB VRAM’a kadar) gerektirir.
  • İşlem Süresi: Transkripsiyon hızı değişebilir; büyük modeller küçük modellere kıyasla daha yavaş çalışır.

Halüsinasyonlara Eğilim

  • Hatalı Transkriptler: Whisper bazen konuşulmayan metinler üretebilir (halüsinasyon). Bu durum bazı dillerde veya düşük kaliteli seslerde daha sık görülebilir.

İngilizce Dışı Dillerde Sınırlı Destek

  • Veri Yanlılığı: Eğitim verisinin büyük kısmı İngilizce olduğundan, az temsil edilen dillerde doğruluk etkilenebilir.
  • İnce Ayar Gerekebilir: Belirli diller veya lehçelerde performansı artırmak için ek eğitim gerekebilir.

Girdi Sınırlamaları

  • Ses Uzunluğu: Whisper, sesleri 30 saniyelik parçalarda işler; bu, daha uzun seslerin transkripsiyonunda zorluk çıkarabilir.
  • Dosya Boyutu Sınırlamaları: Açık kaynaklı modelde girdi dosya boyutu ve biçiminde sınırlamalar olabilir.

Yapay Zeka Otomasyonu ve Sohbet Botlarında OpenAI Whisper

Kullanıcı Etkileşimlerini Artırmak

Whisper’ı sohbet botlarına ve yapay zeka asistanlarına entegre ederek geliştiriciler şunları sağlamış olur:

  • Sesli Komutlar: Kullanıcıların metin yerine sesle etkileşimde bulunmasına olanak verir.
  • Çok Dilli Destek: Farklı dilleri tercih eden veya ihtiyaç duyan kullanıcıları hedefler.
  • Geliştirilmiş Erişilebilirlik: Engelli veya geleneksel giriş yöntemlerini kullanamayan kullanıcıları destekler.

İş Akışlarını Kolaylaştırmak

  • Otomatik Transkriptler: Not tutma ve kayıt işlemlerinde manuel çabayı azaltır.
  • Veri Analizi: Konuşulan içeriği analiz, izleme ve içgörü için metne dönüştürür.

Pratikte Örnekler

  • Sanal Toplantı Botları: Çevrim içi toplantılara katılarak tartışmaları anlık olarak transkript eden araçlar.
  • Müşteri Hizmetleri Botları: Konuşulan talepleri anlayıp yanıtlayan sistemler, müşteri deneyimini iyileştirir.
  • Eğitim Platformları: Dersleri transkript eden veya öğrencilere çeviri sunan uygulamalar.

OpenAI Whisper Alternatifleri

Açık Kaynaklı Alternatifler

  • Mozilla DeepSpeech: Özelleştirilebilir model eğitimi sunan açık kaynaklı bir ASR motoru.
  • Kaldi: Araştırma ve endüstride yaygın olarak kullanılan bir konuşma tanıma araç kiti.
  • Wav2vec: Meta AI’nin kendi kendine denetimli konuşma işleme sistemi.

Ticari API’ler

  • Google Cloud Speech-to-Text: Kapsamlı dil desteğiyle konuşma tanıma sunar.
  • Microsoft Azure AI Speech: Özelleştirilebilir konuşma hizmetleri sağlar.
  • AWS Transcribe: Özel kelime dağarcığı gibi özelliklerle Amazon’un konuşma tanıma hizmeti.

Uzman Sağlayıcılar

  • Gladia: Ek özelliklerle geliştirilmiş hibrit bir Whisper mimarisi sunar.
  • AssemblyAI: İçerik moderasyonu gibi özellikler içeren konuşmadan metne API’leri sunar.
  • Deepgram: Özelleştirilmiş model eğitimi seçenekleriyle gerçek zamanlı transkripsiyon sunar.

Whisper Seçerken Dikkat Edilmesi Gerekenler

Doğruluk ve Hız

  • Denge: Büyük modeller daha yüksek doğruluk sunar ancak daha fazla kaynak gerektirir ve daha yavaştır.
  • Test: Uygulamanızla ilgili gerçek veriyle performansı değerlendirin.

Ses Hacmi

  • Ölçeklenebilirlik: Büyük hacimli ses işlemek için donanım ve altyapı ihtiyaçlarını göz önünde bulundurun.
  • Toplu İşleme: Büyük veri kümelerini verimli bir şekilde işlemek için yöntemler uygulayın.

Gelişmiş Özellikler

  • Ek İşlevler: Canlı transkripsiyon veya konuşmacı ayrımı gibi özelliklere ihtiyaç olup olmadığını değerlendirin.
  • Özelleştirme: Ek özellikleri uygulamak için gereken çabayı belirleyin.

Dil Desteği

  • Hedef Diller: Modelin, uygulamanız için gerekli dillerdeki performansını doğrulayın.
  • İnce Ayar: Az temsil edilen diller için ek eğitim planlayın.

Uzmanlık ve Kaynaklar

  • Teknik Uzmanlık: Ekibinizin modeli uygulayıp uyarlayacak becerilere sahip olduğundan emin olun.
  • Altyapı: Donanım gereksinimlerini ve barındırma olanaklarını değerlendirin.

Maliyet Dikkatleri

  • Açık Kaynak vs. Ticari: Açık kaynaklı çözümlerin ilk maliyet avantajlarını, bakım ve ölçeklendirmedeki uzun vadeli masraflarla dengeleyin.
  • Toplam Sahip Olma Maliyeti: Donanım, geliştirme süresi ve devam eden destek maliyetlerini göz önünde bulundurun.

Whisper Python’da Nasıl Kullanılır?

Whisper, Python kütüphanesi olarak uygulanmıştır ve Python tabanlı projelere sorunsuz entegrasyon sağlar. Python’da Whisper kullanmak için uygun ortamı hazırlamak, gerekli bağımlılıkları yüklemek ve kütüphanenin fonksiyonlarını kullanarak ses dosyalarını transkript veya çeviri yapmak gerekir.

Python’da Whisper Kurulumu

Whisper’ı kullanmadan önce geliştirme ortamınızı Python, PyTorch, FFmpeg ve Whisper kütüphanesini yükleyerek hazırlamanız gerekir.

Ön Koşullar

  • Python: 3.8 ile 3.11 arası sürümler önerilir.
  • PyTorch: Whisper modelini çalıştırmak için gerekli derin öğrenme framework’ü.
  • FFmpeg: Ses ve video dosyalarını işlemek için komut satırı aracı.
  • Whisper Kütüphanesi: OpenAI tarafından sunulan Python paketi.

1. Adım: Python ve PyTorch Kurulumu

Python yüklü değilse resmi web sitesinden indirin. PyTorch yüklemek için pip kullanın:

pip install torch

Alternatif olarak, işletim sistemi ve Python sürümünüze özel kurulum talimatları için PyTorch web sitesini ziyaret edebilirsiniz.

2. Adım: FFmpeg Kurulumu

Whisper, ses dosyalarını işlemek için FFmpeg gerektirir. İşletim sisteminize uygun paket yöneticisiyle FFmpeg’i yükleyin.

Ubuntu/Debian:

sudo apt update && sudo apt install ffmpeg

MacOS (Homebrew ile):

brew install ffmpeg

Windows (Chocolatey ile):

choco install ffmpeg

3. Adım: Whisper Kütüphanesini Kurun

Whisper Python paketini pip ile kurun:

pip install -U openai-whisper

En son sürümü doğrudan GitHub deposundan kurmak için:

pip install git+https://github.com/openai/whisper.git

Windows Kullanıcıları İçin Not

Geliştirici Modu’nun etkin olduğundan emin olun:

  1. Ayarlar‘a gidin.
  2. Gizlilik ve Güvenlik > Geliştiriciler İçin sekmesine ilerleyin.
  3. Geliştirici Modunu açın.

Mevcut Modeller ve Özellikleri

Whisper, boyut ve yetenekleri farklı birkaç model sunar. Modeller tiny‘den large‘a kadar değişir ve her biri hız ve doğruluk arasında farklı bir denge sunar.

BoyutParametreSadece İngilizce ModelÇok Dilli ModelGerekli VRAMGöreli Hız
tiny39 Mtiny.entiny~1 GB~32x
base74 Mbase.enbase~1 GB~16x
small244 Msmall.ensmall~2 GB~6x
medium769 Mmedium.enmedium~5 GB~2x
large1550 MYoklarge~10 GB1x

Doğru Modeli Seçmek

  • Sadece İngilizce Modeller (.en): İngilizce transkripsiyon için optimize edilmiştir, İngilizce seslerde daha iyi performans sunar.
  • Çok Dilli Modeller: Birden fazla dili transkribe edebilir, küresel uygulamalar için uygundur.
  • Model Boyutu: Daha büyük modeller daha yüksek doğruluk sağlar ancak daha fazla hesaplama kaynağı gerektirir. Donanım kapasitenize ve performans ihtiyacınıza uygun bir model seçin.

Python’da Whisper Kullanımı

Ortamınızı hazırlayıp gerekli bileşenleri yükledikten sonra, Python projelerinizde Whisper’ı kullanmaya başlayabilirsiniz.

Kütüphaneyi İçe Aktarma ve Model Yükleme

Önce Whisper kütüphanesini içe aktarın ve bir model yükleyin:

import whisper

# İstenen modeli yükleyin
model = whisper.load_model("base")

Uygulamanıza uygun model adını "base" yerine yazabilirsiniz.

Ses Dosyalarını Transkribe Etme

Whisper, ses dosyalarını metne dönüştürmek için basit bir transcribe fonksiyonu sunar.

Örnek: İngilizce Ses Dosyası Transkripsiyonu

# Ses dosyasını transkribe et
result = model.transcribe("path/to/english_audio.mp3")

# Transkripti yazdır
print(result["text"])

Açıklama

  • model.transcribe(): Ses dosyasını işler ve transkript ile diğer meta verileri içeren bir sözlük döndürür.
  • result["text"]: Sonuçtan transkribe edilen metni alır.

Sesi İngilizce’ye Çevirme

Whisper, çeşitli dillerdeki sesleri İngilizce’ye çevirebilir.

Örnek: İspanyolca Sesi İngilizce’ye Çevirme

# İspanyolca ses dosyasını İngilizce'ye transkribe ve çevir
result = model.transcribe("path/to/spanish_audio.mp3", task="translate")

# Çevrilen metni yazdır
print(result["text"])

Açıklama

  • task="translate": Modelin sesi birebir transkribe etmek yerine İngilizce’ye çevirmesini sağlar.

Dili Belirtmek

Whisper dili otomatik algılayabilse de, dili belirtmek doğruluk ve hızı artırabilir.

Örnek: Fransızca Ses Transkripsiyonu

# Fransızca ses dosyasını, dili belirterek transkribe et
result = model.transcribe("path/to/french_audio.wav", language="fr")

# Transkripti yazdır
print(result["text"])

Sesin Dilini Algılama

Whisper, detect_language yöntemi ile ses dosyasındaki dili tespit edebilir.

Örnek: Dil Algılama

# Sesi yükle ve ön işle
audio = whisper.load_audio("path/to/unknown_language_audio.mp3")
audio = whisper.pad_or_trim(audio)

# log-Mel spektrograma çevir
mel = whisper.log_mel_spectrogram(audio).to(model.device)

# Dili algıla
_, probs = model.detect_language(mel)
language = max(probs, key=probs.get)

print(f"Algılanan dil: {language}")

Açıklama

  • whisper.load_audio(): Ses dosyasını yükler.
  • whisper.pad_or_trim(): Sesi modelin girdi gereksinimlerine uygun uzunluğa getirir.
  • whisper.log_mel_spectrogram(): Sesi modelin beklediği formata dönüştürür.
  • model.detect_language(): Her dil için olasılık döndürür, en olası dili belirler.

Gelişmiş Kullanım ve Özelleştirme

Transkripsiyon süreci üzerinde daha fazla kontrol için alt seviye fonksiyonlar ve özelleştirilebilir kod çözme seçeneklerini kullanabilirsiniz.

decode Fonksiyonunu Kullanma

decode fonksiyonu ile dil, görev ve zaman damgası eklenip eklenmeyeceği gibi seçenekleri belirleyebilirsiniz.

Örnek: Özelleştirilmiş Kod Çözme Seçenekleri

# Kod çözme seçeneklerini ayarlayın
options = whisper.DecodingOptions(language="de", without_timestamps=True)

# Sesi kod çöz
result = whisper.decode(model, mel, options)

# Tanınan metni yazdır
print(result.text)

Canlı Ses Girdisi İşleme

Whisper’ı, mikrofondan gelen canlı sesleri transkribe etmek için entegre edebilirsiniz.

Örnek: Canlı Mikrofon Girdisinin Transkripsiyonu

import whisper
import sounddevice as sd

# Modeli yükle
model = whisper.load_model("base")

# Mikrofondan ses kaydet
duration = 5  # saniye
fs = 16000  # Örnekleme hızı
print("Kayıt başlıyor...")
audio = sd.rec(int(duration * fs), samplerate=fs, channels=1, dtype='float32')
sd.wait

Sıkça sorulan sorular

OpenAI Whisper nedir?

OpenAI Whisper, OpenAI tarafından geliştirilen gelişmiş bir otomatik konuşma tanıma (ASR) sistemidir. Derin öğrenme kullanarak konuşulan dili yazılı metne dönüştürmek için tasarlanmıştır. 99 dili destekler ve transkripsiyon, çeviri ve dil tanımlamada üstündür.

Whisper nasıl çalışır?

Whisper, dönüştürücü tabanlı bir kodlayıcı-çözücü mimarisi kullanır, sesleri log-Mel spektrogramlarına dönüştürür ve bir dil modeli ile metin çıktısı üretir. 680.000 saatlik çok dilli, çok görevli veri üzerinde eğitilmiştir ve yüksek doğruluk ile sağlamlık sunar.

Whisper'ın başlıca özellikleri nelerdir?

Whisper, çok dilli konuşma tanıma, konuşma çevirisi, otomatik dil tanımlama, aksanlara ve gürültüye karşı dayanıklılık destekler ve özelleştirme ile entegrasyon için açık kaynaklı erişim sunar.

Whisper için donanım gereksinimleri nelerdir?

Donanım gereksinimleri model boyutuna bağlıdır: 'tiny' gibi küçük modeller yaklaşık 1 GB VRAM gerektirirken, en büyük model yaklaşık 10 GB gerektirir. Whisper GPU üzerinde daha hızlı çalışır; ancak CPU'da da daha uzun sürede çalışabilir.

Whisper Python projelerine entegre edilebilir mi?

Evet, Whisper bir Python kütüphanesi olarak uygulanmıştır ve pip ile kurulabilir. Konuşma transkripsiyonu, çeviri ve gerçek zamanlı ses uygulamaları için Python projelerine kolayca entegre edilebilir.

Whisper için yaygın kullanım alanları nelerdir?

Yaygın kullanım alanları arasında otomatik toplantı transkripsiyonu, sesli sohbet botları, canlı çeviri, erişilebilirlik araçları (altyazı ve yardımcı teknolojiler), çağrı merkezi otomasyonu ve sesle kontrol edilen otomasyon sistemleri bulunur.

OpenAI Whisper'a alternatifler var mı?

Evet, Mozilla DeepSpeech, Kaldi, Wav2vec gibi açık kaynaklı motorlar ve Google Cloud Speech-to-Text, Microsoft Azure AI Speech, AWS Transcribe gibi ticari API'ler alternatif olarak mevcuttur.

Whisper açık kaynaklı mı?

Evet, OpenAI Whisper açık kaynaklıdır. Geliştiriciler tarafından ürün ve hizmetlere lisans kısıtlaması olmadan özelleştirilebilir, ince ayar yapılabilir ve entegre edilebilir.

OpenAI Whisper ile Geliştirmeye Başlayın

Gelişmiş konuşmadan metne özelliklerini uygulamalarınıza entegre edin, iş akışlarını otomatikleştirin ve OpenAI Whisper ve FlowHunt ile kullanıcı deneyimini artırın.

Daha fazla bilgi

Büyük Dil Modeli (LLM)

Büyük Dil Modeli (LLM)

Büyük Dil Modeli (LLM), insan dilini anlamak, üretmek ve üzerinde işlem yapmak için geniş metin verileriyle eğitilmiş bir yapay zeka türüdür. LLM'ler, metin üre...

7 dakika okuma
AI Large Language Model +4
Large Language Model Meta AI (LLaMA)

Large Language Model Meta AI (LLaMA)

Large Language Model Meta AI (LLaMA), Meta tarafından geliştirilen son teknoloji bir doğal dil işleme modelidir. 65 milyara kadar parametreye sahip olan LLaMA, ...

2 dakika okuma
AI Language Model +6
Temel Model

Temel Model

Temel Bir Yapay Zeka Modeli, çok büyük veri kümeleri üzerinde eğitilmiş, geniş bir görev yelpazesine uyarlanabilen büyük ölçekli bir makine öğrenimi modelidir. ...

6 dakika okuma
AI Foundation Models +5