۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

بازاندیشی منبع باز برای هوش مصنوعی

حقوق و محدودیت های مجوز برای مدل های زبان بزرگ چیست؟ آیا آنها وزن ها و معماری شبکه های عصبی عمیق را پوشش می دهند؟

حقوق و محدودیت های مجوز برای مدل های زبان بزرگ چیست؟ آیا آنها وزن ها و معماری شبکه های عصبی عمیق را پوشش می دهند؟

ما به استفاده از اصطلاح “منبع باز” در زمینه مدل‌های زبان بزرگ (LLM) مانند Llama 2 ادامه می‌دهیم، اما منظور ما مشخص نیست. منظور من به جنگ بر سر این نیست که آیا متا باید از عبارت “منبع مشترک” برای توصیف مجوز خود برای Llama 2 به جای “متن باز” استفاده کند، همانطور که استیو اوگریدی از RedMonk و دیگران گفته اند a href=”https://redmonk.com/sogrady/2023/08/03/why-opensource-matters/” rel=”nofollow”>استدلال شده. به نظر می رسد، این سؤال درستی نیست، زیرا مبارزه بسیار اساسی تری وجود دارد. یعنی، منبع باز در دنیایی که LLM ها (و مدل های بنیادی) به روش هایی که به طور قابل توجهی با نرم افزار متفاوت است، توسعه، استفاده و توزیع می شوند، به چه معناست؟

مهول شاه، بنیانگذار و مدیر عامل Aryn، یک استارت‌آپ مخفی کاری که هدف آن بازسازی جستجوی سازمانی از طریق هوش مصنوعی است، ابتدا در مصاحبه ای مشکل را برای من بیان کرد. شاه، که رهبری سرویس جستجوی باز آمازون را بر عهده داشت، روی هوش مصنوعی و همچنین بر روی منبع باز شرط بندی می کند. آیا این دو با هم می روند؟ به این سادگی که در ابتدا به نظر می رسد نیست. در واقع، همانطور که جنبش منبع باز مجبور شد عبارات کلیدی مانند “توزیع” را با انتقال نرم افزار به ابر بازنگری کند، احتمالاً باید با ناهماهنگی های معرفی شده با استفاده از تعریف منبع باز به اعداد ممیز شناور.

۱ها و ۰های مختلف

در یک پست در موضوع منبع باز و AI، Mike Linksvayer، رئیس سیاست توسعه‌دهندگان در GitHub، این لید را زیر خاک گذاشت: «هیچ تعریف ثابتی از چیستی AI منبع باز وجود ندارد.» او حق دارد نه تنها حل نشده است، بلکه به سختی در مورد آن بحث شده است. این باید تغییر کند.

از هک ها و وصله ها

همانطور که شاه در مصاحبه ما تاکید کرد، “مدل های هوش مصنوعی ظاهراً فقط برنامه های نرم افزاری هستند، اما نحوه توسعه، استفاده و توزیع آنها بر خلاف نرم افزار است.” علیرغم این ناهماهنگی، ما به طور معمول به مواردی مانند Llama 2 به عنوان منبع باز یا قطعاً منبع باز اشاره نمی کنیم. منظور ما چیست؟

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

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

تفاوت اصلی در اعدادی است که نورون‌ها را به هم متصل می‌کنند، که در غیر این صورت به عنوان وزن شناخته می‌شود< /a>. این اعداد به شما می گویند زمانی که به مدل مقداری ورودی می دهید، کدام نورون ها فعال می شوند و چگونه منتشر می شوند. اگرچه مشخص نیست، من گمان می‌کنم بسیاری از مردم فکر می‌کنند این وزن‌ها کدی هستند که متا و دیگران منبع باز هستند.

شاید. اما اینجاست که همه چیز به هم می‌ریزد.

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

چرا منبع باز در عصر ابر ضروری است

مجوز را کجا اعمال کنیم؟

در گفتگوی ما، شاه چند راه مختلف برای فکر کردن در مورد “کد” در زمینه LLM ها بیان کرد. اولین مورد این است که به داده های آموزشی انتخاب شده مانند کد منبع برنامه های نرم افزار فکر کنید. اگر از آنجا شروع کنیم، آموزش (نزول گرادیان) مانند کامپایل کد منبع است و معماری شبکه عصبی عمیق مدل های ترانسفورماتور یا LLM مانند سخت افزار مجازی یا سخت افزار فیزیکی است که برنامه کامپایل شده روی آن اجرا می شود. در این خواندن، وزن ها برنامه کامپایل شده هستند.

این امر منطقی به نظر می رسد اما بلافاصله سؤالات کلیدی را ایجاد می کند. اولاً، این داده‌های تنظیم‌شده اغلب متعلق به شخص دیگری است. دوم، اگرچه مجوزها امروز روی اوزان هستند، اما این ممکن است به خوبی کار نکند زیرا آن وزن ها فقط اعداد ممیز شناور هستند. آیا این با گفتن اینکه شما در حال کد مجوز هستید، که فقط یک دسته از ۱ و ۰ است، متفاوت است؟ آیا مجوز باید روی معماری باشد؟ احتمالاً نه، زیرا همان معماری با وزن‌های متفاوت می‌تواند هوش مصنوعی کاملاً متفاوتی به شما بدهد. آیا پس از آن مجوز باید روی اوزان و معماری باشد؟ شاید، اما این امکان وجود دارد که رفتار برنامه را بدون دسترسی به کد منبع از طریق تنظیم دقیق و تنظیم دستورالعمل تغییر دهید. سپس این واقعیت وجود دارد که توسعه دهندگان اغلب دلتاها یا تفاوت هایی را با وزن های اصلی توزیع می کنند. آیا دلتاها دارای مجوز مشابه با مدل اصلی هستند؟ آیا آنها می توانند مجوزهای کاملاً متفاوتی داشته باشند؟

GitHub Copilot Chat در یک پیش نمایش برای مشاغل موجود است

مشکلات را می بینید؟ همه قابل حل است، اما ساده نیست. به اندازه اعلام اینکه یک LLM منبع باز است یا نه واضح نیست.

شاید راه بهتری برای اندیشیدن به منبع باز در زمینه وزن ها این باشد که وزن ها را به عنوان کد منبع نرم افزار در نظر بگیرید که به نظر می رسد تفسیر ویلیسون باشد. در این دنیا، کامپایل نرم افزار به تفسیر آن بر روی سخت افزارهای مختلف (CPU و GPU) ختم می شود. اما، آیا مجوز روی وزن ها شامل معماری شبکه عصبی می شود؟ پس از تنظیم دقیق، در مورد تفاوت‌ها و انواع مدل‌ها چه کار می‌کنیم؟

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

اینها مسائل آکادمیک نیستند. با توجه به انفجار در پذیرش هوش مصنوعی، مهم است که توسعه‌دهندگان، استارت‌آپ‌ها و همه بتوانند از LLM‌های منبع باز استفاده کنند و بدانند معنی آن چیست. به عنوان مثال، ویلیسون به من می‌گوید که او دوست دارد حقوق خود را بهتر درک کند  تحت یک مجوز LLM مثل Llama 2. همچنین محدودیت های آن چیست؟ محدودیت‌های «استفاده از آن برای کمک به آموزش مدل‌های رقیب – به‌ویژه [در رابطه با] تنظیم دقیق» واقعاً به چه معناست؟ ویلیسون از نظر پذیرش و استفاده از LLM ها برای پیشبرد توسعه نرم افزار بسیار از ما جلوتر است. اگر او سؤالی دارد، همه ما باید.

شاه می گوید: «ما در عصر برنامه نویسی داده هستیم. اما برای اینکه این سن بیشترین تأثیر را داشته باشد، باید بفهمیم که وقتی آن را منبع باز می نامیم، منظورمان چیست.