تو قسمت قبل، یه نقشه کلی از دنیای AI کشیدیم — فهمیدیم AI، ML، DL و LLM چه ربطی به هم دارن و چرا الان همه حرف LLM میزنن. حالا وقتشه بریم سراغ یه سؤال خیلی عملی: این همه محاسبات سنگین رو چه سختافزاری انجام میده؟
یه سؤال: اگه بخوای یه میلیون تا بسته پستی رو مرتب کنی، یه نابغه رو استخدام میکنی یا هزار تا کارگر ساده؟
جواب این سؤال، کل داستان CPU و GPU رو توضیح میده.
CPU vs GPU — نابغه در برابر ارتش کارگرها
بذار با یه تشبیه شروع کنیم که تا آخر عمر یادت بمونه.
CPU (Central Processing Unit) مثل یه ریاضیدان نابغهست. فوقالعاده باهوشه، میتونه مسائل خیلی پیچیده رو حل کنه، ولی فقط یکیه (یا حداکثر چند تا — تعداد هستههاش). هر کاری رو با دقت و سرعت بالا انجام میده، ولی یکی یکی.
GPU (Graphics Processing Unit) مثل یه ارتش بزرگ از کارگرهای سادهست. هر کدومشون فقط یه عمل ریاضی ساده بلدن — مثلاً جمع دو تا عدد. ولی هزاران نفرشون هستن و همزمان کار میکنن.
حالا فکر کن: اگه بخوای ۱۰ تا معادله دیفرانسیل حل کنی، CPU عالیه. ولی اگه بخوای ده میلیون عمل جمع و ضرب ساده رو همزمان انجام بدی، GPU هزاران برابر سریعتره.
و حدس بزن AI بیشتر چیکار میکنه؟ بله، میلیونها عمل ریاضی ساده و تکراری.
اعداد واقعی
بذار با عدد حرف بزنیم:
- یه CPU مدرن حدود ۸ تا ۳۲ هسته داره
- یه GPU مدرن حدود ۵,۰۰۰ تا ۱۶,۰۰۰+ هسته CUDA داره
البته هستههای GPU خیلی سادهتر از هستههای CPU هستن. ولی وقتی کارت میلیونها عمل مشابه و موازیه، تعداد حرف اول رو میزنه.
تو عمل، برای عملیاتهای ماتریسی (Matrix Operations) که قلب AI هستن، GPU میتونه ۱۰ تا ۱۰۰ برابر سریعتر از CPU باشه.
چرا GPU برای AI اجباریه؟
شاید بگی «خب CPU هم میتونه این کار رو بکنه، فقط کندتره». فنی حق با توئه. ولی عملاً فرقش بین «ممکن» و «غیرممکن» هست.
بذار یه مثال بزنم. فرض کن میخوای یه مدل زبانی ۷ میلیارد پارامتری رو آموزش بدی:
- با GPU (مثلاً ۸ تا A100): حدود ۲ تا ۴ هفته
- با CPU: حدود ۱۰ تا ۲۰ سال
آره، درست خوندی. سال. نه ماه.
حتی برای Inference (استفاده از مدل آماده)، سرعت GPU خیلی مهمه. وقتی از ChatGPT سؤال میپرسی و جواب تقریباً فوری میگیری، اون سرعت به خاطر GPUهای قدرتمند پشت صحنهست. همون کار روی CPU ممکنه دهها ثانیه یا حتی دقیقهها طول بکشه.
VRAM — مهمترین عدد GPU برای AI
وقتی میخوای GPU بخری یا اجاره کنی برای کار AI، یه عدد هست که از همه مهمتره: VRAM (Video RAM).
VRAM حافظه اختصاصی GPU هست. فرقش با RAM سیستم اینه که مستقیماً روی کارت گرافیک قرار داره و سرعت دسترسی GPU بهش خیلی بیشتره.
چرا VRAM اینقدر مهمه؟
برای اجرای یه مدل AI، کل مدل باید توی VRAM جا بشه. فکرشو مثل یه میز کار بکن:
- مدل = کتابی که داری ازش استفاده میکنی
- VRAM = اندازه میز کارت
اگه کتاب از میز بزرگتر باشه، جا نمیشه. سادهست.
حالا ببینیم مدلهای مختلف چقدر VRAM لازم دارن (در حالت معمولی، بدون Quantization):
- مدل ۷B پارامتری (مثل Llama 3 8B): حدود ۱۴ تا ۱۶ گیگ VRAM
- مدل ۱۳B پارامتری: حدود ۲۶ تا ۳۰ گیگ VRAM
- مدل ۷۰B پارامتری: حدود ۱۴۰+ گیگ VRAM
یه قانون سرانگشتی ساده: هر میلیارد پارامتر، حدود ۲ گیگ VRAM لازم داره (در دقت FP16).
Quantization — جادوی اجرای مدل بزرگ روی سختافزار کوچیک
حالا میرسیم به یکی از مهمترین مفاهیم عملی AI: Quantization (کوانتیزیشن).
ایدهش سادهست. فرض کن یه عکس با کیفیت ۴K داری. اگه کیفیتش رو بیاری پایین به ۱۰۸۰p، فایل خیلی کوچیکتر میشه ولی هنوز قشنگه. اگه بیاری ۷۲۰p، بازم قابل تماشاست. ۴۸۰p؟ بد نیست ولی فرق میکنه. ۱۴۴p؟ دیگه نمیشه فهمید چی به چیه.
Quantization هم همینه ولی برای اعداد مدل. به جای ذخیره هر پارامتر با ۱۶ بیت دقت، با ۸ بیت یا حتی ۴ بیت ذخیرهشون میکنی.
انواع Quantization
- FP16 (16-bit) — کیفیت اصلی. هر پارامتر ۲ بایت.
- INT8 (8-bit) — نصف حجم. کیفیت تقریباً بدون تغییر. خیلی محبوبه.
- INT4 (4-bit) — یکچهارم حجم اصلی. کیفیت یه مقدار افت میکنه ولی هنوز خیلی خوبه.
- GGUF — یه فرمت فایل محبوب که بهت اجازه میده مدلهای Quantize شده رو راحت دانلود و اجرا کنی.
حالا ببین با Quantization چه اتفاقی میافته:
یه مدل ۷B پارامتری:
- FP16: ۱۴ گیگ VRAM
- INT8: ۷ گیگ VRAM
- INT4: ۳.۵ گیگ VRAM
یعنی مدلی که قبلاً فقط روی GPUهای حرفهای جا میشد، الان میتونه روی کارت گرافیک لپتاپت اجرا بشه!
این بخش یه کم پیچیدهست، نگران نباش
شاید الان فکر کنی «باید این اعداد رو حفظ کنم؟» نه. مهمترین چیزی که باید یادت بمونه اینه:
- مدل بزرگتر = VRAM بیشتر
- Quantization میتونه مصرف VRAM رو ۲ تا ۴ برابر کاهش بده
- Quantization 4-bit معمولاً کیفیت قابل قبولی داره
وقتی بخوای عملاً مدلی رو اجرا کنی، ابزارهایی مثل Ollama و llama.cpp همه این محاسبات رو خودشون انجام میدن. تو فقط باید بدونی مدل مورد نظرت چقدر VRAM میخواد و GPU تو چقدر VRAM داره.
توصیه عملی: چه GPU بخرم یا اجاره کنم؟
حالا بریم سراغ سؤال عملی. بسته به بودجه و نیازت، چند سناریو داریم:
سناریو ۱: شروع رایگان (بدون هزینه)
اگه فقط میخوای امتحان کنی و ببینی AI چطوری کار میکنه:
- Google Colab (رایگان) — یه GPU رایگان بهت میده (معمولاً T4 با ۱۵ گیگ VRAM). برای آزمایش مدلهای کوچیک عالیه.
- Kaggle Notebooks — مشابه Colab، GPU رایگان با محدودیت زمانی.
- APIهای رایگان — بعضی سرویسها مثل Groq و Cloudflare Workers AI تعداد محدودی درخواست رایگان میدن.
سناریو ۲: بودجه محدود (لپتاپ یا کامپیوتر شخصی)
اگه لپتاپ یا کامپیوتری با GPU داری:
- NVIDIA GPU با ۸+ گیگ VRAM — میتونی مدلهای ۷B رو با Quantization 4-bit اجرا کنی. GTX 1080، RTX 3060، RTX 4060 و بالاتر.
- Apple Silicon (M1/M2/M3/M4) — مکبوکهای جدید با حافظه یکپارچه (Unified Memory) میتونن مدلهای نسبتاً بزرگ اجرا کنن. مثلاً M2 Pro با ۳۲ گیگ رم میتونه مدل ۱۳B رو اجرا کنه.
سناریو ۳: اجاره GPU ابری
اگه سختافزار قوی نداری ولی میخوای مدلهای بزرگتر اجرا کنی:
- Google Colab Pro — حدود ۱۰ دلار در ماه. GPUهای بهتر و زمان بیشتر.
- RunPod / Vast.ai — اجاره GPU ساعتی. از ۰.۲ تا ۳ دلار در ساعت بسته به نوع GPU.
- Lambda Labs — GPUهای حرفهای A100 و H100 برای پروژههای جدی.
سناریو ۴: خرید GPU اختصاصی
اگه میخوای GPU بخری، اینا بهترین گزینهها برای AI هستن (در زمان نوشتن):
- RTX 4060 (8GB) — حدود ۳۰۰ دلار. ورودی مناسب، مدلهای ۷B با Q4.
- RTX 4070 Ti Super (16GB) — حدود ۸۰۰ دلار. مدلهای ۱۳B با Q4. بهترین ارزش.
- RTX 4090 (24GB) — حدود ۱,۶۰۰ دلار. مدلهای ۳۰B+ با Q4. برای کار جدی.
- RTX 5090 (32GB) — نسل جدید، مدلهای بزرگتر با VRAM بیشتر.
قانون طلایی: همیشه بیشترین VRAM رو بخر که بودجهت اجازه میده. سرعت پردازش GPU رو میشه با صبر جبران کرد، ولی کمبود VRAM یعنی مدل اصلاً اجرا نمیشه.
NVIDIA، AMD یا Intel؟
یه سؤال که زیاد پرسیده میشه: فقط NVIDIA یا GPUهای دیگه هم میشه؟
جواب کوتاه: NVIDIA با فاصله زیادی انتخاب اوله.
دلیلش CUDA هست. CUDA یه پلتفرم نرمافزاریه که NVIDIA ساخته و تقریباً همه فریمورکها و ابزارهای AI (PyTorch، TensorFlow، llama.cpp و…) اول برای CUDA بهینهسازی میشن.
AMD داره با ROCm رقابت میکنه و وضعش داره بهتر میشه. Intel هم با OneAPI تلاش میکنه. ولی الان، اگه میخوای کمترین دردسر رو داشته باشی، NVIDIA برو.
استثنا: Apple Silicon. اگه مکبوک داری، mlx و llama.cpp پشتیبانی خوبی از Metal دارن و عملکرد قابل قبولیه.
یه نکته مهم درباره Training vs Inference
وقتی بحث سختافزار میشه، باید فرق بذاری بین دو تا کار:
- Training (آموزش) — از صفر ساختن مدل یا Fine-tune کردنش. خیلی سنگینه. معمولاً به چندین GPU حرفهای نیاز داره.
- Inference (استنتاج) — استفاده از مدل آماده. خیلی سبکتره. با یه GPU معمولی هم میشه انجام داد.
خبر خوب اینه که ما به عنوان توسعهدهندهها، بیشتر وقتا Inference انجام میدیم. مدلهای آماده رو دانلود میکنیم و ازشون استفاده میکنیم. Training از صفر کار شرکتهای بزرگ مثل OpenAI و Meta هست.
Fine-tuning هم وسطیه. سنگینتر از Inference ولی خیلی سبکتر از Training از صفر. معمولاً با یه GPU خوب (مثل RTX 4090 یا A100 اجارهای) قابل انجامه.
جمعبندی
تو این قسمت یاد گرفتیم که:
- CPU نابغهست ولی تنهاست — GPU یه ارتش از کارگرهای سادهست که همزمان کار میکنن
- AI بیشتر عملیات ماتریسی انجام میده که فوقالعاده موازیپذیره — پس GPU تا ۱۰۰ برابر سریعتره
- VRAM مهمترین مشخصه GPU برای AI هست — اگه مدل توی VRAM جا نشه، اجرا نمیشه
- Quantization بهت اجازه میده مدلهای بزرگ رو روی سختافزار کوچیک اجرا کنی
- برای شروع، حتی لپتاپت با ۸ گیگ VRAM یا یه مکبوک Apple Silicon کافیه
تو قسمت بعدی میریم سراغ درون یه LLM. میخوایم بفهمیم Token چیه، چرا فارسی نوشتن برای LLM گرونتره، Embedding چطوری کار میکنه، و معماری Transformer چیکار میکنه. اون قسمت قلب فنی این سری هست — آماده باش!
نظرات
هنوز نظری ثبت نشده. اولین نفر باشید!
نظر خود را بنویسید