پرش به محتوای اصلی
پرش به محتوای مقاله

متغیر HF_HOME: راهکار جلوگیری از کرش درایو بوت در مدل‌های Hugging Face

·۲۶ تیر ۱۴۰۵۳ دقیقه مطالعه
راهنما
رفع خطای کمبود فضا در Hugging Face: تله ذخیره‌سازی
رفع خطای کمبود فضا در Hugging Face: تله ذخیره‌سازی
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی متغیر HF_HOME به عنوان جایگزین استاندارد و جامع برای پارامترهای قدیمی‌تر مانند TRANSFORMERS_CACHE جهت کنترل کامل مسیر ذخیره‌سازی مدل‌ها.

تصور کنید یک درخواست ساده برای اجرای مدل، ناگهان ۱۴۰ گیگابایت داده خام را در پوشه‌ای مخفی می‌ریزد و در یک لحظه تمام فضای درایو بوت سرور شما را می‌بلعد. این اتفاق برای اکثر نمونه‌های ابری که پارتیشن بوت محدودی دارند، به معنای توقف کامل سیستم است.

طبق گزارش مفصل ۱۷ جولای ۲۰۲۶ در وب‌سایت dev.to، این مشکل به دلیل معماری Hugging Face رخ می‌دهد که به‌طور پیش‌فرض از مسیر ~/.cache/huggingface استفاده می‌کند. این پوشه معمولاً روی درایو بوت قرار دارد که برای عملیات سیستم بهینه شده، نه برای ذخیره تانسورهای عظیم. برای توسعه‌دهندگان و مهندسان SRE، این تله‌ی ذخیره‌سازی یکی از رایج‌ترین نقاط شکست هنگام انتقال از تست‌های کوچک به مدل‌های مقیاس تولید است. در این مرحله، مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن کتاب‌ها جواب می‌دهد — حجم داده‌ای تولید می‌کند که فراتر از ظرفیت پارتیشن‌های استاندارد سیستم‌عامل است.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی بهینه‌سازی زیرساخت‌های مدل‌های بازمتن اشاره کردیم، نادیده گرفتن مدیریت حافظه در سطح OS منجر به شکست‌های هزینه‌بر می‌شود. در حال حاضر، استفاده از پارامترهای قدیمی مانند TRANSFORMERS_CACHE باعث ایجاد هشدار شده و دیگر نمی‌تواند تمام مجموعه‌داده‌ها را پوشش دهد.

رفع مشکل کمبود فضا در Hugging Face: تله ذخیره‌سازی

برای حل دائمی این مشکل در لینوکس، استاندارد مهندسی فعلی پیاده‌سازی یک مسیر اصلی است. بر اساس مستندات فنی، شما باید پوشه‌ای اختصاصی روی یک آرایه ذخیره‌سازی ثانویه (مثلاً /mnt/massive_drive/ai_model_cache) ایجاد کنید و عبارت export HF_HOME="/mnt/massive_drive/ai_model_cache" را به پروفایل .bashrc اضافه نمایید.

اگر می‌خواهید این تغییر را به‌صورت برنامه‌نویسی در پایتون اعمال کنید، ترتیب عملیات حیاتی است. باید os.environ["HF_HOME"] را پیش از ایمپورت کردن هر کتابخانه‌ای از transformers تعریف کنید. در غیر این صورت، کتابخانه ابتدا مسیر پیش‌فرض را بررسی کرده و پیش از آنکه دستور جایگزین شما اجرا شود، درایو بوت را پر می‌کند.

برای کسانی که همین حالا با کرش دیسک مواجه شده‌اند، این راهنما هشدار می‌دهد که از دستور rm -rf روی پوشه‌های مخفی استفاده نکنند. به‌جای آن، از ابزارهای رسمی CLI استفاده کنید:

  • huggingface-cli scan-cache: شناسایی پرمصرف‌ترین بخش‌های حافظه.
  • huggingface-cli delete-cache: پاک‌سازی ایمن وزن‌ها بدون به‌جا گذاشتن فایل‌های رگیستری یتیم.

در محیط‌های عملیاتی که از حجم‌های مشترک فقط-خواندنی (read-only) استفاده می‌کنند، مشکل دیگری وجود دارد: کتابخانه سعی می‌کند فایل‌های قفل همگام‌سازی بنویسد و با خطای Permission Denied متوقف می‌شود. راهکار این است که با تنظیم os.environ["HF_HUB_OFFLINE"] = "1" در کنار مسیر ذخیره‌سازی، حالت آفلاین را تحمیل کنید.

این تغییر در مدیریت حافظه، مبنای استقرار هوش مصنوعی را عوض می‌کند. تیم‌ها نباید با پیش‌فرض‌های سیستم‌عامل بجنگند، بلکه باید با وزن‌های مدل به عنوان دارایی‌های خارجی سنگین برخورد کنند. این امر نیاز به زیرساخت‌های اختصاصی مانند سرورهای GPU شرکت ServerMO را افزایش می‌دهد که سرعت NVMe لازم برای مسیریابی داده‌های حجیم بدون ایجاد گلوگاه را فراهم می‌کنند.

در نهایت، عدم مدیریت مسیر کش، ریسک‌های پایداری و حفره‌های امنیتی ایجاد می‌کند. این راهنما به‌طور خاص توصیه می‌کند از لینک‌های نمادین (symlinks) برای تغییر مسیر داده‌ها استفاده نکنید، زیرا نقشه‌برداری نادرست می‌تواند منجر به ریسک ارتقای دسترسی (privilege escalation) در محیط‌های کانتینری شود.

گام بعدی شما

  • همین امروز مکان کش مدل‌های خود را بررسی کنید تا از توقف ناگهانی در زمان مقیاس‌بندی جلوگیری کنید.
  • قبل از راه‌اندازی هر پاد استنتاج (inference pod) جدید، میزان استفاده از پارتیشن /home را چک کنید.
  • ابزار huggingface-cli را برای مدیریت بهینه فضای دیسک در محیط توسعه مستقر کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این موضوع مستقیماً پایداری زیرساخت‌های AI را تحت تأثیر قرار می‌دهد و از کرش‌های زنجیره‌ای در محیط‌های ابری جلوگیری می‌کند. تخصص در مدیریت حافظه در سطح سیستم‌عامل، مرز بین یک مدل آزمایشگاهی و یک سرویس مقیاس‌پذیر در تولید است.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که از سرورهای GPU اجاره‌ای یا مجازی استفاده می‌کنند، این تنظیمات برای جلوگیری از پر شدن سریع دیسک‌های محدود سیستم‌عامل حیاتی است.

·نگاه ما
تحریریه دات‌هوش

تغییر رویکرد از «مدیریت فایل» به «مدیریت دارایی» در استقرار مدل‌ها، نشان می‌دهد که ابزارهای انتزاعی فعلی هنوز با واقعیت‌های سخت‌افزاری فاصله دارند. تکیه بر symlinkها یا پیش‌فرض‌های OS در محیط‌های کانتینری، تضاد شدیدی با استانداردهای امنیتی مدرن ایجاد می‌کند. توسعه‌دهندگان باید استقرار مدل را نه یک نصب ساده، بلکه مدیریت یک پایگاه داده حجیم در نظر بگیرند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.