আর্কিটেকচারটি মূলত কী
একটি ভিশন ট্রান্সফরমার, যা ONNX ফরম্যাটে রূপান্তরিত এবং প্রায় 40 MB আকারে সংকুচিত, দুটি অংশে বিভক্ত যেন প্রতিটি অংশ হোস্টিং প্ল্যাটফর্মের ফাইল আকারের সীমার মধ্যে থাকে। এটি ব্রাউজারে পুনরায় একত্রিত হয় এবং কোনো কিছু রান করার আগেই এর চেকসাম যাচাই করা হয়।
WebAssembly-র মাধ্যমে ইনফারেন্স সম্পন্ন হয়, যা একটি ব্রাউজার ট্যাবের ভেতরে কম্পাইল করা রানটাইমকে প্রায় নেটিভ গতিতে চলতে দেয়। রানটাইমটি নিজেই একটি সংকুচিত WASM বাইনারি, যা ওয়েটসের সাথে লোড হয়।
এর কোনো কিছুই এখন আর অস্বাভাবিক নয়। 2021 সালে যা গবেষণামূলক প্রদর্শন ছিল, তা এখন মডেল সরবরাহের একটি সাধারণ উপায়, এবং ব্রাউজারগুলোই এর অধিকাংশ কাজ সম্পন্ন করেছে।
কী সুবিধা পাওয়া যায়
| প্রপার্টি | ব্রাউজারে | সার্ভারে |
|---|---|---|
| ছবি ডিভাইস ছেড়ে বাইরে যায় | No অসম্ভব | Yes প্রয়োজনীয় |
| যাচাই প্রতি খরচ | Yes শূন্য | No বাস্তব কম্পিউট |
| ডেটা প্রসেসিং চুক্তির প্রয়োজন | No | Yes |
| লোডের পর নেটওয়ার্ক ছাড়াই কাজ করে | Yes | No |
| মডেল গোপন রাখা সম্ভব | No এটি ডাউনলোড করা হয় | Yes |
| প্রথম পরীক্ষা তাৎক্ষণিক | No মডেল একবার ডাউনলোড হয় | Yes |
প্রথম সারির কারণেই বাকিগুলো বিদ্যমান। যেহেতু কোনো আপলোড এন্ডপয়েন্ট নেই, তাই অন্যের ছবির কোনো স্টোরেজ নেই, কোনো রিটেনশন পলিসি লেখার নেই, প্রকাশের মতো কোনো ডেটা লঙ্ঘন নেই এবং অনুরোধে হস্তান্তর করার মতো কিছু নেই।
দ্বিতীয় সারির কারণেই এটি ব্যবহারের কোনো মিটার ছাড়া বিনামূল্যে দেওয়া সম্ভব। একটি যাচাইয়ে কোনো সার্ভার খরচ নেই, তাই ছবি-প্রতি খরচ তোলার কোনো চাপ থাকে না, যা মূল্যের কাঠামোকে বদলে দেয়।
এর মূল্য বা সীমাবদ্ধতা কী
তিনটি বাস্তব আপস, স্পষ্টভাবে বলা হয়েছে, কারণ কেবল সুবিধার তালিকা দেওয়া কোনো পৃষ্ঠা শুধুই বিজ্ঞাপন।
- প্রথম পরীক্ষাটি ধীরগতির। কোনো কিছু শুরু হওয়ার আগে চল্লিশ মেগাবাইট ডেটা আসতে হয়। দ্রুতগতির সংযোগে এটি কয়েক সেকেন্ড সময় নেয়; দুর্বল সংযোগে আরও বেশি। পরবর্তী পরীক্ষাগুলো ক্যাশ করা মডেল ব্যবহার করে এবং তাৎক্ষণিকভাবে শুরু হয়।
- পুরোনো ডিভাইসে সমস্যা হয়। ইনফারেন্সের জন্য এমন মেমরি এবং প্রসেসিং প্রয়োজন যা পাঁচ বছরের পুরোনো ফোনে স্বাচ্ছন্দ্যে নাও থাকতে পারে। সার্ভারভিত্তিক হলে আপনার ডিভাইসের ক্ষমতা বিবেচ্য হতো না।
- মডেলটি উন্মুক্ত। ব্রাউজারে ডাউনলোড করা যেকোনো কিছু সংরক্ষণ করা যায়। সার্ভার-সাইড মডেল মালিকানাধীন হতে পারে; এটি তা হতে পারে না, এবং এর ওয়েটস এমনিতেই একটি ওপেন রিসার্চ চেকপয়েন্ট।
তৃতীয় বিষয়টি স্পষ্ট করে বলা প্রয়োজন। ক্লায়েন্টে একটি মডেল পাঠানো মানে তা সবার জন্য উন্মুক্ত করে দেওয়া। এখানে এটি একটি গ্রহণযোগ্য আপস কারণ ওয়েটস আগেই প্রকাশিত হয়েছে, এবং টুলটিকে উপযোগী করে তোলে এর চারপাশে তৈরি ক্যালিব্রেশন, টাইলিং এবং ইন্টারপ্রিটেশন।
যে ইঞ্জিনিয়ারিং সমস্যাগুলো জেনে রাখা ভালো
একটি বড় ফাইল বিভক্ত করা
স্ট্যাটিক হোস্টিং প্ল্যাটফর্মগুলো একক ফাইলের আকারে সীমা নির্ধারণ করে। একটি 40 MB মডেল এই সীমা অতিক্রম করেছিল, তাই এটি দুটি নির্দিষ্ট অংশে সরবরাহ করা হয় যা ব্রাউজারে পুনরায় একত্রিত হয় এবং ব্যবহারের আগে ম্যানিফেস্ট হ্যাশের সাথে যাচাই করা হয়। কোনো অংশ নষ্ট বা প্রতিস্থাপিত হলে নিঃশব্দে ভুল স্কোর দেওয়ার বদলে স্পষ্টভাবে ত্রুটি দেখায়।
প্রয়োজন না হওয়া পর্যন্ত কিছুই লোড না করা
পৃষ্ঠা লোড হওয়ার সময় মডেল, রানটাইম এবং ক্রেডেনশিয়াল রিডার ফেচ করা হয় না। এগুলো প্রথম ব্যবহারের সময় আসে, যাতে কোনো নিবন্ধ পড়ার সময় কাউকে এগুলো ডাউনলোড করতে না হয়। এটি সেই অধিকাংশ দর্শকের জন্য পৃষ্ঠাকে দ্রুত রাখে যারা কখনোই কোনো ছবি যাচাই করেন না।
জটিল ফরম্যাট ডিকোড করা
iPhone-এর HEIC, AVIF, TIFF এবং JPEG XL—স্কোর করার আগে সবগুলোরই ডিকোডিং প্রয়োজন। ব্রাউজারগুলো এখন এর বেশিরভাগই নেটিভভাবে পরিচালনা করে, যা এই ধরনের টুলের ক্লায়েন্ট-সাইডের সবচেয়ে বড় কাজের চাপটি দূর করে দিয়েছে।
যখন এই আর্কিটেকচারটি সঠিক পছন্দ নয়
এটি সব ক্ষেত্রে সেরা নয়। সার্ভার বেশি অর্থবহ যখন মডেলটি স্বত্বাধিকারযুক্ত এবং সুরক্ষিত রাখা প্রয়োজন, যখন এটি ব্রাউজারে পাঠানোর পক্ষে অত্যন্ত বড়, যখন আপনার ফলাফল ব্যক্তির সামনে প্রদর্শনের চেয়ে ব্যাকএন্ড পাইপলাইনে প্রয়োজন, অথবা যখন ডিভাইস নির্বিশেষে নির্দিষ্ট রেসপন্স টাইম নিশ্চিত করতে হয়।
সন্দেহজনক একটি ছবি পরীক্ষা করতে যে কেউ এটি ব্যবহার করছেন, তার ক্ষেত্রে এগুলোর কোনোটিই প্রযোজ্য নয়, এবং সার্ভারের সুবিধার চেয়ে প্রাইভেসির বৈশিষ্ট্যটি অনেক বেশি মূল্যবান।
এর ফলে কী কী বাদ পড়ে
ক্লায়েন্ট বেছে নেওয়ার প্রভাব কেবল প্রাইভেসিতেই সীমাবদ্ধ নয়, এবং এর কিছু সীমাবদ্ধতাও রয়েছে যা সুবিধা নয় বরং স্পষ্ট করে বলা প্রয়োজন।
কোনো হিস্ট্রি থাকে না। ফলাফল কেবল সংশ্লিষ্ট ট্যাবটিতেই বিদ্যমান থাকে, তাই এক্সপোর্ট না করলে পরবর্তীতে কিছুই আর দেখা যায় না। এটি কোনো অ্যাকাউন্ট না থাকার প্রত্যক্ষ মূল্য, এবং এটি সবচেয়ে কাঙ্ক্ষিত বিষয় যা এই আর্কিটেকচারের কারণে জটিল হয়ে পড়েছে।
কোনো শেয়ার্ড অবস্থা নেই। দুজন ব্যক্তি একই কিউ দেখতে পারেন না, এবং একটি দল একে অপরের যাচাই পর্যালোচনা করতে পারে না। একটি শেয়ার করা লিংকে একটি একক ফলাফল থাকে, যা আলোচনার জন্য উপযোগী হলেও কোনো দলগত কাজের প্রবাহ নয়।
কোনো API নেই। ব্রাউজার ট্যাবে চলা কোনো কিছু ব্যাকএন্ড পাইপলাইন থেকে কল করা যায় না, যা বৃহৎ পরিসরের ব্যবহারকে সম্পূর্ণ বাদ দেয়। এগুলো বাস্তব সীমাবদ্ধতা, এবং সত্য কথা হলো এগুলো সেই সুবিধার মূল্য যা সবচেয়ে বেশি গুরুত্বপূর্ণ।