একটি 32GB RAM এর কম্পিউটারে LLM মডেল চালানোর জন্য কрок-দ্বার-কрок গাইড
এই গাইডে আমরা আলোচনা করবো যে, কীভাবে একটি 32GB RAM এর কম্পিউটারে একটি বড় ভাষা মডেল (LLM) চালানো যায়। নিচের কрокগুলো তোমাকে Mistral 7B, Llama 2 বা অন্য কোনো সমান মডেলের মতো মডেল চালানোর জন্য প্রয়োজনীয় পরিবেশ স্থাপন এবং কনফিগার করতে সাহায্য করবে।
প্রাক-নির্ধারণ
শুরু করার আগে নিশ্চিত করো যে তোমার কম্পিউটার নিম্নলিখিত প্রয়োজনীয়তা পূরণ করে:
- অপারেটিং সিস্টেম: লিনাক্স (সুপারিশ করা হয়) বা উইন্ডোজ 10/11
- প্রসেসর: ইন্টেল আই7/আই9 বা এএমডি রাইজেন 7/9
- র্যাম: 32GB
- গ্রাফিক্স কার্ড: নভিডিয়া 16GB VRAM এর সাথে (অপশনাল, কিন্তু সুপারিশ করা হয়)
কрок 1: পরিবেশ স্থাপন
পাইথন ইনস্টলেশন
একটি পাইথন পরিবেশে LLM মডেল চালাও। সর্বশেষ সংস্করণের পাইথন (3.9 বা নতুন) ইনস্টল করো:
sudo apt update
sudo apt install python3.9 python3-pip python3-venv
ভার্চুয়াল পরিবেশ তৈরি
অন্যান্য প্যাকেজের সাথে সংঘাত এড়ানোর জন্য একটি ভার্চুয়াল পরিবেশ তৈরি করো:
python3.9 -m venv llm_env
source llm_env/bin/activate
কрок 2: প্রয়োজনীয় লাইব্রেরি ইনস্টলেশন
transformers এবং torch সহ প্রয়োজনীয় লাইব্রেরি ইনস্টল করো:
pip install torch transformers accelerate bitsandbytes
অতিরিক্তভাবে, যদি তুমি গ্রাফিক্স কার্ড ব্যবহার করার পরিকল্পনা করো, তাহলে CUDA সমর্থন সহ সঠিক সংস্করণের torch ইনস্টল করো:
pip install torch --index-url https://download.pytorch.org/whl/cu118
কর্ক 3: মডেল নির্বাচন
যে মডেল চালানোর চেষ্টা করবো তার নির্বাচন করো। এই উদাহরণে আমরা Mistral 7B মডেল ব্যবহার করবো। তুমি এটি হাগিং ফেস থেকে ডাউনলোড করতে পারো:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "mistralai/Mistral-7B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
কর্ক 4: মেমোরি কনফিগারেশন
একটি 32GB RAM এর কম্পিউটারে মডেল চালানোর জন্য, তুমি মেমোরি কনফিগার করতে হবে যাতে ওভারফ্লো এড়ানো যায়। তুমি এটি accelerate লাইব্রেরি ব্যবহার করে করতে পারো:
from accelerate import init_empty_weights, load_checkpoint_and_dispatch
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True # মেমোরি বাঁচানোর জন্য 8-বিট কোয়ান্টাইজেশন ব্যবহার করো
)
কর্ক 5: মডেল চালানোর জন্য
এখন তুমি মডেল চালাতে পারো এবং টেক্সট জেনারেট করতে পারো:
input_text = "জীবনের অর্থ কী?"
inputs = tokenizer(input_text, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_length=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
কর্ক 6: অপ্টিমাইজেশন
প্রদর্শন উন্নত করার জন্য, তুমি বিভিন্ন অপ্টিমাইজেশন টেকনিক ব্যবহার করতে পারো, যেমন 4-বিট কোয়ান্টাইজেশন বা vLLM লাইব্রেরি ব্যবহার করো:
from vllm import LLM
llm = LLM(model=model_name)
outputs = llm.generate(prompts=[input_text], max_tokens=100)
print(outputs[0].outputs[0].text)
সারাংশ
একটি 32GB RAM এর কম্পিউটারে LLM মডেল চালানোর জন্য সঠিক কনফিগারেশন এবং অপ্টিমাইজেশন প্রয়োজন। উপরের কর্ক অনুসরণ করে, তুমি Mistral 7B এর মতো মডেল চালানোর এবং টেক্সট জেনারেট করার জন্য সক্ষম হওয়া উচিত। মনে রাখো, যে তোমার হার্ডওয়্যারের বিশেষত্ব এবং নির্বাচিত মডেলের উপর নির্ভর করে, প্রদর্শন পরিবর্তিত হতে পারে।