تدريب نموذج كلام مخصص

في هذه المقالة، ستتعلم كيفية تدريب نموذج مخصص لتحسين دقة التعرف من نموذج Microsoft الأساسي. تظل دقة التعرف على الكلام وجودته لنموذج الكلام المخصص متسقة، حتى عند إصدار نموذج أساسي جديد.

إشعار

تدفع مقابل استخدام نموذج الكلام المخصص واستضافة نقطة النهاية. سيتم أيضا تحصيل رسوم منك مقابل تدريب نموذج الكلام المخصص إذا تم إنشاء النموذج الأساسي في 1 أكتوبر 2023 والإصدارات الأحدث. لا تتم محاسبتك على التدريب إذا تم إنشاء النموذج الأساسي قبل أكتوبر 2023. لمزيد من المعلومات، راجع Azure الذكاء الاصطناعي Speech pricing وقسم Charge for adaptation في دليل الترحيل speech to text 3.2.

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

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

هام

إذا كنت ستدرب نموذجاً مخصصاً باستخدام البيانات الصوتية، فاختر منطقة مورد الكلام مع أجهزة مخصصة لتدريب البيانات الصوتية. يمكنك، بعد تدريب النموذج، نسخه إلى مورد «الكلام» في منطقة أخرى حسب الحاجة.

في المناطق التي بها أجهزة مخصصة للتدريب المخصص على الكلام، ستستخدم خدمة الكلام ما يصل إلى 20 ساعة من بيانات التدريب الصوتي، ويمكنها معالجة حوالي 10 ساعات من البيانات يوميا. في مناطق أخرى، تستخدم خدمة Speech ما يصل إلى 8 ساعات من بيانات الصوت، ويمكنها معالجة حوالي ساعة واحدة من البيانات في اليوم. راجع الحواشي السفلية في جدول المناطق للحصول على مزيد من المعلومات.

إنشاء نموذج

بعد تحميل مجموعات بيانات التدريب، اتبع هذه الإرشادات لبدء تدريب النموذج الخاص بك:

  1. سجّل الدخول إلـى Speech Studio.

  2. حدد الكلام> المخصص اسم >المشروع تدريب النماذج المخصصة.

  3. حدد تدريب نموذج جديد.

  4. في صفحة تحديد نموذج أساس، حدد نموذجًا أساسًا ثم حدد التالي. إذا لم تكن متأكدًا، فحدد أحدث نموذج من أعلى القائمة. يتوافق اسم النموذج الأساس مع التاريخ الذي تم إصداره فيه بتنسيق YYYYMMDD. يتم إدراج إمكانات التخصيص للنموذج الأساس بين قوسين بعد اسم النموذج في Speech Studio.

    هام

    دوّن تاريخ انتهاء صلاحية التكيف. هذا هو التاريخ الأخير الذي يُمكنك فيه استخدام النموذج الأساسي للتدريب. لمزيد من المعلومات، راجع دورة حياة النموذج ونقطة النهاية.

  5. في صفحة اختيار البيانات، حدد مجموعة بيانات واحدة أو أكثر تريد استخدامها للتدريب. إذا لم تكن هناك أي مجموعات بيانات متوفرة، فألغِ الإعداد، ثم انتقل إلى قائمة مجموعات بيانات الكلاملتحميل مجموعات البيانات.

  6. أدخل اسمًا ووصفًا للنموذج المخصص، ثم حدد التالي.

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

  8. حدد حفظ وإغلاق لبدء إنشاء النموذج المخصص.

  9. ارجع إلى صفحة تدريب النماذج المخصصة.

    هام

    دوّن تاريخ انتهاء صلاحية. هذا هو آخر تاريخ يمكنك فيه استخدام النموذج المخصص للتعرف على الكلام. لمزيد من المعلومات، راجع دورة حياة النموذج ونقطة النهاية.

لإنشاء نموذج مع مجموعات بيانات للتدريب، استخدم الأمر spx csr model create. أنشئ عمليات الطلب وفقاً للتعليمات التالية:

  • تعيين المعلمة project إلى معرف المشروع الموجود. يوصى بهذه المعلمة بحيث يمكنك أيضا عرض النموذج وإدارته في Speech Studio. يمكنك تشغيل الأمر spx csr project list للحصول على المشاريع المتوفرة.
  • يوصى بتعيين المعلمة dataset المطلوبة إلى معرّف مجموعة البيانات التي تريد استخدامها للتدريب. لتحديد مجموعات بيانات متعددة، عيّن المعلمة (الجمع) datasets وقم بفصل المعرفات باستخدام فواصل منقوطة.
  • يوصى بتعيين المعلمة language المطلوبة. يجب أن تتطابق الإعدادات المحلية لمجموعة البيانات مع الإعدادات المحلية للمشروع. لا يمكن تغيير الإعدادات المحلية لاحقًا. المعلمة Speech CLIlanguageمتوافقة مع الخاصيةlocaleفي طلب JSON والاستجابة.
  • يوصى بتعيين المعلمة name المطلوبة. هذه المعلمة هي الاسم الذي يتم عرضه في Speech Studio. المعلمة Speech CLInameمتوافقة مع الخاصيةdisplayNameفي طلب JSON والاستجابة.
  • يمكنك تعيين الخاصية base بشكل اختياري. على سبيل المثال: --base 1aae1070-7972-47e9-a977-87e3b05c457d. إذا لم تحدد base، يتم استخدام النموذج الأساس الافتراضي للإعدادات المحلية المستخدمة. المعلمة Speech CLIbaseمتوافقة مع الخاصيةbaseModelفي طلب JSON والاستجابة.

فيما يلي مثال على أمر Speech CLI الذي ينشئ نموذجًا مع مجموعات بيانات للتدريب:

spx csr model create --api-version v3.1 --project YourProjectId --name "My Model" --description "My Model Description" --dataset YourDatasetId --language "en-US"

إشعار

لم يتم، في هذا المثال، تعيين base، لذلك يتم استخدام النموذج الأساس الافتراضي للإعدادات المحلية. يتم إرجاع URI للنموذج الأساس في الاستجابة.

يجب أن تتلقى نص الاستجابة بالتنسيق التالي:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/69e46263-ab10-4ab4-abbe-62e370104d95"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7/manifest",
    "copyTo": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7:copyto"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/5d25e60a-7f4a-4816-afd9-783bb8daccfc"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2023-01-15T00:00:00Z",
      "transcriptionDateTime": "2024-07-15T00:00:00Z"
    }
  },
  "lastActionDateTime": "2022-05-21T13:21:01Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-21T13:21:01Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

هام

دوّن أيضًا التاريخ في الخاصية adaptationDateTime. هذا هو التاريخ الأخير الذي يُمكنك فيه استخدام النموذج الأساسي للتدريب. لمزيد من المعلومات، راجع دورة حياة النموذج ونقطة النهاية.

دوّن أيضًا التاريخ في الخاصية transcriptionDateTime. هذا هو آخر تاريخ يمكنك فيه استخدام النموذج المخصص للتعرف على الكلام. لمزيد من المعلومات، راجع دورة حياة النموذج ونقطة النهاية.

خاصية المستوى الأعلى self في نص الاستجابة هي URI للنموذج. استخدم URI هذا للحصول على تفاصيل حول مشروع النموذج وبيانه وتواريخ الإهمال. يمكنك أيضًا استخدام URI هذا لتحديث أو حذف نموذج.

للحصول على تعليمات Speech CLI مـع النماذج، يوصى بتشغيل الأمر التالي:

spx help csr model

لإنشاء نموذج مع مجموعات بيانات للتدريب، استخدم Models_Create تشغيل Speech to text REST API. إنشاء نص الطلب وفقًا للإرشادات التالية:

  • تعيين الخاصية project إلى URI لمشروع موجود. يوصى بهذه الخاصية بحيث يمكنك أيضا عرض النموذج وإدارته في Speech Studio. يمكنك تقديم طلب Projects_List للحصول على المشاريع المتوفرة.
  • يوصى بتعيين الخاصية datasets المطلوبة إلى URI لمجموعات البيانات التي تريد استخدامها للتدريب.
  • عيّن الخاصية locale المطلوبة. يجب أن تتطابق إعدادات النموذج المحلية مع الإعدادات المحلية للمشروع والنموذج الأساس. لا يمكن تغيير الإعدادات المحلية لاحقًا.
  • عيّن الخاصية displayName المطلوبة. هذه الخاصية هي الاسم الذي يتم عرضه في Speech Studio.
  • يمكنك تعيين الخاصية baseModel بشكل اختياري. على سبيل المثال: "baseModel": {"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"}. إذا لم تحدد baseModel، يتم استخدام النموذج الأساس الافتراضي للإعدادات المحلية المستخدمة.

قدم طلب HTTP POST باستخدام URI كما هو موضح في المثال التالي. استبدل YourSubscriptionKey بمفتاح مورد الكلام لديك، واستبدل YourServiceRegion بمنطقة مورد الكلام، وعيّن خصائص نص الطلب كما هو موضح سابقاً.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/5d25e60a-7f4a-4816-afd9-783bb8daccfc"
  },
  "displayName": "My Model",
  "description": "My Model Description",
  "baseModel": null,
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/69e46263-ab10-4ab4-abbe-62e370104d95"
    }
  ],
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/models"

إشعار

لم يتم، في هذا المثال، تعيين baseModel، لذلك يتم استخدام النموذج الأساس الافتراضي للإعدادات المحلية. يتم إرجاع URI للنموذج الأساس في الاستجابة.

يجب أن تتلقى نص الاستجابة بالتنسيق التالي:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/69e46263-ab10-4ab4-abbe-62e370104d95"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7/manifest",
    "copyTo": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7:copyto"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/5d25e60a-7f4a-4816-afd9-783bb8daccfc"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2023-01-15T00:00:00Z",
      "transcriptionDateTime": "2024-07-15T00:00:00Z"
    }
  },
  "lastActionDateTime": "2022-05-21T13:21:01Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-21T13:21:01Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

هام

دوّن أيضًا التاريخ في الخاصية adaptationDateTime. هذا هو التاريخ الأخير الذي يُمكنك فيه استخدام النموذج الأساسي للتدريب. لمزيد من المعلومات، راجع دورة حياة النموذج ونقطة النهاية.

دوّن أيضًا التاريخ في الخاصية transcriptionDateTime. هذا هو آخر تاريخ يمكنك فيه استخدام النموذج المخصص للتعرف على الكلام. لمزيد من المعلومات، راجع دورة حياة النموذج ونقطة النهاية.

خاصية المستوى الأعلى self في نص الاستجابة هي URI للنموذج. استخدم URI هذا للحصول على تفاصيل حول مشروع النموذج وبيانه وتواريخ الإهمال. يمكنك أيضًا استخدام عنوان URI هذالتحديث أو حذف النموذج.

نسخ النموذج

يمكنك نسخ نموذج إلى مشروع آخر يستخدم نفس الإعدادات المحلية. على سبيل المثال وبعد تدريب نموذج باستخدام بيانات صوتية في منطقة بها أجهزة مخصصة للتدريب، يمكنك نسخه إلى مورد الكلام في منطقة أخرى حسب الحاجة.

اتبع هذه الإرشادات لنسخ نموذج إلى مشروع في منطقة أخرى:

  1. سجّل الدخول إلـى Speech Studio.
  2. حدد الكلام> المخصص اسم >المشروع تدريب النماذج المخصصة.
  3. حدد نسخ إلى.
  4. في صفحة نسخ نموذج الكلام، حدد المنطقة الهدف التي تريد نسخ النموذج فيها. لقطة شاشة لقائمة العبارات المطبقة في Speech Studio.
  5. حدد مورد الكلام في المنطقة الهدف، أو أنشئ مورد كلام جديدًا.
  6. حدد مشروعًا تريد نسخ النموذج فيه، أو أنشئ مشروعًا جديدًا.
  7. حدد نسخ.

سيتم، بعد نسخ النموذج بنجاح، إعلامك بهذا ويمكنك عرضه في المشروع الهدف.

نسخ نموذج مباشرة إلى مشروع في منطقة أخرى غير مدعوم مع Speech CLI. يمكنك نسخ نموذج إلى مشروع في منطقة أخرى باستخدام Speech Studio أو Speech إلى نص REST API.

لنسخ نموذج إلى مورد Speech آخر، استخدم عملية Models_CopyTo من Speech to text REST API. إنشاء نص الطلب وفقًا للإرشادات التالية:

  • عيّن الخاصية targetSubscriptionKey المطلوبة إلى مفتاح مورد كلام الوجهة.

قدم طلب HTTP POST باستخدام URI كما هو موضح في المثال التالي. استخدم المنطقة وURI للنموذج الذي تريد النسخ منه. استبدل YourModelId بمعرّف النموذج، واستبدل YourSubscriptionKey بمفتاح مورد الكلام، واستبدل YourServiceRegion بمنطقة مورد الكلام، وعيّن خصائص نص الطلب كما هو موضح سابقاً.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "targetSubscriptionKey": "ModelDestinationSpeechResourceKey"
} '  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/models/YourModelId:copyto"

إشعار

تحتوي الخاصية targetSubscriptionKey فحسب الموجودة في نص الطلب على معلومات حول مورد الكلام الوجهة.

يجب أن تتلقى نص الاستجابة بالتنسيق التالي:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/eb5450a7-3ca2-461a-b2d7-ddbb3ad96540"
  },
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae/manifest",
    "copyTo": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae:copyto"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2023-01-15T00:00:00Z",
      "transcriptionDateTime": "2024-07-15T00:00:00Z"
    }
  },
  "lastActionDateTime": "2022-05-22T23:15:27Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-22T23:15:27Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description",
  "customProperties": {
    "PortalAPIVersion": "3",
    "Purpose": "",
    "VadKind": "None",
    "ModelClass": "None",
    "UsesHalide": "False",
    "IsDynamicGrammarSupported": "False"
  }
}

اتصال نموذج

ربما تم نسخ النماذج من مشروع واحد باستخدام Speech CLI أو واجهة برمجة التطبيقات REST دون الاتصال بمشروع آخر. توصيل نموذج هو عملية تحديث النموذج مع الإشارة إلى المشروع.

إذا تمت مطالبتك في Speech Studio، يمكنك توصيلها عن طريق تحديد زر الاتصال.

لقطة شاشة لصفحة تدريب الاتصال التي تعرض النماذج التي يمكن توصيلها بالمشروع الحالي.

لتوصيل نموذج بمشروع، استخدم الأمر spx csr model update. أنشئ عمليات الطلب وفقاً للتعليمات التالية:

  • عيّن المعلمة project إلى معرّف مشروع موجود. يوصى بهذه المعلمة بحيث يمكنك أيضا عرض النموذج وإدارته في Speech Studio. يمكنك تشغيل الأمر spx csr project list للحصول على المشاريع المتوفرة.
  • يوصى بتعيين معلمة modelId المطلوبة لمعرّف النموذج الذي ترغب في اتصاله بالمشروع.

فيما يلي مثال على أمر Speech CLI الذي يربط نموذج بمشروع:

spx csr model update --api-version v3.1 --model YourModelId --project YourProjectId

يجب أن تتلقى نص الاستجابة بالتنسيق التالي:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/e6ffdefd-9517-45a9-a89c-7b5028ed0e56"
  },
}

للحصول على تعليمات Speech CLI مـع النماذج، يوصى بتشغيل الأمر التالي:

spx help csr model

لتوصيل نموذج جديد بمشروع لمورد Speech حيث تم نسخ النموذج، استخدم Models_Update تشغيل Speech to text REST API. إنشاء نص الطلب وفقًا للإرشادات التالية:

  • عيّن الخاصية project إلى URI لمشروع موجود. يوصى بهذه الخاصية بحيث يمكنك أيضا عرض النموذج وإدارته في Speech Studio. يمكنك تقديم طلب Projects_List للحصول على المشاريع المتوفرة.

يمكنك تقديم طلب HTTP PATCH باستخدام URI كما هو موضح في المثال التالي. استخدم URI للنموذج الجديد. يمكنك الحصول على معرف النموذج الجديد من self خاصية Models_CopyTo نص الاستجابة. استبدل YourSubscriptionKey بمفتاح مورد الكلام لديك، واستبدل YourServiceRegion بمنطقة مورد الكلام، وعيّن خصائص نص الطلب كما هو موضح سابقاً.

curl -v -X PATCH -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/e6ffdefd-9517-45a9-a89c-7b5028ed0e56"
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/models"

يجب أن تتلقى نص الاستجابة بالتنسيق التالي:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/e6ffdefd-9517-45a9-a89c-7b5028ed0e56"
  },
}

الخطوات التالية