Open Models

فای آزاد شده: ساخت هوش مصنوعی لبه‌ای کارآمد با مدل‌های کوچک زبانی مایکروسافت

منظره مدل‌های زبانی بزرگ (LLMs) به‌طور سنتی توسط تعداد پارامترهای عظیمی که نیاز به GPUهای گران‌قیمت و زیرساخت ابری قابل‌توجهی دارند، مسلط بوده است. با این حال، تحقیقات مایکروسافت این پارادایم را با سری مدل‌های فای (Phi) به چالش کشیده است. این‌ها فقط مدل‌های «کوچک» نیستند؛ آن‌ها موتورهای استدلال باکیفیت هستند که از داده‌های مصنوعی استخراج شده‌اند و با وجود اندازه فشرده‌شان، عملکردی شگفت‌انگیز ارائه می‌دهند. در این پست، ما معماری پشت فای، اهمیت آن برای محاسبات لبه‌ای (Edge Computing) و نحوه استقرار مؤثر آن را بررسی خواهیم کرد.

فلسفه پشت فای: کیفیت بر کمیت

آموزش سنتی برای LLMها شامل مصرف پتابایت‌ها متن وب با میلیاردها پارامتر است. فای رویکرد متفاوتی اتخاذ می‌کند: استخراج داده مصنوعی (Synthetic Data Distillation). با آموزش مدل‌های کوچک‌تر بر روی داده‌های مصنوعی باکیفیت و شبیه به کتاب‌های درسی که توسط مدل‌های بزرگ‌تر تولید شده‌اند، مایکروسافت توانست قابلیت‌های استدلال برتری را با پارامترهای بسیار کمتر به دست آورد.

مدل Phi-3-mini، به عنوان مثال، تنها ۳.۸ میلیارد پارامتر دارد، اما در معیارهای استاندارد مانند MMLU و HumanEval از بسیاری از مدل‌های دارای بیش از ۷ میلیارد پارامتر بهتر عمل می‌کند. این کارایی، فای را برای سناریوهایی ایده‌آل می‌سازد که در آن‌ها تأخیر، هزینه و مصرف انرژی محدودیت‌های حیاتی هستند.

نوآوری‌های کلیدی معماری

مدل‌های فای از چندین بهینه‌سازی فنی کلیدی بهره می‌برند که عملکرد آن‌ها را بهبود می‌بخشند:

  • آموزش با داده مصنوعی: مدل‌ها بر روی مجموعه‌داده‌های باکیفیتی آموزش می‌بینند که محتوای کتاب‌های درسی را شبیه‌سازی می‌کنند و قابلیت‌های منطقی و ریاضی را بهبود می‌بخشند.
  • توجه پنجره لغزان (Sliding Window Attention): این امکان را به مدل می‌دهد تا پنجره‌های زمینه طولانی‌تر را به‌طور کارآمد مدیریت کند که برای وظایف پیچیده استدلالی حیاتی است.
  • توجه با پرس‌وجوی گروهی (Grouped-Query Attention - GQA): این تکنیک با اشتراک‌گذاری پروجکشن‌های کلید-مقدار بین چندین سر پرس‌وجو، مصرف حافظه را کاهش داده و سرعت استنتاج را افزایش می‌دهد.

پیاده‌سازی عملی با Hugging Face Transformers

استقرار فای به لطف کتابخانه Hugging Face `transformers` ساده است. در زیر یک مثال پایتون آورده شده است که نحوه بارگذاری مدل Phi-3-mini و تولید پاسخ را نشان می‌دهد.

پیش‌نیازهای نصب

اطمینان حاصل کنید که کتابخانه‌های ضروری نصب شده‌اند:

pip install transformers torch accelerate

نمونه کد: استنتاج (Inference)

قطعه کد زیر نحوه بارگذاری مدل و توکنایزر، مدیریت نگاشت دستگاه برای شتاب‌دهی GPU و تولید متن را نشان می‌دهد.

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

# شناسه مدل را تعریف کنید (اطمینان حاصل کنید که از طریق هگینگ فیس دسترسی دارید)
model_id = "microsoft/Phi-3-mini-4k-instruct"

# بارگذاری توکنایزر
tokenizer = AutoTokenizer.from_pretrained(model_id)

# بارگذاری مدل با دقت bfloat16 برای کارایی
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype=torch.bfloat16,
    trust_remote_code=True
)

# آماده‌سازی پرس‌وجو
messages = [
    {"role": "user", "content": "مفهوم توابع بازگشتی در پایتون را با یک مثال ساده توضیح دهید."}
]

# توکن‌بندی ورودی
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)

# تولید خروجی
outputs = model.generate(input_ids, max_new_tokens=256, do_sample=True)

# رمزگشایی و چاپ پاسخ
response = tokenizer.decode(outputs[0][input_ids.shape[1]:], skip_special_tokens=True)
print(response)

کاربردهای فای: موارد استفاده در دنیای واقعی

به دلیل ردپای کوچک خود، فای امکانات جدیدی را برای استقرار هوش مصنوعی باز می‌کند:

  • دستگاه‌های لبه‌ای: استنتاج را روی گوشی‌های هوشمند، دستگاه‌های IoT یا Raspberry Pi بدون وابستگی به ابر اجرا کنید.
  • برنامه‌های حساس به حریم خصوصی: داده‌های حساس را به‌طور محلی روی دستگاه کاربر پردازش کنید تا اطمینان حاصل شود هیچ داده‌ای از سخت‌افزار خارج نمی‌شود.
  • APIهای مقرون‌به‌صرفه: خدمات هوش مصنوعی را روی نمونه‌های ارزان‌تر و کوچک‌تر میزبانی کنید که هزینه‌های عملیاتی را به‌طور قابل‌توجهی کاهش می‌دهد.

نتیجه‌گیری

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

Share: