منظره مدلهای زبانی بزرگ (LLMs) به طور تاریخی توسط تعداد پارامترهای عظیم، که اغلب به صدها میلیارد میرسید، تسلط داشت. اگرچه این مدلها قابلیتهای چشمگیری ارائه میدهند، اما با هزینه محاسباتی بالا، تأخیر و نگرانیهای حریم خصوصی همراه هستند. در اینجا سری Phi مایکروسافت، به ویژه مدلهای جدید Phi-3 وارد میدان میشوند که نشاندهنده یک تغییر پارادایم به سمت مدلهای زبانی کوچک (SLMs) هستند. این پست بررسی میکند که Phi-3 چگونه با کسری از منابع، عملکرد بالایی را به دست میآورد و آن را برای استقرار در دستگاههای لبه، برنامههای موبایل و محیطهای محدود از نظر منابع ایدهآل میسازد.
فلسفه پشت Phi-3: کیفیت بر کمیت
رویکرد مایکروسافت به مدلهای Phi، خرد جمعی مرسوم که «بزرگتر همیشه بهتر است» را به چالش میکشد. تیم Phi به جای مقیاسدهی اندازه مدل، بر مقیاسدهی کیفیت دادههای آموزشی تمرکز کرد. مدلهای Phi-3 بر روی «کتابهای درسی»، «کتابها» و «مقالات داوری شده» آموزش دیدهاند که منجر به مدلهایی شده است که عملکردی فراتر از کلاس وزنی خود دارند. Phi-3-mini با حدود 3.8 میلیارد پارامتر، در معیارهای استاندارد استدلال و کدنویسی، بسیاری از مدلهای متنباز با 7 تا 13 میلیارد پارامتر را شکست میدهد.
این کارایی فقط یک ادعای بازاریابی نیست؛ بلکه در معماری مهندسی شده است. با بهینهسازی مخلوط دادههای آموزشی و استفاده از تکنیکهای پیشرفته تقطیر از مدلهای معلم بزرگتر، Phi-3 قابلیتهای استدلال پیشرفته را ارائه میدهد در حالی که به حافظه و محاسبات بسیار کمتری نیاز دارد.
ویژگیهای کلیدی و برجستگیهای معماری
مدلهای Phi-3 در اندازههای مختلفی موجود هستند: Mini (3.8B)، Small (7B) و Medium (14B). آنها از پنجره زمینه تا 128K توکن پشتیبانی میکنند که به آنها امکان میدهد اسناد طولانی را به طور مؤثر مدیریت کنند. ویژگیهای فنی کلیدی شامل موارد زیر است:
- دادههای آموزشی با چگالی بالا: مدلها بر روی دادههای مصنوعی با کیفیت بالا که برای حداکثر کردن چگالی اطلاعات گردآوری شدهاند، آموزش دیدهاند.
- مکانیسمهای توجه کارآمد: استفاده از توجه با پرسوجوی گروهی (GQA) برای تسریع استنتاج.
- پشتیبانی بومی از Hugging Face: یکپارچگی روان با اکوسیستم Hugging Face برای بارگذاری و تنظیم دقیق آسان.
پیادهسازی عملی: بارگذاری Phi-3 روی CPU
یکی از جذابترین جنبههای Phi-3 توانایی آن در اجرا روی سختافزارهای مصرفی، از جمله CPUها است. این موضوع آن را برای توسعهدهندگانی که به خوشههای GPU پیشرفته دسترسی ندارند، در دسترس میسازد. در زیر یک مثال عملی با استفاده از کتابخانه transformers از Hugging Face برای بارگذاری و اجرای مدل Phi-3-mini روی یک CPU آورده شده است.
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# شناسه مدل را تعریف کنید
model_name = "microsoft/Phi-3-mini-4k-instruct"
# توکنایزر را بارگذاری کنید
tokenizer = AutoTokenizer.from_pretrained(model_name)
# مدل را با torch_dtype برای کارایی حافظه بارگذاری کنید
# استفاده از 'auto' به کتابخانه اجازه میدهد بهترین dtype پشتیبانی شده توسط سختافزار شما را انتخاب کند
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto" # لایهها را به طور خودکار به دستگاههای موجود (CPU/GPU) اختصاص میدهد
)
# پیشنویس را آماده کنید
messages = [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": "Explain the concept of recursion in programming."}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
# ورودی را توکنایز کنید
inputs = tokenizer(text, return_tensors="pt")
# خروجی را تولید کنید
outputs = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.7,
top_p=0.95
)
# توکنهای تولید شده را رمزگشایی کنید
response = outputs[0][inputs["input_ids"].shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))
چرا توسعهدهندگان باید به SLMها توجه کنند
ظهور SLMهایی مانند Phi-3 به نقاط درد حیاتی در توسعه هوش مصنوعی مدرن میپردازد. اول، تأخیر به شدت کاهش مییابد. استنتاج روی یک CPU برای پرسوجوهای کوتاه میتواند تقریباً آنی باشد که امکان برنامههای تعاملی در زمان واقعی را فراهم میکند. دوم، هزینه به حداقل میرسد. اجرای استنتاج به صورت محلی یا روی نمونههای ابری ارزانتر، هزینههای عملیاتی را به طور قابل توجهی کاهش میدهد. در نهایت، حریم خصوصی بهبود مییابد. از آنجا که مدل میتواند کاملاً روی دستگاه اجرا شود، دادههای حساس هرگز از محیط کاربر خارج نمیشوند که این یک عامل حیاتی برای برنامههای سازمانی و مراقبتهای بهداشتی است.
نتیجهگیری
مدلهای Phi-3 مایکروسافت نشاندهنده یک جهش بزرگ در در دسترس قرار دادن هوش مصنوعی با کیفیت بالا هستند. با اولویت دادن به کیفیت داده و کارایی معماری، Phi-3 ثابت میکند که مدلهای کوچک میتوانند قدرتمند، سریع و چندمنظوره باشند. برای توسعهدهندگانی که به دنبال استقرار برنامههای هوش مصنوعی مقرونبهصرفه، خصوصی و پاسخگو هستند، Phi-3 باید در بالای لیست ارزیابی شما باشد. با بالغ شدن اکوسیستم مدلهای زبانی کوچک، انتظار میرود مدلهای SLM پیچیدهتری دیده شود که خط بین هوش مصنوعی محلی و مبتنی بر ابر را بیشتر محو میکنند.