আমাদের নিজস্ব কম্পিউটারে স্থানীয়ভাবে ওপেন-সোর্স AI মডেলগুলি চালানো আমাদের গোপনীয়তা, টিঙ্কারিংয়ের অফুরন্ত সম্ভাবনা এবং বড় কর্পোরেশন থেকে স্বাধীনতা দেয়। এটা প্রায় বাকস্বাধীনতার ব্যাপার।
আমাদের জন্য GPU-দরিদ্র, তবে, আমাদের নিজস্ব AI কম্পিউটার থাকা একটি দামী স্বপ্ন বলে মনে হয়।
যদি আমি আপনাকে বলি যে আপনি $300 এর জন্য একটি দরকারী AI কম্পিউটার পেতে পারেন? আগ্রহী? আপনাকে আপনার নিজস্ব মনিটর, কীবোর্ড এবং মাউস সরবরাহ করতে হবে। এবং আপনাকে লিনাক্স অপারেটিং সিস্টেম, ড্রাইভার, মিডলওয়্যার এবং কনফিগারেশনের চারপাশে কিছুটা টিংকারিং করতে হবে।
স্পষ্ট করার জন্য, আমরা "প্রশিক্ষণ" বা "ফাইন-টিউনিং" বড় জেনারেটিভ এআই মডেলের কথা বলছি না। আমরা কীভাবে ওপেন সোর্স এলএলএম (বড় ভাষার মডেল যেমন
এখন, এর চালিয়ে যাওয়া যাক.
আসুন ধরে নেওয়া যাক একটি হোম এআই কম্পিউটারের জন্য প্রধান ব্যবহারের ক্ষেত্রে একটি চলছে
যাইহোক, দ্রুত অনুমান গতির জন্য আপনার নিম্নলিখিতগুলি প্রয়োজন। অন্যথায়, আপনি আপনার হাতের তালুতে চুল গজাতে দেখার মতো হবেন যখন এলএলএম একবারে একটি টোকেন বের করে দেয়।
স্টেবল ডিফিউশন সহ ইমেজ জেনারেশনের জন্য আপনার জিপিইউ পাওয়ার দরকার। যাইহোক, এর জন্য আপনার খুব অভিনব জিপিইউ থাকতে হবে না। আপনি ইতিমধ্যেই আপনার বাড়ির কম্পিউটারে সমন্বিত GPU ব্যবহার করতে পারেন:
M1/M2/M3 CPU সহ সমস্ত Mac, যা CPU, GPU এবং উচ্চ-গতির মেমরিকে একীভূত করে (এগুলি সত্যিই ভাল, কিন্তু দামের কারণে এই বিশেষ নিবন্ধ থেকে বাদ দেওয়া হয়েছে)
AMD APU (যেমন, Ryzen 7 5700U), যা বাজেট-বান্ধব মিনি-পিসির জন্য CPU এবং GPU একীভূত করে। এটি এই নিবন্ধের ফোকাস হবে.
ইন্টেল সিপিইউ (যেমন, কোর i5-1135G7), যা সিপিইউ এবং জিপিইউকেও একীভূত করে। এগুলি সম্পূর্ণ মিনি-পিসির জন্য $300 বাজেটের সামান্য উপরে, তবে পাঠকদের স্বাগত জানাই যে তারা নিজেরাই সেগুলি আরও অন্বেষণ করতে পারে৷
নিম্নলিখিত চশমা সহ একটি AMD-ভিত্তিক মিনি পিসি সাধারণত $300-এর কম দামে বিক্রি হয়। আমি কোনো নির্দিষ্ট ব্র্যান্ড অনুমোদন করতে চাই না, তাই আপনি নিজেকে অনুসন্ধান করতে পারেন:
আমি একটু স্প্লার্জ করেছি এবং 32GB RAM এবং 1TB SSD সহ $400 মডেলটি বেছে নিয়েছি (অন্য সবকিছু সমান)। মূল কারণ হল আমি ওপেন সোর্স এলএলএম নিয়ে গবেষণা করি এবং স্টেবল ডিফিউশন চালানোর পাশাপাশি আরও বড় মডেল চালাতে চাই। কিন্তু আপনি $300 কম্পিউটার দিয়ে এই নিবন্ধে প্রায় সবকিছু করতে সক্ষম হবেন।
AMD APU এর জন্য
আপনার প্রধান ব্যবহারের ক্ষেত্রে আপনাকে এটি পরিবর্তন করতে হবে:
আপনার যদি শুধুমাত্র LLM অনুমান চালানোর প্রয়োজন হয়, তাহলে আপনি এই সম্পূর্ণ প্রস্তুতির ধাপটি এড়িয়ে যেতে পারেন। যেহেতু LLM অনুমানের জন্য শুধুমাত্র CPU ব্যবহার করতে হবে, এবং আপনার CPU-এর জন্য বেশিরভাগ RAM সংরক্ষণ করা উচিত যাতে আপনি বড় LLM মডেলগুলি চালাতে পারেন।
প্রয়োজন হলে দৌড়াতে হবে
আমার ক্ষেত্রে, আমি একই মিনি পিসিতে স্ট্যাবল ডিফিউশন এক্সএল এবং এলএলএম অনুমান উভয়ই চালাতে চাই। অতএব, আমি GPU-এর জন্য 16GB (মোট 32GB এর মধ্যে) বরাদ্দ করতে চাই।
আপনি BIOS-এ সেটিংস পরিবর্তন করে এটি অর্জন করতে পারেন। সাধারণত, একটি উচ্চ সীমা আছে, এবং ডিফল্ট সেটিং উপরের সীমা থেকে অনেক কম হতে পারে। আমার কম্পিউটারে, উপরের সীমাটি ছিল 16GB, বা উপলব্ধ মোট RAM এর অর্ধেক।
যদি আপনার কম্পিউটারের BIOS এই ধরনের সেটিংস সমর্থন করে, এগিয়ে যান এবং আপনার পছন্দসই নম্বরে পরিবর্তন করুন৷ আমার BIOS এর কোন সেটিং নেই।
যদি আপনার BIOS-এ এই সেটিং না থাকে, তাহলে অনুগ্রহ করে সুন্দর নির্দেশ অনুসরণ করুন "AMD Ryzen™ APU-তে GPU মেমরি বরাদ্দ আনলক করা হচ্ছে?" উইনস্টন মা দ্বারা। আমি এটি চেষ্টা করেছি এবং এটি ভাল কাজ করেছে, তাই এখন আমার কাছে 16GB VRAM আছে।
AMD এর
AMD-এর ROCm কাজ ইনস্টল এবং করতে, আপনাকে নিশ্চিত করতে হবে যে GPU হার্ডওয়্যার, Linux ডিস্ট্রো, কার্নেল, পাইথন, HIP ড্রাইভার, ROCm লাইব্রেরি এবং পাইটর্চের সংস্করণগুলি সামঞ্জস্যপূর্ণ। আপনি যদি সর্বনিম্ন ব্যথা এবং প্রথমবারের সাফল্যের সর্বাধিক সম্ভাবনা চান তবে প্রস্তাবিত এবং যাচাইকৃত সংমিশ্রণগুলির সাথে থাকুন।
সামঞ্জস্যপূর্ণ লিনাক্স ওএস এবং কার্নেল সংস্করণগুলি পেতে অনুগ্রহ করে নিম্নলিখিত লিঙ্কটি দেখুন এবং সেগুলি ইনস্টল করুন। প্রাথমিকভাবে, আমি শুধু আমার প্রিয় লিনাক্স ওএস এবং ডিফল্ট লিনাক্স কার্নেল ইনস্টল করার ভুল করেছিলাম, এবং সামঞ্জস্যের সমস্যাগুলি সমাধান করার জন্য পিছনে হাঁটা একটি বড় ব্যথা ছিল। আপনি শুধুমাত্র আনুষ্ঠানিকভাবে সমর্থিত সমন্বয় ব্যবহার করে এই ব্যথা এড়াতে পারেন।
যদি সম্পূর্ণ ইনস্টলেশনটি ভালভাবে শেষ হয়, আপনি rocminfo
টাইপ করতে পারেন, এবং এইরকম কিছু দেখাবে (আমি শুধুমাত্র হাইলাইট করা হলুদে সবচেয়ে প্রাসঙ্গিক অংশগুলি কেটেছি):
ROCk module is loaded
=====================
HSA System Attributes
=====================
Runtime Version: 1.1
System Timestamp Freq.: 1000.000000MHz
Sig. Max Wait Duration: 18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model: LARGE
System Endianness: LITTLE
Mwaitx: DISABLED
DMAbuf Support: YES
==========
HSA Agents
==========
*******
Agent 1
*******
Name: AMD Ryzen 7 5800H with Radeon Graphics
Uuid: CPU-XX
Marketing Name: AMD Ryzen 7 5800H with Radeon Graphics
Vendor Name: CPU
Pool Info:
Pool 1
Segment: GLOBAL; FLAGS: COARSE GRAINED
Size: 16777216(0x1000000) KB
পাইথন নির্ভরতা বেশ চতুর হতে পারে, তাই একটি সঠিক পরিবেশ সেট আপ করা ভাল অনুশীলন। আপনি উভয় ব্যবহার করতে পারেন
source venv/bin/activate
conda activate llm
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.7
নিম্নলিখিতটি সমন্বিত গ্রাফিক্স সহ APU এর জন্য নির্দিষ্ট। যদিও তারা আনুষ্ঠানিকভাবে ROCm দ্বারা সমর্থিত নয়, নিম্নলিখিতগুলি কাজ করে প্রমাণিত হয়েছে।
export HSA_OVERRIDE_GFX_VERSION=9.0.0
এখন, সমস্ত জটিল পদক্ষেপের পরে, ROCm টর্চের সাথে কাজ করছে কিনা তা পরীক্ষা করা যাক। এবং আপনি দেখতে পাচ্ছেন যে ROCm পাইটর্চের উদ্দেশ্যে CUDA হওয়ার "ভান" করছে।
python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure'
Success
python3 -c 'import torch; print(torch.cuda.is_available())'
True
আমাদের নতুন কনফিগার করা $300 এআই কম্পিউটারের জন্য সহজ কিছু দিয়ে শুরু করা যাক: স্থানীয়ভাবে একটি বড় ভাষা মডেল চালানো। আমরা জনপ্রিয় ওপেন সোর্স মোডগুলির মধ্যে একটি বেছে নিতে পারি:
উপরন্তু, আপনি থেকে ছোট LLM চেষ্টা করতে পারেন
আমরা ব্যবহার করা হবে
প্রথমে, আপনাকে wget
এবং git
ইনস্টল করতে হবে। এবং তারপর llama.cpp কম্পাইল এবং ইন্সটল করার ধাপগুলি অনুসরণ করুন।
sudo apt-get install build-essential
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make
দামী GPU সহ ক্লাউড সার্ভারের পরিবর্তে আমাদের সস্তা মেশিনে LLM চালানোর জন্য, আমাদের মডেলগুলির একটি "সংকুচিত" সংস্করণ ব্যবহার করতে হবে যাতে তারা RAM এর জায়গায় ফিট করতে পারে। একটি সাধারণ উদাহরণের জন্য, একটি LLaMA-2 7B মডেলের 7B প্যারামিটার রয়েছে, প্রতিটি float16 (2 বাইট) দ্বারা উপস্থাপিত।
এছাড়াও, ফাইল ফরম্যাট হওয়া উচিত
প্রথমত, আমরা এটি এএমডি মিনি পিসিতে পরীক্ষা করেছি এবং আমরা প্রতি সেকেন্ডে প্রায় 10টি টোকেন অর্জন করেছি। এটি আসলে বেশ শালীন, এবং আপনি খুব বেশি অপেক্ষা না করেই এলএলএম-এর সাথে চ্যাট চালিয়ে যেতে পারেন।
সিস্টেম কনফিগারেশন:
কমান্ড লাইন নির্দেশ:
./main -m models/llama-2-7b-chat.Q4_0.gguf --color -ins -n 512 --mlock
llama_print_timings: load time = 661.10 ms
llama_print_timings: sample time = 234.73 ms / 500 runs ( 0.47 ms per token, 2130.14 tokens per second)
llama_print_timings: prompt eval time = 1307.11 ms / 32 tokens ( 40.85 ms per token, 24.48 tokens per second)
llama_print_timings: eval time = 50090.22 ms / 501 runs ( 99.98 ms per token, 10.00 tokens per second)
llama_print_timings: total time = 64114.27 ms
এরপরে, আমরা একটি ইন্টেল মিনি পিসিতে পরীক্ষা করেছি, এবং আমরা প্রতি সেকেন্ডে প্রায় 1.5 টোকেন অর্জন করেছি। এটি একটি ফলপ্রসূ চ্যাট সেশনের জন্য একটু ধীরগতির। এটি একটি ন্যায্য তুলনা নয়, যেহেতু Intel N5105 AMD 5800H এর চেয়ে স্পষ্টভাবে দুর্বল। কিন্তু আমার দখলে থাকা একমাত্র ইন্টেল মিনি পিসি। আপনি যদি আরও শক্তিশালী ইন্টেল সিপিইউ (যেমন, কোর i5-1135G7) ব্যবহার করেন তবে আপনার তুলনামূলক ফলাফল পাওয়া উচিত। নীচের মন্তব্যে আপনার ফলাফল রিপোর্ট করুন.
সিস্টেম কনফিগারেশন:
./main -m models/llama-2-7b-chat.Q4_0.gguf -ins --color -n 512 --mlock
llama_print_timings: load time = 14490.05 ms
llama_print_timings: sample time = 171.53 ms / 97 runs ( 1.77 ms per token, 565.49 tokens per second)
llama_print_timings: prompt eval time = 21234.29 ms / 33 tokens ( 643.46 ms per token, 1.55 tokens per second)
llama_print_timings: eval time = 75754.03 ms / 98 runs ( 773.00 ms per token, 1.29 tokens per second)
এবং AMD ROCm এর ক্ষেত্রেও এই পৃষ্ঠায় মনোযোগ দিন
export HSA_OVERRIDE_GFX_VERSION=9.0.0
source venv/bin/activate
./webui.sh --upcast-sampling --skip-torch-cuda-test --precision full --no-half
./webui.sh --upcast-sampling --skip-torch-cuda-test --precision full --no-half
পরীক্ষা ১
SDXL (সর্বোচ্চ রেজোলিউশন 1024x1024) কমপক্ষে 12GB VRAM সুপারিশ করে, তাই iGPU-এর জন্য 16GB VRAM বরাদ্দ করার জন্য আপনাকে অবশ্যই প্রস্তুতি 1 ধাপটি সম্পন্ন করতে হবে। সুতরাং, এই কাজটি শুধুমাত্র $400 মিনি পিসি দিয়েই সম্ভব।
./webui.sh --upcast-sampling
পরীক্ষা 1:
পরীক্ষা 2:
যদিও এই নিবন্ধটি লিনাক্স অপারেটিং সিস্টেমের উপর দৃষ্টি নিবদ্ধ করে, আপনি উইন্ডোজেও স্টেবল ডিফিউশন কাজ করতে পারেন। এখানে আমার পরীক্ষা আছে:
পরীক্ষা 1:
তাহলে, আপনি কি আপনার নতুন $300 মিনি পিসিতে আপনার নিজস্ব জেনারেটিভ এআই মডেল চালাতে মজা পাচ্ছেন? আমি আশা করি আপনি করবেন.
ব্যক্তিগত ডিভাইসে চলমান ওপেন-সোর্স এআই মডেলগুলি টিঙ্কারদের জন্য সবচেয়ে উত্তেজনাপূর্ণ ক্ষেত্রগুলির মধ্যে একটি কারণ আমাদের কারও কাছেই একটি মৌলিক মডেলকে প্রশিক্ষণ দেওয়ার জন্য বিশাল GPU পুল থাকবে না। এটি একটি নতুন প্রজন্মের অ্যাপগুলিকে সক্ষম করবে যা আমাদের ডেটা গোপনীয়তা রক্ষা করার পাশাপাশি উভয়ই সুপার স্মার্ট।
এরপর কী?
এবং AI, ওপেন সোর্স এবং অন-ডিভাইসের সাথে হ্যাপি টিংকারিং!