وقتی میخواهید یک مدل Gemma را اجرا کنید، دو تصمیم کلیدی وجود دارد: ۱) کدام نوع Gemma را میخواهید اجرا کنید، و ۲) از چه چارچوب اجرایی هوش مصنوعی برای اجرای آن استفاده خواهید کرد؟ مسئله کلیدی در تصمیمگیری در مورد هر دوی این تصمیمات، مربوط به سختافزاری است که شما و کاربرانتان برای اجرای مدل در اختیار دارید.
این مرور کلی به شما کمک میکند تا این تصمیمات را هدایت کنید و کار با مدلهای Gemma را شروع کنید. مراحل کلی برای اجرای یک مدل Gemma به شرح زیر است:
یک چارچوب انتخاب کنید
مدلهای Gemma با طیف گستردهای از ابزارهای اکوسیستم سازگار هستند. انتخاب مدل مناسب به سختافزار موجود شما (پردازندههای گرافیکی ابری در مقابل لپتاپ محلی) و رابط کاربری مورد نظر شما (کد پایتون در مقابل برنامه دسکتاپ) بستگی دارد.
برای شناسایی سریع بهترین ابزار متناسب با نیازهایتان، از جدول زیر استفاده کنید:
| اگر میخواهی... | چارچوب پیشنهادی | بهترین برای |
|---|---|---|
| اجرا به صورت محلی با رابط کاربری چت | - استودیو LM - اولاما | مبتدیان یا کاربرانی که میخواهند تجربهای شبیه به Gemini روی لپتاپ خود داشته باشند. |
| اجرای کارآمد روی Edge | - جما.cpp - لایتآرتی-الام - لاما.cpp - API استنتاج MediaPipe LLM - ام ال ایکس | استنتاج محلی با کارایی بالا با حداقل منابع |
| ساخت/آموزش در پایتون | - کتابخانه Gemma برای JAX - ترانسفورماتورهای صورت در آغوش گرفته - کراس - پایتورچ - تنبلی | محققان و توسعهدهندگانی که برنامههای سفارشی یا مدلهای تنظیم دقیق میسازند. |
| استقرار در محیط عملیاتی / سازمانی | - موتور کوبرنتیز گوگل کلود (GKE) - گوگل کلود ران - هوش مصنوعی ورتکس - vLLM | استقرار ابری مدیریتشده و مقیاسپذیر با امنیت سازمانی و پشتیبانی از MLOps. |
جزئیات چارچوب
در ادامه، راهنماهایی برای اجرای مدلهای Gemma ارائه شده است که بر اساس محیط استقرار شما طبقهبندی شدهاند.
۱. استنتاج دسکتاپ و محلی (با راندمان بالا)
این ابزارها به شما امکان میدهند Gemma را با استفاده از فرمتهای بهینهشده (مانند GGUF) یا شتابدهندههای سختافزاری خاص، روی سختافزارهای مصرفی (لپتاپ، دسکتاپ) اجرا کنید.
- LM Studio : یک برنامه دسکتاپ که به شما امکان میدهد مدلهای Gemma را دانلود کرده و در یک رابط کاربرپسند با آنها چت کنید. بدون نیاز به کدنویسی.
- llama.cpp : یک پورت محبوب متنباز C++ از Llama (و Gemma) که روی CPUها و Apple Silicon فوقالعاده سریع اجرا میشود.
- LiteRT-LM : یک رابط خط فرمان ( CLI ) برای اجرای مدلهای بهینهشدهی
.litertlmGemma روی دسکتاپ (ویندوز، لینوکس، macOS) ارائه میدهد که توسط LiteRT (که قبلاً TFLite نام داشت) پشتیبانی میشود. - MLX : چارچوبی که به طور خاص برای یادگیری ماشینی روی اپل سیلیکون طراحی شده است، برای کاربران مک که به دنبال عملکرد داخلی هستند، ایدهآل است.
- Gemma.cpp : یک موتور استنتاج C++ سبک و مستقل که بهطور خاص از گوگل ارائه شده است.
- Ollama : ابزاری برای اجرای LLM های باز به صورت محلی، که اغلب برای تقویت سایر برنامهها استفاده میشود.
۲. توسعه پایتون (تحقیق و تنظیم دقیق)
چارچوبهای استاندارد برای توسعهدهندگان هوش مصنوعی که برنامههای کاربردی، خطوط لوله یا مدلهای آموزشی میسازند.
- مبدلهای چهره در آغوش گرفته : استاندارد صنعتی برای دسترسی سریع به مدلها و خطوط لوله.
- Unsloth : یک کتابخانه بهینه شده برای تنظیم دقیق LLMها. این کتابخانه به شما امکان میدهد مدلهای Gemma را ۲ تا ۵ برابر سریعتر و با حافظه بسیار کمتر آموزش دهید و امکان تنظیم دقیق روی GPUهای مصرفی (مثلاً ردیفهای رایگان Google Colab) را فراهم میکند.
- Keras / JAX / PyTorch : کتابخانههای اصلی برای تحقیقات یادگیری عمیق و پیادهسازی معماری سفارشی.
۳. استقرار موبایل و لبه (روی دستگاه)
چارچوبهایی که برای اجرای مستقیم LLMها روی دستگاههای کاربر (اندروید، iOS، وب) بدون اتصال به اینترنت طراحی شدهاند و اغلب از NPUها (واحدهای پردازش عصبی) استفاده میکنند.
- LiteRT-LM : چارچوب کاملاً متنباز برای توسعه LLM روی دستگاه که حداکثر عملکرد و کنترل دقیق را با پشتیبانی مستقیم از شتابدهی CPU، GPU و NPU در اندروید و iOS ارائه میدهد.
- رابط برنامهنویسی کاربردی استنتاج MediaPipe LLM : سادهترین راه برای ادغام Gemma در برنامههای چند پلتفرمی. این رابط یک رابط برنامهنویسی کاربردی سطح بالا ارائه میدهد که در اندروید، iOS و وب کار میکند.
۴. استقرار ابری و تولید
سرویسهای مدیریتشده برای مقیاسپذیری برنامه شما برای هزاران کاربر یا دسترسی به قدرت محاسباتی عظیم.
- Vertex AI : پلتفرم هوش مصنوعی کاملاً مدیریتشدهی گوگل کلود. بهترین گزینه برای برنامههای سازمانی که نیاز به SLA و مقیاسپذیری دارند.
- موتور کوبرنتیز گوگل کلود (GKE) : برای هماهنگسازی خوشههای سرویسدهی خودتان.
- vLLM : یک موتور استنتاج و سرویسدهی با توان عملیاتی بالا و حافظه کارآمد که اغلب در استقرارهای ابری استفاده میشود.
مطمئن شوید که قالب مدل Gemma مورد نظر شما برای استقرار، مانند قالب داخلی Keras، Safetensors یا GGUF، توسط چارچوب انتخابی شما پشتیبانی میشود.
یک نوع Gemma را انتخاب کنید
مدلهای Gemma در انواع و اندازههای مختلفی موجود هستند، از جمله مدلهای پایه یا اصلی Gemma، و انواع مدلهای تخصصیتر مانند PaliGemma و DataGemma ، و بسیاری از انواع ایجاد شده توسط جامعه توسعهدهندگان هوش مصنوعی در سایتهایی مانند Kaggle و Hugging Face . اگر در مورد اینکه با کدام نوع باید شروع کنید مطمئن نیستید، جدیدترین مدل Gemma core instruction-tuned (IT) را با کمترین تعداد پارامترها انتخاب کنید. این نوع مدل Gemma نیازهای محاسباتی کمی دارد و میتواند بدون نیاز به توسعه اضافی به طیف گستردهای از دستورات پاسخ دهد.
هنگام انتخاب نوع Gemma، عوامل زیر را در نظر بگیرید:
- هسته Gemma و سایر خانوادههای گونه مانند PaliGemma، CodeGemma : Gemma (هسته) را توصیه میکنیم. گونههای Gemma فراتر از نسخه اصلی، معماری مشابه مدل اصلی دارند و برای عملکرد بهتر در وظایف خاص آموزش دیدهاند. مگر اینکه برنامه یا اهداف شما با تخصص یک گونه خاص Gemma همسو باشد، بهتر است با یک هسته Gemma یا مدل پایه شروع کنید.
- تنظیمشده با دستورالعمل (IT)، از پیش آموزشدیده (PT)، تنظیمشده دقیق (FT)، ترکیبی (mix) : فناوری اطلاعات را توصیه میکنم.
- مدلهای Gemma با تنظیم دستورالعمل (IT) مدلهایی هستند که برای پاسخ به انواع دستورالعملها یا درخواستها به زبان انسان آموزش دیدهاند. این مدلهای مختلف بهترین نقطه شروع هستند زیرا میتوانند بدون آموزش بیشتر مدل، به دستورات پاسخ دهند.
- مدلهای از پیش آموزشدیده (PT) Gemma مدلهایی هستند که برای استنتاج در مورد زبان یا سایر دادهها آموزش دیدهاند، اما برای پیروی از دستورالعملهای انسانی آموزش ندیدهاند. این مدلها برای انجام مؤثر وظایف به آموزش یا تنظیم اضافی نیاز دارند و برای محققان یا توسعهدهندگانی در نظر گرفته شدهاند که میخواهند قابلیتهای مدل و معماری آن را مطالعه یا توسعه دهند.
- گونههای Gemma تنظیمشدهی دقیق (FT) را میتوان گونههای فناوری اطلاعات در نظر گرفت، اما معمولاً برای انجام یک کار خاص یا عملکرد خوب در یک معیار هوش مصنوعی مولد خاص آموزش دیدهاند. خانواده گونههای PaliGemma شامل تعدادی گونه FT است.
- انواع مختلف Gemma ( ترکیبی ) نسخههایی از مدلهای PaliGemma هستند که با دستورالعملهای متنوعی تنظیم شدهاند و برای استفاده عمومی مناسب هستند.
- پارامترها : کمترین تعداد موجود را توصیه کنید . به طور کلی، هرچه یک مدل پارامترهای بیشتری داشته باشد، توانایی بیشتری دارد. با این حال، اجرای مدلهای بزرگتر به منابع محاسباتی بزرگتر و پیچیدهتری نیاز دارد و عموماً توسعه یک برنامه هوش مصنوعی را کند میکند. مگر اینکه قبلاً تشخیص داده باشید که یک مدل Gemma کوچکتر نمیتواند نیازهای شما را برآورده کند، مدلی با تعداد پارامترهای کمتر را انتخاب کنید.
- سطوح کوانتیزاسیون: به جز تنظیم، دقت نیم بیتی (16 بیتی) را توصیه کنید . کوانتیزاسیون موضوع پیچیدهای است که به اندازه و دقت دادهها و در نتیجه میزان حافظهای که یک مدل هوش مصنوعی مولد برای محاسبات و تولید پاسخها استفاده میکند، بستگی دارد. پس از آموزش یک مدل با دادههای با دقت بالا، که معمولاً دادههای ممیز شناور 32 بیتی هستند، مدلهایی مانند Gemma را میتوان برای استفاده از دادههای با دقت پایینتر مانند اندازههای 16، 8 یا 4 بیتی اصلاح کرد. این مدلهای کوانتیزه شده Gemma همچنان میتوانند بسته به پیچیدگی وظایف، عملکرد خوبی داشته باشند، در حالی که از منابع محاسباتی و حافظه به طور قابل توجهی کمتری استفاده میکنند. با این حال، ابزارهای تنظیم مدلهای کوانتیزه محدود هستند و ممکن است در چارچوب توسعه هوش مصنوعی انتخابی شما در دسترس نباشند. معمولاً، شما باید مدلی مانند Gemma را با دقت کامل تنظیم دقیق کنید، سپس مدل حاصل را کوانتیزه کنید.
برای فهرستی از مدلهای کلیدی Gemma که توسط گوگل منتشر شدهاند، به شروع کار با مدلهای Gemma و فهرست مدلهای Gemma مراجعه کنید.
اجرای درخواستهای تولید و استنتاج
پس از انتخاب یک چارچوب اجرایی هوش مصنوعی و یک نوع Gemma، میتوانید اجرای مدل را شروع کنید و آن را برای تولید محتوا یا انجام وظایف ترغیب کنید. برای اطلاعات بیشتر در مورد نحوه اجرای Gemma با یک چارچوب خاص، به راهنماهای مرتبط در بخش « انتخاب یک چارچوب» مراجعه کنید.
قالببندی سریع
تمام انواع Gemma که با دستورالعمل تنظیم شدهاند، الزامات قالببندی اعلان خاصی دارند. برخی از این الزامات قالببندی به طور خودکار توسط چارچوبی که برای اجرای مدلهای Gemma استفاده میکنید، مدیریت میشوند، اما وقتی دادههای اعلان را مستقیماً به یک توکنساز ارسال میکنید، باید برچسبهای خاصی اضافه کنید و الزامات برچسبگذاری بسته به نوع Gemma که استفاده میکنید، میتواند تغییر کند. برای اطلاعات در مورد قالببندی اعلان نوع Gemma و دستورالعملهای سیستم، به راهنماهای زیر مراجعه کنید: