TensorFlow Lite — คืออะไร คุณสมบัติสำคัญ และการนำไปใช้

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-07-17 เวลาอ่าน: 6 นาที

TensorFlow Lite เป็นเวอร์ชันน้ำหนักของเฟรมแวร์ค TensorFlow ที่พัฒนาโดย Google สำหรับรันโมเดลแมชชีนเลิร์นิ่งบนอุปกรณ์มือถือและอุปกรณ์ฝังตัวที่มีทรัพยากรการคำนวณจำกัด ต่างจาก TensorFlow เต็มรูปแบบ TFLite ใช้ตัวแปลเฉพาะทาง และรูปแบบ .tflite ที่เปิ่งเพื่อการอนุมนายที่รวดเร็วโดยไม่ต้องการฝึกอบรม ตามข้อมูลจาก TensorFlow Lite Guide, 2025 เฟรมแวร์คนี้ทำงานบน Android, iOS และ Linux และถูกใช้ในอุปกรณ์มากกว่า 4 พันล้านเครื่อง TensorFlow Lite รองรับการควอนไฟซ์ และการเร่งความเร็วด้านฮาร์ดแวร์ผ่านตัวแทน NNAPI, GPU และ Core ML

ข้อควรรู้

  • TensorFlow Lite เป็นเฟรมแวร์คน้ำหนักสำหรับ ML บนอุปกรณ์ในอุปกรณ์มือถือและอุปกรณ์ฝังตัว
  • โมเดลจะถูกแปลงเป็นรูปแบบ .tflite ผ่านตัวแปลง TFLite จาก TensorFlow SavedModel หรือ Keras
  • รองรับ การควอนไฟซ์ INT8, FP16 และการควอนไฟซ์แบบไดนามิกเพื่อลดขนาด
  • การเร่งความเร็วด้านฮาร์ดแวร์มีผ่าน GPU Delegate, NNAPI และ Core ML Delegate
  • TFLite ทำงานบน Android, iOS และ Linux ด้วย API ใน Java, C++, Swift และ Python

TensorFlow Lite คืออะไร

TensorFlow Lite เป็นรันไทม์เฉพาะทางสำหรับเรียกใช้โมเดลแมชชีนเลิร์นิ่งบนอุปกรณ์ที่มีทรัพยากรจำกัด ต่างจาก TensorFlow เต็มรูปแบบ TFLite ไม่รองรับการฝึกอบรมหรือการแพร่กระจายย้อนหลัง — เฉพาะการอนุมนายเท่านั้น ซึ่งช่วยให้ขนาดไฟล์ไบนารีของไลบรารีมีขนาดเล็กที่สุด: ประมาณ 300 KB สำหรับตัวแปลพื้นฐานบน Android

สถาปัตยกรรม TFLite สร้างขึ้นรอบ รูปแบบ .tflite ที่อาศยเบื้องหลังจาก FlatBuffers FlatBuffers ให้การเข้าถึงข้อมูโดยตรงโดยไม่ต้องมีขั้นตอนการแยกวิเคราะห์ ซึ่งมีความสำคัญสำหรับอุปกรณ์มือถือที่มีหน่วยความจำจำกัด โมเดลในรูปแบบ .tflite ประกอบด้วยกราฟการคำนวณ น้ำหนัก และเมตาดาต้ในไฟล์ไบนารีเดียว

ตาม Google I/O 2024 TFLite ถูกใช้ใน Google Photos, Gboard, YouTube และแอปพลิเคชันอื่นของ Google โดยมีผู้ใช้รวมกันมากกว่า 4 พันล้านเครื่อง เฟรมแวร์ครองรับสถาปัตยกรรมหลักทั้งหมด: 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 เป็นเลขจำนวนขนาด 8 บิต ขนาดโมเดลลดลง 4 เท่า และความเร็วในการอนุมนายบนอุปกรณ์ที่รองรับ INT8 เพิ่มขึ้นสูงสุด 3 เท่า การควอนไฟซ์ FP16 ลดขนาดลงครึ่งโดยสูญเสียความเจนต่อน้อยที่สุด

การควอนไฟซ์แบบไดนามิก เก็บน้ำหนักไว้ใน INT8 แต่ดำเนินการคำนวณใน FP32 โหมดนี้เหมาะสำหรับโมเดลที่ไว้ต่อความเจน และให้การลดขนาดสูงสุด 4 เท่าโดยรักษาคุณภาพ ตาม Google ML Performance Benchmarks แนะนำให้ใช้การควอนไฟซ์แบบไดนามิกสำหรับโมเดล NLP

เปรียบเทียบโหมดการควอนไฟซ์ TFLite

โหมดชนิดน้ำหนักชนิดการเปิดใช้งานการลดขนาด
FP32 (ไม่มีการควอนไฟซ์)FP32FP321x
FP16FP16FP322x
INT8 แบบไดนามิกINT8FP324x
INT8 เต็มINT8INT84x

การเร่งความเร็วด้านฮาร์ดแวร์บน Android และ iOS

บน Android กลไกการเร่งความเร็วหลักคือ ตัวแทน NNAPI ซึ่งโอนการดำเนินการไปยัง NPU, DSP หรือ GPU ผ่าน Android Neural Networks API NNAPI ใช้งานได้บนอุปกรณ์ที่มี Android 8.1+ และรองรับการคำนวณ INT8 และ FP16 GPU Delegate สำหรับ Android ใช้ OpenGL ES 3.1+ และ Vulkan

บน iOS การเร่งความเร็วจะถูกให้ผ่าน ตัวแทน Core ML ซึ่งแปลงการดำเนินการ TFLite เป็นรูปแบบ Core ML และดำเนินการบน Apple Neural Engine ตาม Apple ML Benchmarking การใช้ Core ML Delegate ช่วยเร่งความเร็วในการอนุมนายบน iPhone 15 Pro ได้สูงสุด 4 เท่าเมื่อเทียบกับ CPU GPU Delegate สำหรับ iOS ใช้ Metal Performance Shaders

XNNPACK Delegate เป็น โซลูชันข้ามแพลตฟอร์ม สำหรับ ARM CPU ที่เพิ่งเพื่อการทำงานบนโปรเซสเซอร์มือถือ XNNPACK รองรับการดำเนินการ FP32, FP16 และ INT8 โดยไม่ต้องการฮาร์ดแวร์เฉพาะทาง แนะนำให้ใช้เป็นตัวแทนพื้นฐานสำหรับทุกอุปกรณ์

การประมวลโมเดลกับ TFLite

กระบวนการประมวลประกอบด้วย สามขั้นตอน ขั้นตอนแรก — แปลงโมเดลเป็น .tflite ผ่าน TFLite Converter ขั้นตอนที่สอง — รวมไฟล์ .tflite ไว้ในทรัพยากรของแอปพลิเคชัน สำหรับ Android ไฟล์จะถูกวางใน assets; สำหรับ iOS ในบันเดิลแอปผ่าน Xcode ขั้นตอนที่สาม — เริ่มต้น Interpreter และดำเนินการอนุมนาย

สำหรับ การอัพเดตโมเดลแบบไดนามิก Google แนะนำให้ใช้ Firebase ML Model Downloading หรือกลไกการดาวน์โหลดแบบกำหนดเองจากคลาว์ด ไฟล์ .tflite ที่อัพเดตแล้วจะถูกเก็บไว้ในหน่วยความจำท้องถิ่น และโหลดเข้าสู่ Interpreter ในการเริ่มต้นครั้งต่อไป

เมื่อประมวล สิ่งสำคัญคือต้องพิจารณา ขนาดไฟล์ .tflite Google Play จำกัดขนาด APK ไว้ที่ 200 MB สำหรับโมเดลที่ใหญ่กว่า 50 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);

// Run inference on the input data
interpreter.run(input, output);

// Release delegate resources after inference
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 ลดขนาด 2 เท่า, INT8 ลด 4 เท่า นอกจากนี้ ยังมีการควอนไฟซ์แบบไดนามิก, การตัดตอนน้ำหนัก, และการกลั่นโมเดลก่อนแปลง

TFLite รองรับการฝึกอบรมบนอุปกรณ์หรือไม่?

ได้ ผ่าน TFLite Model Maker และ API การฝึกอบรมบนอุปกรณ์ (ทดลอง) รองรับการปรับแต่งละเอียดและการปรับแต่งโมเดลส่วนบุคคลโดยตรงบนอุปกรณ์ของผู้ใช้

TFLite รองรับโมเดลประเภทใดบ้าง?

TFLite รองรับ CNN, RNN, LSTM, Transformer, สถาปัตยกรรมมือถือ (MobileNet, EfficientNet, YOLO, BERT) และการดำเนินการที่กำหนดเอง ข้อจำกัดคือตัวดำเนินการที่มีอยู่ในตัวแทนเป้าหมาย

สรุป

  • TensorFlow Lite เป็นเฟรมแวร์คน้ำหนักสำหรับ ML บนอุปกรณ์ในอุปกรณ์มือถือและอุปกรณ์ฝังตัวจาก Google
  • โมเดลจะถูกแปลงเป็นรูปแบบ .tflite ผ่าน TFLite Converter จาก TensorFlow SavedModel หรือ Keras
  • การควอนไฟซ์ INT8 และ FP16 ลด ขนาดโมเดลได้สูงสุด 4 เท่า และเร่งความเร็วในการอนุมนายได้สูงสุด 3 เท่า
  • การเร่งความเร็วด้านฮาร์ดแวร์มีผ่าน ตัวแทน GPU, NNAPI, Core ML และ XNNPACK
  • รันไทม์ใช้พื้นที่ประมาณ 300 KB บน Android และทำงานบนอุปกรณ์มากกว่า 4 พันล้านเครื่อง
  • Task Library ให้ โซลูชันที่พร้อมใช้ สำหรับการจัดหมวดภาพ, การตรวจจับ, การแย่งซ้อน และ NLU
  • สำหรับการอัพเดตแบบไดนามิก ใช้ Firebase ML หรือ Play Asset Delivery

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม