TensorFlow Lite — این چیست، قابلیت‌های کلیدی و کاربرد

نویسنده: IT Sectr منتشر شده: 2026-07-17 زمان مطالعه: 6 دقیقه

TensorFlow Lite — نسخه سبک‌وزن فریم‌ورک TensorFlow است که توسط Google برای اجرای مدل‌های یادگیری ماشین بر روی دستگاه‌های موبایل و تعبیه‌شده با منابع محاسباتی محدود توسعه یافته است. برخلاف TensorFlow کامل، TFLite از مفسر تخصصی و فرمت .tflite استفاده می‌کند که برای استنتاج سریع بدون پشتیبانی از آموزش بهینه‌سازی شده است. به گزارش TensorFlow Lite Guide, 2025، این فریم‌ورک بر روی Android، iOS و Linux کار می‌کند و در بیش از ۴ میلیارد دستگاه استفاده می‌شود. TensorFlow Lite از کوانت‌سازی، شتاب سخت‌افزاری از طریق NNAPI، GPU و دلیگیت‌های Core ML پشتیبانی می‌کند.

نکات کلیدی

  • TensorFlow Lite — فریم‌ورک سبک برای ML روی دستگاه در دستگاه‌های موبایل و تعبیه‌شده.
  • مدل‌ها از طریق مبدل TFLite از TensorFlow SavedModel یا Keras به فرمت .tflite تبدیل می‌شوند.
  • کوانت‌سازی INT8، FP16 و کوانت‌سازی پویا برای کاهش اندازه پشتیبانی می‌شود.
  • شتاب سخت‌افزاری از طریق GPU Delegate، NNAPI و Core ML Delegate در دسترس است.
  • TFLite بر روی Android، iOS و Linux با APIهای Java، C++، Swift و Python کار می‌کند.

TensorFlow Lite چیست

TensorFlow Lite — یک محیط اجرای تخصصی برای اجرای مدل‌های یادگیری ماشین بر روی دستگاه‌هایی با منابع محدود است. برخلاف TensorFlow کامل، TFLite از آموزش و انتشار معکوس پشتیبانی نمی‌کند — فقط استنتاج. این امکان حداقل کردن اندازه باینری کتابخانه را فراهم می‌کند: حدود ۳۰۰ KB برای مفسر پایه در Android.

معماری TFLite حول فرمت .tflite ساخته شده است که مبتنی بر FlatBuffers است. FlatBuffers دسترسی مستقیم به داده‌ها را بدون مرحله تجزیه فراهم می‌کند، که برای دستگاه‌های موبایل با حافظه محدود حیاتی است. مدل در فرمت .tflite شامل گراف محاسباتی، وزن‌ها و فراداده در یک فایل باینری واحد است.

به گزارش Google I/O 2024، TFLite در Google Photos، Gboard، YouTube و سایر برنامه‌های Google با مجموع بیش از ۴ میلیارد دستگاه استفاده می‌شود. این فریم‌ورک از تمام معماری‌های اصلی پشتیبانی می‌کند: CNN، RNN، LSTM، Transformer و عملیات سفارشی از طریق دلیگیت‌ها.

معماری TensorFlow Lite

محیط اجرای TFLite از چهار مؤلفه تشکیل شده است. TFLite Converter مدل را از TensorFlow (SavedModel، Keras، ConcreteFunction) دریافت کرده و آن را با بهینه‌سازی اختیاری به فرمت .tflite تبدیل می‌کند. TFLite Interpreter فایل .tflite را بارگذاری کرده و استنتاج را با مدیریت تنسورها و حافظه اجرا می‌کند.

دلیگیت‌ها — مؤلفه‌هایی هستند که اجرای عملیات را به سخت‌افزار تخصصی منتقل می‌کنند. GPU Delegate از OpenGL ES و Metal، NNAPI Delegate از Android Neural Networks API، Core ML Delegate از Apple Core ML استفاده می‌کند. XNNPACK Delegate اجرا را بر روی ARM CPU بهینه می‌کند. هر دلیگیت از مجموعه خاصی از عملگرها پشتیبانی می‌کند.

مؤلفه چهارم — Task Library است که API سطح بالا برای وظایف معمولی فراهم می‌کند: طبقه‌بندی تصاویر، تشخیص اشیاء، بخش‌بندی، NLU. Task Library بر روی Interpreter کار می‌کند و جزئیات مدیریت تنسورها را پنهان می‌کند.

بهینه‌سازی مدل‌ها و کوانت‌سازی

TFLite از سه سطح کوانت‌سازی پشتیبانی می‌کند. کوانت‌سازی کامل اعداد صحیح INT8 وزن‌ها و فعال‌سازی‌ها را از FP32 به اعداد صحیح ۸ بیتی تبدیل می‌کند. اندازه مدل ۴ برابر کاهش می‌یابد و سرعت استنتاج در دستگاه‌های دارای پشتیبانی INT8 تا ۳ برابر افزایش می‌یابد. کوانت‌سازی FP16 اندازه را با حداقل کاهش دقت به نصف کاهش می‌دهد.

کوانت‌سازی پویا وزن‌ها را در INT8 حفظ می‌کند، اما محاسبات را در FP32 انجام می‌دهد. این حالت برای مدل‌های حساس به دقت مناسب است و تا ۴ برابر کاهش اندازه را با حفظ کیفیت فراهم می‌کند. به گزارش Google ML Performance Benchmarks، کوانت‌سازی پویا برای مدل‌های NLP توصیه می‌شود.

مقایسه حالت‌های کوانت‌سازی TFLite

حالتنوع وزن‌هانوع فعال‌سازی‌هاکاهش اندازه
FP32 (بدون کوانت‌سازی)FP32FP321x
FP16FP16FP322x
INT8 پویاINT8FP324x
INT8 کاملINT8INT84x

شتاب سخت‌افزاری در Android و iOS

در Android، مکانیسم اصلی شتاب NNAPI Delegate است که اجرای عملیات را از طریق Android Neural Networks API به NPU، DSP یا GPU منتقل می‌کند. NNAPI در دستگاه‌های دارای Android ۸.۱+ در دسترس است و از محاسبات INT8 و FP16 پشتیبانی می‌کند. GPU Delegate برای Android از OpenGL ES ۳.۱+ و Vulkan استفاده می‌کند.

در iOS، شتاب از طریق Core ML Delegate تأمین می‌شود که عملیات TFLite را به فرمت Core ML ترجمه کرده و آنها را بر روی Apple Neural Engine اجرا می‌کند. به گزارش Apple ML Benchmarking، استفاده از Core ML Delegate استنتاج را در iPhone 15 Pro تا ۴ برابر در مقایسه با CPU加速 می‌کند. GPU Delegate برای iOS از Metal Performance Shaders استفاده می‌کند.

XNNPACK Delegate — یک راه‌حل چندپلتفرمی برای ARM CPU است که برای پردازنده‌های موبایل بهینه‌سازی شده است. XNNPACK از عملیات FP32، FP16 و INT8 پشتیبانی می‌کند و به سخت‌افزار خاصی نیاز ندارد. به عنوان دلیگیت پایه برای همه دستگاه‌ها توصیه می‌شود.

استقرار مدل با TFLite

فرآیند استقرار شامل سه مرحله است. مرحله اول — تبدیل مدل به .tflite از طریق TFLite Converter. مرحله دوم — افزودن فایل .tflite به منابع برنامه. برای Android فایل در assets، برای iOS — در bundle برنامه از طریق Xcode قرار می‌گیرد. مرحله سوم — راه‌اندازی Interpreter و اجرای استنتاج.

برای به‌روزرسانی پویا مدل‌ها، Google استفاده از Firebase ML Model Downloading یا مکانیزم بارگیری شخصی از ابر را توصیه می‌کند. فایل .tflite به‌روز شده در حافظه محلی ذخیره شده و در اجرای بعدی به Interpreter بارگذاری می‌شود.

در هنگام استقرار، توجه به اندازه فایل .tflite مهم است. Google Play اندازه APK را به ۲۰۰ MB محدود می‌کند. برای مدل‌های بزرگتر از ۵۰ MB، توصیه می‌شود از Android App Bundle استفاده کرده یا مدل را جداگانه از طریق Play Asset Delivery بارگیری کنید.

نمونه‌های استفاده از TFLite در کد

نمونه بارگذاری و اجرای مدل بر روی Android با Java API. از Interpreter.create() برای بارگذاری .tflite از assets و run() برای استنتاج استفاده کنید. داده‌های ورودی و خروجی به عنوان آرایه‌های چندبعدی یا ByteBuffer منتقل می‌شوند:

java
import org.tensorflow.lite.Interpreter;
import java.nio.MappedByteBuffer;
import java.io.FileInputStream;
import java.nio.channels.FileChannel;

MappedByteBuffer model = new FileInputStream(
    getAssets().openFd("model.tflite")
).getChannel().map(
    FileChannel.MapMode.READ_ONLY, 0, fc.size()
);

Interpreter interpreter = new Interpreter.create(model);
float[][] input = new float[1][224 * 224 * 3];
float[][] output = new float[1][1000];
interpreter.run(input, output);
interpreter.close();

نمونه استفاده از GPU Delegate در Android برای شتاب سخت‌افزاری. وابستگی com.android.support:tensorflow-lite-gpu را اضافه کرده و هنگام ایجاد Interpreter دلیگیت را مشخص کنید:

java
import org.tensorflow.lite.Interpreter;
import org.tensorflow.lite.gpu.GpuDelegate;

GpuDelegate gpuDelegate = new GpuDelegate.create();
Interpreter.Options options = new Interpreter.Options().addDelegate(gpuDelegate);
Interpreter interpreter = new Interpreter.create(model, options);

// اجرای استنتاج بر روی داده‌های ورودی
interpreter.run(input, output);

// آزادسازی منابع دلیگیت پس از استنتاج
gpuDelegate.close();
interpreter.close();

سؤالات متداول

تفاوت بین TensorFlow و TensorFlow Lite چیست؟

TensorFlow — فریم‌ورک کامل برای آموزش و استنتاج. TensorFlow Lite — فقط برای استنتاج در دستگاه‌های موبایل. TFLite از فرمت .tflite استفاده می‌کند و از انتشار معکوس پشتیبانی نمی‌کند.

چه دلیگیت‌های شتابی در TFLite در دسترس هستند؟

GPU Delegate (OpenGL/Metal)، NNAPI Delegate (Android)، Core ML Delegate (iOS) و XNNPACK Delegate (ARM CPU) پشتیبانی می‌شوند. هر دلیگیت برای نوع خاصی از سخت‌افزار بهینه‌سازی شده است.

چگونه اندازه مدل .tflite را کاهش دهیم؟

از کوانت‌سازی استفاده کنید: FP16 اندازه را ۲ برابر، INT8 — ۴ برابر کاهش می‌دهد. همچنین کوانت‌سازی پویا، هرس وزن (weight pruning) و تقطیر مدل قبل از تبدیل در دسترس است.

آیا TFLite از آموزش روی دستگاه پشتیبانی می‌کند؟

بله، از طریق TFLite Model Maker و API آموزش روی دستگاه (به صورت آزمایشی). تنظیم دقیق (fine-tuning) و شخصی‌سازی مدل‌ها مستقیماً روی دستگاه کاربر پشتیبانی می‌شود.

چه انواع مدل‌هایی توسط TFLite پشتیبانی می‌شود؟

TFLite از CNN، RNN، LSTM، Transformer، معماری‌های موبایل (MobileNet، EfficientNet، YOLO، BERT) و عملیات سفارشی پشتیبانی می‌کند. محدودیت — عملگرهای موجود در دلیگیت هدف.

خلاصه

  • TensorFlow Lite — فریم‌ورک سبک برای ML روی دستگاه در دستگاه‌های موبایل و تعبیه‌شده از Google.
  • مدل‌ها از طریق TFLite Converter از TensorFlow SavedModel یا Keras به فرمت .tflite تبدیل می‌شوند.
  • کوانت‌سازی INT8 و FP16 اندازه مدل را تا ۴ برابر کاهش و استنتاج را تا ۳ برابر加速 می‌کند.
  • شتاب سخت‌افزاری از طریق دلیگیت‌های GPU، NNAPI، Core ML و XNNPACK در دسترس است.
  • محیط اجرا حدود ۳۰۰ KB در Android اشغال می‌کند و در بیش از ۴ میلیارد دستگاه کار می‌کند.
  • Task Library راه‌حل‌های آماده برای طبقه‌بندی، تشخیص، بخش‌بندی و NLU ارائه می‌دهد.
  • برای به‌روزرسانی پویا از Firebase ML یا Play Asset Delivery استفاده کنید.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید