شعار زيفيرنت

استضافة نموذج Whisper على Amazon SageMaker: استكشاف خيارات الاستدلال | خدمات الويب الأمازون

التاريخ:

OpenAI الهمس هو نموذج متقدم للتعرف التلقائي على الكلام (ASR) مع ترخيص MIT. تجد تقنية ASR فائدة في خدمات النسخ والمساعدين الصوتيين وتعزيز إمكانية الوصول للأفراد الذين يعانون من ضعف السمع. تم تدريب هذا النموذج المتطور على مجموعة بيانات واسعة ومتنوعة من البيانات متعددة اللغات والمتعددة المهام الخاضعة للإشراف والتي تم جمعها من الويب. إن دقتها العالية وقدرتها على التكيف تجعلها رصيدًا قيمًا لمجموعة واسعة من المهام المتعلقة بالصوت.

في ظل التطور المستمر للتعلم الآلي والذكاء الاصطناعي، الأمازون SageMaker يوفر نظامًا بيئيًا شاملاً. يعمل SageMaker على تمكين علماء البيانات والمطورين والمؤسسات من تطوير نماذج التعلم الآلي وتدريبها ونشرها وإدارتها على نطاق واسع. من خلال تقديم مجموعة واسعة من الأدوات والإمكانات، فإنه يبسط سير عمل التعلم الآلي بالكامل، بدءًا من المعالجة المسبقة للبيانات وتطوير النماذج وحتى النشر والمراقبة دون عناء. تجعل واجهة SageMaker سهلة الاستخدام منصة محورية لإطلاق الإمكانات الكاملة للذكاء الاصطناعي، مما يجعلها حلاً يغير قواعد اللعبة في عالم الذكاء الاصطناعي.

في هذا المنشور، نبدأ في استكشاف قدرات SageMaker، مع التركيز بشكل خاص على استضافة نماذج Whisper. سنتعمق في طريقتين للقيام بذلك: أحدهما باستخدام نموذج Whisper PyTorch والآخر باستخدام تطبيق Hugging Face لنموذج Whisper. بالإضافة إلى ذلك، سنجري فحصًا متعمقًا لخيارات الاستدلال الخاصة بـ SageMaker، ومقارنتها عبر معلمات مثل السرعة والتكلفة وحجم الحمولة وقابلية التوسع. يمكّن هذا التحليل المستخدمين من اتخاذ قرارات مستنيرة عند دمج نماذج Whisper في حالات الاستخدام والأنظمة المحددة الخاصة بهم.

حل نظرة عامة

ويوضح الرسم البياني التالي المكونات الرئيسية لهذا الحل.

  1. من أجل استضافة النموذج على Amazon SageMaker، فإن الخطوة الأولى هي حفظ عناصر النموذج. تشير هذه العناصر إلى المكونات الأساسية لنموذج التعلم الآلي اللازم لمختلف التطبيقات، بما في ذلك النشر وإعادة التدريب. ويمكن أن تتضمن معلمات النموذج، وملفات التكوين، ومكونات المعالجة المسبقة، بالإضافة إلى بيانات التعريف، مثل تفاصيل الإصدار، والتأليف، وأي ملاحظات تتعلق بأدائه. من المهم ملاحظة أن نماذج Whisper لتطبيقات PyTorch وHugging Face تتكون من نماذج فنية مختلفة.
  2. بعد ذلك، نقوم بإنشاء برامج نصية مخصصة للاستدلال. ضمن هذه البرامج النصية، نحدد كيفية تحميل النموذج ونحدد عملية الاستدلال. وهذا أيضًا هو المكان الذي يمكننا فيه دمج المعلمات المخصصة حسب الحاجة. بالإضافة إلى ذلك، يمكنك إدراج حزم Python المطلوبة في ملف requirements.txt ملف. أثناء نشر النموذج، يتم تثبيت حزم Python هذه تلقائيًا في مرحلة التهيئة.
  3. ثم نختار إما حاويات التعلم العميق PyTorch أو Hugging Face (DLC) التي يتم توفيرها وصيانتها بواسطة AWS. هذه الحاويات عبارة عن صور Docker معدة مسبقًا مع أطر عمل للتعلم العميق وحزم Python الضرورية الأخرى. لمزيد من المعلومات، يمكنك التحقق من هذا الصفحة .
  4. باستخدام العناصر النموذجية والبرامج النصية الاستدلالية المخصصة والمحتوى القابل للتنزيل (DLC) المحدد، سنقوم بإنشاء نماذج Amazon SageMaker لـ PyTorch وHugging Face على التوالي.
  5. وأخيرًا، يمكن نشر النماذج على SageMaker واستخدامها مع الخيارات التالية: نقاط نهاية الاستدلال في الوقت الفعلي، ووظائف تحويل الدُفعات، ونقاط نهاية الاستدلال غير المتزامنة. سنتعمق في هذه الخيارات بمزيد من التفاصيل لاحقًا في هذا المنشور.

يتوفر مثال دفتر الملاحظات والرمز الخاص بهذا الحل على هذا مستودع جيثب.

الشكل 1. نظرة عامة على مكونات الحل الرئيسية

تجول

استضافة نموذج Whisper على Amazon SageMaker

في هذا القسم، سنشرح خطوات استضافة نموذج Whisper على Amazon SageMaker، باستخدام PyTorch وHugging Face Frameworks، على التوالي. لتجربة هذا الحل، تحتاج إلى حساب AWS وإمكانية الوصول إلى خدمة Amazon SageMaker.

إطار PyTorch

  1. حفظ التحف النموذجية

الخيار الأول لاستضافة النموذج هو استخدام حزمة بايثون الرسمية من Whisper، والتي يمكن تثبيتها باستخدام pip install openai-whisper. توفر هذه الحزمة نموذج PyTorch. عند حفظ عناصر النموذج في المستودع المحلي، فإن الخطوة الأولى هي حفظ معلمات النموذج القابلة للتعلم، مثل أوزان النموذج وتحيزات كل طبقة في الشبكة العصبية، كملف "pt". يمكنك الاختيار من بين أحجام النماذج المختلفة، بما في ذلك "صغير" و"أساسي" و"صغير" و"متوسط" و"كبير". توفر أحجام النماذج الأكبر أداءً عالي الدقة، ولكنها تأتي على حساب زمن استجابة أطول للاستدلال. بالإضافة إلى ذلك، تحتاج إلى حفظ قاموس حالة النموذج وقاموس الأبعاد، اللذين يحتويان على قاموس Python الذي يقوم بتعيين كل طبقة أو معلمة من نموذج PyTorch إلى المعلمات المقابلة القابلة للتعلم، إلى جانب بيانات التعريف الأخرى والتكوينات المخصصة. يوضح الكود أدناه كيفية حفظ عناصر Whisper PyTorch.

### PyTorch
import whisper
# Load the PyTorch model and save it in the local repo
model = whisper.load_model("base")
torch.save(
    {
        'model_state_dict': model.state_dict(),
        'dims': model.dims.__dict__,
    },
    'base.pt'
)

  1. حدد المحتوى القابل للتنزيل (DLC).

الخطوة التالية هي اختيار المحتوى القابل للتنزيل (DLC) المبني مسبقًا من هذا الصفحة . كن حذرًا عند اختيار الصورة الصحيحة من خلال مراعاة الإعدادات التالية: إطار العمل (PyTorch)، وإصدار إطار العمل، والمهمة (الاستدلال)، وإصدار Python، والأجهزة (أي GPU). يوصى باستخدام أحدث الإصدارات لإطار العمل وPython كلما أمكن ذلك، حيث يؤدي ذلك إلى أداء أفضل ومعالجة المشكلات والأخطاء المعروفة من الإصدارات السابقة.

  1. إنشاء نماذج Amazon SageMaker

بعد ذلك، نستخدم SageMaker بيثون SDK لإنشاء نماذج PyTorch. من المهم أن تتذكر إضافة متغيرات البيئة عند إنشاء نموذج PyTorch. افتراضيًا، يمكن لـ TorchServe معالجة أحجام ملفات تصل إلى 6 ميجابايت فقط، بغض النظر عن نوع الاستدلال المستخدم.

# Create a PyTorchModel for deployment
from sagemaker.pytorch.model import PyTorchModel

whisper_pytorch_model = PyTorchModel(
    model_data=model_uri,
    image_uri=image,
    role=role,
    entry_point="inference.py",
    source_dir='code',
    name=model_name,
    env = {
        'TS_MAX_REQUEST_SIZE': '100000000',
        'TS_MAX_RESPONSE_SIZE': '100000000',
        'TS_DEFAULT_RESPONSE_TIMEOUT': '1000'
    }
)

يوضح الجدول التالي الإعدادات لإصدارات PyTorch المختلفة:

الإطار متغيرات البيئة
PyTorch 1.8 (استنادًا إلى TorchServe) 'TS_MAX_REQUEST_SIZE': '100000000'
'TS_MAX_RESPONSE_SIZE': '100000000'
'TS_DEFAULT_RESPONSE_TIMEOUT': '1000'
PyTorch 1.4 (استنادًا إلى رسائل الوسائط المتعددة) 'MMS_MAX_REQUEST_SIZE': '1000000000'
'MMS_MAX_RESPONSE_SIZE': '1000000000'
'MMS_DEFAULT_RESPONSE_TIMEOUT': '900'
  1. حدد طريقة تحميل النموذج في inference.py

في العرف inference.py البرنامج النصي، نتحقق أولاً من توفر وحدة معالجة الرسومات التي تدعم CUDA. إذا كانت وحدة معالجة الرسومات هذه متاحة، فإننا نقوم بتعيين 'cuda' الجهاز إلى DEVICE عامل؛ وإلا فإننا نخصص 'cpu' جهاز. تضمن هذه الخطوة وضع النموذج على الأجهزة المتاحة لإجراء عملية حسابية فعالة. نقوم بتحميل نموذج PyTorch باستخدام حزمة Whisper Python.

### PyTorch
DEVICE = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
def model_fn(model_dir):
    """
    Load and return the model
    """
    model = whisper.load_model(os.path.join(model_dir, 'base.pt'))
    model = model.to(DEVICE)
    return model

إطار الوجه المعانق

  1. حفظ التحف النموذجية

الخيار الثاني هو استخدام همس الوجه المعانق تطبيق. يمكن تحميل النموذج باستخدام AutoModelForSpeechSeq2Seq فئة المحولات. يتم حفظ المعلمات القابلة للتعلم في ملف ثنائي (bin) باستخدام الملف save_pretrained طريقة. يجب أيضًا حفظ الرمز المميز والمعالج الأولي بشكل منفصل لضمان عمل نموذج Hugging Face بشكل صحيح. وبدلاً من ذلك، يمكنك نشر نموذج على Amazon SageMaker مباشرة من Hugging Face Hub عن طريق تعيين متغيرين للبيئة: HF_MODEL_ID و HF_TASK. لمزيد من المعلومات، يرجى الرجوع إلى هذا صفحة ويب.

### Hugging Face
from transformers import WhisperTokenizer, WhisperProcessor, AutoModelForSpeechSeq2Seq

# Load the pre-trained model
model_name = "openai/whisper-base"
model = AutoModelForSpeechSeq2Seq.from_pretrained(model_name)
tokenizer = WhisperTokenizer.from_pretrained(model_name)
processor = WhisperProcessor.from_pretrained(model_name)

# Define a directory where you want to save the model
save_directory = "./model"

# Save the model to the specified directory
model.save_pretrained(save_directory)
tokenizer.save_pretrained(save_directory)
processor.save_pretrained(save_directory)

  1. حدد المحتوى القابل للتنزيل (DLC).

على غرار إطار عمل PyTorch، يمكنك اختيار Hugging Face DLC المبني مسبقًا من نفس الإطار الصفحة . تأكد من تحديد DLC الذي يدعم أحدث محولات Hugging Face ويتضمن دعم GPU.

  1. إنشاء نماذج Amazon SageMaker

وبالمثل، فإننا نستخدم SageMaker بيثون SDK لإنشاء نماذج تعانق الوجه. يحتوي نموذج Hugging Face Whisper على قيود افتراضية حيث يمكنه معالجة مقاطع صوتية تصل مدتها إلى 30 ثانية فقط. لمعالجة هذا القيد، يمكنك تضمين chunk_length_s المعلمة في متغير البيئة عند إنشاء نموذج Hugging Face، ثم قم بتمرير هذه المعلمة لاحقًا إلى البرنامج النصي للاستدلال المخصص عند تحميل النموذج. وأخيرًا، قم بتعيين متغيرات البيئة لزيادة حجم الحمولة ومهلة الاستجابة لحاوية Hugging Face.

# Create a HuggingFaceModel for deployment
from sagemaker.huggingface.model import HuggingFaceModel

whisper_hf_model = HuggingFaceModel(
    model_data=model_uri,
    role=role, 
    image_uri = image,
    entry_point="inference.py",
    source_dir='code',
    name=model_name,
    env = {
        "chunk_length_s":"30",
        'MMS_MAX_REQUEST_SIZE': '2000000000',
        'MMS_MAX_RESPONSE_SIZE': '2000000000',
        'MMS_DEFAULT_RESPONSE_TIMEOUT': '900'
    }
)

الإطار متغيرات البيئة

حاوية استدلال الوجه

(استنادا إلى رسائل الوسائط المتعددة)

'MMS_MAX_REQUEST_SIZE': '2000000000'
'MMS_MAX_RESPONSE_SIZE': '2000000000'
'MMS_DEFAULT_RESPONSE_TIMEOUT': '900'
  1. حدد طريقة تحميل النموذج في inference.py

عند إنشاء نص استدلالي مخصص لنموذج Hugging Face، فإننا نستخدم خط أنابيب، مما يسمح لنا بتمرير chunk_length_s كمعلمة. تتيح هذه المعلمة للنموذج معالجة الملفات الصوتية الطويلة بكفاءة أثناء الاستدلال.

### Hugging Face
DEVICE = "cuda:0" if torch.cuda.is_available() else "cpu"
chunk_length_s = int(os.environ.get('chunk_length_s'))
def model_fn(model_dir):
    """
    Load and return the model
    """
    model = pipeline(
        "automatic-speech-recognition",
        model=model_dir,
        chunk_length_s=chunk_length_s,
        device=DEVICE,
        )
    return model

استكشاف خيارات الاستدلال المختلفة على Amazon SageMaker

خطوات تحديد خيارات الاستدلال هي نفسها بالنسبة لنموذجي PyTorch وHugging Face، لذلك لن نفرق بينهما أدناه. ومع ذلك، فمن الجدير بالذكر أنه في وقت كتابة هذا المقال، كان الاستدلال بدون خادم الخيار من SageMaker لا يدعم وحدات معالجة الرسومات، ونتيجة لذلك، نستبعد هذا الخيار في حالة الاستخدام هذه.

  1. الاستدلال في الوقت الحقيقي

يمكننا نشر النموذج كنقطة نهاية في الوقت الفعلي، وتوفير الاستجابات بالمللي ثانية. ومع ذلك، من المهم ملاحظة أن هذا الخيار يقتصر على معالجة المدخلات التي يقل حجمها عن 6 ميجابايت. نحن نعرّف المُسلسل على أنه مُسلسل صوتي، وهو المسؤول عن تحويل بيانات الإدخال إلى تنسيق مناسب للنموذج المنشور. نحن نستخدم مثيل GPU للاستدلال، مما يسمح بالمعالجة السريعة للملفات الصوتية. إدخال الاستدلال هو ملف صوتي من المستودع المحلي.

from sagemaker.serializers import DataSerializer
from sagemaker.deserializers import JSONDeserializer

# Define serializers and deserializer
audio_serializer = DataSerializer(content_type="audio/x-audio")
deserializer = JSONDeserializer()

# Deploy the model for real-time inference
endpoint_name = f'whisper-real-time-endpoint-{id}'

real_time_predictor = whisper_model.deploy(
    initial_instance_count=1,
    instance_type="ml.g4dn.xlarge",
    endpoint_name = endpoint_name,
    serializer=audio_serializer,
    deserializer = deserializer
    )

# Perform real-time inference
audio_path = "sample_audio.wav" 
response = real_time_predictor.predict(data=audio_path)

  1. وظيفة تحويل الدفعة

خيار الاستدلال الثاني هو مهمة تحويل الدُفعات، القادرة على معالجة حمولات الإدخال التي يصل حجمها إلى 100 ميجابايت. ومع ذلك، قد تستغرق هذه الطريقة بضع دقائق من الكمون. يمكن لكل مثيل التعامل مع طلب دفعة واحد فقط في كل مرة، ويتطلب بدء المثيل وإيقاف تشغيله أيضًا بضع دقائق. يتم حفظ نتائج الاستدلال في Amazon Simple Storage Service (الأمازون S3) دلو عند الانتهاء من مهمة تحويل الدفعة.

عند تكوين محول الدفعة، تأكد من تضمينه max_payload = 100 للتعامل مع الحمولات الأكبر بشكل فعال. يجب أن يكون إدخال الاستدلال هو مسار Amazon S3 إلى ملف صوتي أو مجلد Amazon S3 Bucket الذي يحتوي على قائمة من الملفات الصوتية، يقل حجم كل منها عن 100 ميجابايت.

يقوم التحويل الدفعي بتقسيم كائنات Amazon S3 في الإدخال حسب المفتاح وتعيين كائنات Amazon S3 إلى المثيلات. على سبيل المثال، عندما يكون لديك ملفات صوتية متعددة، قد يقوم أحد المثيلات بمعالجة input1.wav، وقد يقوم مثيل آخر بمعالجة الملف المسمى input2.wav لتحسين قابلية التوسع. يسمح لك تحويل الدفعة بالتكوين max_concurrent_transforms لزيادة عدد طلبات HTTP المقدمة لكل حاوية محول فردية. ومع ذلك، من المهم ملاحظة أن قيمة (max_concurrent_transforms* max_payload) يجب ألا يتجاوز 100 ميغابايت.

# Create a transformer
whisper_transformer = whisper_model.transformer(
    instance_count = 1,
    instance_type = "ml.g4dn.xlarge", 
    output_path="s3://{}/{}/batch-transform/".format(bucket, prefix),
    max_payload = 100
)
# Start batch transform job
whisper_transformer.transform(data = data, job_name= job_name, wait = False)

  1. الاستدلال غير المتزامن

وأخيرًا، يعد Amazon SageMaker Asynchronous Inference مثاليًا لمعالجة طلبات متعددة بشكل متزامن، مما يوفر زمن وصول معتدل ويدعم حمولات الإدخال التي تصل إلى 1 جيجابايت. يوفر هذا الخيار قابلية توسعة ممتازة، مما يتيح تكوين مجموعة القياس التلقائي لنقطة النهاية. عند حدوث زيادة في الطلبات، يتم توسيع نطاقها تلقائيًا للتعامل مع حركة المرور، وبمجرد معالجة جميع الطلبات، ينخفض ​​حجم نقطة النهاية إلى 0 لتوفير التكاليف.

باستخدام الاستدلال غير المتزامن، يتم حفظ النتائج تلقائيًا في حاوية Amazon S3. في ال AsyncInferenceConfig، يمكنك تكوين الإشعارات لعمليات الإكمال الناجحة أو الفاشلة. يشير مسار الإدخال إلى موقع Amazon S3 للملف الصوتي. للحصول على تفاصيل إضافية، يرجى الرجوع إلى الكود الموجود على GitHub جيثب:.

from sagemaker.async_inference import AsyncInferenceConfig

# Create an AsyncInferenceConfig object
async_config = AsyncInferenceConfig(
    output_path=f"s3://{bucket}/{prefix}/output", 
    max_concurrent_invocations_per_instance = 4,
    # notification_config = {
            #   "SuccessTopic": "arn:aws:sns:us-east-2:123456789012:MyTopic",
            #   "ErrorTopic": "arn:aws:sns:us-east-2:123456789012:MyTopic",
    #}, #  Notification configuration 
)

# Deploy the model for async inference
endpoint_name = f'whisper-async-endpoint-{id}'
async_predictor = whisper_model.deploy(
    async_inference_config=async_config,
    initial_instance_count=1, 
    instance_type ='ml.g4dn.xlarge',
    endpoint_name = endpoint_name
)

# Perform async inference
initial_args = {'ContentType':"audio/x-audio"}
response = async_predictor.predict_async(initial_args = initial_args, input_path=input_path)

اختياري: كما ذكرنا سابقًا، لدينا خيار تكوين مجموعة القياس التلقائي لنقطة نهاية الاستدلال غير المتزامنة، مما يسمح لها بالتعامل مع الزيادة المفاجئة في طلبات الاستدلال. يتم توفير مثال التعليمات البرمجية في هذا مستودع جيثب. في الرسم البياني التالي، يمكنك ملاحظة مخطط خطي يعرض مقياسين من الأمازون CloudWatch: ApproximateBacklogSize و ApproximateBacklogSizePerInstance. في البداية، عندما تم تشغيل 1000 طلب، كان هناك مثيل واحد فقط متاح للتعامل مع الاستدلال. لمدة ثلاث دقائق، تجاوز حجم الأعمال المتراكمة الثلاثة باستمرار (يُرجى ملاحظة أنه يمكن تكوين هذه الأرقام)، واستجابت مجموعة القياس التلقائي عن طريق تدوير المثيلات الإضافية لإزالة الأعمال المتراكمة بكفاءة. وأدى ذلك إلى انخفاض كبير في ApproximateBacklogSizePerInstance، مما يسمح بمعالجة الطلبات المتراكمة بشكل أسرع بكثير مما كان عليه خلال المرحلة الأولية.

الشكل 2. مخطط خطي يوضح التغييرات الزمنية في مقاييس Amazon CloudWatch

التحليل المقارن لخيارات الاستدلال

تعتمد المقارنات الخاصة بخيارات الاستدلال المختلفة على حالات الاستخدام الشائعة لمعالجة الصوت. يوفر الاستدلال في الوقت الفعلي أسرع سرعة استدلال ولكنه يقيد حجم الحمولة إلى 6 ميجابايت. يعد هذا النوع من الاستدلال مناسبًا لأنظمة الأوامر الصوتية، حيث يتحكم المستخدمون في الأجهزة أو البرامج أو يتفاعلون معها باستخدام الأوامر الصوتية أو التعليمات المنطوقة. عادةً ما تكون الأوامر الصوتية صغيرة الحجم، ويعد زمن الاستجابة المنخفض للاستدلال أمرًا بالغ الأهمية لضمان أن الأوامر المكتوبة يمكنها تشغيل الإجراءات اللاحقة على الفور. يعد Batch Transform مثاليًا للمهام المجدولة دون اتصال بالإنترنت، عندما يكون حجم كل ملف صوتي أقل من 100 ميجابايت، ولا توجد متطلبات محددة لأوقات استجابة الاستدلال السريعة. يسمح الاستدلال غير المتزامن بتحميل ما يصل إلى 1 جيجابايت ويوفر زمن انتقال معتدل للاستدلال. يعد هذا النوع من الاستدلال مناسبًا تمامًا لنسخ الأفلام والمسلسلات التلفزيونية والمؤتمرات المسجلة حيث تحتاج الملفات الصوتية الكبيرة إلى المعالجة.

توفر كل من خيارات الاستدلال في الوقت الفعلي وغير المتزامن إمكانات القياس التلقائي، مما يسمح لمثيلات نقطة النهاية بالتوسع تلقائيًا لأعلى أو لأسفل بناءً على حجم الطلبات. في الحالات التي لا تحتوي على طلبات، يؤدي القياس التلقائي إلى إزالة المثيلات غير الضرورية، مما يساعدك على تجنب التكاليف المرتبطة بالمثيلات المتوفرة التي ليست قيد الاستخدام بشكل نشط. ومع ذلك، بالنسبة للاستدلال في الوقت الفعلي، يجب الاحتفاظ بمثيل مستمر واحد على الأقل، مما قد يؤدي إلى ارتفاع التكاليف إذا كانت نقطة النهاية تعمل بشكل مستمر. في المقابل، يسمح الاستدلال غير المتزامن بتقليل حجم المثيل إلى 0 عندما لا يكون قيد الاستخدام. عند تكوين مهمة تحويل دفعة، من الممكن استخدام مثيلات متعددة لمعالجة المهمة وضبط max_concurrent_transforms لتمكين مثيل واحد من التعامل مع طلبات متعددة. ولذلك، فإن خيارات الاستدلال الثلاثة جميعها توفر قابلية توسع كبيرة.

تنظيف

بمجرد الانتهاء من استخدام الحل، تأكد من إزالة نقاط نهاية SageMaker لمنع تكبد تكاليف إضافية. يمكنك استخدام الكود المقدم لحذف نقاط نهاية الاستدلال في الوقت الحقيقي وغير المتزامنة، على التوالي.

# Delete real-time inference endpoint
real_time_predictor.delete_endpoint()

# Delete asynchronous inference endpoint
async_predictor.delete_endpoint()

وفي الختام

في هذا المنشور، أظهرنا لك كيف أصبح نشر نماذج التعلم الآلي لمعالجة الصوت أمرًا ضروريًا بشكل متزايد في مختلف الصناعات. بأخذ نموذج Whisper كمثال، أوضحنا كيفية استضافة نماذج ASR مفتوحة المصدر على Amazon SageMaker باستخدام نهج PyTorch أو Hugging Face. شمل الاستكشاف العديد من خيارات الاستدلال على Amazon SageMaker، مما يوفر رؤى حول التعامل بكفاءة مع البيانات الصوتية، ووضع التنبؤات، وإدارة التكاليف بفعالية. يهدف هذا المنشور إلى توفير المعرفة للباحثين والمطورين وعلماء البيانات المهتمين بالاستفادة من نموذج Whisper للمهام المتعلقة بالصوت واتخاذ قرارات مستنيرة بشأن استراتيجيات الاستدلال.

لمزيد من المعلومات التفصيلية حول نشر النماذج على SageMaker، يرجى الرجوع إلى هذا دليل المطور. بالإضافة إلى ذلك، يمكن نشر نموذج Whisper باستخدام SageMaker JumpStart. لمزيد من التفاصيل، يرجى التحقق من تتوفر الآن نماذج Whisper للتعرف التلقائي على الكلام في Amazon SageMaker JumpStart بريد.

لا تتردد في الاطلاع على دفتر الملاحظات والرمز الخاص بهذا المشروع GitHub جيثب: وشارك تعليقك معنا.


عن المؤلف

يينغ هو، دكتوراه، هو مهندس النماذج الأولية للتعلم الآلي في AWS. تشمل مجالات اهتمامها الأساسية التعلم العميق، مع التركيز على GenAI، ورؤية الكمبيوتر، والبرمجة اللغوية العصبية، والتنبؤ ببيانات السلاسل الزمنية. تستمتع في أوقات فراغها بقضاء لحظات ممتعة مع عائلتها، والانغماس في الروايات، والمشي لمسافات طويلة في المتنزهات الوطنية في المملكة المتحدة.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة