1. قبل از شروع
یکی از جالبترین پیشرفتهای اخیر یادگیری ماشینی، مدلهای زبان بزرگ (LLM) است. از آنها می توان برای تولید متن، ترجمه زبان ها و پاسخ به سوالات به روشی جامع و آموزنده استفاده کرد. LLM ها، مانند Google LaMDA و PalM ، بر روی مقادیر انبوهی از داده های متنی آموزش دیده اند، که به آنها امکان می دهد الگوهای آماری و روابط بین کلمات و عبارات را بیاموزند. این به آنها امکان میدهد متنی شبیه به متن نوشته شده توسط انسان تولید کنند و زبانها را با درجه بالایی از دقت ترجمه کنند.
LLM ها از نظر فضای ذخیره سازی بسیار بزرگ هستند و به طور کلی برای اجرا، توان محاسباتی زیادی مصرف می کنند، به این معنی که معمولاً در فضای ابری مستقر می شوند و به دلیل قدرت محاسباتی محدود در دستگاه های تلفن همراه، برای یادگیری ماشین روی دستگاه (ODML) بسیار چالش برانگیز هستند. . اما می توان LLM هایی در مقیاس کوچکتر (مثلاً GPT-2) را روی دستگاه اندرویدی مدرن اجرا کرد و همچنان به نتایج چشمگیر دست یافت.
در اینجا یک نسخه نمایشی از اجرای یک نسخه از مدل Google PalM با 1.5 میلیارد پارامتر در Google Pixel 7 Pro بدون افزایش سرعت پخش ارائه شده است.
در این کد لبه، تکنیکها و ابزارهای ساخت یک برنامه مبتنی بر LLM (با استفاده از GPT-2 به عنوان نمونه) را با موارد زیر یاد میگیرید:
- KerasNLP برای بارگیری یک LLM از پیش آموزش دیده
- KerasNLP برای تنظیم دقیق یک LLM
- TensorFlow Lite برای تبدیل، بهینه سازی و استقرار LLM در اندروید
پیش نیازها
- دانش متوسط Keras و TensorFlow Lite
- دانش اولیه توسعه اندروید
چیزی که یاد خواهید گرفت
- نحوه استفاده از KerasNLP برای بارگیری یک LLM از پیش آموزش دیده و تنظیم دقیق آن
- نحوه کمی کردن و تبدیل یک LLM به TensorFlow Lite
- نحوه اجرای استنتاج در مدل TensorFlow Lite تبدیل شده
آنچه شما نیاز دارید
- دسترسی به Colab
- آخرین نسخه اندروید استودیو
- یک دستگاه اندرویدی مدرن با رم بیش از 4G
2. راه اندازی شوید
برای دانلود کد این کد لبه:
- به مخزن GitHub برای این Codelab بروید.
- روی Code > Download zip کلیک کنید تا همه کدهای این کد لبه را دانلود کنید.
- فایل فشرده دانلود شده را از حالت فشرده خارج کنید تا پوشه ریشه
examples
با تمام منابعی که نیاز دارید باز شود.
3. برنامه استارتر را اجرا کنید
- پوشه
examples/lite/examples/generative_ai/android
به Android Studio وارد کنید. - شبیه ساز اندروید را راه اندازی کنید و سپس کلیک کنید در منوی ناوبری اجرا کنید .
برنامه را اجرا و کاوش کنید
برنامه باید روی دستگاه اندرویدی شما راه اندازی شود. این برنامه «تکمیل خودکار» نام دارد. رابط کاربری بسیار ساده است: می توانید چند کلمه اولیه را در کادر متن تایپ کنید و روی Generate ضربه بزنید. سپس برنامه استنتاج را روی یک LLM اجرا می کند و متن اضافی را بر اساس ورودی شما تولید می کند.
در حال حاضر، اگر بعد از تایپ چند کلمه روی Generate ضربه بزنید، هیچ اتفاقی نمی افتد. این به این دلیل است که هنوز یک LLM را اجرا نمی کند.
4. LLM را برای استقرار روی دستگاه آماده کنید
- Colab را باز کنید و از طریق نوت بوک (که در مخزن TensorFlow Codelabs GitHub میزبانی می شود) اجرا کنید.
5. برنامه اندروید را تکمیل کنید
اکنون که مدل GPT-2 را به TensorFlow Lite تبدیل کرده اید، در نهایت می توانید آن را در برنامه مستقر کنید.
برنامه را اجرا کنید
- فایل مدل
autocomplete.tflite
دانلود شده از آخرین مرحله را به پوشهapp/src/main/assets/
در Android Studio بکشید.
- کلیک کنید در منوی ناوبری اجرا کنید و سپس منتظر بمانید تا برنامه بارگیری شود.
- چند کلمه اولیه را در قسمت نوشتار تایپ کنید و سپس روی Generate ضربه بزنید.
6. نکاتی در مورد هوش مصنوعی مسئول
همانطور که در اعلامیه اصلی OpenAI GPT-2 اشاره شد، اخطارها و محدودیت های قابل توجهی در مورد مدل GPT-2 وجود دارد. در واقع، امروزه LLM ها معمولاً دارای چالش های شناخته شده ای مانند توهم، خروجی توهین آمیز، انصاف و سوگیری هستند. این به این دلیل است که این مدلها بر روی دادههای دنیای واقعی آموزش داده شدهاند که باعث میشود آنها مسائل دنیای واقعی را منعکس کنند.
این کد لبه فقط برای نشان دادن نحوه ایجاد یک برنامه با LLM با ابزار TensorFlow ایجاد شده است. مدل تولید شده در این کد لبه فقط برای اهداف آموزشی است و برای استفاده در تولید در نظر گرفته نشده است .
استفاده از تولید LLM مستلزم انتخاب متفکرانه مجموعه داده های آموزشی و کاهش ایمنی جامع است. برای کسب اطلاعات بیشتر در مورد هوش مصنوعی مسئول در زمینه LLM، حتماً جلسه فنی توسعه ایمن و مسئولانه با مدلهای زبان مولد را در Google I/O 2023 تماشا کنید و جعبه ابزار هوش مصنوعی مسئول را بررسی کنید.
7. نتیجه گیری
تبریک می گویم! شما یک برنامه برای تولید متن منسجم بر اساس ورودی کاربر با اجرای یک مدل زبان بزرگ از پیش آموزش دیده صرفاً بر روی دستگاه ایجاد کردید!