من یک مدل تبدیل متن به گفتار (TTS) فارسی آموزش دادم که روی CPU اجرا میشه.
یک مدل ۱۰۰ میلیون پارامتری که از یک مدل معلم ۲۴ لایه distill شده و از صفر روی ۴۹۷ ساعت گفتار فارسی با لایسنس عمومی CC0 آموزش دیده؛ دادههایی از Mana-TTS، فیلیمو و زیرنویسهای یوتیوب.
مدل میتونه فقط با چند ثانیه صدای ورودی، صدای گوینده رو تقلید کنه و روی CPU، بسیار سریع اجرا بشه. این مدل بر پایهی pocket-tts ساخته شده که توسط
kyutai_labs
توسعه داده شده.
تا جایی که من بررسی کردم، این اولین مدل فارسی در لیست community-models خود pocket-tts محسوب میشه و یکی از معدود مدلهای TTS فارسیه که واقعاً روی CPU با سرعت قابل استفاده اجرا میشه. بیشتر مدلهای متنبهگفتار متنباز برای فارسی، و حتی خیلی از زبانهای دیگه، عملاً فرض میکنن که یک GPU در اختیار دارید.
نکته جالبتر اینه که دانشجوی ۶ لایه در تمام معیارهایی که اندازهگیری کردم، از معلم ۲۴ لایه خودش بهتر عمل کرد: نرخ خطای کلمات (WER)، شباهت گوینده و کیفیت ادراکی صدا.
البته یک محدودیت واقعی هم وجود داره که بهتره صادقانه بهش اشاره کنم:
در فارسی، اضافه (ezafe)،(کسره ربط بین اسم و صفت/مضافالیه)، معمولاً در نوشتار مشخص نمیشه. بنابراین مدلی که متن خام رو میخونه، باید اضافه رو از روی context حدس بزنه و گاهی هم اشتباه میکنه.
حتی نمیشه این مشکل رو صرفاً با اضافه کردن دستیِ علامتها حل کرد، چون در دادههای آموزشی، این علامتها تقریباً هیچوقت به شکل یکدست و consistent نوشته نشدهاند. بنابراین pipeline پردازش متن هم باید اونها رو حذف کنه.
همهچیز رو عمومی کردم: اسکریپتهای آموزش، pipeline ارزیابی، یک runbook مرحلهبهمرحله و توضیحات کامل پروژه.
توی ویدیو کامل توضیح دادم. ۲تا نکته: توی ویدیو گفتم "فاین تیون" که درست نیست. آموزش کامل دادم روی زبان فارسی. و اینکه گفتم ۷۰۰ ساعت که ۵۰۰ ساعت دیتا بود.
🤗 مدل: https://huggingface.co/mehdi-hf/pocket-tts-farsi
💻 کد و توضیحات کامل: https://github.com/mallahyari/pocket-tts
ویدیو تو پست بعدی به همراه نمونه صدا.
Post #484
716