LiteRT ওভারভিউ

LiteRT হলো গুগলের একটি অন-ডিভাইস ফ্রেমওয়ার্ক, যা দক্ষ রূপান্তর, রানটাইম এবং অপ্টিমাইজেশন ব্যবহার করে এজ প্ল্যাটফর্মে উচ্চ-পারফরম্যান্সের এমএল ও জেনএআই স্থাপন করে।

LiteRT 2.x-এর সর্বশেষ সংস্করণে CompiledModel API চালু করা হয়েছে, যা হার্ডওয়্যার অ্যাক্সিলারেশন সর্বোচ্চ করার জন্য ডিজাইন করা একটি আধুনিক রানটাইম ইন্টারফেস। যদিও ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য Interpreter API (পূর্বের TensorFlow Lite) উপলব্ধ রয়েছে, অন-ডিভাইস এআই অ্যাপ্লিকেশনগুলিতে সর্বাধুনিক পারফরম্যান্স প্রত্যাশী ডেভেলপারদের জন্য CompiledModel API-ই হলো প্রস্তাবিত বিকল্প।

LiteRT-এর প্রধান বৈশিষ্ট্যসমূহ

LiteRT-এর মাধ্যমে উন্নয়নকে সুবিন্যস্ত করুন

স্বয়ংক্রিয় অ্যাক্সিলারেটর নির্বাচন বনাম সুস্পষ্ট ডেলিগেট তৈরি। উন্নত পারফরম্যান্সের জন্য দক্ষ I/O বাফার হ্যান্ডলিং এবং অ্যাসিঙ্ক এক্সিকিউশন। অন-ডিভাইস ইনফারেন্স ডকুমেন্টেশন দেখুন।

সেরা মানের জিপিইউ পারফরম্যান্স

এমএল ড্রিফট দ্বারা চালিত, যা এখন জিপিইউ এপিআই-তে এমএল এবং জেনারেটিভ এআই উভয় মডেল সমর্থন করে। জিপিইউ অ্যাক্সিলারেশন ডকুমেন্টেশন দেখুন।

একীভূত এনপিইউ ত্বরণ

প্রধান চিপসেট সরবরাহকারীদের সরলীকৃত এনপিইউ অ্যাক্সেস ব্যবহার করে আপনার মডেলের গতি বাড়ান। এনপিইউ অ্যাক্সিলারেশন ডকুমেন্টেশন দেখুন।

উন্নত এলএলএম সহায়তা

LiteRT মোবাইল, ডেস্কটপ এবং ওয়েব প্ল্যাটফর্ম জুড়ে জেনারেটিভ এআই মডেলের উচ্চ-পারফরম্যান্স ডেপ্লয়মেন্ট নিশ্চিত করে। GenAI ডেপ্লয়মেন্ট ডকুমেন্টেশন দেখুন।

বিস্তৃত এমএল ফ্রেমওয়ার্ক সমর্থন

LiteRT, PyTorch, TensorFlow, এবং JAX ফ্রেমওয়ার্ক থেকে .tflite বা .litertlm ফরম্যাটে সুবিন্যস্ত রূপান্তর সমর্থন করে। মডেল রূপান্তর সংক্রান্ত ডকুমেন্টেশন দেখুন।

CompiledModel API দিয়ে শুরু করুন

উন্নয়ন কর্মপ্রবাহ

LiteRT অ্যান্ড্রয়েড, আইওএস, ওয়েব, আইওটি এবং ডেস্কটপ/ল্যাপটপে সম্পূর্ণভাবে ডিভাইসেই ইনফারেন্স পরিচালনা করে। ডিভাইস নির্বিশেষে, নিম্নলিখিতটি হলো সবচেয়ে প্রচলিত কার্যপ্রবাহ, সাথে আরও নির্দেশাবলীর লিঙ্ক দেওয়া হলো।

এমএল চ্যালেঞ্জের সবচেয়ে উপযুক্ত সমাধানটি চিহ্নিত করুন।

মেশিন লার্নিং সমস্যা সমাধানের ক্ষেত্রে LiteRT ব্যবহারকারীদের উচ্চ স্তরের নমনীয়তা এবং কাস্টমাইজ করার সুবিধা প্রদান করে, যা নির্দিষ্ট মডেল বা বিশেষায়িত বাস্তবায়নের প্রয়োজন এমন ব্যবহারকারীদের জন্য এটিকে একটি উপযুক্ত সমাধান করে তোলে। যারা প্লাগ-এন্ড-প্লে সমাধান খুঁজছেন, তারা MediaPipe Tasks পছন্দ করতে পারেন, যা অবজেক্ট ডিটেকশন, টেক্সট ক্লাসিফিকেশন এবং LLM ইনফারেন্সের মতো সাধারণ মেশিন লার্নিং কাজগুলোর জন্য তৈরি সমাধান সরবরাহ করে।

LiteRT উন্নয়ন কর্মপ্রবাহ গ্রাফ

মডেলটি সংগ্রহ ও প্রস্তুত করা

LiteRT মডেলকে FlatBuffers নামে পরিচিত একটি কার্যকর পোর্টেবল ফরম্যাটে উপস্থাপন করা হয়, যা .tflite ফাইল এক্সটেনশন ব্যবহার করে।

আপনি নিম্নলিখিত উপায়ে একটি LiteRT মডেল পেতে পারেন:

  • ইমেজ সেগমেন্টেশন, অবজেক্ট ডিটেকশন ইত্যাদির মতো জনপ্রিয় এমএল ওয়ার্কলোডের জন্য একটি প্রি-ট্রেইনড মডেল সংগ্রহ করুন।

    সবচেয়ে সহজ উপায় হলো আগে থেকেই .tflite ফরম্যাটে থাকা একটি LiteRT মডেল ব্যবহার করা। এই মডেলগুলোর জন্য কোনো অতিরিক্ত রূপান্তরের ধাপের প্রয়োজন হয় না।

    মডেলের ধরন পূর্ব-প্রশিক্ষিত মডেল উৎস
    ক্লাসিক্যাল এমএল
    ( .tflite ফরম্যাট)
    Kaggle বা HuggingFace দেখুন
    যেমন চিত্র বিভাজন মডেল এবং নমুনা অ্যাপ
    জেনারেটিভ এআই
    ( .litertlm ফরম্যাট)
    LiteRT হাগিং ফেস পেজ
    যেমন জেমা পরিবার
  • আপনি যদি কোনো প্রি-ট্রেইনড মডেল ব্যবহার না করতে চান, তাহলে আপনার নির্বাচিত PyTorch, TensorFlow বা JAX মডেলকে একটি LiteRT মডেলে রূপান্তর করুন[প্রো ব্যবহারকারী]

    মডেল কাঠামো নমুনা মডেল রূপান্তর সরঞ্জাম
    পাইটর্চ আলিঙ্গনরত মুখ
    টর্চভিশন
    লিঙ্ক
    TensorFlow কাগল মডেল
    আলিঙ্গনরত মুখ
    লিঙ্ক
    জ্যাক্স আলিঙ্গনরত মুখ লিঙ্ক
  • জেনারেটিভ এপিআই ব্যবহার করে আপনার এলএলএম আরও অপ্টিমাইজেশনের জন্য রচনা করুন [প্রো ব্যবহারকারী]

    আমাদের জেনারেটিভ এপিআই লাইব্রেরিটি মোবাইল-বান্ধব অ্যাবস্ট্রাকশন ব্যবহার করে জেমা , টাইনিলামা এবং অন্যান্য ট্রান্সফরমার মডেল তৈরির জন্য পাইটর্চের বিল্ট-ইন বিল্ডিং ব্লক সরবরাহ করে, যার মাধ্যমে আমরা আমাদের মোবাইল রানটাইম, LiteRT-এ রূপান্তর এবং পারফরম্যান্ট এক্সিকিউশন নিশ্চিত করতে পারি। জেনারেটিভ এপিআই ডকুমেন্টেশন দেখুন।

[প্রো ব্যবহারকারী] অপ্টিমাইজ করুন

উন্নত ডেভেলপারদের জন্য AI Edge Quantizer হলো রূপান্তরিত LiteRT মডেলগুলোকে কোয়ান্টাইজ করার একটি টুল। এর লক্ষ্য হলো উন্নত ব্যবহারকারীদেরকে অধিক রিসোর্স-নির্ভর মডেলগুলোতে (যেমন, GenAI মডেল) সর্বোত্তম পারফরম্যান্স অর্জনে সহায়তা করা।

AI Edge Quantizer ডকুমেন্টেশন থেকে আরও বিস্তারিত তথ্য দেখুন।

এজ প্ল্যাটফর্মে আপনার অ্যাপে মডেলটি একীভূত করুন।

LiteRT আপনাকে অ্যান্ড্রয়েড, আইওএস, ওয়েব, ডেস্কটপ এবং আইওটি প্ল্যাটফর্ম জুড়ে উচ্চ পারফরম্যান্সের সাথে সম্পূর্ণভাবে ডিভাইসেই এমএল মডেল চালানোর সুযোগ দেয়।

আপনার পছন্দের প্ল্যাটফর্মে একটি LiteRT মডেল সংহত করতে নিম্নলিখিত নির্দেশিকাগুলি ব্যবহার করুন:

সমর্থিত প্ল্যাটফর্ম সমর্থিত ডিভাইস সমর্থিত এপিআই
অ্যান্ড্রয়েডে চালান অ্যান্ড্রয়েড মোবাইল ডিভাইস সি++/কোটলিন
iOS/macOS-এ চালান আইওএস মোবাইল ডিভাইস, ম্যাকবুক সি++/সুইফট
LiteRT.js ব্যবহার করে ওয়েবে চালান ক্রোম, ফায়ারফক্স বা সাফারি চালিত ডিভাইস জাভাস্ক্রিপ্ট
লিনাক্সে চালান লিনাক্স ওয়ার্কস্টেশন বা লিনাক্স-ভিত্তিক IoT ডিভাইস সি++/পাইথন
উইন্ডোজে চালান উইন্ডোজ ওয়ার্কস্টেশন বা ল্যাপটপ সি++/পাইথন
IoT-তে চালিত এমবেডেড ডিভাইস সি++

নিম্নলিখিত কোড স্নিপেটগুলিতে কোটলিন এবং সি++ এ একটি মৌলিক বাস্তবায়ন দেখানো হয়েছে।

কোটলিন

// Load model and initialize runtime
val compiledModel = CompiledModel.create(
    "/path/to/mymodel.tflite",
    CompiledModel.Options(Accelerator.CPU))

// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()

// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)

// Invoke
compiledModel.run(inputBuffers, outputBuffers)

// Read the output
val output = outputBuffers.get(0).readFloat()

সি++

// Load model and initialize runtime
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
    auto compiled_model,
    CompiledModel::Create(env, "/path/to/mymodel.tflite", options));

// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));

// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));

// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));

// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));

একটি ব্যাকএন্ড বেছে নিন

LiteRT-এ ব্যাকএন্ড অন্তর্ভুক্ত করার সবচেয়ে সহজ উপায় হলো রানটাইমের অন্তর্নির্মিত বুদ্ধিমত্তার উপর নির্ভর করা। CompiledModel API-এর মাধ্যমে, LiteRT একটি অপশন হিসেবে টার্গেট ব্যাকএন্ড নির্দিষ্ট করার সুবিধা দিয়ে সেটআপকে উল্লেখযোগ্যভাবে সহজ করে তোলে। আরও বিস্তারিত জানতে অন-ডিভাইস ইনফারেন্স গাইড দেখুন

অ্যান্ড্রয়েড iOS / macOS ওয়েব লিনাক্স উইন্ডোজ আইওটি
সিপিইউ এক্সএনএনপ্যাক এক্সএনএনপ্যাক এক্সএনএনপ্যাক এক্সএনএনপ্যাক এক্সএনএনপ্যাক এক্সএনএনপ্যাক
জিপিইউ ওপেনজিএল
ওপেনসিএল
ধাতু
ওয়েবজিপিইউ
ওয়েবজিপিইউ ওয়েবজিপিইউ
ওপেনসিএল
ওয়েবজিপিইউ
ওপেনসিএল
ওয়েবজিপিইউ
এনপিইউ মিডিয়াটেক
কোয়ালকম
- - কোয়ালকম - কোয়ালকম

অতিরিক্ত নথিপত্র এবং সহায়তা