পূর্ণ ম্যাট্রিক্সের পরিবর্তে সক্রিয় ওজন: CPU-তে স্পাইকিং মডেলের INT8 ডিকোডিং

27 সেপ্টেম্বর 2026২৪ প্রদর্শন

নিবন্ধটিতে বাইনারি স্পাইক গেটিংসহ একটি ভাষা মডেলের C++ বাস্তবায়নের বর্ণনা দেওয়া হয়েছে: স্পার্স প্রজেকশনগুলো INT8-এ প্রক্রিয়াকরণ করা হয়, আর গণনায় শুধু সক্রিয় ওজনগুলো বিবেচনা করা হয়। একক-থ্রেড পরীক্ষায় প্রাথমিক INT8 সংস্করণটি প্রতি সেকেন্ডে 23,31টি টোকেন সরবরাহ করেছে, যেখানে FP32-এর ক্ষেত্রে এই হার ছিল 9,82; পাশাপাশি ওজনের জন্য মেমরি ব্যবহার 3355,2 থেকে কমে 1087,4 MiB হয়েছে। ঘন প্রজেকশনগুলো INT4-এ রূপান্তর করলে ডিকোডিংয়ের থ্রুপুট কমে যায়।

পূর্ণ ম্যাট্রিক্সের পরিবর্তে সক্রিয় ওজন: CPU-তে স্পাইকিং মডেলের INT8 ডিকোডিং

স্পাইক কীভাবে ওজন প্রক্রিয়াকরণ বদলে দেয়

«Spike-Aware INT8 Execution for Spiking Language Models on Commodity CPUs» নিবন্ধে Ting Liu CPU-তে একটি স্পাইকিং ভাষা মডেলের ডিকোডিং বর্ণনা করেছেন।

  • বাইনারি স্পাইক অ্যাক্টিভেশন শুধু সক্রিয় ওজনের কলাম পড়ার সুযোগ দেয়।
  • গুণের বদলে ওজনের যোগফল নেওয়া হয়।

এই পদ্ধতির ব্যবহারিক সুবিধা হলো, যে কলামগুলো সক্রিয় হয়নি সেগুলো প্রক্রিয়াকরণ করতে হয় না। সুবিধার মাত্রা শুধু ওজনের ফরম্যাট নয়, অ্যাক্টিভেশনের স্পার্সিটির ওপরও নির্ভর করে।

INT8 পথটি যেভাবে কাজ করে

874M প্যারামিটারের একটি স্পাইক-গেটেড ভাষা মডেলে C++ বাস্তবায়নটি পরীক্ষা করা হয়েছিল। এতে স্পার্স ও ডেন্স প্রজেকশনের জন্য আলাদা মোড ব্যবহার করা হয়।

  • স্পার্স প্রজেকশনে ওজনগুলো column-major ফরম্যাটে INT8 হিসেবে সংরক্ষণ করা হয়।
  • পূর্ণসংখ্যায় অ্যাকিউমুলেশন করা হয়, এবং প্রতিটি আউটপুট চ্যানেলের জন্য একবার স্কেল প্রয়োগ করা হয়।
  • ডেন্স প্রজেকশনে row-major অ্যাক্সেস এবং FP32 অ্যাক্টিভেশন বজায় রাখা হয়।

এটি মিশ্র পদ্ধতি, মডেলের সব অপারেশনকে INT8-এ রূপান্তর নয়। নির্বাচনের মানদণ্ড হলো স্পার্স INT8 পথের সুবিধার জন্য ডেন্স প্রজেকশনে FP32 বজায় রাখতে প্রস্তুত থাকা।

কোন গতি ও সংরক্ষণ-সংক্রান্ত পরিমাপ দেওয়া হয়েছে

প্রাথমিক চেকপয়েন্টটি একটি থ্রেডে তুলনা করা হয়েছিল। এই পরীক্ষায় INT8 বেশি ডিকোডিং থ্রুপুট এবং কম ওজন-সংরক্ষণ স্থান দেখিয়েছে।

প্রাথমিক চেকপয়েন্ট, একটি থ্রেডডিকোডিং গতিওজন সংরক্ষণ
FP329.82 tokens/s3355.2 MiB
INT823.31 tokens/s1087.4 MiB

চূড়ান্ত চেকপয়েন্টের জন্য AMD Ryzen 7 5800X-এ আলাদা ফলাফল দেওয়া হয়েছে। প্রাথমিক চেকপয়েন্টের তুলনার সঙ্গে পরীক্ষার শর্ত এক নয়।

চূড়ান্ত চেকপয়েন্টের INT8 মোডপরিমাপ
ডিকোডিং, একটি থ্রেড22.63 tokens/s
ডিকোডিং, চারটি থ্রেড47.90 tokens/s
512 টোকেনের সিকোয়েন্সের প্রিফিল, আটটি থ্রেড94.68 tokens/s

এই পরিমাপগুলোকে সরাসরি একটিমাত্র তুলনামূলক সারণিতে একত্র করা যায় না: এগুলো ভিন্ন চেকপয়েন্ট ও মোডের। থ্রুপুট মূল্যায়নে চেকপয়েন্টের সংস্করণ এবং থ্রেডের সংখ্যাও গুরুত্বপূর্ণ।

INT4 সংস্করণে কী বদলায়

ডেন্স প্রজেকশনের INT4 সংস্করণে সংরক্ষণ-স্থান আরও 17.4% কমে। তবে ডিকোডিং থ্রুপুট 46.6% কমে যায়।

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

নির্বাচনের মানদণ্ড হলো ডিকোডিং গতির চেয়ে সংরক্ষণকে অগ্রাধিকার দেওয়া। বিশুদ্ধ INT4-এর ফলাফলকে পারফরম্যান্সের প্রমাণ হিসেবে ব্যবহার করা যায় না।

বিদ্যুৎ খরচ সম্পর্কে কী জানা গেছে

ARM-এ আউটপুট হেড নিয়ে একটি পৃথক গবেষণায়, প্রার্থী যাচাইয়ের দুটি কনফিগারেশনের জন্য ডিকোডিংয়ের একটি সংক্ষিপ্ত সময়সীমায় বেশি শক্তি-ব্যয়ের পরিমাপ নথিভুক্ত করা হয়েছে।

নিবন্ধটির সংশোধিত সংস্করণে ARM-এ wall-power অনুযায়ী বিদ্যুৎ খরচের গবেষণা এবং সংখ্যাগত যাচাইকরণও যুক্ত করা হয়েছে। CPU-তে গতির পরীক্ষার তথ্য থেকে বিদ্যুৎ সাশ্রয়ের সিদ্ধান্তে পৌঁছানো যথেষ্ট নয়।

সাধারণ প্রশ্নোত্তর

বিভিন্ন উপাদান

সব উপাদান
পূর্ণ ম্যাট্রিক্সের পরিবর্তে সক্রিয় ওজন: CPU-তে স্পাইকিং মডেলের INT8 ডিকোডিং