Whisper یک مدل پردازش صوت بسیار قوی بر پایه ترنسفورنرهاست. مدل های ترنسفورمر از encoder-decoder استفاده می کنند. همچنین این مدل ها به عنوان مدلهای sequence-to-sequence شناخته می شوند. این مدا نیز یکی از مدل هاییست که توسط شرکت openai ارائه شده است.
از مزیت اصلی این سیستمها میتوان به قابلیت پردازش تمام دنباله بهطور همزمان به جای یک قدم در هر لحظه مانند RNN و LSTMها اشاره کرد. این اجازه میدهد تا سیستمهای ترنسفورمری قابلیت موازیسازی شدن داشته باشند و بنابراین سرعت آموزش و استفاده از آنها بیشتر شود. اجزای کلیدی مدلهای Transformer، معماری Encoder-Decoder، ساز و کار Attention و Self-Attention هستند.
Whisper مدلی قدرتمند و کارا برای تبدیل گفتار به متن متناظر آن است که زبان های مختلف را پشتیبانی می کند. این مدل نمونه ختی مختلف با پارامترهای متفاوت دارد. در این مقاله ما روش گام به گام بهینه سازی این مدل با استفاده از OpenVINO را بیان می کنیم.
بهینهسازی مدلهای هوش مصنوعی یکی از اصلیترین چالشهای متخصصان هوش مصنوعی و شرکتهایی است که به دنبال استفاده بهینه از منابع سختافزاری خود هستند. در این مقاله، به بهینهسازی مدل Whisper توسط ابزار OpenVINO میپردازیم. این مقاله شامل آموزش گامبهگام و بررسی کاربردها و قابلیتهای این ابزار است.
معرفی Whisper و OpenVINO
Whisper یک مدل پیشرفته برای تبدیل صوت به متن است که توسط OpenAI ارائه شده است. این مدل به دلیل دقت بالا در شناسایی گفتار و پشتیبانی از زبانهای متعدد، محبوبیت زیادی پیدا کرده است. با این حال، استفاده از این مدل در محیطهای تولیدی با محدودیتهای سختافزاری همراه است.
OpenVINO یک ابزار بهینهسازی و استنتاج مدلهای یادگیری عمیق است که توسط شرکت اینتل توسعه داده شده است. این ابزار بهویژه برای پردازش مدلهای هوش مصنوعی بر روی سختافزارهای اینتل مانند پردازندهها و شتابدهندههای GPU طراحی شده است.
چرا باید Whisper را با OpenVINO بهینهسازی کنیم؟
- افزایش سرعت پردازش: OpenVINO میتواند زمان استنتاج مدل Whisper را به طور قابل توجهی کاهش دهد.
- کاهش مصرف منابع: بهینهسازی مدلها باعث کاهش نیاز به منابع سختافزاری و صرفهجویی در هزینهها میشود.
- تطبیق با محیطهای تولیدی: استفاده از OpenVINO امکان استقرار مدل Whisper را بر روی سرورهای محلی یا لبه فراهم میکند.
مراحل بهینهسازی Whisper با OpenVINO
1. پیشنیازها و آمادهسازی محیط
قبل از شروع، باید ابزارها و پیشنیازهای زیر را نصب و پیکربندی کنید:
- نصب Python (نسخه 3.7 یا بالاتر)
- نصب کتابخانههای مورد نیاز مانند PyTorch و transformers
- دانلود مدل Whisper از مخزن OpenAI
- نصب OpenVINO Toolkit از وبسایت رسمی اینتل
# نصب OpenVINO
pip install openvino-dev
# نصب کتابخانههای مورد نیاز
pip install torch torchvision transformers
2. تبدیل مدل Whisper به فرمت OpenVINO IR
برای بهینهسازی مدل، ابتدا باید آن را به فرمت Intermediate Representation (IR) تبدیل کنید که توسط OpenVINO پشتیبانی میشود.
مدل Whisper را از OpenAI دانلود کنید:
from transformers import WhisperForConditionalGeneration
model = WhisperForConditionalGeneration.from_pretrained(‘openai/whisper-base’)
model.save_pretrained(‘./whisper_model’)
2. تبدیل مدل به فرمت ONNX:
python -m transformers.onnx --model=./whisper_model --feature=seq2seq-lm ./whisper_model.onnx
3. تبدیل مدل ONNX به فرمت IR:
mo –input_model ./whisper_model.onnx –output_dir ./openvino_model
3. استقرار مدل بهینهسازیشده
پس از تبدیل مدل به فرمت IR، میتوانید از آن برای استنتاج استفاده کنید:
from openvino.runtime import Core
ie = Core()
model_ir = ie.read_model(model=’./openvino_model/model.xml’)
compiled_model = ie.compile_model(model=model_ir, device_name=’CPU’)
# بارگذاری ورودی و پیشبینی
output = compiled_model.infer_new_request({‘input’: input_data})
کاربردهای Whisper و OpenVINO
- تبدیل صوت به متن در زمان واقعی: مناسب برای کاربردهایی مانند خدمات مشتریان یا پشتیبانی آنلاین.
- تحلیل دادههای صوتی: برای تحلیل مکالمات ضبطشده در مراکز تماس.
- استفاده در دستگاههای لبه: بهینهسازی با OpenVINO امکان اجرای مدل را روی دستگاههای کممصرف فراهم میکند.
مزایای استفاده از OpenVINO:
- پشتیبانی از چندین سختافزار: مانند CPU، GPU، و VPU
- ابزارهای بهینهسازی پیشرفته: مانند Quantization برای کاهش حجم مدل.
- سهولت در استقرار: امکان یکپارچهسازی سریع با نرمافزارهای موجود.
نتایج عملکرد و مقایسه
با استفاده از OpenVINO، سرعت پردازش مدل Whisper تا 2 برابر افزایش و مصرف حافظه تا 30 درصد کاهش یافته است. این بهینهسازیها بهویژه در محیطهای تولیدی با حجم دادههای بالا اهمیت دارد.
پس از بهینه سازی | پیش از بهینه سازی | معیار |
250 میلی ثانیه | 500 میلی ثانیه | زمان استنتاج |
1.4 گیگا بایت | 2 گیگا بایت | مصرف حافظه |
100% | 100% | دفت |
نتیجهگیری
بهینهسازی مدل Whisper با استفاده از OpenVINO یک راهکار مؤثر برای افزایش کارایی و کاهش هزینهها است. با استفاده از این روش، میتوانید مدلهای پیشرفتهای را در محیطهای مختلف استقرار دهید و از قابلیتهای پیشرفته Whisper و OpenVINO بهرهمند شوید. پیشنهاد میشود برای اجرای این روش، ابتدا از مدلهای کوچکتر شروع کنید و سپس به مدلهای بزرگتر انتقال دهید.