Low-Rank Adaptation (LoRA) (BN)
Low-Rank Adaptation (LoRA) — এটি একটি parameter-efficient fine-tuning (PEFT) পদ্ধতি, যা বড় ভাষা মডেলগুলিকে (LLM) ন্যূনতম গণনামূলক খরচে নতুন কাজের সাথে অভিযোজিত করতে সক্ষম করে। প্রযুক্তিটি প্রথমবার ২০২১ সালে এডওয়ার্ড হু (Edward Hu) এবং তাঁর সহকর্মীদের গবেষণায় উপস্থাপন করা হয়েছিল[1]।
LLaMA বা GPT-এর মতো বৃহৎ মডেলগুলির সম্পূর্ণ দোবারা প্রশিক্ষণ (full fine-tuning) বিপুল সম্পদ প্রয়োজন করে, যা অধিকাংশ গবেষক ও ডেভেলপারের নাগালের বাইরে। LoRA এই সমস্যার সমাধান করে মডেলের মাত্র একটি ক্ষুদ্র অংশের parameter প্রশিক্ষণের মাধ্যমে, একই সাথে সম্পূর্ণ fine-tuning-এর সমতুল্য উচ্চমান ও কর্মক্ষমতা বজায় রেখে[2]।
কার্যপদ্ধতি
LoRA-এর মূল ধারণা হলো পূর্বপ্রশিক্ষিত মডেলের মূল weight পরিবর্তন না করে তাতে একটি ছোট "সংশোধনকারী" matrix যোগ করা। বিশাল weight matrix `W` সরাসরি প্রশিক্ষণের পরিবর্তে, LoRA তার পরিবর্তনকে দুটি ছোট লো-র্যাংক matrix-এর গুণফল হিসেবে উপস্থাপন করে।
আনুষ্ঠানিকভাবে, যদি একটি স্তরের মূল weight matrix `W_0`-এর আকার `d × k` হয়, তাহলে তার আপডেট `ΔW = BA` হিসেবে প্রকাশ করা হয়, যেখানে `B` হলো `d × r` মাত্রার একটি matrix এবং `A` হলো `r × k` মাত্রার একটি matrix। Rank `r` একটি hyperparameter এবং এটি উল্লেখযোগ্যভাবে ছোট (`r << d, k`)। fine-tuning প্রক্রিয়ায় মূল weight `W_0` স্থির রাখা হয় এবং শুধুমাত্র matrix `A` ও `B` প্রশিক্ষণ দেওয়া হয়। চূড়ান্ত weight matrix গণনা করা হয় `W = W_0 + BA` হিসেবে।
এটি প্রশিক্ষণযোগ্য parameter-এর সংখ্যা হাজার গুণ কমাতে সক্ষম করে। উদাহরণস্বরূপ, GPT-3 (১৭৫ বিলিয়ন parameter) fine-tuning করার সময় LoRA প্রশিক্ষণযোগ্য parameter-এর সংখ্যা ১০,০০০ গুণ কমায় এবং GPU মেমরির চাহিদা ৩ গুণ হ্রাস করে[1]।
মূল সুবিধাসমূহ
- সম্পদের সাশ্রয়: প্রশিক্ষণযোগ্য parameter-এর সংখ্যা ব্যাপকভাবে হ্রাস পায় (৯০% বা তার বেশি), যা ভিডিও মেমরি (VRAM) ব্যবহার উল্লেখযোগ্যভাবে কমায় এবং প্রশিক্ষণ প্রক্রিয়া ত্বরান্বিত করে।
- inference-এ কোনো বিলম্ব নেই: প্রশিক্ষণের পরে matrix `B` এবং `A` মূল matrix `W_0`-এর সাথে "মিলিয়ে" দেওয়া যায়, `W = W_0 + BA` গণনা করে। ফলে মডেল ব্যবহারের সময় কোনো অতিরিক্ত গণনা বা বিলম্ব যোগ হয় না[1]।
- মডুলারিটি এবং দ্রুত কাজ পরিবর্তন: প্রশিক্ষিত LoRA adapter-গুলি ছোট ফাইল (কয়েক মেগাবাইট)। এটি মূল মডেল পরিবর্তন না করেই বিভিন্ন কাজের জন্য ডজন ডজন adapter সহজে সংরক্ষণ এবং দ্রুত পরিবর্তন করার সুযোগ দেয়[3]।
সীমাবদ্ধতা ও পরিবর্তনসমূহ
LoRA অত্যন্ত কার্যকর হলেও, এর লো-র্যাংক প্রকৃতি সেই কাজগুলির জন্য সীমাবদ্ধতা হতে পারে যেখানে বিপুল পরিমাণ নতুন তথ্য মুখস্থ করার প্রয়োজন। এই এবং অন্যান্য সমস্যার সমাধানে বিভিন্ন পরিবর্তন প্রস্তাব করা হয়েছে।
QLoRA
QLoRA (Quantized Low-Rank Adaptation) — ২০২৩ সালে প্রস্তাবিত সবচেয়ে জনপ্রিয় পরিবর্তনগুলির একটি। এটি LoRA-কে বেস মডেলের ৪-বিট quantization-এর সাথে একত্রিত করে[4]। এটি মেমরির চাহিদা আরও কমিয়ে দেয়, যা একটি সাধারণ ভোক্তা GPU-তে কয়েক দশ বিলিয়ন parameter-এর মডেল (যেমন, ৬৫B মডেল) fine-tuning করা সম্ভব করে। QLoRA-এর উপর ভিত্তি করে বিশেষত Guanaco মডেল তৈরি হয়েছিল, যা ChatGPT-এর সমতুল্য ফলাফল দেখিয়েছে।
অন্যান্য পরিবর্তন
- MoRA (High-Rank Updating): সেই কাজগুলির জন্য প্রস্তাবিত যেখানে rank সীমাবদ্ধতার কারণে LoRA অপর্যাপ্ত কর্মক্ষমতা দেখায়। MoRA এমন পদ্ধতি ব্যবহার করে যা parameter দক্ষতা বজায় রেখে উচ্চ rank-এ weight আপডেট করতে সক্ষম[5]।
বাস্তবায়ন ও প্রয়োগ
LoRA প্রযুক্তি তার কার্যকারিতা ও সহজ একীভূতকরণের কারণে ব্যাপকভাবে ছড়িয়ে পড়েছে। এর জনপ্রিয়তায় মূল ভূমিকা পালন করেছে Hugging Face কোম্পানির PEFT (Parameter-Efficient Fine-Tuning) লাইব্রেরি। PEFT, Transformers ইকোসিস্টেমের মডেলগুলিতে LoRA এবং অন্যান্য PEFT পদ্ধতি প্রয়োগের জন্য একটি একক ইন্টারফেস প্রদান করে[6]।
LoRA সক্রিয়ভাবে ব্যবহৃত হয়:
- চ্যাটবট ও কথোপকথন সিস্টেমের অভিযোজনে (যেমন, LLaMA, Mistral fine-tuning)।
- বিশেষায়িত ক্ষেত্রে পাঠ্য শ্রেণিবিভাগ ও উৎপাদনের জন্য মডেল তৈরিতে।
- নির্দিষ্ট শৈলী বা ডেটা ফর্ম্যাট অনুযায়ী মডেল ব্যক্তিগতকরণে।
তথ্যসূত্র
- Hugging Face-এর PEFT লাইব্রেরির অফিসিয়াল ডকুমেন্টেশন
সাহিত্য
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Zhang, Q. et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. arXiv:2303.10512.
- Chen, Y. et al. (2023). LongLoRA: Efficient Fine-Tuning of Long-Context Large Language Models. arXiv:2309.12307.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Jiang, T. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Liu, Z. et al. (2024). ALoRA: Allocating Low-Rank Adaptation for Fine-Tuning Large Language Models. arXiv:2403.16187.
- Liu, J. et al. (2025). RoRA: Efficient Fine-Tuning of LLM with Reliability Optimization for Rank Adaptation. arXiv:2501.04315.
- Albert, P. et al. (2025). RandLoRA: Full-Rank Parameter-Efficient Fine-Tuning of Large Models. arXiv:2502.00987.
- Tastan, N. et al. (2025). LoFT: Low-Rank Adaptation That Behaves Like Full Fine-Tuning. arXiv:2505.21289.
টীকা
- ↑ 1.0 1.1 1.2 Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [১]
- ↑ Mao, K., et al. «A Survey on LoRA of Large Language Models». arXiv:2407.11046. [২]
- ↑ Noble, Joshua. «What is LoRA (Low-Rank Adaption)?». IBM Technology. [৩]
- ↑ Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [৪]
- ↑ Jiang, Z., et al. «MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning». arXiv:2405.12130. [৫]
- ↑ «LoRA (Low-Rank Adaptation)». Hugging Face LLM Course. [৬]