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.