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

Techboy

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

توسعه هوش مصنوعی در رایانه شخصی Copilot+؟ نه هنوز

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

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

مایکروسافت و شرکای سخت‌افزارش اخیراً رایانه‌های شخصی Copilot+ خود را با پردازنده‌های Arm با واحدهای پردازش عصبی داخلی عرضه کرده‌اند. آنها تغییر مسیر جالبی از پلتفرم های اصلی x64 قبلی هستند که در ابتدا بر روی پردازنده های اسنپدراگون X Arm کوالکام تمرکز داشتند و آخرین نسخه های ویندوز مایکروسافت را روی Arm اجرا می کردند. اکنون یکی را بخرید و در حال حاضر نسخه ۲۴ ساعته Windows 11 را اجرا می کند. ، حداقل چند ماه قبل از اینکه ۲۴H2 به سایر سخت افزارها برسد.

در خارج از جعبه، Copilot+ یک رایانه شخصی سریع است، با تمام ویژگی هایی که از یک لپ تاپ مدرن انتظار داریم. عمر باتری عالی است و معیارهای Arm-native به خوبی یا در برخی موارد بهتر از اکثر سخت افزارهای مبتنی بر اینتل یا AMD هستند. آن‌ها حتی پردازنده‌های M2 و M3 Arm اپل را برای پول خود به کار می‌گیرند. این آنها را برای اکثر کارهای توسعه معمول با استفاده از Visual Studio و Visual Studio Code ایده آل می کند. هر دو دارای ساخت‌های Arm64 هستند، بنابراین نیازی به اجرای پیچیدگی‌های اضافه‌شده با لایه شبیه‌سازی Windows On Arm’s Prism ندارند.

رایانه های شخصی Arm برای توسعه Arm

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

راستش را بخواهید، این تغییر چندانی نسبت به هیچ یک از سخت افزارهای Windows On Arm قبلی ندارد. اگر این تمام چیزی است که نیاز دارید، این نسل جدید سخت افزار به سادگی مجموعه گسترده تری از منابع را به ارمغان می آورد. اگر با Dell، HP یا Lenovo قرارداد خرید دارید، می‌توانید به سرعت سخت‌افزار Arm را به ناوگان خود اضافه کنید و در استفاده از Surface مایکروسافت قفل نخواهید شد.

جالب ترین ویژگی دستگاه های جدید داخلی است واحد پردازش عصبی (NPU). NPU با ارائه حداقل ۴۰ TOP از قابلیت محاسباتی اضافی، قابلیت های استنتاج محلی پیشرفته را برای رایانه های شخصی به ارمغان می آورد و از مدل های زبان کوچک و سایر ویژگی های یادگیری ماشینی پشتیبانی می کند. مایکروسافت در ابتدا این موارد را با یک ابزار زیرنویس زنده و مجموعه ای از فیلترهای ویدیوی بلادرنگ مختلف در مسیر پردازش دوربین دستگاه به نمایش می گذارد. (ابزار نمایه سازی هوش مصنوعی Recall برنامه ریزی شده برای رفع نگرانی های امنیتی در حال توسعه مجدد است.)

ارتقاء زبان دارت در Wasm، هوش مصنوعی مولد می درخشد

هوش مصنوعی خود را بر روی سخت افزار هوش مصنوعی بسازید

برنامه های هوش مصنوعی همراه جالب و بالقوه مفید هستند، اما شاید بهتر است آنها را به عنوان نشانه هایی برای توانایی های سخت افزار در نظر بگیریم. مثل همیشه، مایکروسافت برای ارائه برنامه‌های پیچیده‌تر به توسعه‌دهندگان خود متکی است که می‌توانند سخت‌افزار را به محدودیت‌های خود برسانند. این همان چیزی است که Copilot Runtime در مورد آن است با پشتیبانی از زمان اجرا استنتاج ONNX و، اگر در نسخه Windows حمل و نقل نباشد، نسخه ای از API استنتاج DirectML آن برای رایانه های شخصی Copilot+ و Qualcomm NPU آنها.

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

از کجا شروع می کنید؟ مکان واضح جعبه ابزار هوش مصنوعی است برای Visual Studio Code. این طراحی شده است تا به شما کمک کند مدل های زبان کوچکی را امتحان کنید و تنظیم کنید که می توانند روی رایانه های شخصی و لپ تاپ ها با استفاده از CPU، GPU و NPU اجرا شوند. جدیدترین ساخت‌ها از Arm64 پشتیبانی می‌کنند، بنابراین می‌توانید جعبه ابزار هوش مصنوعی و کد ویژوال استودیو را روی دستگاه‌های توسعه‌دهنده خود نصب کنید.

کار با AI Toolkit برای ویژوال استودیو

نصب سریع است، با استفاده از ابزارهای داخلی بازار. اگر قصد ساختن برنامه های هوش مصنوعی را دارید، ارزش نصب هر دو ابزار پایتون و سی شارپ و همچنین ابزارهایی برای اتصال به گیت هاب یا دیگر مخازن کد منبع را دارد. سایر ویژگی‌های مفید برای افزودن شامل پشتیبانی Azure و افزونه‌های لازم برای کار با زیرسیستم ویندوز برای لینوکس (WSL) است.

پس از نصب، می‌توانید از ابزار هوش مصنوعی برای ارزیابی کتابخانه‌ای با زبان کوچک استفاده کنید. مدل‌هایی که برای اجرا بر روی رایانه‌های شخصی و سخت‌افزارهای لبه در نظر گرفته شده‌اند. پنج نسخه در حال حاضر در دسترس هستند: چهار نسخه مختلف از Phi-3 خود مایکروسافت و یک نمونه از Mistral 7b. همه آنها به صورت محلی دانلود می شوند، و می توانید از زمین بازی مدل AI Toolkit برای آزمایش دستورالعمل های زمینه و درخواست های کاربر استفاده کنید.

متأسفانه، زمین بازی مدل از NPU استفاده نمی‌کند، بنابراین نمی‌توانید احساس کنید که مدل در NPU چگونه اجرا می‌شود. با این حال، خوب است که با توسعه زمینه برنامه خود آزمایش کنید و ببینید که مدل چگونه به ورودی های کاربر پاسخ می دهد. خوب است که راهی برای ایجاد یک برنامه کاربردی با ویژگی‌های کامل‌تر در اطراف مدل داشته باشید – برای مثال، پیاده‌سازی Prompt Flow یا یک ابزار هماهنگ‌سازی هوش مصنوعی مشابه برای آزمایش با پایه‌گذاری مدل زبان کوچک خود در داده‌های خود.

مایکروسافت هوش مصنوعی Azure مجهز به GPT را برای سازمان های دولتی ایالات متحده راه اندازی کرد

انتظار نداشته باشید که بتوانید یک مدل را در رایانه شخصی Copilot+ تنظیم کنید. آنها با پشتیبانی از ساخت‌های Arm64 WSL صحیح Ubuntu، اکثر الزامات را برآورده می‌کنند، اما سخت‌افزار Qualcomm شامل GPU Nvidia نیست. NPU آن فقط برای استنتاج طراحی شده است، بنابراین قابلیت های مورد نیاز الگوریتم های تنظیم دقیق را ارائه نمی دهد.

این شما را از استفاده از یک دستگاه Arm به عنوان بخشی از یک گردش کار دقیق باز نمی‌دارد، زیرا همچنان می‌توان از آن با یک ماشین مجازی میزبان ابری که به یک GPU کامل یا کسری دسترسی دارد استفاده کرد. هر دو Microsoft Dev Box و GitHub Codespaces دارای گزینه‌های ماشین مجازی مجهز به GPU هستند، اگرچه اگر کار بزرگی انجام می‌دهید می‌تواند گران باشد. از طرف دیگر، اگر با داده‌های محرمانه کار می‌کنید، می‌توانید از رایانه شخصی با پردازنده گرافیکی Nvidia استفاده کنید.

هنگامی که مدلی دارید که از آن راضی هستید، می توانید شروع به ساخت آن در یک برنامه کنید. اینجاست که یک حفره بزرگ در گردش کار توسعه هوش مصنوعی Copilot+ PC وجود دارد، زیرا نمی‌توانید مستقیماً از جعبه ابزار هوش مصنوعی به ویرایش کد بروید. در عوض، با یافتن دایرکتوری پنهانی که نسخه محلی مدلی را که آزمایش کرده‌اید در خود نگه می‌دارد (یا یک نسخه تنظیم‌شده را از سرویس تنظیم دقیق انتخابی خود دانلود کنید)، شروع کنید، یک زمان اجرا ONNX راه اندازی کنید که از NPU رایانه شخصی پشتیبانی می کند و از آن برای شروع ساخت و آزمایش کد استفاده کنید.

ساخت زمان اجرای هوش مصنوعی برای NPUهای کوالکام

اگرچه می‌توانید یک محیط Arm ONNX را از منبع بسازید، اما تمام قطعات مورد نیاز از قبل در دسترس هستند، بنابراین تنها کاری که باید انجام دهید این است که محیط زمان اجرا خود را مونتاژ کنید. AI Toolkit یک نقطه پایانی وب سرور اصلی برای یک مدل بارگذاری شده را شامل می‌شود، و می‌توانید از آن با ابزارهایی مانند Postman استفاده کنید تا ببینید چگونه با ورودی‌ها و خروجی‌های REST کار می‌کند، انگار که از آن در یک برنامه وب استفاده می‌کنید.

اگر ترجیح می دهید کد خود را بسازید، یک ساخت Arm64 از Python 3 برای ویندوز و همچنین نسخه ای از پیش ساخته شده از ارائه دهنده اجرای ONNX برای NPUهای QNN کوالکام. این به شما اجازه می دهد تا زمانی که مدل خود را با استفاده از استنتاج CPU در جعبه ابزار هوش مصنوعی اعتبارسنجی کردید، کد پایتون را از داخل کد ویژوال استودیو بسازید و آزمایش کنید. اگرچه این یک رویکرد ایده آل نیست، اما مسیری را برای استفاده از رایانه شخصی Copilot+ به عنوان محیط توسعه هوش مصنوعی در اختیار شما قرار می دهد. حتی می‌توانید این را با نسخه پایتون چارچوب هماهنگ‌سازی عامل هوش مصنوعی هسته معنایی مایکروسافت استفاده کنید.

اسناد ساده تر با صفحات GitHub

توسعه دهندگان C# کنار گذاشته نمی شوند. یک ساخت دات‌نت از ابزار QNN ONNX در NuGet موجود است، بنابراین می‌توانید به سرعت مدل‌های محلی را بگیرید و در کد خود بگنجانید. می‌توانید از AI Toolkit و Python برای اعتبارسنجی مدل‌ها قبل از جاسازی آنها در برنامه‌های NET استفاده کنید.

درک محدودیت‌های ابزار QNN ONNX بسیار مهم است. این فقط برای مدل های کوانتیزه طراحی شده است، و این مستلزم اطمینان از این است که هر مدلی که استفاده می کنید برای استفاده از اعداد صحیح ۸ بیتی یا ۱۶ بیتی کوانتیزه شده است. قبل از استفاده از یک مدل خارج از قفسه، باید اسناد را بررسی کنید تا ببینید آیا باید قبل از گنجاندن آن در برنامه‌های خود تغییراتی ایجاد کنید.

خیلی نزدیک، اما خیلی دور

اگرچه پلتفرم Copilot+ PC (و Copilot Runtime مربوطه) نویدهای زیادی را نشان می دهد، زنجیره ابزار هنوز تکه تکه است. همانطور که مطرح است، رفتن از مدلی به کد دیگر بدون نیاز به خارج شدن از IDE دشوار است. با این حال، می‌توان دید که چگونه نسخه‌ای از جعبه ابزار هوش مصنوعی برای کد ویژوال استودیو می‌تواند زمان‌های اجرا QNN ONNX را بسته‌بندی کند، و همچنین آنها را برای استفاده از طریق DirectML برای توسعه برنامه‌های NET در دسترس قرار دهد.

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

بله، وضعیت فعلی توسعه هوش مصنوعی Arm64 در ویندوز ناامیدکننده است، اما بیشتر به این دلیل است که می‌توان دید چه چیزی می‌تواند باشد، نه به دلیل کمبود ابزار. بسیاری از عناصر ضروری اینجا هستند. آنچه مورد نیاز است راهی است برای بسته‌بندی آنها به ما یک پلتفرم توسعه برنامه کاربردی هوش مصنوعی سرتاسر ارائه دهد تا بتوانیم بیشترین بهره را از سخت‌افزار ببریم.

در حال حاضر، شاید بهتر باشد از Copilot Runtime و مدل داخلی Phi-Silica با APIهای آماده استفاده خود استفاده کنید. از این گذشته، من یکی از لپ‌تاپ‌های Surface جدید مجهز به Arm-Powered را خریداری کرده‌ام و می‌خواهم آن را به عنوان سخت‌افزار توسعه هوش مصنوعی که امیدوار بودم از آن استفاده کنم، به وعده‌اش عمل کند. امیدواریم مایکروسافت (و کوالکام) شکاف‌ها را پر کنند و تجربه کدنویسی NPU را که می‌خواهم به من بدهند.