Debian / Ubuntu’da NVİDİA GPU ile OpenAI Whisper Sesinden Metne Dönüştürme Nasıl Kullanılır

OpenAI Whisper, ses dosyalarını etkileyici bir doğrulukla yazabilen güçlü bir konuşma tanıma sistemidir. CUDA aracılığıyla NVIDIA GPU hızlandırma ile birleştirildiğinde Whisper, ses dosyalarını yalnızca CPU işlemesinden önemli ölçüde daha hızlı işleyebilir. Bu kılavuz, Whisper’ın Debian ve Ubuntu Linux sistemlerinde GPU desteğiyle nasıl kurulacağını ve kullanılacağını gösterir.

Önkoşullar

Whisper‘ı GPU desteğiyle yüklemeden önce, sisteminizde aşağıdaki bileşenlerin yüklü ve yapılandırılmış olması gerekir:

  1. NVIDIA Drivers: Sisteminizin düzgün yüklenmiş NVİDİA tescilli sürücülerine ihtiyacı vardır. Dağıtımınız için uygun kılavuzu izleyin:
  2. CUDA Toolkit: GPU hızlandırma için NVIDIA CUDA gereklidir. Bu kılavuzları izleyerek kurun:
  3. PyTorch with CUDA Support: Whisper, CUDA’nın etkin olduğu PyTorch gerektirir. Her iki dağıtım için de bu kılavuzu izleyin:
  4. Configured Python virtual Enviroment: Ubuntu/Debian’da gerekli tüm Python Modüllerini kurmak için bir Python sanal ortamı oluşturmanız gerekecektir:

GPU KURULUMUNU DOĞRULAYIN
Devam etmeden önce, nvidia-smi çalıştırarak ve PyTorch’un CUDA’ya şu şekilde erişebildiğini kontrol ederek GPU’nuzun algılandığını ve CUDA’nın çalıştığını doğrulayın: python3 -c “import torch; print(torch.cuda.is_available())”

Verifying Whisper GPU detection on Debian Linux showing cuda:0 output
Whisper’ın transkripsiyon işleme için NVIDIA GPU’yu (cuda:0) başarıyla algıladığını ve kullanacağını doğrulama
Whisper Model GPU Requirements
ModelParametersVRAM RequiredRelative SpeedRecommended GPU Examples
tiny39M~1 GB~32xGTX 1050, GT 1030, any modern GPU
base74M~1 GB~16xGTX 1050 Ti, GTX 1650, RTX 3050
small244M~2 GB~6xGTX 1060 (6GB), RTX 2060, RTX 3050
medium769M~5 GB~2xRTX 3060 (12GB), RTX 4060, RTX 2070
large1550M~10 GB1x (baseline)RTX 3080 (10GB), RTX 3090, RTX 4070 Ti

OpenAI Whisper’ı Yükleme

  1. FFmpeg’i yükleyin: Whisper, FFmpeg’in çeşitli formatlardaki ses dosyalarını işlemesini gerektirir
    # apt install ffmpeg

    Bu paket, Whisper’ın MP3, WAV ve diğer yaygın ses formatlarını işlemesi için gerekli ses codec desteğini sağlar.

  2. OpenAI Whisper’ı yükleyin: Whisper’ı tüm bağımlılıklarıyla birlikte yüklemek için pip kullanın
    $ pip install openai-whisper

    The installation will download and install Whisper along with required packages including tiktoken, numba, and other dependencies. This may take a few minutes depending on your internet connection.

  3. Whisper GPU Erişimini Doğrulayın: Whisper’ın GPU’nuzu algılayabildiğini ve kullanabildiğini onaylayın
    $ python3 -c "import whisper; print(whisper.load_model('base').device)"

    The output should display cuda:0, indicating that Whisper will use your NVIDIA GPU for processing. If you see cpu instead, review your PyTorch CUDA installation.

INSTALLATION COMPLETE
Whisper is now installed and configured to use GPU acceleration. You can proceed to transcribe audio files.

Whisper’ın Temel Kullanımı

Whisper, ses dosyalarını yazıya dökmek için basit bir komut satırı arayüzü sunar. Temel sözdizimi basittir ve MP3, WAV, M4A ve diğerleri dahil olmak üzere çeşitli ses formatlarını kabul eder.

  1. Test Ses Dosyasını İndirin: İlk olarak, test için bir örnek konuşma ses dosyası indirin
    $ wget http://www.voiptroubleshooter.com/open_speech/american/OSR_us_000_0010_8k.wav

    Bu, Açık Konuşma Deposu’ndan İngilizce konuşma içeren ücretsiz bir test ses dosyasını indirir.

  2. Temel Transkripsiyon: Temel modeli kullanarak test ses dosyasını transkribe edin
    $ whisper OSR_us_000_0010_8k.wav --model base --device cuda

    Bu komut, ses dosyasını GPU hızlandırmalı temel model kullanarak yazıya döker. Whisper, dili otomatik olarak algılar ve metin, SRT altyazıları ve VTT formatı dahil olmak üzere çeşitli çıktı dosyaları oluşturur. GPU hızlandırmalı yazıya dökme işlemi yalnızca birkaç saniye içinde tamamlanmalıdır.

     

     Whisper GPU transcription with timing results showing 6.13 seconds total processing time on Debian Linux
    GPU hızlandırma kullanılarak Whisper ile test ses dosyası indiriliyor ve yazıya dökülüyor – 33 saniyelik ses için toplam 6,13 saniyelik işlem süresi
  3. Dili Belirtin: Ses dilini bildiğinizde, bunu belirtmek doğruluğu ve hızı artırabilir
    $ whisper OSR_us_000_0010_8k.wav --model base --device cuda --language English

    Whisper, dili belirterek dil algılama aşamasını atlar ve hemen transkripsiyonu başlatır.

  4. Çıktı Biçimini Seçin: Hangi çıktı biçimlerinin oluşturulacağını kontrol edin
    $ whisper OSR_us_000_0010_8k.wav --model base --device cuda --output_format txt

    Kullanılabilir biçimler arasında txt, srt, vtt, json ve tsv bulunur. Virgülle ayırarak birden fazla biçim belirtebilirsiniz.

  5. Farklı Modeller Kullanın: Whisper, farklı doğruluk-hız dengelerine sahip çeşitli model boyutları sunar
    $ whisper OSR_us_000_0010_8k.wav --model small --device cuda

    En küçüğünden en büyüğüne kadar mevcut modeller: minik, temel, küçük, orta, büyük. Daha büyük modeller daha iyi doğruluk sağlar ancak daha fazla GPU belleği ve işlem süresi gerektirir.

  6. İngilizceye Çeviri: İngilizce olmayan sesi otomatik olarak İngilizce metne çevirin
    $ whisper your-audio-file.mp3 --model base --device cuda --task translate

    Bu, başka bir dilde sesiniz varken ancak İngilizce metin çıktısı almak istediğinizde kullanışlıdır. your-audio-file.mp3 dosyasını gerçek ses dosyanızla değiştirin.

Whisper Modellerini Anlamak

Whisper, her biri doğruluk, hız ve bellek gereksinimleri arasında farklı dengeler sunan beş farklı model boyutu sunar:

ModelParametrelerVRAM GerekliKullanım Örneği
tiny39M~1 GBHızlı işleme, düşük doğruluk, gerçek zamanlı uygulamalar
base74M~1 GBÇoğu görev için iyi denge, önerilen başlangıç ​​noktası
small244M~2 GBDaha iyi doğruluk, hala nispeten hızlı
medium769M~5 GBYüksek doğruluk, daha yavaş işleme
large1550M~10 GBEn iyi doğruluk, güçlü GPU gerektirir

 

MEVCUT VRAM’I KONTROL EDİN
GPU’nuzun VRAM miktarını kontrol etmek için nvidia-smi komutunu çalıştırın ve “Bellek Kullanımı” sütununa bakın. Örneğin, “2048MiB / 8192MiB”, toplam 8 GB VRAM’iniz olduğu anlamına gelir. Kullanılabilir VRAM’inize göre modeller seçin: küçük/temel (1 GB), küçük (2 GB), orta (5 GB), büyük (10 GB).

MODEL SEÇİMİ İPUCU
Test için temel modelle başlayın. Doğruluk yeterli değilse, küçük veya orta modeli deneyin. Yalnızca yeterli GPU belleğiniz varsa ve mümkün olan en yüksek doğruluğa ihtiyacınız varsa büyük modeli kullanın.

 

GPU ve CPU Performans Karşılaştırması

Whisper ile GPU hızlandırma kullanmanın temel avantajlarından biri, CPU işleme hızına kıyasla önemli ölçüde iyileştirme sağlamasıdır. Bu farkı göstermek için, aynı ses dosyasını hem CPU hem de GPU kullanarak yazıya döküp işlem sürelerini karşılaştırabiliriz.

  1. CPU Transkripsiyonu: CPU kullanarak transkripsiyon sürecini zamanlayın
    $ time whisper OSR_us_000_0010_8k.wav --model base --device cpu 2> /dev/null

    Bu komut, ses dosyasını yalnızca CPU kullanarak yazıya döker ve toplam süreyi ölçer. 2> /dev/null, daha temiz zamanlama sonuçları için hata çıktısını bastırır.

  2. GPU Transkripsiyonu: GPU hızlandırmayı kullanarak aynı transkripsiyonu zamanlayın
    $ time whisper OSR_us_000_0010_8k.wav --model base --device cuda 2> /dev/null

    Bu, aynı transkripsiyonu gerçekleştirir ancak CUDA aracılığıyla NVIDIA GPU’nuzdan yararlanır. Hız farkı hemen fark edilir.

Performans farkı, daha büyük modeller ve daha uzun ses dosyalarıyla daha da belirginleşiyor. Temel modelde, GPU işleme genellikle CPU’dan 10-15 kat daha hızlıdır. Bu hız avantajı, büyük hacimli ses dosyalarını işlerken veya orta veya büyük gibi daha yüksek doğruluklu modellerle çalışırken GPU hızlandırmayı vazgeçilmez kılar.

Whisper CPU vs GPU performance comparison showing 21.5 seconds for CPU versus 6.5 seconds for GPU transcription
CPU ve GPU transkripsiyonu arasındaki performans karşılaştırması – CPU işlemi 21,5 saniye sürerken GPU hızlandırma aynı görevi yalnızca 6,5 ​​saniyede tamamlayarak 3,3 kat hızlanma sağlıyor

Yaygın Whisper Seçenekleri

Whisper, transkripsiyon davranışını özelleştirmek için çok sayıda komut satırı seçeneğini destekler. İşte en kullanışlı olanlar:

  • --model MODEL: Model boyutunu seçin (küçük, taban, küçük, orta, büyük)
  • --device cuda: GPU kullanımını zorla (ancak Whisper, mümkün olduğunda varsayılan olarak GPU’yu kullanır)
  • --language LANGUAGE: Algılamayı atlamak için ses dilini belirtin
  • --task transcribe|translate: Ya orijinal dilde yazın ya da İngilizceye çevirin
  • --output_format FORMAT: Çıktı biçimini seçin (txt, srt, vtt, json, tsv)
  • --output_dir DIRECTORY: Çıktı dosyalarının nereye kaydedileceğini belirtin
  • --verbose False: İşlem sırasında konsol çıkışını azaltın
  • --temperature 0: Tutarlı sonuçlar için kesin kod çözmeyi kullanın

GPU Kullanımını İzleme

Whisper’ın transkripsiyon sırasında GPU’nuzu gerçekten kullandığını doğrulamak için GPU etkinliğini gerçek zamanlı olarak izleyebilirsiniz:

$ watch -n 1 nvidia-smi

Whisper sesi işlerken bu komutu ayrı bir terminal penceresinde çalıştırın. Transkripsiyon sırasında GPU kullanımının arttığını ve bellek kullanımının aniden yükseldiğini görmelisiniz. Bu, GPU hızlandırmanın düzgün çalıştığını doğrular.

NVIDIA GPU monitoring showing Whisper medium model using 4702MB VRAM during transcription on RTX 3080
Whisper, orta modeli kullanarak sesi yazıya dökerken GPU kullanımının nvidia-smi ile izlenmesi – NVIDIA GeForce RTX 3080’de 4702 MB’lık aktif VRAM tüketimini gösteriyor

Sorun giderme

  1. Whisper GPU Yerine CPU Kullanıyor: Whisper, GPU’ya sahip olmasına rağmen CPU işlemeye geri dönerse
    $ python3 -c "import torch; print(torch.cuda.is_available())"

    Bu hata False döndürürse, PyTorch kurulumunuzda CUDA desteği yoktur. Önkoşullar kılavuzunu izleyerek PyTorch’u CUDA ile yeniden yükleyin.

  2. FFmpeg Bulunamadı Hatası: “Böyle bir dosya veya dizin yok: ‘ffmpeg’” hatasıyla karşılaşırsanız
    # apt install ffmpeg

    Whisper, ses dosyalarını çözümlemek için FFmpeg’e ihtiyaç duyar. Dağıtımınızın paket yöneticisini kullanarak yükleyin.

  3. Bellek Yetersiz Hatası: CUDA bellek yetersiz hataları görüyorsanız
    $ whisper audiofile.mp3 --model tiny --device cuda

    Daha az GPU belleği gerektiren daha küçük bir model kullanmayı deneyin. Küçük veya temel modeller, 4 GB veya daha az VRAM’e sahip GPU’larda iyi çalışır.

  4. Model İndirme Sorunları: Model indirmeleri başarısız olursa veya kesintiye uğrarsa, Whisper ilk kullanımda modelleri ~/.cache/whisper/ dizinine indirir. İndirmeler bozuksa bu dizini silin ve tekrar deneyin:
    $ rm -rf ~/.cache/whisper/

 

 

Yazının orijinalini buradan okuyabilirsiniz

Hüseyin GÜÇ

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım. Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum. Son 6 yıldır  sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum. Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.