দৈনন্দিন LLM স্থাপনে SINQ কেন গুরুত্বপূর্ণ
বৃহৎ ভাষা মডেলের প্রচুর মেমোরি লাগে। উন্নত মডেল চালাতে প্রায়ই প্রিমিয়াম ডেটা সেন্টার GPU এবং ব্যয়বহুল ক্লাউড নোড প্রয়োজন হওয়ার এটি একটি কারণ। জুরিখে Huawei-এর Computing Systems Lab SINQ নামে একটি নতুন কোয়ান্টাইজেশন পদ্ধতি এনেছে, যা এই হিসাব বদলে দেওয়ার লক্ষ্য নিয়ে তৈরি। Sinkhorn Normalized Quantization নামে পরিচিত এই পদ্ধতিতে আউটপুটের মান সামান্য কমিয়ে মেমোরির ব্যবহার কমানো হয়। এটি Apache 2.0 লাইসেন্সের আওতায় ওপেন সোর্স হিসেবে প্রকাশ করা হয়েছে। দলটির দাবি, SINQ দ্রুত, ক্যালিব্রেশন ছাড়াই ব্যবহার করা যায় এবং বিদ্যমান মডেল কর্মপ্রবাহে সহজে যুক্ত করা যায়।
সূচিপত্র
- দৈনন্দিন LLM স্থাপনে SINQ কেন গুরুত্বপূর্ণ
- আগের কোয়ান্টাইজেশন পদ্ধতি থেকে SINQ যেভাবে আলাদা
- পরীক্ষায় মেমোরি সাশ্রয়, গতি ও মান
- হার্ডওয়্যার ও ক্লাউড ব্যয়ের ওপর প্রভাব
- ডেভেলপাররা এখন যা ব্যবহার করতে পারেন
- প্রযুক্তিগত বৈশিষ্ট্য সহজ ভাষায়
- দ্বি-অক্ষ স্কেলিং
- Sinkhorn Knopp নর্মালাইজেশন
- ক্যালিব্রেশনবিহীন নকশা
- সীমাবদ্ধতা ও ব্যবহারিক বিবেচনা
- একটি প্রতিষ্ঠানের বাইরেও এর গুরুত্ব
- মূল বিষয়গুলো
কোয়ান্টাইজেশনে মডেলের ওজন উপস্থাপনে ব্যবহৃত বিটের সংখ্যা কমানো হয়। ১৬-বিট বা ৮-বিট ফ্লোট থেকে ৪-বিট পূর্ণসংখ্যায় গেলে মেমোরির ব্যবহার অর্ধেকেরও বেশি কমতে পারে। তবে নির্ভুলতা না হারিয়ে এই সাশ্রয় করা কঠিন, বিশেষ করে ৮ বিটের নিচে গেলে। SINQ-এর মূল দাবি হলো, কম নির্ভুলতায়ও এটি ভালো মান বজায় রাখে—এমনকি ৪ বিটে এবং কিছু ক্ষেত্রে ৩ বিটেও—আর অনেক পরিচিত পদ্ধতির চেয়ে দ্রুত প্রয়োগ করা যায়।
লেখকদের পরীক্ষায় বিভিন্ন মডেল ও আর্কিটেকচারে SINQ মেমোরির ব্যবহার প্রায় ৬০ থেকে ৭০ শতাংশ কমায়। এতটা কমলে অনেক মডেল একটিমাত্র ভোক্তা GPU-তে চালানো সম্ভব হয়; যেমন ২৪ GB মেমোরির Nvidia GeForce RTX 4090-এ। ফলে A100 বা H100-এর মতো এন্টারপ্রাইজ GPU-এর প্রয়োজন নাও হতে পারে। ক্লাউডে কম দামের ইনস্ট্যান্স দিয়ে দীর্ঘ সময় ধরে ইনফারেন্স চালানো যায়, যা সময়ের সঙ্গে হাজার হাজার ডলার সাশ্রয় করতে পারে। গবেষণাগার, স্টার্টআপ এবং স্থানীয়ভাবে মডেল চালাতে আগ্রহীদের জন্য ওয়ার্কস্টেশনে সক্ষম মডেল চালানোর বাধাও কমে আসে।
আগের কোয়ান্টাইজেশন পদ্ধতি থেকে SINQ যেভাবে আলাদা
বাস্তবে ব্যবহৃত অধিকাংশ LLM কোয়ান্টাইজেশনে শুধু ওজন কম নির্ভুলতায় উপস্থাপন করা হয়। ওজন হলো প্রতিটি স্তরে শেখা প্যারামিটার, যা মডেলের আকারের বড় অংশ দখল করে। অ্যাক্টিভেশনও কোয়ান্টাইজ করা যায়, তবে এতে প্রায়ই জটিলতা বাড়ে এবং রানটাইমে প্রভাব পড়তে পারে। বহুল ব্যবহৃত অনেক পদ্ধতিতে সেটআপ পর্বে—যাকে ক্যালিব্রেশন বলা হয়—কম্পিউট সময় ব্যয় করে কোয়ান্টাইজেশনে সৃষ্ট ত্রুটি কমানোর জন্য স্কেল ফ্যাক্টর খোঁজা হয়। এতে নমুনা ডেটা ব্যবহার করে মডেলকে একাধিকবার চালাতে হয়। মান উন্নত হতে পারে, তবে এতে সময় লাগে, প্রম্পট সতর্কভাবে বেছে নিতে হয় এবং পাইপলাইন জটিল হয়।
SINQ ভিন্ন পথ বেছে নিয়েছে। এতে দুটি পরস্পর-সম্পর্কিত ধারণা ব্যবহার করা হয়, যাতে ওজনকে কম নির্ভুলতায় রাউন্ড করার আগে তার বণ্টন নিয়ন্ত্রিত থাকে। প্রথমত, দ্বি-অক্ষ স্কেলিংয়ে ওজন ম্যাট্রিক্সের সারি ও কলামের জন্য আলাদা স্কেলিং ভেক্টর প্রয়োগ করা হয়। এতে প্রতি টেনসর বা প্রতি চ্যানেলে একটি স্কেল ব্যবহারের চেয়ে সূক্ষ্মভাবে নিয়ন্ত্রণ করা যায়। এই পদ্ধতিতে ত্রুটি এমনভাবে ছড়িয়ে পড়ে, যাতে অস্বাভাবিক বড় মান এবং স্থানীয় ভারসাম্যহীনতার প্রভাব কমে।
দ্বিতীয়ত, SINQ-তে Sinkhorn Knopp নর্মালাইজেশন থেকে অনুপ্রাণিত একটি প্রক্রিয়া ব্যবহার করা হয়। সারি ও কলামের পরিসংখ্যানের মধ্যে ভারসাম্য আনতে অ্যালগরিদমটি পর্যায়ক্রমে সহজ নর্মালাইজেশন চালায়। SINQ-তে সারি ও কলামের স্ট্যান্ডার্ড ডেভিয়েশন স্বাভাবিক করা হয়, যাতে ওজন ম্যাট্রিক্সের কোনো একটি অংশ প্রাধান্য না পায়। এই ভারসাম্য কোয়ান্টাইজেশনে ওজনের প্রতিক্রিয়া উন্নত করে এবং ব্যয়বহুল স্তরভিত্তিক ক্যালিব্রেশন ডেটা ছাড়াই সামগ্রিক ত্রুটি কমায়।
পরীক্ষায় মেমোরি সাশ্রয়, গতি ও মান
লেখকদের প্রতিবেদনে পূর্ণ নির্ভুলতার ওজনের তুলনায় ধারাবাহিকভাবে ৬০ থেকে ৭০ শতাংশ মেমোরি সাশ্রয়ের কথা বলা হয়েছে। বিভিন্ন আর্কিটেকচারে নির্ভুলতার ফলও মূল মডেলের কাছাকাছি থাকে। বাস্তবে ৬০ GB-এর বেশি মেমোরি লাগত এমন মডেলকে প্রায় ২০ GB-তে নামিয়ে আনা সম্ভব। সাধারণ GPU-তে এই পরিবর্তনই নির্ধারণ করতে পারে, মডেলটি পুরোপুরি মেমোরিতে ধরবে, নাকি ধীরগতির হোস্ট RAM-এ চলে যাবে।
গবেষণা ও উৎপাদন—দুই ক্ষেত্রেই কোয়ান্টাইজেশনের গতি গুরুত্বপূর্ণ। লেখকদের পরীক্ষায় SINQ, HQQ-এর তুলনায় প্রায় দ্বিগুণ এবং AWQ-এর তুলনায় ৩০ গুণেরও বেশি দ্রুত মডেল কোয়ান্টাইজ করে। যেসব দল মডেল নিয়ে বারবার কাজ করে, তাদের ক্ষেত্রে সময়ের এই পার্থক্যে কয়েক ঘণ্টার প্রি-প্রসেসিং কমে এমন এক দ্রুত ধাপে পরিণত হতে পারে, যা ডেভেলপমেন্ট প্রক্রিয়ার মধ্যেই সম্পন্ন করা যায়।
মান পরিমাপে পারপ্লেক্সিটি ও ফ্লিপ রেটের মতো সূচক ব্যবহার করা হয়। ভাষা মডেল কতটা ভালোভাবে টেক্সট অনুমান করতে পারে, তা পারপ্লেক্সিটি দিয়ে মাপা হয়। কোয়ান্টাইজেশনের পর শীর্ষ টোকেন কতবার বদলে যায়, তা গোনে ফ্লিপ রেট। বিভিন্ন বেঞ্চমার্কে SINQ অন্যান্য ক্যালিব্রেশনবিহীন বেসলাইন পদ্ধতির তুলনায় পারপ্লেক্সিটি কমায় এবং ফ্লিপ রেটও হ্রাস করে, যা আরও স্থিতিশীল আউটপুটের ইঙ্গিত দেয়। পদ্ধতিটি নন-ইউনিফর্ম কোয়ান্টাইজেশন স্কিমেও কাজ করে। কোনো প্রকল্প নির্ভুলতা আরও বাড়াতে চাইলে এর সঙ্গে ক্যালিব্রেশনও যুক্ত করা যায়।
হার্ডওয়্যার ও ক্লাউড ব্যয়ের ওপর প্রভাব
ইনফারেন্সের খরচ মেমোরির সঙ্গে পাল্লা দিয়ে বাড়ে। একক GPU-তে মডেল ধরলে ব্যয়বহুল মডেল-প্যারালাল সেটআপ ও নেটওয়ার্কের অতিরিক্ত চাপ এড়ানো যায়। SINQ-এর মেমোরি সাশ্রয়ে অনেক মাঝারি থেকে বড় মডেল উচ্চ মেমোরির একটি ভোক্তা GPU-তেই চালানো সম্ভব হয়। আগে যেসব অপারেটর A100 বা H100 নোডের ওপর নির্ভর করতেন, তারা কম দামের GPU-তে সেবা দিতে পারলে মাসিক খরচ কমাতে পারবেন এবং শীর্ষস্থানীয় হার্ডওয়্যার প্রশিক্ষণের জন্য খালি রাখতে পারবেন।
ক্লাউড ব্যবহারকারীরা ছোট GPU ইনস্ট্যান্স বেছে নিতে পারেন অথবা প্রতিটি নোডে একসঙ্গে আরও বেশি মডেল চালাতে পারেন। চ্যাট সহকারী বা রিট্রিভাল-অগমেন্টেড জেনারেশন সেবার মতো দীর্ঘ সময় ধরে চলা কাজ কম খরচের GPU-তে চালালে কয়েক সপ্তাহ বা কয়েক মাসে হাজার হাজার ডলার সাশ্রয় হতে পারে। যারা নিজেদের ডেটা প্রতিষ্ঠানের ভেতরেই রাখতে চান, তাদের জন্য ছোট অন-প্রিমাইস ক্লাস্টারও কার্যকর হয়ে ওঠে।
আরেকটি সুবিধা হলো কম ল্যাটেন্সি ও জ্বালানি ব্যবহার। ডিভাইসের সংখ্যা, নোডের মধ্যে যোগাযোগ এবং হোস্ট থেকে ডিভাইসে মেমোরি চলাচল কমলে সাড়ার সময় ও বিদ্যুৎ খরচ হ্রাস পেতে পারে। সব মিলিয়ে সার্ভিং ব্যবস্থা হয় আরও সাশ্রয়ী, আর এর অংশগুলোও কমে আসে।
ডেভেলপাররা এখন যা ব্যবহার করতে পারেন
SINQ Apache 2.0 লাইসেন্সের আওতায় ওপেন সোর্স হিসেবে পাওয়া যাচ্ছে। প্রকাশিত প্যাকেজে বাস্তবায়নের কোড, জনপ্রিয় হাব থেকে মডেল কোয়ান্টাইজ করার নির্দেশনা এবং কোয়ান্টাইজ করা ওজন সংরক্ষণ ও পুনরায় লোড করার উপযোগী টুল রয়েছে। স্থাপনের আগে পারপ্লেক্সিটি ও ফ্লিপ রেট মাপার জন্য এতে মূল্যায়নের হুকও দেওয়া হয়েছে। বিভিন্ন হার্ডওয়্যার ও নির্ভুলতার লক্ষ্যমাত্রা অনুযায়ী সমন্বয় করার জন্য ব্যবহারকারীরা এর প্যারামিটারও বদলাতে পারেন।
লেখকদের ভাষ্য, তারা প্রি-কোয়ান্টাইজড মডেল প্রকাশের পরিকল্পনা করছেন এবং Hugging Face Transformers ইকোসিস্টেমের সঙ্গে এটি যুক্ত করার লক্ষ্য রয়েছে। এতে পরিচিত API ব্যবহার করে কোয়ান্টাইজ করা চেকপয়েন্ট লোড করা যাবে, ফলে গ্রহণ করা আরও সহজ হবে। যারা নিজেদের ইনফারেন্স স্ট্যাক পরিচালনা করেন, তারা ওজন কোয়ান্টাইজ করে শুরু করতে পারেন। এরপর নির্বাচিত রানটাইমে ৪-বিট বা ৩-বিট স্টোরেজ ফরম্যাট সমর্থনকারী কার্নেলের সঙ্গে ফলাফল যুক্ত করা যাবে।
প্রযুক্তিগত বৈশিষ্ট্য সহজ ভাষায়
মডেল প্রস্তুত করার পাইপলাইনে সহজে যুক্ত করা যায় এমন একটি ধাপ হিসেবে SINQ তৈরি হয়েছে। লক্ষ্য হলো ওজন ম্যাট্রিক্সকে এমনভাবে বিন্যস্ত করা, যাতে কম নির্ভুলতার উপস্থাপন ইনফারেন্সের জন্য গুরুত্বপূর্ণ কাঠামো অক্ষুণ্ন রাখে; এরপর ওই বিন্যস্ত ওজনকে কম জায়গা লাগে এমন পূর্ণসংখ্যা ফরম্যাটে রূপান্তর করা।
দ্বি-অক্ষ স্কেলিং
প্রচলিত প্রতি-টেনসর বা প্রতি-চ্যানেল স্কেলিংয়ে এক দিকে একটি ফ্যাক্টর প্রয়োগ করা হয়। দ্বি-অক্ষ স্কেলিংয়ে প্রতিটি ওজন ম্যাট্রিক্সের সারি বরাবর একটি ভেক্টর এবং কলাম বরাবর আরেকটি ভেক্টর প্রয়োগ করা হয়। কোনো কোনো সারিতে অস্বাভাবিক বড় মান থাকলে বা কিছু কলামে ভ্যারিয়েন্স বেশি হলে এই আলাদা স্কেলিং কাজে আসে। দুই দিক স্বাভাবিক করার ফলে কোয়ান্টাইজেশনের ত্রুটি ম্যাট্রিক্সজুড়ে আরও সমানভাবে ছড়িয়ে পড়ে। এতে ত্রুটির তীক্ষ্ণ বিচ্যুতি কমে এবং ওজনের আপেক্ষিক মাত্রা আরও ভালোভাবে বজায় থাকে।
Sinkhorn Knopp নর্মালাইজেশন
Sinkhorn Knopp হলো একটি প্রচলিত পুনরাবৃত্তিমূলক প্রক্রিয়া, যা ভারসাম্যপূর্ণ অবস্থায় পৌঁছাতে পর্যায়ক্রমে সহজ নর্মালাইজেশন চালায়। SINQ-তে লক্ষ্য দ্বি-স্টোকাস্টিক ম্যাট্রিক্স তৈরি করা নয়; বরং সারি ও কলামের স্ট্যান্ডার্ড ডেভিয়েশনের মধ্যে ভারসাম্য আনা। নির্ধারিত মানের সঙ্গে স্ট্যান্ডার্ড ডেভিয়েশন মেলাতে অ্যালগরিদমটি বারবার সারি ও কলামের স্কেল বদলায়। এভাবে ম্যাট্রিক্স ভারসাম্যপূর্ণ হলে কম চরম মানের ওজন-বণ্টনে কোয়ান্টাইজেশন করা যায়, ফলে রাউন্ডিংয়ের ত্রুটি কমে। দীর্ঘ ক্যালিব্রেশন ধাপের তুলনায় এতে সামান্য অতিরিক্ত সময় লাগে এবং ক্যালিব্রেশন ডেটাসেটেরও প্রয়োজন হয় না।
ক্যালিব্রেশনবিহীন নকশা
ক্যালিব্রেশন ধাপে প্রম্পটের একটি সেট বেছে নিতে হয়, পরিসংখ্যান সংগ্রহ করতে মডেল চালাতে হয় এবং তারপর স্কেল নির্ণয় করতে হয়। এতে প্রক্রিয়ায় বাড়তি জটিলতা যোগ হয়। ক্যালিব্রেশন সেট উৎপাদনে ব্যবহারের সঙ্গে না মিললে ফলও একদিকে ঝুঁকতে পারে। ওজনের পরিসংখ্যান সরাসরি ব্যবহার করে SINQ এই ধাপ এড়িয়ে যায়। অনেক দলের জন্য ক্যালিব্রেশন বাদ দেওয়ায় অটোমেশন ও পুনরাবৃত্তিযোগ্যতা সহজ হয়। কোনো প্রকল্পে ক্যালিব্রেশন দরকার হলে, SINQ-এর শেপিংয়ের সঙ্গে অতিরিক্ত ক্যালিব্রেশন অনুসন্ধান যুক্ত করা যায়; এতে সর্বোচ্চ নির্ভুলতায় পৌঁছানোর আরেকটি পথ থাকে।
সীমাবদ্ধতা ও ব্যবহারিক বিবেচনা
প্রতিবেদনে উল্লেখ করা বেশির ভাগ সুবিধাই শুধু ওজন কোয়ান্টাইজ করার ফলে এসেছে। জেনারেশনের সময় অ্যাক্টিভেশন ও key value cache-ও মেমোরি ব্যবহার করে, বিশেষ করে প্রম্পট ও আউটপুট দীর্ঘ হলে। কিছু রানটাইমে অ্যাক্টিভেশন কোয়ান্টাইজেশন এবং KV cache কমপ্রেশন সুবিধা রয়েছে, তবে সেগুলোরও নিজস্ব সুবিধা-অসুবিধা আছে। শুধু ডিস্কে মডেলের আকার নয়, শুরু থেকে শেষ পর্যন্ত মেমোরি ব্যবহার ও ল্যাটেন্সি মাপা উচিত দলগুলোর।
রানটাইমে সমর্থনও গুরুত্বপূর্ণ। ইনফারেন্সের সময় গতি বাড়াতে কার্নেলকে প্যাক করা ৪-বিট বা ৩-বিট ওজন দক্ষতার সঙ্গে পড়তে হবে। llama.cpp, TensorRT LLM এবং vLLM-এর মতো জনপ্রিয় ইঞ্জিন দ্রুত উন্নত হচ্ছে। তবে নির্ভুলতার ধরন, অ্যাটেনশন কার্নেল ও GPU আর্কিটেকচারের প্রতিটি সমন্বয় সমানভাবে পরিণত নয়। কোনো সেবা উৎপাদনে নেওয়ার আগে ব্যাচ সাইজ ও কনটেক্সট দৈর্ঘ্যসহ হুবহু কনফিগারেশনে থ্রুপুট, ল্যাটেন্সি ও স্থিতিশীলতা পরীক্ষা করুন।
খুব কম নির্ভুলতা কিছু নির্দিষ্ট কাজে সমস্যা তৈরি করতে পারে। সাধারণ কথোপকথনের চেয়ে কোড তৈরি, টুল ব্যবহার এবং কাঠামোবদ্ধ আউটপুটের ক্ষেত্রে সংবেদনশীলতা বেশি হতে পারে। পারপ্লেক্সিটির মতো মেট্রিক কাজে লাগলেও উৎপাদনমুখী পরীক্ষায় কাজের নির্ভুলতা, উত্তরের ধরন এবং নিরাপত্তা যাচাই অন্তর্ভুক্ত করা উচিত। কোনো ব্যবহারের ক্ষেত্রে সীমায় পৌঁছালে, মিশ্র নির্ভুলতা বা সংবেদনশীল স্তরে বেছে বেছে বেশি নির্ভুলতা ব্যবহার করলে মেমোরির সাশ্রয়ের বড় অংশ বজায় রেখেও মান রক্ষা করা যায়।
একটি প্রতিষ্ঠানের বাইরেও এর গুরুত্ব
বাস্তবে LLM স্থাপনের ভিত্তি হয়ে উঠেছে কোয়ান্টাইজেশন। দ্রুত, ক্যালিব্রেশনবিহীন এবং কম নির্ভুলতায় কার্যকর কোনো ওপেন সোর্স পদ্ধতি পুরো ইকোসিস্টেমের জন্যই সহায়ক। মেমোরির প্রয়োজন কমলে শিক্ষা, নাগরিক উদ্যোগ এবং ছোট ব্যবসার জন্য সক্ষম মডেল ব্যবহারের সুযোগ বাড়ে। পাশাপাশি উচ্চক্ষমতার GPU-এর সীমিত সরবরাহের ওপর চাপ কমে, ফলে প্রশিক্ষণ ও গবেষণার জন্য সক্ষমতা খালি থাকে।
ইনফারেন্স টুলের প্রতিযোগিতা দ্রুত বাড়ছে। SINQ-এর মতো পদ্ধতি দক্ষ অ্যাটেনশন কার্নেল, পেজড KV ক্যাশে এবং অপ্টিমাইজড শিডিউলারের সঙ্গে মিলিয়ে প্রতি ডলারে আরও বেশি টোকেন দিতে পারে। এতে শুধু সার্ভিংয়ের খরচই কমে না; গোপনীয়তা, স্থানীয়ভাবে কাজ এবং নিজেদের স্ট্যাকের ওপর নিয়ন্ত্রণকে গুরুত্ব দেওয়া দলগুলোর সামনে বিকল্পও বাড়ে।
মূল বিষয়গুলো
- Huawei-এর SINQ হলো LLM-এর ওজন কোয়ান্টাইজ করার ওপেন সোর্স পদ্ধতি, যা Apache 2.0 লাইসেন্সে প্রকাশিত
- SINQ-তে ৬০ থেকে ৭০ শতাংশ মেমোরি সাশ্রয়ের কথা বলা হয়েছে; ৪ বিটে এবং কিছু ক্ষেত্রে ৩ বিটেও মান ভালো থাকে
- পদ্ধতিটি ক্যালিব্রেশন ছাড়াই চলে এবং বিদ্যমান কর্মপ্রবাহে সহজে যুক্ত করার লক্ষ্য নিয়ে তৈরি
- ওজন ম্যাট্রিক্সের ভারসাম্য আনতে SINQ দ্বি-অক্ষ স্কেলিং ও Sinkhorn Knopp-ধাঁচের নর্মালাইজেশন ব্যবহার করে
- প্রতিবেদিত পরীক্ষায় কোয়ান্টাইজেশনের গতি HQQ-এর তুলনায় প্রায় ২ গুণ এবং AWQ-এর তুলনায় ৩০ গুণেরও বেশি
- মানের সূচক বেসলাইন ক্যালিব্রেশনবিহীন পদ্ধতির তুলনায় উন্নত; পারপ্লেক্সিটি ও ফ্লিপ রেট কম
- আগে ৬০ GB-এর বেশি মেমোরি লাগত এমন মডেল প্রায় ২০ GB-তে চালানো সম্ভব, ফলে RTX 4090-এর মতো ভোক্তা হার্ডওয়্যারে একক GPU-তে স্থাপন করা যায়
- পরিকল্পিত হালনাগাদের মধ্যে রয়েছে Hugging Face Transformers-এর সঙ্গে সংযুক্তি এবং প্রি-কোয়ান্টাইজড মডেল প্রকাশ






