مدل‌های زبان بزرگ روی دستگاه با Keras و TensorFlow Lite

۱. قبل از شروع

یکی از هیجان‌انگیزترین پیشرفت‌های اخیر در یادگیری ماشین، مدل‌های زبان بزرگ (LLM) است. از آن‌ها می‌توان برای تولید متن، ترجمه زبان‌ها و پاسخ به سوالات به روشی جامع و آموزنده استفاده کرد. LLMها، مانند Google LaMDA و PaLM ، بر روی حجم عظیمی از داده‌های متنی آموزش دیده‌اند که به آن‌ها امکان می‌دهد الگوهای آماری و روابط بین کلمات و عبارات را یاد بگیرند. این امر آن‌ها را قادر می‌سازد متنی تولید کنند که شبیه به متن نوشته شده توسط انسان باشد و زبان‌ها را با درجه بالایی از دقت ترجمه کنند.

LLMها از نظر فضای ذخیره‌سازی بسیار بزرگ هستند و عموماً برای اجرا به قدرت محاسباتی زیادی نیاز دارند، به این معنی که معمولاً روی فضای ابری مستقر می‌شوند و به دلیل قدرت محاسباتی محدود روی دستگاه‌های تلفن همراه، برای یادگیری ماشینی روی دستگاه (ODML) بسیار چالش برانگیز هستند. اما می‌توان LLMهایی در مقیاس کوچکتر (مثلاً GPT-2) را روی یک دستگاه اندرویدی مدرن اجرا کرد و همچنان به نتایج چشمگیری دست یافت.

در اینجا نسخه آزمایشی از اجرای نسخه‌ای از مدل Google PaLM با ۱.۵ میلیارد پارامتر در Google Pixel 7 Pro بدون افزایش سرعت پخش ارائه شده است.

PaLM روی پیکسل ۷ پرو

در این آزمایشگاه کد، شما تکنیک‌ها و ابزارهای لازم برای ساخت یک برنامه مبتنی بر LLM (با استفاده از GPT-2 به عنوان یک مدل نمونه) را با موارد زیر یاد می‌گیرید:

  • KerasNLP برای بارگذاری یک LLM از پیش آموزش دیده
  • KerasNLP برای تنظیم دقیق یک LLM
  • TensorFlow Lite برای تبدیل، بهینه‌سازی و استقرار LLM در اندروید

پیش‌نیازها

  • آشنایی متوسط ​​با Keras و TensorFlow Lite
  • دانش پایه در توسعه اندروید

آنچه یاد خواهید گرفت

  • نحوه استفاده از KerasNLP برای بارگذاری یک LLM از پیش آموزش دیده و تنظیم دقیق آن
  • نحوه کوانتیزه کردن و تبدیل LLM به TensorFlow Lite
  • نحوه اجرای استنتاج روی مدل تبدیل‌شده TensorFlow Lite

آنچه نیاز دارید

۲. آماده شوید

برای دانلود کد این codelab:

  1. برای این آزمایشگاه کد به مخزن گیت‌هاب بروید.
  2. برای دانلود تمام کدهای این codelab، روی Code > Download zip کلیک کنید.

تصویر مخزن

  1. فایل زیپ دانلود شده را از حالت فشرده خارج کنید تا پوشه ریشه examples حاوی تمام منابع مورد نیاز شما باز شود.

۳. برنامه‌ی آغازین را اجرا کنید

  1. examples/lite/examples/generative_ai/android را به اندروید استودیو ایمپورت کنید.
  2. شبیه‌ساز اندروید را اجرا کنید و سپس روی اجرا.png در منوی ناوبری اجرا کنید .

برنامه را اجرا و بررسی کنید

برنامه باید روی دستگاه اندروید شما اجرا شود. نام این برنامه «تکمیل خودکار» است. رابط کاربری آن بسیار ساده است: می‌توانید چند کلمه کلیدی را در کادر متن تایپ کنید و روی «تولید» (Generate ) ضربه بزنید؛ سپس برنامه استنتاج را روی یک LLM اجرا می‌کند و بر اساس ورودی شما متن اضافی تولید می‌کند.

در حال حاضر، اگر بعد از تایپ چند کلمه روی Generate (ایجاد) ضربه بزنید، هیچ اتفاقی نمی‌افتد. دلیلش این است که هنوز LLM (مدیریت خط تولید) اجرا نشده است.

اسکرین شات برای برنامه شروع کننده

۴. آماده‌سازی LLM برای استقرار روی دستگاه

۵. برنامه اندروید را تکمیل کنید

حالا که مدل GPT-2 را به TensorFlow Lite تبدیل کرده‌اید، بالاخره می‌توانید آن را در برنامه مستقر کنید.

برنامه را اجرا کنید

  1. فایل مدل autocomplete.tflite که از مرحله قبل دانلود کرده‌اید را به پوشه app/src/main/assets/ در اندروید استودیو بکشید (drag) و رها کنید.

اضافه کردن مدل به اندروید استودیو

  1. کلیک اجرا.png در منوی ناوبری اجرا کنید و سپس منتظر بارگذاری برنامه باشید.
  2. چند کلمه کلیدی را در فیلد متن تایپ کنید و سپس روی «تولید» (Generate) ضربه بزنید.

تصویر صفحه برای برنامه تمام شده

۶. نکاتی در مورد هوش مصنوعی مسئولیت‌پذیر

همانطور که در اطلاعیه اصلی OpenAI GPT-2 اشاره شد، مدل GPT-2 دارای نکات و محدودیت‌های قابل توجهی است. در واقع، LLM های امروزی عموماً با چالش‌های شناخته‌شده‌ای مانند توهم، خروجی توهین‌آمیز، انصاف و سوگیری مواجه هستند؛ دلیل این امر این است که این مدل‌ها بر اساس داده‌های دنیای واقعی آموزش دیده‌اند و همین امر باعث می‌شود که منعکس‌کننده مسائل دنیای واقعی باشند.

این آزمایشگاه کد فقط برای نشان دادن نحوه ایجاد یک برنامه مبتنی بر LLM با ابزار TensorFlow ایجاد شده است. مدل تولید شده در این آزمایشگاه کد فقط برای اهداف آموزشی است و برای استفاده در محیط عملیاتی در نظر گرفته نشده است .

استفاده از تولید LLM نیازمند انتخاب هوشمندانه مجموعه داده‌های آموزشی و کاهش جامع خطرات ایمنی است. برای کسب اطلاعات بیشتر در مورد هوش مصنوعی مسئولانه در زمینه LLMها، حتماً جلسه فنی «توسعه ایمن و مسئولانه با مدل‌های زبانی مولد» را در Google I/O 2023 تماشا کنید و جعبه ابزار هوش مصنوعی مسئولانه را بررسی کنید.

۷. نتیجه‌گیری

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

بیشتر بدانید