Mojo: زبان برنامه نویسی جدید برای هوش مصنوعی
Mojo یک زبان برنامه نویسی جدید است که منحصراً برای مهندسان هوش مصنوعی ایجاد شده است. خبر خوب این است که به عنوان یک ابر مجموعه پایتون طراحی شده است، بنابراین اگر از قبل با پایتون آشنایی دارید، یادگیری Mojo نباید خیلی سخت باشد.
جنبه واقعاً جذاب Mojo این است که سادگی استفاده از پایتون را با عملکرد C ترکیب می کند و به سرعتی تا 35000 برابر سریعتر از پایتون می رسد. این امر به ویژه در هوش مصنوعی مهم است، زیرا عملکرد یک جنبه مهم در تصمیم گیری موفقیت پروژه است.
بنابراین، اگر قبلاً از پایتون استفاده میکنید و میخواهید برنامههای هوش مصنوعی خود را بهبود ببخشید، Mojo کاملاً ارزش بررسی دارد. این بهترین های هر دو جهان را با سهولت استفاده پایتون و عملکرد عالی C در یک بسته واحد ترکیب می کند. بیایید نگاهی عمیقتر به برخی از ویژگیهای مهم Mojo بیندازیم.
اگر قبلا پایتون داریم چرا به Mojo نیاز داریم؟
پایتون به دلیل سادگی و تطبیق پذیری، زبانی محبوب برای علوم داده، یادگیری ماشین و هوش مصنوعی (AI) است. با این حال، وقتی صحبت از کتابخانههای با کارایی بالا میشود، پایتون تنها میتواند به عنوان یک لایه چسب عمل کند، و با تکیه بر اتصالات سطح پایین به زبانهایی مانند C و C++. ساختن چنین کتابخانههایی دشوار است و به درک کاملی از اجزای داخلی CPython و همچنین مهارت در C/C++ نیاز دارد.
Mojo یک زبان برنامه نویسی است که هدف آن کاهش محدودیت هایی است که پایتون و سایر زبان ها در مورد سیستم های هوش مصنوعی کاربردی تجربه می کنند. Mojo سودمندی پایتون را با عملکرد C ترکیب میکند و بهترین هر دو دنیا را به شما ارائه میدهد.
موجو یک پروژه تصادفی نیست. Modular، یک کسب و کار که توسط کریس لاتنر، خالق زبان برنامه نویسی سوئیفت و LLVM تأسیس شد، آن را تولید کرد. پیشرفت Mojo به دلیل پتانسیل آن برای رسیدگی به محدودیتهای زبانهای هوش مصنوعی موجود ارزش دنبال کردن دارد.
Mojo دارای تعدادی ویژگی است که آن را به یک زبان هوش مصنوعی امیدوارکننده تبدیل میکند، از جمله بررسی دقیق نوع، خطاهای زمان کامپایل، و ایمنی شدید حافظه. علاوه بر این، Mojo از همزمانی و موازی سازی درجه یک پشتیبانی می کند، که توسعه کدهایی را که به طور کامل از سخت افزارهای معاصر استفاده می کند، ساده می کند.
به طور خلاصه، Mojo یک زبان برنامه نویسی است که سعی می کند محدودیت های عملکرد زبان های موجود را برای هوش مصنوعی کاربردی بررسی کند. سیستم های. با ترکیبی از قابلیت استفاده پایتون و عملکرد C، Mojo یک زبان امیدوارکننده است که ارزش کاوش را دارد.
همچنین، تنظیم دقیق یک مدل ChatGPT.
ویژگی های موجو
Mojo با بسیاری از ویژگی های جالب ارائه می شود. در اینجا برخی از آنها وجود دارد.
موجو قصد دارد کاملاً با اکوسیستم پایتون سازگار باشد.
شباهت Mojo به پایتون کار با آن را برای برنامه نویسان پایتون ساده می کند. هر دو زبان برنامه نویسی توابع، ویژگی ها و کتابخانه های زیادی را به اشتراک می گذارند. Mojo شامل کتابخانههایی مانند numpy، pandas و matplotlib است.
در اینجا نحوه ایجاد طرح با matplotlib با استفاده از Mojo آمده است.
def make_plot(m: Matrix):
plt = ماژول Python.import ("matplotlib.pyplot")
fig = plt.figure(l, [10, 10 * yn // xn], 64)
ax = fig.add_axes([0.0، 0.0، 1.0، 1.0]، نادرست، 1)
plt.imshow (تصویر)
plt.show()
make_plot (محاسبه mandelbrot())
اما، زیرا Mojo هنوز در مراحل اولیه خود است، فاقد چندین قابلیت پایتون است (به عنوان مثال، در حال حاضر از کلاس ها پشتیبانی نمی کند).
Mojo باید در نسخههای بعدی کاملاً با Python سازگار باشد.
بررسی دقیق نوع
علاوه بر انواع قابل انعطاف پایتون، Mojo امکان استفاده از بررسی دقیق نوع را فراهم می کند. میتوانید با استفاده از بررسی دقیق نوع کد خود را قابل پیشبینیتر، قابل مدیریتتر و ایمنتر کنید.
از نوع ساختار میتوان برای اجرای بررسی قدرتمند نوع در Mojo استفاده کرد. در Mojo، یک اعلان ساختار، زمان کامپایل، یک نام را متصل میکند، و هرگونه ارجاع به آن نام در یک زمینه نوع، به عنوان یک مشخصات دقیق برای مقدار مشخص شده اعمال میشود. کد زیر را در نظر بگیرید که از ساختار MyPair استفاده می کند:
def pairTest() -> Bool:
اجازه دهید p = MyPair (1، 2)
بازگشت p
در این کد، یک خطای زمان کامپایل دریافت خواهید کرد که نشان میدهد «4» را نمیتوان به MyPair تبدیل کرد، که در سمت راست (RHS) MyPair.__lt__
لازم است.
این ممکن است برای توسعه دهندگانی که با زبان های برنامه نویسی سیستم کار می کنند آشنا باشد، اما نحوه کار پایتون اینطور نیست. ویژگیهای مشابهی در پایتون برای MyPy حاشیه نویسی، اما آنها صرفاً نکاتی هستند که تجزیه و تحلیل استاتیک را ارائه می دهند و توسط کامپایلر اعمال نمی شوند. Mojo میتواند هم نکات حاشیهنویسی نوع کلاسیک و هم مشخصات نوع قدرتمند را بدون به خطر انداختن سازگاری با اتصال انواع به اعلانهای خاص مدیریت کند.
انواع قوی مزایایی فراتر از تأیید نوع دارند. از آنجایی که نوع اطلاعات دقیق است، بهینه سازی کد بر اساس انواع، مقادیر عبور در ثبات ها، بهینه سازی ارسال آرگومان و سایر عملیات سطح پایین به همان روشی که C انجام می دهد امکان پذیر است. این به عنوان پایه ای برای تضمین ایمنی و قابل پیش بینی ارائه شده توسط Mojo به برنامه نویسان سیستم عمل می کند.
Mojo MLIR
استفاده Mojo از چند سطح متوسط (MLIR) به توسعه دهندگان امکان می دهد از قابلیت های پیشرفته مانند بردارها، رشته ها و واحدهای سخت افزاری هوش مصنوعی بهره ببرند. این عملکرد بهتری نسبت به پایتون دارد که از معماری اجرای تک رشته ای استفاده می کند. Mojo میتواند از پردازش موازی در چندین هسته استفاده کند و به آن اجازه میدهد تا ۳۵۰۰۰ برابر سریعتر از پایتون به سرعت دست یابد.
بررسی کننده قرض و مالکیت حافظه
Mojo یک قرارداد آرگومان متعلق به خود را ارائه میکند که توسط توابعی که کنترل کامل یک مقدار را میخواهند استفاده میشود.
def reorder_and_process (متخصص x: HugeArray):
# به روز رسانی در محل
مرتب سازی (x)
# انتقال مالکیت
هدیه دادن (x^)
# خطا: 'x' دور شد!
print(x[0])
این به شما کمک میکند از امنیت حافظه بدون لبههای ناهموار استفاده کنید.
تنظیم خودکار
Mojo شامل ویژگیهای تنظیم خودکار است که ممکن است بهترین تنظیمات را برای پارامترهای شما بر اساس سختافزار مورد نظر شناسایی کند. این به شما امکان میدهد تا بدون نیاز به تغییر و بهینهسازی کد خود، از پتانسیل سختافزار برای عملکرد کامل استفاده کنید.
def exp_buffer[dt: DType] (دادهها: ArraySlice [dt]):
# بهترین طول برداری را جستجو کنید
نام مستعار vector_len= autotune (1، 4، 8، 16، 32)
# از آن به عنوان طول برداری استفاده کنید
vectorize[exp[dt, vector_len]] (داده)
نحوه شروع استفاده از Mojo
Mojo، به عنوان یک زبان جوان، در حال حاضر فاقد کتابخانه استاندارد، کامپایلر و زمان اجرا برای توسعه محلی است. با این حال، همچنان میتوانید Mojo را با استفاده از یک محیط برنامهنویسی میزبانی شده به نام Mojo Playground امتحان کنید.
برای شروع، مراحل زیر را انجام دهید:
- برای دسترسی به زمین بازی Mojo.
- پس از دسترسی کاربر به Mojo Playground وارد شوید.
- تمام اطلاعات مورد نیاز را وارد کنید و با Mojo شروع به بازی کنید.
اگرچه زمین بازی Mojo دارای تعداد محدودی از موارد استفاده است، اما همچنان بهترین تجربه را برای یادگیری زبان ارائه می دهد.
این مقاله برای کمک به یادگیری زبان برنامه نویسی Mojo برای هوش مصنوعی است. ما اطمینان داریم که برای شما مفید بوده است. لطفاً نظرات و انتقادات خود را در بخش نظرات زیر به اشتراک بگذارید.