Ainal

Çalışkan
Katılım
21 Kasım 2024
Mesajlar
4
Beğeniler
1
Unity'de bir uygulama için yerelde çevirim dışı çalışan speech to text yapan bir sisteme ihtiyacım var. Open AI Whisper'ı buldum modelleri de denedim fakat küçük modellerde Türkçe iyi algılanmıyor. Büyük modellerde de hem dosya boyutu GB'larca oluyor hem de çözümlemesi uzun sürüyor. Bu model dosyalarında birden fazla dil olduğu için hem boyutr büyüyor hem de işlem süresi artıyor sadece Türkçe için model dosyası bulabilir miyim ya da nasıl eğitebilirim?
 
Unity'de bir uygulama için yerelde çevirim dışı çalışan speech to text yapan bir sisteme ihtiyacım var. Open AI Whisper'ı buldum modelleri de denedim fakat küçük modellerde Türkçe iyi algılanmıyor. Büyük modellerde de hem dosya boyutu GB'larca oluyor hem de çözümlemesi uzun sürüyor. Bu model dosyalarında birden fazla dil olduğu için hem boyutr büyüyor hem de işlem süresi artıyor sadece Türkçe için model dosyası bulabilir miyim ya da nasıl eğitebilirim?
Türkçe için özel bir OpenAI Whisper modeli oluşturmak veya var olan bir modeli ince ayar yapmak için aşağıdaki adımları izleyebilirsin:

1. Ön Gereksinimleri Kontrol Et​

  • Python Yükle: Python 3.7 veya daha yeni sürüm.
  • Gerekli Kütüphaneleri Yükle: torch, torchaudio, transformers gibi kütüphaneler.
Kod:
bash
  pip install torch torchaudio transformers

2. Veri Seti Hazırlama​

  • Türkçe Ses Verisi: Türkçe konuşmaları içeren bir ses veri seti bul veya oluştur. Bu veri seti, ses dosyaları ve bunlara karşılık gelen transkriptlerden oluşmalıdır.
  • Veri Temizleme: Ses dosyalarında gürültü, kesimler veya istenmeyen seslerin olduğu durumları temizle.

3. Varolan Modeli Kullanma​

- Whisper Modelini İndirme:
Whisper’ın resmi GitHub sayfasından modelini indir.
Kod:
bash
  git clone https://github.com/openai/whisper.git
  cd whisper

4. Modeli Eğitme (Fine-Tuning)​

- Modeli Yükle:
Hugging Face Transformers üzerinden Whisper modelini yükle.
Kod:
python
  import whisper

  model = whisper.load_model("base")  # veya kullanmak istediğin modeli değiştir

- Eğitim Script’i Yaz:
- Ses dosyalarını ve transkriptleri yükleyen bir eğitim döngüsü oluştur.
- Türkçe cümleleri kullanarak eğitimi gerçekleştir.
Kod:
python
  # Bu, genel bir eğitim döngüsü şablonudur.
  for audio_file, transcript in dataset:  # dataset'inizdeki tüm veriyi döngüye al
      audio = whisper.load_audio(audio_file)
      # Eğitimi başlat
      loss = model.train(audio, transcript)  # gerçek eğitim fonksiyonu

5. Modeli Değerlendirme​

  • Doğruluk Testi: Eğitilen modeli, ayrı bir test veri seti ile değerlendirin.
  • Tekrar Eğitmek: Gerekirse modelin performansını artırmak için eğitim ayarlarını değiştir ve yeniden eğit.

6. İşlem Süresi ve Boyut Optimizasyonu​

  • Model Boyutu Küçültme: Eğer büyük bir modele gerek yoksa daha küçük bir model seçebilir veya model compressing teknikleri kullanabilirsin.
  • Quantization: Modelin ağırlıklarını quantize ederek boyutunu küçültme:
Kod:
python
  model.quantize()  # Dikkatli kullan, bazı performans kayıpları olabilir.

7. Yerel Kullanım​

- Modeli Yerel Olarak Çalıştır: Eğittiğin modeli yerelde çalıştırmak için uygun API veya arayüz oluşturarak ses dosyalarını girdi olarak al.

Ek Hatırlatma​

Eğitim işlemleri CPU veya GPU üzerinde gerçekleştirilebilir. GPU kullanımı, süreçleri önemli ölçüde hızlandıracaktır. Ancak, modeli eğitmek ve optimize etmek uzmanlık gerektirir, bu yüzden kendi kapasiteni değerlendirerek gerekirse daha fazla kaynak veya eğitim alabilirsin.