TorchTPU گوگل چیست؟ اجرای PyTorch روی TPU با تغییر یک خط کد

اخبار · هوش مصنوعی

گوگل و متا در کنفرانس PyTorch 2026 پروژه‌ی متن‌باز TorchTPU را معرفی کردند؛ ابزاری که اجرای کدهای PyTorch روی تراشه‌های TPU را تقریباً به تغییر یک خط کد تبدیل می‌کند و مستقیم به قفل اکوسیستم CUDA انویدیا نشانه رفته است.

چکیده. شرکت گوگل در تاریخ ۲۰ اکتبر ۲۰۲۶ (۲۸ مهر ۱۴۰۵) پروژه‌ی TorchTPU را به‌صورت متن‌باز و با مجوز Apache 2.0 منتشر کرد. این پروژه یک بک‌اند بومی PyTorch برای TPUهای ابری گوگل است که با همکاری تیم PyTorch شرکت متا ساخته شده و جایگزین PyTorch/XLA می‌شود. بر اساس ارقام خود گوگل، ۹۸ درصد از ۴٬۹۱۷ مدل Hugging Face آزمایش‌شده روی آن اجرا شده‌اند. اما TPU فقط در ابر گوگل در دسترس است و این یعنی وابستگی سخت‌افزاری فقط جابه‌جا می‌شود.
معرفی TorchTPU گوگل؛ بک‌اند بومی PyTorch برای تراشه‌های TPU

۱. TorchTPU دقیقاً چیست؟

پروژه‌ی TorchTPU یک بک‌اند بومی (native) برای کتابخانه‌ی PyTorch است که به توسعه‌دهنده اجازه می‌دهد TPU را مثل CPU و GPU یک دستگاه معمولی ببیند. تا پیش از این، اجرای PyTorch روی TPU از مسیر PyTorch/XLA انجام می‌شد؛ روشی مبتنی بر ثبت تنبل (lazy) عملیات که برای بسیاری از تیم‌ها پیچیده و دیباگ‌کردنش سخت بود.

گوگل اعلام کرده TorchTPU جایگزین PyTorch/XLA است و برای پروژه‌های جدید توصیه می‌شود. تفاوت اصلی در این است که TorchTPU اجرای «eager-first» دارد؛ یعنی عملیات همان لحظه اجرا می‌شود، درست مثل تجربه‌ای که توسعه‌دهندگان PyTorch روی GPU به آن عادت دارند.

این پروژه را گوگل با تیم PyTorch شرکت متا توسعه داده است. نکته‌ی جالب اینجاست که دو غول رقیب در حوزه‌ی هوش مصنوعی، یعنی گوگل با خانواده‌ی Gemini و متا با مدل‌های Llama، این بار روی یک زیرساخت مشترک متن‌باز همکاری کرده‌اند.

۲. تغییر یک خط کد: از cuda به tpu

وعده‌ی اصلی TorchTPU سادگی مهاجرت است. در بیشتر کدهای PyTorch، مدل با دستورهایی مانند .to("cuda") به کارت گرافیک انویدیا منتقل می‌شود. در TorchTPU کافی است دستگاه مقصد را به tpu تغییر دهید و تنسورهای TPU مثل تنسورهای استاندارد PyTorch رفتار می‌کنند؛ بدون نیاز به زیرکلاس‌سازی یا حاشیه‌نویسی گراف.

از نظر فنی، این بک‌اند روی رابط PrivateUse1 در PyTorch ساخته شده؛ همان مکانیزمی که سازندگان سخت‌افزار برای افزودن دستگاه جدید به PyTorch استفاده می‌کنند. به همین دلیل نیازی به فورک‌کردن خود PyTorch نیست.

البته باید واقع‌بین بود. تغییر یک خط کد برای مدل‌های ساده و رایج صادق است، اما پروژه‌های بزرگ معمولاً کرنل‌های سفارشی CUDA، وابستگی به کتابخانه‌های خاص و تنظیمات پیچیده دارند و برای آن‌ها مهاجرت کامل هنوز کار می‌برد.

۳. سه حالت اجرای eager

TorchTPU سه حالت اجرای eager ارائه می‌دهد که هر کدام برای نیاز متفاوتی طراحی شده‌اند. حالت Debug Eager همزمان (synchronous) است و برای پیداکردن خطا مناسب است. حالت Strict Eager که پیش‌فرض است به‌صورت ناهمزمان اجرا می‌شود. حالت سوم DeferAndFuse است که چند عملیات را قبل از ارسال به TPU دسته‌بندی و ادغام می‌کند.

گوگل می‌گوید حالت DeferAndFuse بیش از ۵۰ درصد سریع‌تر از Strict Eager است. برای اجرای تولیدی و سرعت نهایی نیز می‌توان از torch.compile(backend="tpu") استفاده کرد که گراف را از مسیر StableHLO به OpenXLA منتقل می‌کند.

نتایج آزمایش ۴٬۹۱۷ مدل Hugging Face روی TorchTPU

۴. آموزش توزیع‌شده و کرنل‌های سفارشی

برای آموزش مدل‌های بزرگ، TorchTPU از DDP، FSDP2 و DTensor پشتیبانی می‌کند. این پشتیبانی از طریق بک‌اندی به نام tpu_dist ارائه می‌شود و هر دو الگوی SPMD و MPMD را پوشش می‌دهد. MPMD یعنی رتبه‌های مختلف می‌توانند کدهای متفاوت اجرا کنند، قابلیتی که در PyTorch/XLA وجود نداشت.

برای کسانی که به بهینه‌سازی در سطح پایین نیاز دارند، کرنل‌های سفارشی با ابزارهایی مانند Pallas، Tokamax و Helion قابل نوشتن هستند. این موضوع برای تیم‌هایی که تا امروز تنها راهشان نوشتن کرنل CUDA بود اهمیت دارد.

۵. اعداد و ارقام عملکرد

گوگل چند عدد مهم منتشر کرده است. آموزش مدل Qwen 3 با ۸ میلیارد پارامتر با TorchTitan روی ۸٬۱۹۲ تراشه‌ی TPU نسل هفتم (v7x یا Ironwood) به ۵۲ درصد MFU رسیده است. برای مدل Qwen3 MoE با ۲۳۵ میلیارد پارامتر در همان مقیاس، حدود ۲۸ درصد MFU گزارش شده است.

در مثالی دیگر، تولید تصویر با مدل FLUX.1-dev از ۱۱٫۴۹ ثانیه به ۲٫۷۸ ثانیه کاهش یافته است. MFU یا Model FLOPs Utilization نشان می‌دهد چه بخشی از توان محاسباتی نظری سخت‌افزار واقعاً صرف آموزش مدل می‌شود و هرچه بالاتر باشد کارایی بیشتر است.

مهم‌ترین نکته: همه‌ی این ارقام را خود گوگل و شرکای آن اعلام کرده‌اند و هنوز آزمایش مستقل گسترده‌ای از آن‌ها منتشر نشده است. پس تا زمان بازتولید توسط شخص ثالث باید با احتیاط به آن‌ها نگاه کرد.

۶. سازگاری با مدل‌های Hugging Face

گوگل ۴٬۹۱۷ مدل Hugging Face را در دسته‌های زبانی، بینایی، صوتی و رمزگذارهای متنی آزمایش کرده است. نتیجه: ۹۸ درصد مدل‌ها بدون مشکل اجرا شده‌اند و ۹۷ درصد آن‌ها تطابق عددی با خروجی GPU داشته‌اند.

دو درصد باقی‌مانده شامل مدل‌هایی است که احتمالاً با شکل‌های پویا (dynamic shapes) مشکل دارند. در نقشه‌ی راه شش تا دوازده ماه آینده، قابلیت XLA Bounded Dynamism برای تولید، کوانتیزاسیون FP8 و FP4، حلقه‌های آموزش RL با vLLM و SGLang و Trace Viewer 2.0 دیده شده است.

اگر با مفاهیم پایه‌ی مدل‌ها آشنا نیستید، مطلب OpenAI چیست و راهنمای آموزش‌های ChatGPT نقطه‌ی شروع خوبی هستند.

۷. اکوسیستم: vLLM، SGLang و TorchTitan

همراه با TorchTPU چند پروژه‌ی دیگر هم متن‌باز شدند: vLLM-TorchTPU و SGLang-TorchTPU برای استنتاج (inference) و سروینگ مدل‌ها، و TorchTitan برای آموزش در مقیاس بزرگ. همچنین کتابخانه‌ی Hugging Face Transformers با آن یکپارچه شده است.

گوگل علاوه بر این از «TPU Agent Suite» در مرحله‌ی پیش‌نمایش اولیه و از LiteRT-Torch برای گسترش همین کار به دستگاه‌های روی‌دستگاه (on-device) خبر داده است. این یعنی هدف فقط سرورهای ابری نیست.

مقایسه TPU گوگل و GPU انویدیا و مسئله‌ی وابستگی به ابر

۸. نصب و شروع کار

پروژه با نسخه‌ی 0.2.0 روی PyPI منتشر شده و مجوز آن Apache 2.0 است. برای استفاده به پایتون ۳٫۱۱ یا بالاتر و یک ماشین مجازی TPU در Google Cloud نیاز دارید. بسته‌ی torch_tpu==0.2.0 نصب می‌شود.

یک نکته‌ی عملی از مستندات: باید از ایندکس چرخ‌های CPU برای PyTorch استفاده کنید، وگرنه pip به‌طور پیش‌فرض نسخه‌ی CUDA بسته‌ی torch را نصب می‌کند و با TPU سازگار نخواهد بود.

شماره‌ی نسخه‌ی 0.2.0 نشان می‌دهد این پروژه هنوز در مراحل ابتدایی است. پیش از انتقال بارهای کاری حساس، آن را روی مدل‌های آزمایشی بسنجید.

۹. چرا این خبر برای انویدیا و بازار مهم است؟

قدرت انویدیا فقط در تراشه‌ها نیست، بلکه در CUDA است؛ اکوسیستم نرم‌افزاری که سال‌ها توسعه‌دهندگان را به خود وابسته کرده. TorchTPU تلاشی است برای کم‌کردن همین هزینه‌ی جابه‌جایی. اگر مهاجرت واقعاً ساده شود، شرکت‌ها می‌توانند برای خرید سخت‌افزار قدرت چانه‌زنی بیشتری داشته باشند.

یک روز قبل از این اعلام، آمازون هم پروژه‌ی TorchNeuron را برای تراشه‌های Trainium خود متن‌باز کرده بود. روند روشن است: بازیگران بزرگ ابری می‌خواهند PyTorch را به یک لایه‌ی خنثی روی هر سخت‌افزاری تبدیل کنند. تا زمان نگارش این مطلب، انویدیا واکنش عمومی نشان نداده است.

این رقابت برای کاربران نهایی هم اثر دارد: هزینه‌ی آموزش و اجرای مدل‌ها در بلندمدت می‌تواند پایین بیاید. برای درک بهتر جایگاه این تحولات در کسب‌وکار، اهمیت هوش مصنوعی در کسب‌وکار را بخوانید.

۱۰. محدودیت‌ها و نکته‌های احتیاط

نخست، متن‌باز بودن نرم‌افزار به معنی آزادبودن سخت‌افزار نیست. TPU فقط به‌صورت ظرفیت Google Cloud عرضه می‌شود، پس شما قفل انویدیا را با وابستگی به یک ارائه‌دهنده‌ی ابری عوض می‌کنید.

دوم، شکاف اکوسیستم هنوز وجود دارد. راهنمای دیباگ، دفترچه‌های بهینه‌سازی کرنل و تجربه‌ی انباشته‌ی جامعه‌ی CUDA چیزی نیست که یک‌شبه جایگزین شود. به همین دلیل تغییر یک خط کد فقط آغاز مسیر است.

سوم، ارقام عملکرد از منبع خود گوگل است. درباره‌ی محدودیت‌های واقعی هوش مصنوعی و فاصله‌ی وعده تا واقعیت، پتانسیل و محدودیت‌های هوش مصنوعی را ببینید.

۱۱. این خبر برای توسعه‌دهندگان ایرانی چه معنایی دارد؟

برای توسعه‌دهندگانی که با PyTorch کار می‌کنند، مهم‌ترین نتیجه این است که کدشان کمتر به یک تولیدکننده‌ی سخت‌افزار گره می‌خورد. حتی اگر امروز به TPU دسترسی نداشته باشید، یادگیری الگوهای کدنویسی بدون وابستگی به دستگاه (device-agnostic) سرمایه‌گذاری ارزشمندی است.

هم‌زمان، ابزارهای هوش مصنوعی مولد کمک می‌کنند سریع‌تر کد بنویسید و مهاجرت را آزمایش کنید. اگر می‌خواهید بهتر با این ابزارها کار کنید، آموزش نوشتن پرامپت و توهم توسعه‌دهنده‌ی تنها در برابر مهندس واقعی را مطالعه کنید.

۱۲. پرسش‌های متداول (FAQ)

TorchTPU چیست؟

یک بک‌اند بومی و متن‌باز PyTorch برای TPUهای ابری گوگل که با همکاری تیم PyTorch متا ساخته شده و جایگزین PyTorch/XLA است.

آیا واقعاً با تغییر یک خط کد کار می‌کند؟

برای بسیاری از مدل‌ها بله؛ کافی است دستگاه را از cuda به tpu تغییر دهید. اما کرنل‌های سفارشی CUDA و تنظیمات پیچیده به کار بیشتری نیاز دارند.

آیا TorchTPU رایگان است؟

خود نرم‌افزار با مجوز Apache 2.0 رایگان و متن‌باز است، اما اجرای آن به TPU در Google Cloud نیاز دارد که هزینه دارد.

آیا جایگزین CUDA و انویدیا می‌شود؟

خیر، فعلاً نه. این پروژه راه جایگزین ساده‌تری فراهم می‌کند، اما اکوسیستم CUDA همچنان بسیار بزرگ است و TorchTPU در نسخه‌ی 0.2.0 قرار دارد.

چه مدل‌هایی روی آن اجرا می‌شوند؟

گوگل می‌گوید ۹۸ درصد از ۴٬۹۱۷ مدل Hugging Face آزمایش‌شده اجرا شده‌اند. مدل‌های دارای شکل پویا از محدودیت‌های شناخته‌شده‌اند.

جمع‌بندی. پروژه‌ی TorchTPU گام مهمی برای کم‌کردن وابستگی توسعه‌دهندگان به CUDA است و همکاری گوگل و متا آن را جدی‌تر می‌کند. با این حال ارقام عملکرد هنوز مستقل تأیید نشده‌اند، نسخه‌ی پروژه ابتدایی است و TPU فقط در ابر گوگل در دسترس است. برای دنبال‌کردن داغ‌ترین اخبار هوش مصنوعی، کانال تلگرام @MrChatGPT_IR را دنبال کنید.

نسخهٔ فوری این مطلب در تلگرام: اینجا بخوانید

— (0 رأی)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *