یک مدل Gemma 270m تنظیم‌شده با پشته Google AI Edge را مستقر کنید.

این آموزش شما را در فرآیند کامل استقرار یک مدل Gemma سفارشی‌سازی‌شده در یک برنامه نمونه اندروید راهنمایی می‌کند.

در این آموزش، ما:

  1. با یک مدل دقیق شروع کنید
  2. تبدیل مدل تنظیم‌شده دقیق با کتابخانه AI Edge Torch
    1. این دستور، Checkpoint مربوط به HuggingFace را به یک فایل .litertlm تبدیل می‌کند.
  3. کیفیت مدل تنظیم‌شده دقیق را ارزیابی کنید
  4. دستورات adb را اجرا کنید تا مدل سفارشی را به یک دستگاه آزمایشی منتقل کنید
    1. این کار مدل را با فرمت .litertlm برای آزمایش محلی به دستگاه اندروید منتقل می‌کند.
  5. برنامه نمونه Pirate Gemma را اجرا کنید
    1. این از کتابخانه LiteRT-LM کاتلین برای اجرای استنتاج روی مدل تنظیم‌شده دقیق در یک برنامه اندروید نمونه استفاده خواهد کرد.

مرحله ۱: با یک مدل دقیق شروع کنید

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

می‌توانید مدل از پیش تنظیم‌شده‌ی Pirate Gemma را در https://huggingface.co/erintwalsh/pirate-gemma پیدا کنید.

برای اطلاعات بیشتر در مورد تنظیم دقیق یک مدل، به کتاب آشپزی Gemma و راهنماهای Unsloth مراجعه کنید.

مرحله ۲: تبدیل و اجرای مدل سفارشی خود در خط فرمان

حالا که یک مدل سفارشی در HuggingFace منتشر کرده‌اید، می‌توانید از کتابخانه AI Edge Torch برای دانلود و تبدیل آن مدل به فرمت .litertlm استفاده کنید.

پیش‌نیازها

مطمئن شوید که ابزار uv و پایتون ۳.۱۱ یا بالاتر روی دستگاه شما نصب شده باشد.

تبدیل مدل

uv tool install litert-torch-nightly

litert-torch export_hf \
  --model=[YOUR-HF-USERNAME]/pirate-gemma \
  --output_dir=/tmp/pirate-gemma \
  --externalize_embedder

مدل خود را به صورت محلی اجرا کنید

uv tool install litert-lm

litert-lm run  \
  /tmp/pirate-gemma/model.litertlm \
  --prompt="Where is the nearest buried treasure?"

مرحله ۳: ارزیابی کیفیت مدل

ارزیابی کیفیت تنظیم دقیق

پس از اجرای مدل خود به صورت محلی، می‌توانید از ابزار ارزیابی AI Edge CLI برای تجزیه و تحلیل کیفیت مدل LiteRT-LM حاصل از تنظیم دقیق استفاده کنید. این ابزار اعتبارسنجی برابری کیفیت پس از تبدیل داخلی بین مدل HF اصلی و مدل LiteRT-LM تبدیل شده با مجموعه داده‌های عمومی را ارائه می‌دهد. فراتر از مجموعه داده‌های عمومی، می‌توانید وظایف ارزیابی سفارشی را با استفاده از داده‌های خود و معیارهای خاص ایجاد کنید. برای ارزیابی این مدل تنظیم دقیق با استفاده از LLM-as-a-Judge، به یک مثال از وظایف سفارشی مراجعه کنید.

uv tool install ai-edge-eval

GEMINI_API_KEY="your_actual_api_key_here"
ai_edge_eval \
  --framework custom \
  --runner litert-lm \
  --model-path /path/to/your/model.litertlm \
  --custom-tasks-file pirate_gemma_custom_task.py \
  --tasks pirate_gemma_eval \
  --output-dir /tmp/results

مرحله ۴: مدل محلی خود را به دستگاه آزمایشی خود منتقل کنید

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

adb shell rm -r /data/local/tmp/llm/ # Remove any previously loaded models

adb shell mkdir -p /data/local/tmp/llm/

adb push /tmp/pirate-gemma/model.litertlm  /data/local/tmp/llm/pirate-gemma.litertlm

مرحله ۵: اجرای استنتاج روی مدل سفارشی خود با برنامه نمونه Captain Gemma

Captain Gemma برنامه‌ای است که نحوه‌ی ارتباط با مدل روی دستگاه را نشان می‌دهد. آن را در GitHub پیدا کنید و مخزن را کلون کنید تا در اندروید استودیو اجرا شود.

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

برنامه را روی دستگاه آزمایشی خود که فایل .litertlm را به آن منتقل کرده‌اید، اجرا کنید. یک کوئری وارد کنید و خروجی مدل را در کادر سفید گفتار مشاهده کنید.

صفحه اصلی برنامه نمونه

کد نمونه

نمونه‌هایی از راه‌اندازی مدل و اجرای استنتاج با APIهای LiteRT-LM را در کد نمونه Captain Gemma ببینید.

مرحله 6: استقرار مدل

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

  • می‌توانید فایل .litertlm خود را به مخزن مدل HuggingFace که قبلاً ایجاد کرده‌اید، ارسال کنید و با استفاده از APIهای HuggingFace آن را در برنامه خود دانلود کنید.
  • می‌توانید از یک سرویس میزبانی مانند Firebase استفاده کنید که APIهایی را برای برنامه شما فراهم می‌کند تا URL مدل شما را دریافت کرده و برای اندروید یا iOS دانلود کند.