স্পাইক কীভাবে ওজন প্রক্রিয়াকরণ বদলে দেয়
«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 বেশি ডিকোডিং থ্রুপুট এবং কম ওজন-সংরক্ষণ স্থান দেখিয়েছে।
| প্রাথমিক চেকপয়েন্ট, একটি থ্রেড | ডিকোডিং গতি | ওজন সংরক্ষণ |
|---|---|---|
| FP32 | 9.82 tokens/s | 3355.2 MiB |
| INT8 | 23.31 tokens/s | 1087.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-তে গতির পরীক্ষার তথ্য থেকে বিদ্যুৎ সাশ্রয়ের সিদ্ধান্তে পৌঁছানো যথেষ্ট নয়।



