SavedModel Warmup

معرفی

زمان اجرا TensorFlow دارای مؤلفه هایی است که به صورت تنبلی مقداردهی اولیه شده اند، که می تواند باعث تأخیر بالایی برای اولین درخواست/های ارسال شده به یک مدل پس از بارگذاری آن شود. این تاخیر می تواند چندین مرتبه بزرگتر از یک درخواست استنتاج منفرد باشد.

برای کاهش تأثیر اولیه سازی تنبل بر تأخیر درخواست، می توان با ارائه یک مجموعه نمونه از درخواست های استنتاج همراه با SavedModel، راه اندازی اولیه زیرسیستم ها و مؤلفه ها را در زمان بارگذاری مدل آغاز کرد. این فرآیند به عنوان "گرم کردن" مدل شناخته می شود.

استفاده

SavedModel Warmup برای Regress، Classify، MultiInference و Predict پشتیبانی می شود. برای شروع گرم کردن مدل در زمان بارگذاری، یک فایل داده گرمایش را در زیر پوشه assets.extra دایرکتوری SavedModel پیوست کنید.

شرایط لازم برای گرم کردن مدل برای عملکرد صحیح:

  • نام فایل Warmup: 'tf_serving_warmup_requests'
  • محل فایل: assets.extra/
  • فرمت فایل: TFRecord با هر رکورد به عنوان PredictionLog .
  • تعداد رکوردهای گرم کردن <= 1000.
  • داده های گرم کردن باید نماینده درخواست های استنتاج استفاده شده در ارائه باشد.

تولید داده های گرم کردن

داده های Warmup را می توان به دو روش اضافه کرد:

  • با پر کردن مستقیم درخواست های گرم کردن در مدل ذخیره شده صادر شده خود. این کار را می‌توان با ایجاد یک اسکریپت برای خواندن فهرستی از درخواست‌های استنتاج نمونه، تبدیل هر درخواست به PredictionLog (اگر در اصل با فرمت دیگری باشد) و با استفاده از TFRecordWriter برای نوشتن ورودی‌های PredictionLog در YourSavedModel/assets.extra/tf_serving_warmup_requests انجام داد.
  • با استفاده از گزینه TFX Infra Validator برای صادرات یک مدل ذخیره شده با گرم کردن . با این گزینه TFX Infa Validator بر اساس درخواست های اعتبارسنجی ارائه شده از طریق RequestSpec YourSavedModel/assets.extra/tf_serving_warmup_requests را پر می کند.