برنامه‌های هوشمند

درون Gemini Nano و Gemma 4 که هوش درون‌دستگاهی را تقویت می‌کنند

بلندگو

  • Sara Smoot

    رهبر مهندسی Gemma

درباره

درباره سخنرانی

‫Gemma 4 هوش مصنوعی چندحالتی توانمندی را مستقیماً به دستگاه‌های Android می‌آورد. در این جلسه، نحوه تکامل Gemma به یک خانواده مدل ساخته‌شده برای کارایی را ردیابی خواهیم کرد و بررسی خواهیم کرد که مدل‌های E2B و E4B بهینه‌سازی‌شده برای لبه چه کارهایی می‌توانند در دستگاه انجام دهند، از درک بینایی و صوتی گرفته تا فراخوانی تابع عاملی. ما معماری پشت این کارایی را، ازجمله جاسازی‌های لایه‌ای (PLE)، پوشش خواهیم داد و نشان خواهیم داد که Gemma و Gemini Nano چگونه ازطریق AICore باهم کار می‌کنند. خواهید آموخت که چگونه «آموزش آگاه از کوانتیزاسیون» (QAT) قابلیت مدل را در ردپای حافظه دسترسی تصادفی ۱٫۱ تا ۳٫۵ گیگابایتی حفظ می‌کند، درحالی‌که «پیش‌بینی چندنشانه‌ای» (MTP) سرعت رمزگشایی را ۱٫۵ تا ۳ برابر برای تجربه‌های پاسخگو و هم‌زمان افزایش می‌دهد.

خلاصه

  • مدل‌های Gemma 4 قابلیت‌های چندحالته درون‌دستگاهی را با بافت ۱۲۸ هزار نشانه‌ای در E2B/E4B تحت پروانه Apache 2 گسترش می‌دهند.
  • مدل‌های پیش‌نویس پیش‌بینی چندنشانه‌ای تأخیر رمزگشایی را تا ۴۰٪ کاهش می‌دهند و ۳۰٪ تا ۴۰٪ در مصرف انرژی صرفه‌جویی می‌کنند. آن‌ها حافظه نهان KV مدل پایه را هم‌رسانی می‌کنند تا از بازتولید پیش‌پرها جلوگیری شود.
  • آموزش آگاه از کوانتیزاسیون، نقطه بازرسی کوانتیزاسیون سفارشی تلفن همراه را بااستفاده از کوانتیزاسیون ۲ بیتی هدفمند به کمتر از ۱ گیگابایت فشرده می‌کند.
  • برنامه‌های Android می‌توانند مدل‌ها را به‌صورت خودکار ازطریق AICore به‌عنوان Gemini Nano 4 ادغام کنند، یا آن‌ها را با LiteRT برای تنظیم دقیق سفارشی ترکیب کنند.

منابع

Gemini Notebook

موضوع

  • gemini-nano
  • gemma-4
  • on-device-ai
  • mobile-ml
  • aicore
  • litert
  • کوانتیزاسیون

آوانویسی

معرفی و تکامل مدل‌های Gemma

  • Sara Smoot

    سلام، به این گفتگو خوش آمدید.

  • من سارا هستم و به‌عنوان سرپرست مهندسی در بخش مدل‌سازی Gemma فعالیت می‌کنم.

  • بنابراین چیزی که امروز می‌خواهم درباره آن با شما صحبت کنم مدل‌های ما است.

  • می‌خواهم درباره قابلیت‌ها و نحوه تفکر ما درباره طراحی برای تلفن همراه صحبت کنم.

  • می‌خواهم درباره تکنیک‌هایی صحبت کنم که در مدل ایجاد می‌کنیم تا بتوانند به‌طور کارآمد در تلفن همراه اجرا شوند.

  • نحوه دسترسی به آن و نحوه ادغام ما با AICore را توضیح خواهم داد.

  • و سپس، با چند نسخه نمایشی به پایان می‌رسانم تا فقط مدل را به نمایش بگذارم و به شما ایده‌ای بدهم که مدل چه توانایی‌هایی دارد و چه کارهایی می‌تواند انجام دهد.

  • بنابراین برای درک اینکه به کجا می‌رویم، درک اینکه کجا بوده‌ایم کمک می‌کند.

  • ما Gemma 1 را در سال ۲۰۲۴ راه‌اندازی کردیم.

  • ما یک مدل پارامتر ۲ میلیارد و ۷ میلیارد، فقط متنی، با اندازه‌های بسیار بسیار کوچک در مقایسه با آنچه در آن زمان در جریان بود، راه‌اندازی کردیم.

  • به‌دنبال Gemma 1،‏ Gemma 2 را راه‌اندازی کردیم که قابلیت‌های بیشتری را معرفی کرد.

  • کدنویسی را معرفی کردیم.

  • همچنین یک مدل با اندازه بزرگ، 27B، معرفی کردیم که واقعاً قابلیت‌های سری Gemma را گسترش داد.

  • ‫Gemma 3 کمی بعد عرضه شد.

  • دوباره، قابلیت‌های بیشتری اضافه کردیم، چندحالتی، و سپس یک مدل کوچک‌تر، یک مدل با ۲۷۰ میلیون پارامتر، چون متوجه شدیم که مدل‌های کوچک‌تر واقعاً موارد استفاده زیادی دارند و ما واقعاً تلاش می‌کنیم تا حد امکان به فعال کردن موارد استفاده آنلاین در تلفن همراه کمک کنیم.

  • بنابراین با هر نسخه جدید، توانایی‌های ما افزایش می‌یابد و این هدفمند است.

  • کاری که ما انجام می‌دهیم این است که برای سخت‌افزار تک‌دستگاهی طراحی می‌کنیم و تلاش می‌کنیم، منظورم این است که این شامل تلفن‌ها، رایانه‌های کیفی، و GPU می‌شود، و هدف ما ساختن مدل بزرگ‌تر نیست، هرچند که تا ۱۲ تا ۲۷ میلیارد پارامتر پیش رفتیم، هدف ما این است که با هر تکرار، قابلیت‌های بیشتری را در همان فضای اشغال‌شده جا دهیم، چون می‌خواهیم روی دستگاه بمانیم، می‌خواهیم محلی بمانیم.

  • بنابراین، روشی که ما این کار را انجام داده‌ایم، ایجاد کارایی بهتر است.

  • و می‌خواهم درباره کارهایی که به‌طور خاص برای Gemma 4 انجام داده‌ایم و نحوه انجام آن‌ها صحبت کنم.

  • ما E2B را راه‌اندازی کردیم، من در یک دقیقه آن «E» را توضیح خواهم داد، ما E4B را راه‌اندازی کردیم، ما یک مدل یکپارچه 12B را راه‌اندازی کردیم، توضیح می‌دهم چرا این کار را کردیم، و سپس یک مدل MoE را نیز راه‌اندازی کردیم.

  • همه این‌ها برای کمک به اثبات کارایی و ارائه انعطاف‌پذیری بیشتر به توسعه‌دهندگان برای برنامه‌ها و چیزهایی است که می‌خواهند بسازند.

  • بنابراین با نگاهی دقیق‌تر به قابلیت‌ها، در اینجا می‌توانید قابلیت‌هایی را که درطول زمان اضافه کرده‌ایم ببینید.

  • چند نکته که می‌خواهم به آن‌ها اشاره کنم، طول بافت است.

  • ما طول بافتار بسیار طولانی‌تری نسبت‌به نسخه‌های قبلی Gemma اضافه کرده‌ایم.

  • ‫Gemma 4 تا ۱۲۸ هزار بافت دارد.

  • مدل‌های بزرگ‌تر تا ۲۵۶ می‌رسند.

  • I will note that ML Kit does put a cap on the context length, so make sure you check your what your budget is before you expect that you can launch with 128.

  • اما این مقدار باید برای خواندن اسناد طولانی، انجام استدلال‌های گسترده، فراخوانی تابع، و همچنین فراهم کردن بودجه کافی برای انجام چندحالتی و استفاده از بینایی و صدا کافی باشد.

  • ویدیو قابلیت جدیدی است که درواقع از Gemma 3n اضافه کرده‌ایم و در Gemma 4 کمی بیشتر به آن پرداخته‌ایم.

  • بنابراین اکنون پشتیبانی چندزبانه داریم.

  • ما هنوز درحال آموزش روی چندین زبان هستیم، بنابراین هم پشتیبانی زبان داخلی دارید و هم پشتیبانی پیش‌آموزش‌دیده.

  • و همه این‌ها اکنون با پروانه کاملاً جدید Apache 2 ارائه می‌شود که ما واقعاً از آن هیجان‌زده هستیم، زیرا این پروانه انعطاف‌پذیری بسیار بیشتری در آنچه می‌توانید با آن بسازید فراهم می‌کند و همچنین اصطکاک را بسیار کمتر می‌کند.

  • ساختن و بارگیری مدل بسیار یکپارچه‌تر است.

قابلیت‌ها و محک‌های چندوجهی

  • Sara Smoot

    بسیارخوب، پس بینش، با بینش چه می‌کنیم؟

  • دیدگاه ما برای Gemma 4 به‌طور خاص این است که نسبت ابعادی متغیر داشته باشد.

  • بنابراین کاری که انجام می‌دهد این است که تصویری را می‌گیرد و به‌جای اینکه آن را فشرده کند و در یک مربع نامناسب قرار دهد، نسبت ابعادی واقعی مدل را حفظ می‌کنیم.

  • این یعنی نوشتار شما دچار اعوجاج نمی‌شود، اشیاء دچار اعوجاج نمی‌شوند.

  • این کار درواقع قابلیت مدل را به‌طور چشمگیری بهبود می‌بخشد.

  • شکل‌ها درست می‌مانند، OCR با این نسبت ابعادی متغیر بسیار بهبود یافته است.

  • این مدل بینایی همچنین می‌تواند نمودارها، صفحه‌گسترده‌ها، و گراف‌ها را بخواند.

  • همچنین می‌تواند از نشانه‌های تصویری ترجمه کند، بنابراین می‌توانید از کلمات عکس بگیرید و آن می‌تواند آن‌ها را برای شما ترجمه کند.

  • همچنین درباره دنیای فیزیکی استدلال می‌کند.

  • می‌تواند به تصویر نگاه کند، می‌تواند بفهمد چیزها کجا هستند، می‌تواند بفهمد چه چیزی در تصویر است.

  • می‌تواند کارهای زیادی انجام دهد.

  • و ویژگی کمتر شناخته‌شده دیگر درباره مدل‌های Gemma ما این است که می‌توانید بودجه توکن دیداری را تنظیم کنید.

  • بنابراین، درحال‌حاضر، منظورم این است که بررسی کنید و ببینید در ML Toolkit چیست، اما شما طیف وسیعی دارید.

  • اگر می‌خواهید قدرت و انرژی بیشتری را صرف درک تصویر با وضوح بالاتر کنید، می‌توانید آن را تنظیم کنید.

  • اگر این مورداستفاده‌ای نیست که واقعاً بخواهید از آن بهره ببرید، می‌توانید بودجه توکن تصویر را تا حد زیادی کاهش دهید و بخش زیادی از آن قدرت را بازیابی کنید و، می‌دانید، در چرخه‌های محاسباتی مدل برای برنامه‌های متنی خود استفاده کنید.

  • صدا حالت نسبتاً جدیدی برای ما است.

  • ما ابتدا آن را در Gemma 3n معرفی کردیم.

  • اکنون کاملاً به آن برای Gemma 4 تکیه می‌کنیم.

  • صدا فقط در کوچک‌ترین مدل‌های ما وجود دارد: مدل‌های E2B و E4B و 12B.

  • این ویژگی به‌طور کامل براساس فایل صوتی ترانویسی خواهد کرد.

  • گفتار را ترجمه می‌کند.

  • این مدل به‌طور پیش‌فرض از بیش‌از ۳۵ زبان پشتیبانی می‌کند.

  • همچنین آن را با بیش‌از ۱۴۰ زبان ازپیش آموزش داده‌ایم، بنابراین اگر می‌خواهید برای زبانی که جزو ۳۵ زبان ما نیست از آن استفاده کنید، باید بتوانید آن را تنظیم دقیق کنید و برای زبانی که به‌طور پیش‌فرض پشتیبانی نمی‌شود، پشتیبانی بسیار خوبی دریافت کنید.

  • استدلال عاملی را اضافه کرده‌ایم.

  • این هم در Gemma 4 جدید است.

  • برنامه‌ریزی می‌کند.

  • این مدل چندمرحله‌ای است.

  • از ابزارها استفاده می‌کند.

  • دستورالعمل‌ها را دقیقاً دنبال می‌کند.

  • این ابزار JSON ساختاریافته برمی‌گرداند.

  • می‌تواند همه کارهایی را که از یک مدل عامل‌گرا انتظار دارید انجام دهد.

  • I will say watch the Make sure you're using If you're doing If you're not using ML Toolkit, you're doing things by yourself, make sure you're paying attention to the chat templates.

  • الگوهای گپ پیچیده هستند.

  • باید بااحتیاط با آن‌ها رفتار شود.

  • اگر از ML Toolkit استفاده می‌کنید، همه این کارها برای شما انجام می‌شود.

  • و درنهایت، Gemma همچنان درک نوشتار عالی ارائه می‌دهد.

  • و با بافت طولانی‌تر، اکنون می‌توانیم کد و سندهای طولانی را تجزیه‌وتحلیل کنیم و ترجمه کنیم.

  • درواقع، با عملکرد کدنویسی، Android Studio اکنون از Gemma 4 در حالت آفلاین پشتیبانی می‌کند.

  • بنابراین، اگر بخواهید از Android Studio به‌صورت آفلاین استفاده کنید، این ابزار از Gemma 4 برای انجام کارهای کدنویسی شما استفاده خواهد کرد.

  • و نکته کلیدی: E2B و E4B به‌اندازه کافی کوچک هستند که درواقع در تلفنتان جا می‌شوند و به‌خوبی اجرا می‌شوند.

  • بنابراین، قابلیت‌های زیادی در یک فضای بسیار کوچک گنجانده شده است.

  • این درواقع یک چالش مهندسی بسیار دشوار است، بنابراین ما در تیم Gemma به این موضوع بسیار افتخار می‌کنیم.

  • در اینجا چند نمونه برای نشان دادن قابلیت‌ها آورده شده است.

  • در سمت راست، نشان می‌دهیم که مدل می‌تواند رایانه کیفی را پیدا کند و مختصات محل رایانه کیفی را برگرداند.

  • و سپس، برنامه می‌تواند اشاره‌گری بکشد و نشان دهد رایانه کیفی کجا است.

  • در مرکز، مدل می‌تواند اشیا را شناسایی کند و سپس کادرهای محدودکننده در اطراف آن اشیا بکشد.

  • برنامه‌های کاربردی جالبی برای این وجود دارد: تشخیص اشیا، اجتناب از اشیا.

  • این قابلیت واقعاً خوبی است.

  • در سمت چپ، نحوه خواندن نوشتار توسط مدل نشان داده شده است.

  • بنابراین، این جمله این‌طور ترجمه می‌شود: «احتیاط، گربه وجود دارد.»

  • همچنین متوجه می‌شود که در تصویر چه اتفاقی می‌افتد، و این گربه را در این موقعیت واقعاً خنده‌دار می‌بیند، و می‌تواند ترجمه کند و اشاره کند که این یک نکته خنده‌دار است که متن زیر آن می‌گوید: «ممکن است اتفاقی بیفتد.»

  • که به‌نظرم بامزه است.

  • بنابراین، اشاره کردن، تشخیص اشیا، OCR، و ترجمه کردن، همه بدون خط لوله بینایی خاصی انجام می‌شود.

  • خوب، بیایید به اعداد ارزیابی بپردازیم.

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

  • اگر به دو ستون آخر نگاه کنید، E2B در استدلال، کدنویسی، و عامل‌گرایی از Gemma 3 27B که مدل بسیار بزرگ‌تری است پیشی می‌گیرد.

  • پس به LiveCodeBench زنده نگاه کنید.

  • ‫Gemma 4 امتیاز ۴۴ و Gemma 3 27B امتیاز ۲۹ را کسب کرده‌اند.

  • AIME نیز بسیار بالاتر است.

  • Tau2 که یک ارزیابی عامل‌گرا است نیز بسیار بالاتر است و قدرت زیادی را در آنجا نشان می‌دهد.

  • اگر فقط چند پارامتر دیگر اضافه کنیم، مدل E4B ما در همه محک‌ها به‌طور قطعی مدل 27B ما را شکست می‌دهد.

  • بنابراین، با رفتن از Gemma 3 به Gemma 4، قابلیت‌های بسیار بیشتری را در همان تعداد پارامتر گنجانده‌ایم.

سخت‌افزار درون‌دستگاهی و معماری‌های مدل

  • Sara Smoot

    خب، چطور این کار را انجام می‌دهیم؟

  • توانمندتر کردن مدل بدون بزرگ‌تر کردن آن مسئله چالش‌برانگیزی است.

  • اگر فقط به سخت‌افزار نگاه کنید، تلفن‌ها حافظه بسیار کمتری دارند.

  • منظورم این است که ما به ۱۲ تا ۱۶ گیگابایت در مقابل حدود ۸۰ گیگابایتی که ممکن است در سرور دریافت کنید نگاه می‌کنیم.

  • پهنای باند نیز بسیار بسیار کمتر است: ۵۰ تا ۸۰ گیگابایت درمقابل ترابایت‌هایی که در سرور دریافت می‌کنید.

  • و سپس محدودیت‌های شدید برق وجود دارد.

  • بنابراین همه این‌ها را باید هنگام اجرای مدل در ذهن داشته باشیم.

  • و هر تکنیکی که در ادامه به شما نشان خواهم داد، هریک از این محدودیت‌ها را هدف قرار می‌دهد و به بهینه‌سازی بیشتر مدل برای اجرا روی سخت‌افزار تلفن همراه کمک می‌کند.

  • بسیار خوب، اولین کاری که می‌کنیم این است که برای هر اندازه یک معماری نداریم.

  • هر اندازه مدل معماری جداگانه خودش را دارد.

  • بنابراین E2B و E4B ما عناصر ویژه‌ای دارند که من در ادامه صحبتم عمدتاً روی آن‌ها تمرکز خواهم کرد، اما فکر می‌کنم مفید باشد که بدانید مدل 12B ما رمزگذار بینایی ندارد.

  • بنابراین با این مدل، رمزگذار بینایی را حذف کردیم تا هم استقرار را ساده کنیم و هم تعداد پارامترهای موردنیاز مدل را به حداقل برسانیم.

  • این یکی معمولاً سخت‌افزار رایانه کیفی ما را هدف قرار می‌دهد.

  • مدل‌های بزرگ ما برای نشان دادن بیشترین توانایی طراحی شده‌اند.

  • این مدل‌ها هم به‌صورت کاملاً متراکم و هم به‌صورت ترکیبی از مدل‌های متخصص ارائه می‌شوند.

  • مدل ترکیب کارشناسان می‌تواند روی رایانه‌های کیفی نیز اجرا شود و ما آن را به‌دلیل تأخیر کمتری که از معماری کارشناسان دریافت می‌کنید ساخته‌ایم.

  • بنابراین، در ادامه صحبت‌هایم، روی مدل‌های تلفن همراه، یعنی E2B و E4B، تمرکز خواهم کرد و درباره کارهایی که انجام داده‌ایم تا این مدل‌ها به‌خوبی روی تلفن‌های شما اجرا شوند صحبت خواهم کرد.

  • بسیار خوب، اینجاست که «E» از آن می‌آید، جاسازی‌های هر لایه.

  • این تکنیک جالبی است که ما داریم، یک تکنیک نوآورانه که به مدل‌ها اضافه کرده‌ایم.

  • و اگر به نحوه عملکرد مدل‌ها فکر کنید، مدل‌ها برای هوشمندتر شدن به پارامترهای بیشتری نیاز دارند.

  • و ما به‌دنبال ما درحال بهبود کارایی پارامتر هستیم، اما به‌طور کلی، اگر می‌خواهید مدل بهتر باشد، به پارامترهای بیشتری نیاز دارید.

  • و بنابراین PLE، کاری که انجام می‌دهد این است که می‌گوید، «بسیار خوب، ما به پارامترهای بیشتری نیاز داریم.»

  • اما به‌جای افزودن پارامترهای بیشتر مستقیماً به مدل، جدول جاسازی‌های اضافی داریم.

  • و این جدول جاسازی‌ها برای هر لایه خوانده می‌شود.

  • بنابراین کاری که می‌توانید با این کار انجام دهید این است که وقتی توکن‌هایی را که می‌دانید مدل به آن‌ها نیاز دارد، داشته باشید، می‌توانید جاسازی‌های هر لایه را که برای یک توالی ورودی معین نیاز دارید، وارد کنید و سپس می‌توانید فقط آن جاسازی‌ها را در مدل بارگذاری کنید.

  • بنابراین کاری که انجام می‌دهد این است که یک مدل ۲ میلیارد پارامتری مؤثر به شما می‌دهد، هرچند تعداد پارامترها به‌خودی‌خود کمی بیشتر است.

  • به‌همین دلیل است که می‌گوییم درعمل ۲ میلیارد پارامتر دارد، چون فقط آن ۲ میلیارد در حافظه شما بار می‌شود.

  • جدول جاسازی‌ها معمولاً در حافظه فلش ذخیره می‌شود، نه در RAM.

  • بنابراین واقعاً هم پهنای باند را محدود می‌کنید، چون مجبور نیستید پارامترهای زیادی را منتقل کنید، اما همچنان قابلیت‌های کامل مدل بسیار بزرگ‌تری را دریافت می‌کنید.

  • همچنین حافظه دسترسی تصادفی کمتری در دستگاه اشغال می‌کند.

  • مورد بعدی که اضافه کردیم مدل پیش‌نویس‌ساز است.

  • مدل پیش‌نویس‌کننده‌ای که برای Gemma استفاده می‌کنیم یک مدل «پیش‌بینی چندنشانه‌ای» است.

  • و نوعی کدگشایی گمان‌پردازانه است.

  • کاری که انجام می‌دهد این است که به شما می‌دهد این مدل در هر بار عبور، نشانه‌های بیشتری را نسبت‌به مدل خودبازگشتی عمومی پیش‌بینی می‌کند.

  • بنابراین، به‌جای اینکه مدل‌های خودبازگشتی معمولی فقط یک توکن را در هر بار انجام دهند، شما باید برای هر توکن کل مدل را طی کنید.

  • کاری که این پیش‌نویس‌کننده، یعنی MTP، انجام می‌دهد این است که سه یا چهار توکن را به‌طور هم‌زمان پیش‌بینی می‌کند و سپس از مدل اصلی برای اعتبارسنجی آن توکن‌ها استفاده می‌کنیم.

  • و اگر آن توکن‌ها پذیرفته شوند، استفاده می‌شوند، و سپس معمولاً می‌توانیم، می‌دانید، دو، سه، چهار توکن در هر بار دریافت کنیم، نه فقط یک توکن در هر بار.

  • این یک تکنیک رایج است.

  • مدل‌های Drafter دردسترس هستند.

  • کاری که ما انجام داده‌ایم و برای Gemma متفاوت و خاص است این است که حافظه پنهان KV را از مدل پایه هم‌رسانی می‌کنیم.

  • بنابراین برای E2B، پیش‌پر کردن کامل را انجام می‌دهیم، حافظه پنهان را می‌سازیم، و سپس مدل پیش‌نویس‌ساز ما از آن حافظه پنهان KV استفاده می‌کند.

  • بنابراین درواقع حدود ۱۳۰ میلی‌ثانیه در یک پیام‌واره هزار نشانه‌ای صرفه‌جویی می‌کنید، زیرا مجبور نیستید پیش‌پر کردن را برای مدل پیش‌نویس‌تان دوباره تولید کنید.

  • بنابراین مدل پیش‌نویس‌ساز ما حدود ۳۰ تا ۴۰ برابر سریع‌تر از سایر مدل‌های پیش‌نویس‌ساز موجود است.

  • اگر به اعداد نگاه کنید، می‌توانید افزایش سرعت را هنگام استفاده از مدل پیش‌نویس‌ساز مشاهده کنید.

  • نرخ پذیرش ما ۴۰ تا ۶۰ درصد بالاتر از اکثر مدل‌های پیش‌نویس‌کننده است.

  • بااستفاده از مدل پیش‌نویس‌ساز، تأخیر رمزگشایی را ۴۰٪ کاهش داده‌ایم و همچنین بااستفاده از این مدل پیش‌نویس‌ساز، مصرف انرژی را ۳۰ تا ۴۰٪ کاهش داده‌ایم.

  • بنابراین پاسخ‌های سریع‌تر، عمر باتری طولانی‌تر، و بدون هیچ‌گونه تغییر کد دریافت می‌کنید.

  • این ابزار نسبتاً ساده است و به‌خوبی پشتیبانی می‌شود.

تکنیک‌های کوانتش و بهینه‌سازی

  • Sara Smoot

    نوآوری بعدی ما، به کوانتیزاسیون می‌رود.

  • معمولاً کوانتیزاسیون هم تکنیک جدیدی نیست، اما ما برای مدل‌های تلفن همراه خود دقت ویژه‌ای به‌خرج می‌دهیم تا مطمئن شویم کوانتیزاسیونی داریم که واقعاً با سخت‌افزار تلفن همراه به‌خوبی کار می‌کند.

  • و چند نکته وجود دارد که ما با مدل‌های QAT خود به آن‌ها فکر می‌کنیم.

  • اولین مورد این است که ما QAT را انجام می‌دهیم، که برای کسانی از شما که نمی‌دانند، آموزش آگاه از کوانتیزاسیون است.

  • و این یعنی وقتی آموزش را انجام می‌دهیم، این واقعیت را درنظر می‌گیریم و تشخیص می‌دهیم که قرار است کوانتش انجام دهیم.

  • و بنابراین به مدل کمک می‌کند تا درک کند که پارامترها قرار است دسته‌بندی شوند و به حفظ کیفیت کمک می‌کند.

  • و همچنین به حفظ کیفیت کمک می‌کند و معمولاً می‌توانیم مدل را به کسری از اندازه کاهش دهیم.

  • بنابراین اگر از یک مدل ۱۶ بیتی به یک مدل ۴ بیتی بروید و تمام کیفیت را حفظ کنید، واقعاً مقدار زیادی حافظه صرفه‌جویی کرده‌ایم.

  • بنابراین E2B در دو کوانتش مختلف ارائه می‌شود.

  • قالب Q4_0 داریم.

  • این کوانتیزاسیون برای اهداف عمومی‌تر است.

  • این مورد قابل‌سفارشی‌سازی است.

  • این روش با دیگر کتابخانه‌های کوانتش بسیار خوب کار می‌کند.

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

  • ما همچنین یک کوانتیزاسیون بسیار ویژه داریم که آن را کوانت سیار خود می‌نامیم، که در کوانتیزاسیون خود بسیار تهاجمی است، و ما تحقیقات زیادی برای بهینه‌سازی این مورد انجام داده‌ایم.

  • در اکثر زمان‌های اجرا پشتیبانی نمی‌شود، اما در ML Kit و Android Studio پشتیبانی می‌شود، بنابراین می‌توانید از آن استفاده کنید.

  • می‌توانید از آن در آنجا استفاده کنید.

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

  • بنابراین وقتی کوانتیزاسیون انجام می‌دهید، معمولاً مدل، اگر فعال‌سازی دامنه پویا انجام می‌دهید، باید دامنه‌ها را در لحظه محاسبه کنید و سپس از آن برای انجام کوانتیزاسیون استفاده کنید.

  • کوانت‌های محدوده ایستا، ما این کار را برای شما انجام داده‌ایم، و بنابراین این فقط صرفه‌جویی است که مجبور نیستید محدوده‌ها را ازپیش محاسبه کنید.

  • کار دیگری که انجام داده‌ایم کوانتیزاسیون کانال‌محور است.

  • ما مدل را به‌صورت کانال‌محور ساختاردهی و فشرده کردیم که با اکثر سخت‌افزارهای تلفن همراه به‌خوبی کار می‌کند.

  • کوانتیزاسیون ۲ بیتی را هدف قرار داده‌ایم.

  • بنابراین کوانتیزاسیون دو بیتی، به‌طور کلی بسیار پراتلاف است.

  • انجام PTQ بسیار دشوار است.

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

  • این کار فضای ذخیره‌سازی زیادی را ذخیره می‌کند و همچنین تقریباً تمام کیفیت را حفظ می‌کند.

  • بنابراین، مدل کوانتومی ویژه ما حدود کمتر از یک گیگابایت است، که می‌دانید، حتی از کوانتوم‌های ۴ بیتی که در بازار داریم، بسیار کوچک‌تر است.

  • مورد دیگری که در کوانتش سفارشی‌مان تعبیه کرده‌ایم این است که کوانتش حافظه پنهان KV و جاسازی را انجام داده‌ایم.

  • تکنیک‌های زیادی برای انجام هر دو وجود دارد.

  • ما تحقیقات لازم را انجام داده‌ایم و این چیزی است که واقعاً با مدل ما خوب کار می‌کند.

  • و ما آن را در این نقاط بازرسی بسته‌بندی کرده‌ایم.

  • بنابراین همه این‌ها حافظه فعال شما را به‌طور چشمگیری کاهش می‌دهد.

  • این کار باعث صرفه‌جویی زیادی در پهنای باند شما می‌شود، زیرا نیازی به جابه‌جایی مداوم پارامترها نیست.

  • و همچنین به شما امکان می‌دهد گپ‌های طولانی و چیزهای دیگر را بدون تمام شدن فضا مدیریت و نگهداری کنید.

یکپارچه‌سازی سیستم و معماری ایمنی

  • Sara Smoot

    بسیارخوب، پس ما ازطریق AICore ادغام می‌کنیم.

  • بنابراین آنچه با AICore دریافت می‌کنید مدل Gemini Nano 4 است.

  • ‫Gemini Nano 4 همان Gemma است که ازطریق AICore ساخته و اجرا می‌شود.

  • AICore کارهای خوبی برای شما انجام می‌دهد.

  • این روشی است که کمترین دخالت را دارد و درواقع، می‌خواهم خیلی سریع درباره روش دیگر صحبت کنم.

  • مسیر دیگر ازطریق LiteRT است که مسیری سفارشی‌تر و عملی‌تر است.

  • اگر می‌خواهید این مسیر را دنبال کنید، مدل با برنامه‌تان بسته‌بندی خواهد شد.

  • از مدل هم‌رسانی‌شده‌ای که در دستگاه میزبانی می‌شود استفاده نخواهد کرد.

  • بنابراین باید از حافظه‌تان آگاه باشید.

  • باید از مصرف برق خود آگاه باشید.

  • باید با منابع موجود در تلفن و نحوه مدیریت آن بسیار بیشتر درگیر شوید.

  • اما کنترل کامل را به شما می‌دهد.

  • می‌توانید از تنظیمات دقیق با LiteRT استفاده کنید و سپس گزینه‌های بیشتری برای سفارشی‌سازی دراختیارتان قرار می‌دهد.

  • اگر از AICore استفاده کنید، می‌توانید از میاناهای برنامه‌سازی کاربردی کیت ابزار یادگیری ماشین استفاده کنید و این ساده‌ترین مسیر است.

  • و وقتی از این استفاده می‌کنید، تمام این قابلیت‌هایی را که درباره‌شان صحبت کردم دریافت می‌کنید، جاسازی‌های هر لایه به‌درستی مدیریت می‌شوند، و زمان اجرا از داشتن پارامترهایی که در RAM نیستند، و داشتن پارامترهای جاسازی که در RAM نیستند، پشتیبانی می‌کند.

  • این دستگاه ازقبل دارای MTP داخلی است، بنابراین به‌طور خودکار کار خواهد کرد.

  • همچنین از کوانت تلفن همراه ما استفاده می‌کند.

  • و روی زمان اجرایی اجرا می‌شود که برای میزبانی و کارکرد خوب با آن کوانتیزاسیون طراحی شده است.

  • بسیار خوب، پس درواقع می‌تواند با دقت ۲ بیتی اجرا شود و کارها را انجام دهد، جایی که به آن نیاز داریم، که باعث صرفه‌جویی می‌شود و آن را واقعاً بسیار کارآمد می‌کند.

  • اگر می‌خواهید عمیق‌تر شوید، دو سخنرانی دیگر وجود دارد که یا آمده‌اند یا در راهند.

  • جلسه ML Kit دیوید مسیر Gemini Nano 4 را پوشش می‌دهد، نحوه استفاده از مدل ازطریق ML Kit را توضیح می‌دهد، و سپس جلسه LiteRT چینتان و فرگوس نحوه استفاده از LiteRT و نحوه توسعه با LiteRT را پوشش می‌دهد.

  • بنابراین، جریان درخواست برای Gemma به این شکل است.

  • یک سطح میانای برنامه‌سازی کاربردی وجود دارد که برخی پردازش‌های ورودی را انجام می‌دهد و همه این‌ها برای شما توکار است.

  • بخشی از پردازش ورودی، سیگنال‌های ایمنی است.

  • با AICore، از برخی‌از ویژگی‌های ایمنی داخلی بهره‌مند می‌شوید.

  • این ویژگی بررسی می‌کند که ما ایمنی زیادی در مدل ایجاد می‌کنیم.

  • این یک لایه ایمنی اضافی برای برنامه‌های تلفن همراه است.

  • این مدل از پیکربندی ویژگی و سپس از زمان اجرای درون‌دستگاهی ما عبور می‌کند.

  • در خروجی، ایمنی را نیز دوباره بررسی می‌کند.

  • این مدل نشان‌های خروجی را بررسی می‌کند تا مطمئن شود خروجی ایمنی تولید می‌کند.

  • این هم یک لایه امنیتی اضافی فراتر از آنچه در مدل ساخته‌ایم است.

  • همچنین به‌روزرسانی‌ها را انجام می‌دهد و بین برنامه‌ها هم‌رسانی می‌شود.

  • بنابراین، اگر به‌طور خاص درحال ساختن چند برنامه هستید، یا نمی‌خواهید مدل بسته‌ای را مدیریت کنید، این واقعاً راهی عالی برای پیش رفتن است و قرار است عملکردهای زیادی را به‌طور پیش‌ساخته و آماده استفاده دریافت کنید.

نسخه‌های نمایشی محلی درون‌دستگاهی

  • Sara Smoot

    بسیارخوب، می‌خواهم وارد نسخه نمایشی شوم.

  • این یک دستیار صوتی است.

  • می‌خواهم آن را در رایانه کیفی نشان دهم.

  • چند نکته که می‌خواهم به آن‌ها توجه کنید: کاملاً محلی است و روی دستگاه اجرا می‌شود.

  • بااستفاده از VAD آبشاری شده است.

  • این فرایند از گفتار به نوشتار شروع می‌شود، سپس به Gemma می‌رود، و سپس از نوشتار به گفتار عبور می‌کند که مدل نوشتار به گفتار است.

  • این کد درحال جاری‌سازی است و همچنین روی مدل E2B اجرا می‌شود.

  • بنابراین، این دقیقاً همان مدلی است که روی رایانه کیفی اجرا می‌شود، اما این دقیقاً همان مدلی است که روی تلفن اجرا می‌شود.

  • همه این کارها را می‌توان در تلفن انجام داد.

  • این نسخه نمایشی خاص با LiteRT ساخته شده است.

  • باید بتواند با ML Kit نیز ساخته شود.

  • به تأخیر توجه کنید، رفت‌وبرگشت سرور وجود ندارد، و ببینید چگونه وقفه‌ها را مدیریت می‌کند.

  • سلام Gemma، کمی درباره خودت به من بگو.

  • من Gemma 4 هستم، مدل زبانی بزرگی که Google DeepMind آن را توسعه داده است.

  • من نوشتار و تصاویر را پردازش می‌کنم تا اطلاعات ارائه دهم و تکالیف را تکمیل کنم.

  • باحال.

  • Can you tell me a little bit about Shakespeare?‎

  • ویلیام شکسپیر نمایشنامه‌نویس و شاعر انگلیسی بود که به‌طور گسترده به‌عنوان بزرگ‌ترین نویسنده زبان انگلیسی شناخته می‌شود.

  • درواقع، صبر کنید.

  • می‌دانید چه؟

  • خیلی دلم می‌خواهد درباره منظومه شمسی بدانم.

  • می‌توانی درباره آن به من بگویی؟

  • منظومه شمسی شامل خورشید و هر چیزی است که ازنظر گرانشی به آن متصل است، ازجمله هشت سیاره، سیاره‌های کوتوله، قمرها، سیارک‌ها، و دنباله‌دارها.

  • جالب است.

  • می‌توانی توضیح دهی که سیاه‌چاله چگونه کار می‌کند؟

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

  • خیلی جالب است.

  • متشکریم.

  • خواهش می‌کنم.

  • سؤال دیگری دارید که بتوانم به آن پاسخ دهم؟

  • بسیار خوب.

  • دستیار صوتی وجود دارد.

  • بسیار خوب، بعدی.

  • این دستیار محلی خواهد بود که از قابلیت‌های ویدیو استفاده می‌کند.

  • این ویژگی کاملاً آفلاین است و برای اینکه این نکته را کاملاً روشن کنیم، این نسخه نمایشی درحین اردو زدن، ظاهراً در طبیعت وحشی، انجام می‌شود.

  • مواردی که می‌خواهید به آن‌ها توجه کنید، این براساس مدل E4B ساخته شده است.

  • به‌طور طبیعی صحبت می‌کند.

  • می‌خواهیم به آن نشان دهیم که چطور کارها را انجام دهد.

  • این مدل در پس‌زمینه از فراخوانی‌های ابزار استفاده می‌کند و می‌تواند به موارد مختلفی در تلفن دسترسی داشته باشد.

  • و خیلی بازیگوش است.

  • سلام Gemma، الان اینترنت داریم؟

  • نه، درحال‌حاضر اتصال اینترنت نداریم.

  • این هشدار درباره چیست؟

  • این به زبان اسپانیایی است.

  • آن تابلو هشداری درباره زیستگاه شیر کوهی است.

  • این هشدار توصیه می‌کند که شیرهای کوهی بخشی از محیط محلی هستند و اگر با یکی از آن‌ها مواجه شدید باید احتیاط کنید.

  • مشتق این تابع چیست؟

  • مشتق x به توان دو به‌علاوه 7x به‌علاوه 10 برابر است با 2x به‌علاوه 7.

  • خنده‌دار است.

  • اوه، سلام.

  • سلام سیندی.

  • Gemma، پیاده‌روی گروهی امشب ما چه زمانی است؟

  • پیاده‌روی گروهی شما برای ساعت ۶:۰۰ ب.ظ. زمان‌بندی شده است.

  • امروز.

  • آیا این یک شیر کوهی است؟

  • نه، آن سگ است.

  • پسر خوب.

منابع و مراحل بعدی

  • Sara Smoot

    بسیارخوب، ساختن را شروع کنید.

  • این‌ها پیوندهای بالا هستند، این‌ها درواقع پیوندهایی به نقاط بازرسی هستند.

  • اگر می‌خواهید مستقیماً به نقاط بازرسی بروید و کد مدل ما را ببینید، همه این‌ها دردسترس است.

  • می‌توانید از یادگیری ماشین استفاده کنید-- Gemma،‏ Gemini Nano 4، و پیوند ML Kit وجود دارد.

  • نقاط بازرسی در Hugging Face هستند، کد ما در پایگاه کد Transformers است.

  • می‌توانید بروید و ببینید چه کرده‌ایم.

  • همچنین می‌توانید نقاط بازرسی را از Kaggle دریافت کنید.

  • فقط می‌خواهم دوباره به شما یادآوری کنم که اگر می‌خواهید درباره ML Kit بیشتر بدانید، لطفاً ارائه David درباره ML Kit را ببینید.

  • و سپس ارائه LiteRT از چنتان و فرگوس را نیز بعداً خواهیم داشت.

  • اگر می‌خواهید ببینید چگونه ازطریق LiteRT به مدل در برنامه‌هایتان دسترسی پیدا کنید و از آن استفاده کنید.

  • متشکریم.

  • واقعاً مشتاقم ببینم همه شما چه چیزی خواهید ساخت.