با موسیقا، رویای خود را بنوازید!

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

موسیقا، پلتفرمی مبتنی بر تکنولوژی هوش مصنوعی زایا یا Generative AI است که به شما کمک می‌کند تا آنچه در ذهن دارید را با چند کلیک، به موسیقی آن هم در ژانرهای مختلف مانند امبینت، الکترونیک، پاپ و … تبدیل کنید.

نحوه استفاده از موسیقا

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

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

پس از دانلود مدل، یکی از پرامپت‌ها (داخل کادرهای زردرنگ) را انتخاب کرده و یا پرامپت مورد نظر خود را نوشته، سپس دکمه Let’s Party را بفشارید.

بسته به سخت‌افزار خود، صبر کنید تا موسیقی مورد نظرتان تولید شود!

نمونه موسیقی تولید‌شده با موسیقا

حامیان پروژه

شرکت محترم ایران‌سرور، از نیمه دوم سال ۱۴۰۲ هجری خورشیدی، با تامین زیرساخت برای پروژه‌های مانی، وکنتور و موسیقا به نخستین و بزرگترین حامی این استارتاپ تبدیل شده است.

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

Share

پارچ، روحی تازه در کالبد اکوسیستم گنو/لینوکس ایران

اگر شما هم از «قدیمی»های جامعه نرم‌افزار آزاد و متن‌باز ایران باشید، احتمالا با خیلی از پروژه‌هایی که هدفشان ساخت یک توزیع گنو/لینوکس متناسب با نیاز روز کاربر بوده، آشنایید. چرا که به درازای تاریخ ورود گنو/لینوکس به ایران، تلاش برای ساخت توزیع ایرانیزه‌شده هم بوده.

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

اما چند وقت پیش، توجهم به پروژه‌ای جلب شد که اتفاقا کاملا زنده‌ست و خیلی هم خوب داره پیش میره. پروژه‌ای با نام «پارچ‌لینوکس» که در واقع ترکیبی از واژه‌های Persian و Arch Linux می‌تونیم در نظر بگیریم. این ترکیب، موجب ساخت یک اسم بامزه هم شده که به نظرم این خودش می‌تونه تا حد خوبی، ارزش برندینگ خلق کنه برای این محصول. برای دریافت این توزیع و اطلاعات بیشتر می‌تونید به وبسایتش (لینک) مراجعه کنید.

آشنایی اجمالی با آرچ

احتمالا اگر کاربر گنو/لینوکس باشید، اسم آرچ رو به وفور شنیدید. یک توزیع نه‌چندان دوست‌داشتنی که بخاطر مدل عرضه «غلتان» معروفه. البته گذشته از اون، بخاطر این معروفه که همه چی رو «ساده» نگه داشته و از قاعده KISS پیروی می‌کنه.

در واقع، اگر شما در این زمینه تازه‌کار باشید، آرچ رو اصلا و ابدا نمی‌تونید بدون کمک یک حرفه‌ای‌تر، ویدئو یا مستند خاصی نصب کنید. اما خب از طرفی هم آرچ امکانات جالبی داره (مثل AUR) و به نسبت توزیع‌های سنتی‌تر (دبیان مثلا) در بعضی سخت‌افزارها می‌تونه کارکرد بهتری از خودش نشون بده.

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

بریم سراغ پارچ!

من به سهراب (سازنده پارچ) قول یک «نقد منصفانه» دادم و خب، اینجا هم می‌ریم که به صورت منصفانه نقدشون کنیم.

اول بگم که با شناختی که از پروژه پیدا کردم، سازندگان توزیع، روی KDE بیشتر مانور دادند و وقت گذاشتن (و البته این به معنای بد بودن سایر نسخه‌ها نیست) و اگر سیستم خوبی دارید، به نظر من بهتره مستقیم برید سراغ این نسخه.

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

برخوردهای اولیه

پس از این که تصویر ISO پارچ رو بوت کردید، این صفحه به شما نمایش داده میشه:

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

پس از این که گزینه اول رو انتخاب کنیم، به این صفحه می‌رسیم:

اینجا برام جالب بود. عموما XFCE در چنین توزیع‌هایی، پنلی به تقلید از ویندوز در پایین صفحه دارند، یا این که نرم‌افزارهایی مثل cairo-dock یا Plank رو پایین صفحه قرار میدند و پنل رو به بالا منتقل می‌کنند (به تقلید از macOS) که خب در اینجا کلا شکل متفاوتی از پنل xfce رو شاهدیم. پنل که گوشه سمت چپ صفحه نمایش قرار گرفته و امکان خوبی برای استفاده از فضای افقی مانیتور فراهم می‌کنه.

مورد بعدی، Welcome Screen جذاب این توزیعه. این هم از مواردیه که در توزیع‌هایی مثل پارچ، خیلی کمتر به چشم میخوره. ولی خب تا اینجا پارچ بسیار فراتر از یه ریمستر ساده از آرچ خودش رو نشون داده.

نصاب

مثل خیلی از توزیع‌های این روزها، پارچ هم از کالامارس برای نصب خودش روی دیسک شما استفاده می‌کنه و خب وقتی لوکیشن شما رو بر اساس IP ایران تشخیص بده، فارسی میشه و سیستم‌عامل هم فارسی نصب می‌کنه.

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

به همین خاطر، نماگرفت‌های بیشتری از نصاب اینجا قرار نمی‌دم.

پروسه نصب، حدود ۳-۴ دقیقه طول می‌کشه و بعد از اون به این صفحه می‌رسیم:

و اینجاست که با یک ریبوت، به دنیای پارچ می‌ریم 🙂

تست پارچ پس از نصب

راستش یکم نقدم اینجا قراره تند بشه به چندین دلیل. نخستین دلیل اینه:

وقتی در syslinux که موقع بوت شدن ISO دیدیم اون پس‌زمینه زیبا به چشم میخوره، انتظار داشتم در گراب هم همون شمایل رو ببینم. با توجه به این که VirtualBox دارم انتظار لود شدن کامل plymouth نداشتم (اگر توزیع داشته باشه) ولی انتظار گراب زیباتری رو داشتم. گرچه پس‌زمینه گراب فقط یه عکسه و تغییری در کارکرد سیستم نداره.

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

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

محیط گرافیکی و عملکرد آن

خب، پس از فیکس کردن SDDM چنین صفحه‌ای رو می‌بینیم:

و پس از ورود پسورد، به محیط زیبای XFCE وارد می‌شیم:

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

جمع‌بندی

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

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

حتی با توجه به سخت‌افزار لپتاپ قدیمی (پردازشگر i5 نسل چهارم و ۱۶ گیگابایت حافظه) عجیب نیست که نسخه‌های KDE یا GNOME هم بتونم بدون مشکل اجرا کنم. قطعا پس از نصب روی ماشین واقعی هم نقد مجددی بر این توزیع، خواهم نوشت.

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

موفق و موید باشید.

Share

مارال اینجاست، مدل ۷ میلیارد پارامتری با پشتیبانی از زبان فارسی

در دنیایی که AI و بخصوص از نوع Generative به شدت در اون مهم شده، یکی از مسائل بزرگی که باهاش روبرو هستیم، چیرگی زبان انگلیسی بر جویه که ساخته شده.

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

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

مارال هفت میلیارد پارامتری و مزایای آن

در تابستان امسال یا دقیق‌تر بگم روز ۱۵ تیر ۱۴۰۲، من رویدادی با نام Summertime AI برگزار کردم. رویداد برای معرفی چندین ابزار هوش مصنوعی بود و من اشاره‌ای به ابزاری به اسم «مارال» کردم.

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

حقیقتا GPT2 هرقدر هم ساختار خوبی داشت، ظاهرا مدل مناسبی برای این موضوع نبود!

اما راه‌حل رو کمی بعدتر، پیدا کردیم. در ادامه، قراره در مورد این راه‌حل صحبت کنیم و ببینیم که مارال چیه و چه مزایایی داره و برای توسعه بهترش، باید چه کارهایی کنیم.

مارال چیه؟

مارال، یک مدل بزرگ زبانی یا LLM بر مبنای مدل Mistral 7B (لینک) و تیو‌ن‌شده برای زبان فارسیه. این مدل، به صورت «پیروی از دستورالعمل» یا Instruction Following کار می‌کنه و نتایجی که تولید می‌کنه هم تقریبا هم‌ارز GPT-3.5 هستند.

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

همچنین مدل و جزییاتش در این لینک موجودند.

مزایای مارال نسبت به مدل‌های فارسی قبلی چیه؟

برای درک این موضوع، باید تا حد زیادی عقب بریم. ببینیم اصلا از کِی، بحث پردازش زبان طبیعی یا NLP فارسی، خیلی داغ شد. راستش رو بخواهید از زمانی که شخصا به یاد دارم، بحث پردازش و نمایش زبان فارسی، بحث داغی بود.

حتی میشه گفت چالش‌های بسیار زیادی هم در این حوزه وجود داشت. کم‌کم با پیشرفت اینترنت، این موضوع هم بهبود پیدا کرد. ناگفته نماند که البته حتی حضور فونت‌های آزاد فارسی مانند وزیرمتن (جا داره اینجا هم یادی کنیم از صابر راستی‌کردار عزیز) هم تاثیر بسزایی در این امر گذاشتند.

اما بحث Text Generation چطور؟ این بحث به صورت خاص در همون سال‌های ۲۰۱۶ تا ۲۰۱۸ که در دنیا مدل‌های LSTM و GPT-2 خیلی مطرح بودند، پا گرفت. بسیاری از اشخاص و شرکت‌های ایرانی، به سمت تولید مدل رفتند. در ادامه، دوتا از این مدل‌ها که «اختصاصا» برای زبان فارسی ساخته شدند رو بررسی و مشکلاتشون هم مطرح می‌کنم.

مدل‌های تجاری

در حال حاضر، تنها مدلی که به صورت تجاری در دسترسه، مدل وبسایت «خودنویس»ئه که خب، این مدل علیرغم این که خروجی‌های بسیار خوبی می‌تونه تولید کنه، تجاریه و نمیشه خیلی بررسی دقیقی روش داشت.

علاوه بر اون، خروجی‌هایی که تولید می‌کنه من رو یاد خروجی مدل‌هایی مانند GPT NeoX 20B و GPT J 6B میندازه و خب با توجه به قدمت این وبسایت، این موضوع کاملا طبیعیه.

یکی از مشکلاتی که مدل‌هایی مثل GPT J دارند، اینه که علاقه خاصی به تکرار خودشون دارند، البته این مشکل تا حدی هم به Tokenizer های مدل‌ها برمی‌گرده که برای زبان فارسی، مناسب‌سازی نشدند.

مدل‌های آزاد

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

  • مدل ParsGPT: این مدل، دقیقا GPT2 اون هم نسخه ۱۴۲ میلیون پارامتری بود که روی دیتای فارسی ترین شده، گرچه دقت نسبتا خوبی در تولید محتوای فارسی داره، اما دو تا مشکل بزرگ داشت. اول، این که طبق معمول عادت به تکرار خودش داره (این مساله رو در ادامه در موردش صحبت خواهم کرد) و دوم این که از یه جایی به بعد، دقیقا مطالب بی‌ربط به پرامپتی که داده شده تولید می‌کنه. مثلا ممکنه از یه مطلبی پیرامون هوش مصنوعی، برای شما متن یک خبر مرتبط با وزارت خارجه بورکینافاسو تولید کنه!
  • مدل GPT2 Medium Persian: این مدل باز کمی بهتر بود. مدل بزرگ‌تر و با حدود ۳۰۰ میلیون پارامتر. اما مشکل به طور واضح، دیتایی بود که مدل باهاش pretrain شده. به قول معروف روی «آشغال‌های سئوشده وب فارسی» ترین شده و احتمال این که مطالب خلاف واقع تولید کنه بسیار بالاست. گذشته از این، هنوز مشکل تولید محتوای بی‌ربط هم در این یکی مدل به چشم میخورد.

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

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

  • دیتاست بهتر
  • پارامترهای بیشتر
  • مدل پایه جدیدتر
  • خروجی‌های بهتر

خواهند بود.

مزایای مارال نسبت به مدل پایه‌ش (Mistral 7B) چیه؟

اولین روزی که از میسترال استفاده کردم متوجه شدم نسبت به مدل‌های قبلی مثل LLaMa, LLaMa2, StableLM 7B و Vicuna و امثالهم، درک بهتری از الفبای فارسی/عربی داره.

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

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

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

در حال حاضر چه مشکلاتی ممکنه در استفاده از مارال پیش بیاد؟

  • مدل در هذیان‌گویی (Hallucination) بسیار خوبه. البته، این مشکل تقریبا تمام مدل‌های زبانیه و با گذر زمان، میشه حلش کرد.
  • مدل علاقه زیادی به تکرار خودش داره 😁
  • نتایج مدل در حال حاضر خیلی factual نیستند و می‌تونه misinformation تولید کنه.
  • مدل خیلی بزرگه و با همه سخت‌افزارها قابل اجرا نیست (البته با کد ۸ بیتی که ارائه کردیم قابل اجرا میشه)
  • فرمت پرامپتش، کمی مناسب نیست و نیازه که شروع و پایان جملات به مدل آموزش داده شه.

چه چیزی برای توسعه بهتر مارال لازمه؟

  • دیتاست بهتر (نه الزاما بزرگتر) و حتی شاید دیتاست‌های تخصصی
  • ترین شدن tokenizer روی زبان فارسی

چطور از مارال استفاده کنم؟

چنانچه قصد دارید از مارال استفاده کنید، کدهای اجرای مارال روی GPU رو در این لینک قرار دادیم. می‌تونید این کدها رو روی سیستم خودتون یا در Google Colab اجرا کنید.

جمع‌بندی

پس از این که یک ترین موفق روی Stable Diffusion و ساخت مدل «مانی» که البته در این مطلب در موردش توضیح داده بودم، باعث شد که پلتفرم هوش مصنوعی مانی رو راه‌اندازی کنم و به نوعی یک AI company تشکیل بدم، مسیرم به شکلی تغییر کرد که پشتیبانی بهتر و بهتر از زبان شیرین فارسی رو بتونم به این مدل‌ها اضافه کنم.

در حال حاضر، کاربردهای زیادی برای مدل بزرگ زبانی فارسی مانند مارال میشه متصور شد. گذشته از ربات‌های پشتیبان (که با متد RAG ساخته میشن) میشه به کاربردهای بسیار بیشتری هم برای این مدل فکر کرد. دوست دارم بدونم شما چه فکری در مورد این مدل دارید؟

در پایان هم ممنونم از وقتی که گذاشتید و این مطلب رو خوندید. امیدوارم این مطلب، برای شما مفید بوده باشه. موفق و موید باشید 🙂

Share

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

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

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

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

در سال‌های اخیر، با ارائه مدل‌های زبانی که در تولید متن (Text Generation) و طبقه‌بندی متن (Text Classification) و خلاصه‌سازی متن (Text Summerization) می‌تونن به ما کمک کنند یک ویژگی کاملا مشهوده. این مدل‌ها عموما عمده داده‌ای که دیدن، به زبان انگلیسی بوده. مگر این که مدل، از مدل‌های بسیار بزرگ (مثل GPT-3 یا BLOOM) بوده باشه که باز هم چیزی در حدود ۹۶-۹۷ درصد این داده ورودی، انگلیسی بوده.

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

نه فقط مدل‌های تولید متن، بلکه مدل‌های تولید تصویر و موسیقی و … هم از این قاعده مستثناء نبودند و حتی نسخه‌هایی که با داده دلخواه آموزش دیدند (دقیقا مثل مانی) فعلا گرفتار به لعنت زبان انگلیسی هستند. در واقع عمده تلاش‌هایی که در جهت هوش مصنوعی صورت گرفته، الزام عجیبی داشته در دانستن و خوب بودن در زبان انگلیسی.

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

مشکلاتی که انگلیسی‌زبان‌ها مطرح کردند

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

مطمئنا در یک سال اخیر، شما هم با ChatGPT عزیز کار کردید. احتمالا هم خیلی وقت‌ها، متوجه شدید که وقتی ازش سوالی می‌کنید، به شما میگه «متاسفانه به عنوان یک مدل زبانی بزرگ قادر نیستم در فعالیت غیرقانونی به شما کمک کنم».

گرچه این مورد به ذات می‌تونه خوب باشه (با توجه به نداشتن محدودیت سنی در استفاده) اما خب من رو شدیدا یاد رمان ۱۹۸۴ میندازه، اونجایی که زبان انگلیسی رو طوری تغییر داده بودن که اگر کسی خلافش صحبت می‌کرد مجرم بود. بخواهیم یا نخواهیم، این ابزارها مثل اینترنت و سایر رسانه‌های اجتماعی در شکل‌گیری و جهت‌گیری افکار ما می‌تونن موثر باشند. به همین خاطر این حد از سانسورشدگی که هم در چت‌جی‌پی‌تی، هم در لاما (مدل بزرگ مِتا) و هم در بارد (مدل بزرگ گوگل) شاهدیم، عاقبت خوبی نداره.

جهت‌دار بودن خروجی‌های مدل‌های زبانی بزرگ

بیایید فرض کنیم که کودکی وجود داره که هر روز به اسم «ناهار» بهش یک غذای خاص داده شده و نتونسته غذایی جز اون رو در وعده «ناهار» تجربه کنه. مثلا هرروز ساعت ۱۲ ظهر به این کودک شما یک عدد ساندویچ هات‌داگ دادید. حالا نتیجه چی میشه؟

کافیه به این کودک لیستی از غذاها نشان بدیم و ازش بخواهیم که برای وعده ناهار امروز یکی رو انتخاب کنه. به نظرتون این کودک چه چیزی رو انتخاب می‌کنه؟

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

به همین خاطر هم مدل‌های زیادی وجود داره که افراد روی داده کمتر جهت‌دار (مثل داده‌هایی که از بریتانیکا و ویکی‌پدیا میشه به دست آورد) آموزش دادند. حتی مدل‌هایی مثل Pygmalion دقیقا به خاطر همین موضوع جهت‌دار نبودن و سانسور نداشتن، از فضاهایی مثل Google Colab منع شدن!

برای زبان فارسی چه کاری می‌تونیم بکنیم؟

و حالا بحث ما می‌رسه به زبان شیرین فارسی و این که چه کاری از دستمون برای این زبان برمیاد؟ ابتدا باید ببینیم که این مدل‌ها چطوری کار می‌کنن!

یک مدل زبانی بزرگ مثل LLaMa یا GPT-3 یا هر مدل دیگری (که این روزها حسابی سر و صدا کردند) کارکردشون اینطوریه که حجم زیادی از داده شامل متن می‌بینن. این داده می‌تونه مطلب بلاگ، اخبار یا مدخل‌های ویکی‌پدیا باشه. بعد این داده رو که می‌بینن، تلاش می‌کنن ارتباط بین کلمات رو بفهمن. در بعضی موارد قادر به استخراج و تشخیص context هم هستند که اگر کلمات مشابهی رو دریافت کنند، چه پاسخی بدن.

بعد از اون، مبتنی بر ورودی‌ای که ما بهشون می‌دیم (که بهش میگن پرامپت) شروع می‌کنن تولید یک سری رشته متنی. حالا در بعضی موارد این قضیه می‌تونه به این شکل باشه که ما برنامه‌نویسی کنیم تا در قالب پرسش/پاسخ به ما خروجی تحویل بده. در کل این مدل‌ها ساخته میشن که متن تولید کنند، یا بتونن اون رو طبقه‌بندی کنن یا این که حتی خلاصه‌ای از متن رو به ما بدن.

حالا سوال اینه که ما با این دانش، باید چی کار کنیم تا بتونیم زبان فارسی رو به چنین مدل‌هایی وارد کنیم؟

جمع‌آوری/تولید داده

همونطور که قبلتر هم توضیح داده بودم، یکی از سخت‌ترین بخش‌های هر پروژه هوش مصنوعی، جمع‌آوری یا تولید داده مورد نظرمونه (لینک) و خب طبیعیه که وقتی ما می‌خواهیم روی موضوعات خاصی تمرکز داشته باشیم، جمع‌آوری و تولید این داده سخت‌تر هم میشه.

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

راه دیگر، استفاده از روش جمع‌سپاری و درخواست از یک جامعه‌ست برای تولید داده مورد نظر. یعنی مثلا یک پلتفرم ایجاد کنیم و از مردم بخواهیم که مثلا هرکسی یک پاراگراف در مورد یه موضوعی بنویسه. به این شکل در مدت کوتاهی، می‌تونیم به یک حجم خوبی از داده برسیم (مثل کاری که Mozilla Common Voice انجام می‌ده).

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

مدل‌های پایه

بعد از جمع‌آوری داده‌های مکفی، لازمه ذکر کنم که ما به مدل پایه هم نیاز داریم. مدل‌هایی مثل GPT-3 که امکان بازآموزی ندارند (چون اوپن سورس نیستند) و اگر داشته باشند هم این بازآموزی باید روی بستر OpenAI انجام بشه که طبیعتا خیلی گزینه منطقی و مناسبی نیست. مدل‌هایی مثل BLOOM یا Falcon 40B هم بسیار بزرگتر از این هستند که بتونیم حتی با داشتن حساب کاربری روی Google Colab Pro Plus آموزششون بدیم.

پس چی می‌مونه؟ مدل‌های کوچکتر که دقت خوبی دادند. مدل‌هایی مثل GPT-J, GPT-NeoX, LLaMa, … می‌تونن پرفرمنس خوبی در این زمینه داشته باشند. تلاش‌هایی در این جهت داره میشه و به زودی در موردش در همین بلاگ خواهم نوشت 🤩

سخن آخر

در نهایت، باید بگم یکی از مهم‌ترین عواملی که افراد یک جامعه رو کنار هم نگه می‌داره، زبانشونه. در روزگاران گذشته، حفظ زبان منوط به تاریخ‌نگاری و شعر و … بوده. کمی گذشت، زبان‌ها با نثر و رمان خودشون رو حفظ کردند و بعد از اون وارد عصر رسانه و جراید شدیم.

اما نکته اینه که در دنیای امروز، در سال ۱۴۰۲ خورشیدی، در ۲۰۲۳ میلادی یا هرچی که شما قبول دارید، حفظ زبان‌ها، خواه فارسی خواه عربی، خواه ترکی خواه کردی، مستلزم اینه که ماشین‌ها درک خوبی از اون زبان داشته باشند. به همین خاطر این پست بلاگ نوشته شد تا این نگرانی به گوش سایر افرادی که ممکنه دغدغه مشابه داشته باشند، برسه.

امیدوارم شاد و خندون و موفق باشید 🙂

Share

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

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

مصاحبه با محمدرضا حقیری، مهندس هوش مصنوعی

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

او دانشش درباره فناوری‌هایی که برای توسعه این مدل استفاده کرده را با ما به اشتراک گذاشته است. هوش مصنوعی چندمدلی او، از Stable Diffusion و Dream Booth استفاده می‌کند.

برای درک بهتر مطلب، مثل همون متن اصلی، سوالات و نظرات اون‌ها رو بولد و پاسخ‌های خودم رو عادی نوشتم.

لطفا خودت رو برای خوانندگان ما معرفی کن. چه کارهایی کردی که به اینجا رسیدی؟ و چطور؟

من محمدرضا حقیری هستم، متولد ۹ خرداد ۱۳۷۵ (۳۰ می ۱۹۹۶) در تهران، ایران. من همیشه علاقه وافری به ساختن چیزهای مختلف داشتم و این علاقه در حوزه علوم کامپیوتر بیشتر و بیشتر شد. در سن ۱۲ سالگی برنامه‌نویسی رو شروع کردم و اولین زبانی که یادگرفتم هم ویژوال‌بیسیک ۶ بود. یادمه اولین برنامه‌ای که نوشتم، ماشین حسابی بود که فشاری که یک جرم به سطح وارد می‌کنه رو محاسبه می‌کرد.

من در دانشگاه مهندسی سخت‌افزار خوندم و بعد از این که در مقطع کارشناسی فارغ‌التحصیل شدم (که همزمان با قرنطینه بود) مطالعه هوش مصنوعی رو جدی‌تر شروع کردم. ایده‌هایی در ذهنم بودند، برنامه‌نویسی بلد بودم ولی قبل اون دوره، هیچوقت به این که مهندس هوش مصنوعی بشم فکر نکرده بودم. انگیزه اصلی برای مطالعه هوش مصنوعی رو یک سریال تلویزیونی به نام مظنون (Person of Interest) به من داد که به نوعی داشت آثار واقعی هوش مصنوعی بر زندگی بشر رو به تصویر می‌کشید.

اواخر ۲۰۲۱ و اوایل ۲۰۲۲ بود که مفهوم «هوش مصنوعی مولد» و «هنر تولیدشده توسط هوش مصنوعی» رو شناختم و همونطوری که می‌تونی حدس بزنی، عاشقش شدم 😁 به همین خاطر هم مطالعاتم جدی‌تر شدند و سعی کردم مدل خودم رو در قالب یک استارتاپ توسعه بدم تا بتونم اون چیزی که در ذهن دارم رو تولید کنم.

در حال حاضر روی مدل متن به تصویری به اسم Mann-E کار می‌کنی. می‌تونی یکم در موردش توضیح بدی و بگی چطور کار می‌کنه؟

مانی (که در بلاگم توضیح دادم یک جورایی بازی کردن با اسم مانی بوده، یک نام مردانه فارسی که البته اشاره‌ای هم به رهبر روحانی دوران ساسانی به همین نام – که نقاش هم بوده – داره) یک مدل Diffusion محسوب میشه. این به این معنیه که اول یک فضای مبهم (مثل برفک تلویزیون) درست می‌کنه و شروع می‌کنه به توسعه دادن اون تصویر که همزمان با مدلی مثل CLIP هم داره چک میشه که آیا درست داره پیش میره یا خیر. در نهایت هم تصویر تولید شده رو به کاربر نشان میده.

هدف اصلی توسعه مانی ساده‌ست، من نمی‌خوام مردم ایده‌ها و احساسات هنرمندانه‌شون رو در ذهنشون نگه دارند. ما در حال حاضر در دنیای «سیل اطلاعات» زندگی می‌کنیم. ذهن‌های ما هرلحظه با دنیایی از اطلاعات روبرو میشن و من باور دارم که داشتن ابزارهای هوش مصنوعی که کمکمون کنند تا افکار و ایده‌هامون رو در قالب عکس و نقاشی داشته باشیم، می‌تونه کمی به آرامشمان کمک کنه.

اگر دوست دارید بدونید چطور می‌تونید از مانی استفاده کنید، می‌تونید به گیتهاب من مراجعه کنید. یک دفترچه یادداشت جوپیتر اونجا هست که می‌تونه به Google Colab وارد بشه. حجم زیادی از کد هم از دید کاربر مخفی شده که حسی مشابه Midjourney یا Dall-E داشته باشه.

تو وبلاگت اشاره کردی که مدل بر مبنای Stable Diffusion ساخته شده. چه فناوری‌هایی برای این هوش مصنوعی استفاده کردی؟

این چیزیه که من بهش میگم «سوال مورد علاقه‌م». می‌تونم ساعت‌ها در مورد فناوری‌هایی که استفاده کردم، صحبت کنم. اول بذارید یک تاریخچه‌ای براتون بگم. وقتی اکثر تولیدکنندگان تصویر خوب «آزاد» نبودند (در مصاحبه گفتم free و ظاهرا یادم رفته مشخص کنم free as in freedom) تنها پایه و مبنای خوب برای یک تولیدکننده اثر هنری با کمک هوش مصنوعی VQGAN بود. یادمه که اگر نتایجش رو با CLIP ترکیب می‌کردی می‌تونست نتایج خوبی ارائه بده. در واقع این یک بازی انکودر-دیکودر بین دوتا مدل هوش مصنوعی بود.

ولی به قدر کافی خوشحال‌کننده نبود، مخصوصا این که midjourney در همون نسخه‌ها هم تصاویری تولید می‌کرد که انگار همین الان از ذهن یک هنرمند چیره‌دست بیرون آمده. پس من چه کردم؟ شخصا به این فکر بودم که چه اتفاقی می‌افتاد اگر یک نسخه متن‌باز از Midjourney داشتیم؟ و همزمان افرادی در شرکت Stability AI هم فکر مشابهی داشتند. وقتی انتشار Sable Diffusion رو اعلام کردند، من واقعا خوشحال شده بودم. کانسپت رو واقعا دوست داشتم با خودم گفتم که این به درد پروژه من هم میخوره! اینجا دقیقا جایی بود که من رفتم هرچی مقاله و تحقیق در مورد Stable Diffusion بود رو خوندم. این برای من یک دنیا ارزش داشت، چون بالاخره یک مدل تولید تصویر بسیار خوب داشت منتشر می‌شد.

این Stable Diffusion فناوری ابتدایی من بود. بی‌نهایت دوستش داشتم. همیشه تلاش می‌کردم بهترین نتایج رو ازش بگیرم. از prompt engineering صرف بگیر تا نوشتن کد‌هایی که بتونه برای من نتایج بهتری ازش بگیره. در ماه‌هایی که از انتشار نسخه اولیه‌ش گذشت، دو تا اتفاق خیلی بزرگ افتاد. اول این که Dream Booth برای Stable Diffusion ریلیز شد ( و صادقانه بخوام بگم، فاین تیون کردن Stable Diffusion رو به شدت ساده کرده) و همزمان RunwayML هم ورژن ۱.۵ از Stable Diffusion رو منتشر کرد. من مواد اولیه اصلی برای ساخت Midjourney متن‌باز رو داشتم!

بخوام خلاصه بگم: هسته اصلی Stable Diffusion ئه، از چک‌پوینت‌های نسخه ۱.۵ ای که runwayml ساخته استفاده کردم و تیون/ترین کردن با Dream Booth انجام شده. اینا Mann-E رو ممکن کردند. همچنین زبان‌های مورد استفاده هم باید بگم که عمدتا از پایتون استفاده کردم و کمی هم کد روبی برای توسعه وب نوشتم. و این تمام چیزیه که من استفاده کردم.

چه تفاوتی با Dall-E, Open Journey و باقی مدل‌ها داره؟

این سوال سختیه، بخصوص که در طول سال گذشته هزاران مدل با تکنیک‌های Textual Inversion و Dream Booth منتشر شدند. ولی اگر بخوام خلاصه بگم که چه فرقی با Dall-E داره، باید بگم که مانی به اون اندازه گرون نیست. برای استفاده از مانی، فقط کافیه که Google Colab رو راه‌ بندازید، نوت‌بوک رو واردش کنید و تمام! می‌تونید بی‌نهایت تصویر باهاش بسازید. این رو با Dall-E مقایسه کنید که به شما ۵۰ تا تصویر رایگان می‌ده و بعدش باید هزینه پرداخت کنید (که البته به نظرم مدل درآمدی بدی نیست).

ولی وقتی بحث به SD و Open Journey می‌رسه، باید بگم که من همیشه از بزرگترین طرفدارای این مدلا بودم و همیشه حس می‌کردم یه چیزی اونجا درست نیست (بخصوص با SD خام). برای این مدل‌ها، این که نتایج پرت و پلا و بی‌ربط تولید کنند چیز عجیبی نیست. پس چه کار می‌تونستم بکنم؟ حدس می‌زدم بهتره سعی کنم مدل‌های خوب رو با هم ترکیب کنم. الان می‌تونم مدعی بشم که مانی، در واقع یک هوش مصنوعی چندمدلی محسوب میشه که در حال حاضر توضیحش یکم سخته، ولی فکر کنم مقاله‌ای به زودی در موردش منتشر خواهم کرد.

اون مدل‌ها برای نقاشی، طراحی، هنر مفهومی، استایل آنالوگ، دابل اکسپوژر و … بودند. با یک چک‌پوینت و کمی prompt engineering الان می‌تونید نتایج بسیار خوبی از مدل دریافت کنید.

روی مدلی به نام Open Journey کار می‌کردی ولی اسمشو عوض کردی. می‌تونی کمی در موردش بگی؟

مانی اول کار، اسم مدل نبود؛ بلکه اسم استارتاپی بود که در تابستان ۲۰۲۲ برای همین کار راه انداخته بودم. اسم مدل Open Journey بود که اشاره به Open Source Midjourney داشت. بعدا، فهمیدم که یک نفر از تیم میدجرنی از تیم prompthero خواسته که اسم مدلشون (که فکر کنم چیزی مثل midjourney-v4-style-stable-diffusion یا چنین چیزی بود) رو عوض کنند و اون‌ها (یعنی prompthero) هم اسم مدل رو به OpenJourney تغییر دادند. من ازشون درخواست کردم که اسم مدل رو عوض کنند ولی از اونجایی که ترجیحم این بود که اون استارتاپ رو در اون برهه زمانی متوقف کنم، اسم مدل رو به مانی تغییر دادم.

و البته یک اتفاق خوشحال‌کننده هم افتاد. یک نفر لینک قدیمی به مدل من (که هنوز اسم رو Open Journey درج کرده بود) رو در هکرنیوز پست کرده بود و وبسایت من هم از لحاظ تعداد بازدیدکننده ترکید. من اون صفحه رو به صفحه درست، ری‌دایرکت کردم و فکر کنم این «ناخواسته‌ترین دیده‌شدن»ی بود که من می‌تونستم از یک پروژه متن‌باز بگیرم.

فکر می‌کنی آینده هوش مصنوعی چطوریه؟ حرف و حدیث در مورد موضوع خیلی زیاده و اکثرا ریشه در محصولات شرکت OpenAI مثل ChatGPT داره. اتفاق بعدی چیه؟

باور دارم که هوش مصنوعی آینده‌ست. برخلاف چیزی که سال ۲۰۲۱ اومد و یه فازی ساخت و رفت (و بله، منظورم متاورس زاکربرگه). هوش مصنوعی واقعی و آینده‌داره. من دارم به چشم می‌بینم که افراد زیادی از این ابزارها برای تولید پست‌های بلاگ، کپی‌رایتینگ، تولید شعار برای شرکت و استارتاپ، تولید آیکون و تصویر شاخص و حتی تولید کد استفاده می‌کنند. این خیلیه، بخصوص با وجود ابزارهایی مثل GPT-3 یا ChatGPT حتی می‌تونه رایج‌تر هم بشه. از طرف دیگر قضیه هم که بخواهیم نگاه کنیم، ابزارهای متن‌بازی مثل BLOOM, BLOOMZ, Flan-T5, GPT-Neo و … رو داریم. افراد می‌تونند این مدل‌ها و API رو متناسب با نیازهای خودشون، تغییر بدند.

و باور دارم که ابزارهای هوش مصنوعی ما را به جهانی هل می‌دهند که مردم در آن هوشمندانه‌تر کار می‌کنند، نه سخت‌تر. می‌دونی، تو می‌تونی شونزده ساعت از بیست و چهار ساعت شبانه روز رو صرف توسعه یه کمپوننت تو پروژه ری‌اکتیت کنی، درسته؟ این خیلی خوبه که شغلت و کاری که می‌کنی رو دوست داره ولی حدس من اینه که این ماجرا برای کارفرما یا سرمایه‌گذار هیچ اهمیتی نداره، بخصوص وقتی می‌فهمن که با ۱۶ دقیقه prompt engineering می‌تونستی همون نتیجه رو از GPT-3 با کمی ویرایش کد بگیری. برای من، این یک دنیای بهتره.

در پایان هم از تو، الکساندر؛ تشکر می‌کنم که اومدی سراغم.

سخن آخر

سالها پیش دوستانی در وبسایت لینوکس سیزن با من مصاحبه‌ای انجام دادند که از اینجا در دسترسه. اما خب این یکی مصاحبه، برای من پراهمیت‌تر بود، چرا که فکر کنم تنها کسی هستم که در ایران، با جدیت روی پروژه‌های Generative AI (هوش مصنوعی مولد) به صورت آزاد/متن‌باز کار می‌کنه و خب حیف بود که الان که موقعشه، منتشرش نکنم.

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

Share

چگونه رمز موفقیت میدجرنی شکسته شد؟ نخستین دیدار با مانی ۴

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

ابتدا بذارید کمی از میدجرنی صحبت کنم.میدجرنی یک ابزار هوش مصنوعیه که در پیام‌رسان اجتماعی دیسکورد داره استفاده می‌شه و مردم با کمکش تصاویر جذابی تولید می‌کنند. میدجرنی، همیشه چند مرحله از باقی تولیدکنندگان تصویر جلوتر بود و همین باعث شده بود که خیلی‌ها حتی از من بپرسند «چرا مثل اون تصویر تولید نمی‌کنی؟» و در نهایت من هم به این نتیجه رسیدم که باید ته و توی این مدل خاص رو دربیارم و مانی رو بهش نزدیک یا ازش بهتر کنم. در این پست، قصد دارم در مورد پروسه کارم بنویسم.

تاریخچه مانی

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

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

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

مدت‌های زیادی، در نظر داشتم که پروژه «مانی» رو پیش ببرم اما پایه مناسبی نداشتم. اون‌هایی که می‌شد به راحتی به قولی پیاده‌سازی یا حتی Fine Tune بشند خروجی خوبی نداشتند و اون‌هایی که می‌تونستند خروجی‌های خوبی تولید کنند هم آموزش دادن و فاین‌تیون کردنشون منابع بسیار بسیار زیادی می‌خواست.

ظهور Stable Diffusion

اوضاع در حدود مردادماه امسال، خیلی عوض شد. یک‌باره شرکتی به اسم Stability AI (لینک) تصمیم گرفت یک مدل تولید تصویر متن‌باز ارائه کنه به اسم Stable Diffusion که خب این خودش می‌تونست یک نقطه عطف در تولید تصویر و در کل اثر هنری به کمک هوش مصنوعی محسوب بشه.

وقتی این مدل منتشر شد، مجددا مشکلی وجود داشت اون هم این بود که فاین‌تیون کردن این مدل، منابع زیادی میخواست تا این که نسخه یک و نیم این مدل، منتشر شد (لینک) که دقیقا همراهش، یک یا چند برنامه‌نویس باحال دیگر هم بودند که تکنولوژی Dream Booth گوگل رو با کمک Stable Diffusion پیاده کرده بودند. اینجا بود که فاین‌تیون کردن این ماجرا، به سادگی امکان‌پذیر بود.

اما به خوبی Midjourney نبود…

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

البته این نگرانی من نبود، عمدتا نگرانی افرادی بود که به عنوان «مشتری» سراغ این پروژه می‌آمدند و میخواستند از این پروژه استفاده تجاری کنند و خب ظاهرا نُرمی در بین هموطنانمون وجود داره که با علم به این که کجا زندگی می‌کنیم و با چه امکاناتی چی توسعه می‌دیم؛ همچنان انتظار دارند در حد و اندازه غول‌ها ظاهر بشیم 🙂

خلاصه این قضیه خیلی باعث شد به من بربخوره 😁 و به همین خاطر یک دیتاست از تصاویری که در میدجرنی تولید شده بود رو برداشتم، به همراه متون ورودیشون (دیتاست حدود ۱۰۰۰ تصویر) و آخرین نسخه مانی (لینک) رو ساختم. خروجی‌ها واقعا خوب شده بودند اون هم فقط با هزار تصویر. اما یک مشکلی بود، تنوع خروجی به شکل میدجرنی نبود تا این که کمی در دیسکورد میدجرنی، چرخیدم و نتایج جالبی دستم آمد 🙂

چگونه رمز موفقیت میدجرنی شکسته شد؟

خارجی‌ها یه اصطلاح جالبی دارند. وقتی میخوان ببینن چیزی چطور کار می‌کنه میگن Let’s look under the hood یا «بذار یه نگاه به زیر کاپوت بندازیم». اما مشکل اینجاست که میدجرنی کاپوتش جوش داده شده. پس چطور میشه فهمید اون زیر چه خبره؟

خب حقیقت اینه که در سال‌های اخیر خیلی چیزها من‌جمله ویندوز، مک او اس، آیفون! تکنولوژی‌های فیسبوک و … مهندسی معکوس شدند و نمونه‌های آزاد و متن‌باز ازشون ساخته شده. پس مهندسی معکوس میدجرنی هم نباید کار سختی باشه نه؟ فقط به کمی اطلاعات نیاز داریم. این اطلاعات رو می‌شد از دیسکورد به دست آورد.

اول، داشتم دنبال مدل‌هایی می‌گشتم که بر اساس روش کار میدجرنی ساخته شده باشند. نخستین چیزی که دیدم OpenJourney از Prompthero بود که خب کارم رو تا حد زیادی راه انداخت و تصاویر خوبی بهم داد (که حتی بعضیاش رو برای تست و بهبود مانی هم استفاده کردم). اما هنوز به خود میدجرنی، نرسیده بودم. پس باید چه کار می‌کردم؟

میدجرنی یک مدل نیست، چند مدله!

خب یکی از چیزهایی که در مورد میدجرنی خیلی جالبه اینه که همیشه در آپدیت‌هاش مدعی میشه که اضافه کردن یک کلمه یا عبارت جدید (مثلا Double Exposure) در متون ورودی می‌تونه نتیجه‌های جدیدتر و بهتری برای شما تولید کنه.

همین باعث شد که من کمی به اتفاقاتی که زیر کاپوت داره می‌افته، شک کنم. شکم هم تا حد خوبی به یقین تبدیل شد وقتی دیدم چند پروژه مشابه (که هنوز عمومی نشدند) مدعی «استفاده از چند مدل» شدند، اما چطور؟

خب یکی از راه‌هایی که میشه این حرکت رو زد اینه که چندین مدل روی چندین قضیه متفاوت ترین/فاین‌تیون بشه و بعد با یک if ساده، ورودی‌ها رو به اون‌ها فرستاد. اما سوال اینه که من چه کردم؟ آیا چندین مدل ترین کردم؟ خیر.

ترکیب چند مدل با هم و نتایج آن‌ها

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

حالا اگر این مدل‌ها ساختار مشابهی داشته باشند، این امکان وجود داره که اون‌ها رو با هم ترکیب کنیم و نتیجه‌های بهتری بگیریم. خب کاری که کردم این بود که اول از همه مانی رو با Open Journey و یکی دو مدل دیگه ترکیب کنم (و اسم این مدل رو new_mann_e_2 گذاشتم) و بعد یک سری مقایسه با openjourney انجام دادم.

اما حالا نیاز بود که کمی از خوبی‌های میدجرنی رو هم اینجا داشته باشیم 😁 پس حالا چه کردم؟ هیچی. آمدم و وزن‌های مانی جدید و اوپن‌جرنی رو با هم ترکیب کردم.

نتایج آزمایش‌ها

متن‌های ورودی همونطوری که مشخصه یک منظره (در سبک wasteland و cyberpunk) یک چهره (در سبک و سیاق نقاشانی چون Alphonse Mucha) و یک وسیله نقلیه (نقاشی فانتزی) بودند و مقدار seed (که تعیین‌کنندگی خوبی در جزییان نقاشی داره) در هر سه تصویر، یکی نگه داشته شد.

می‌تونم بگم به جرات مانی ۴ – که در حال حاضر در حال کار روش هستم – با متد «چند مدل» به خوبی تونسته از پس خودش بربیاد و این یعنی که همه چیز چقدر خوب داره پیش میره و با یکم تغییر و یکم ترکیبات جدید، می‌تونه نتایج به شدت بهتری هم بهم بده.

فاین تیون کردن مانی با داده‌های شما

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

اما مانی رو میشه به کمک Dream Booth فاین‌تیون کرد و احتمالا بعدتر در مورد اون هم خواهم نوشت. ولی اگر شما ایده یا دیتایی دارید، می‌تونید به من بگید تا در نسخه ۴ اضافه کنم و مدل بهتری در نهایت ارائه کنم.

جمع‌بندی و سخن آخر

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

این یکی از وجوه این مطالعه/تحقیق بود و وجه دیگرش هم این که چطور ترکیب وزن‌ها و بایاس‌های چند مدل مختلف (که البته از معماری یکسانی تبعیت می‌کنند) می‌تونه در نتیجه اونها تغییر ایجاد کنه.

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

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

یادتان هم نره که یادگیری مستمر به بهبود زندگی شما در هر شرایطی کمک می‌کنه و همیشه شما رو می‌تونه به شخص بهتری تبدیل کنه ✌️

Share

رفتار انجمن اوبونتو مقابل یک پروژه آزاد (یک انتقاد از عملکرد مدیریت انجمن اوبونتو)

مدتی بود که دوست نداشتم مطلبی بنویسم اما خب الان، مجبورم که این بلاگ رو پیرامون رفتاری که دوستان مدیر در انجمن اوبونتو ایران داشتند، مکتوب کنم. قضیه از اونجایی شروع میشه که کلی بحث در این فروم شروع شد. نخستین بحث برمی‌گرده به تاپیکی که من درش سوال کردم «چرا دبیان؟» و خب می‌تونید از اینجا بخونیدش 🙂

یک سری شوخی اینجا شد، اما بعد از مدتی بحث و بررسی در فروم با تعدادی از دوستان – که همگی از نظرم نوجوانان و جوانان باهوش و مستعدی هستند – تصمیم بر این شد که پروژه جبیر (+،+ و +) رو احیاء کنم. البته انتظار برخورد جالبی از سمت مدیریت نداشتم (با توجه به این تجربه) ولی خب اول قضیه، کار نسبتا خوب پیش رفت. کلی بحث و بررسی سر معماری ARM شد، در مورد x86 شد، حتی در مورد دیزاین وبسایت، لوگو و … شد. در نتیجه چه اتفاقی افتاد؟ این که من وبسایت پروژه جبیر رو احیا کردم 🙂 خیلی جدی هم در مورد محصولات مبتنی بر نرم‌افزار آزادی که می‌خواستم در این پروژه داشته باشم بحث شد، عمده بحث هم همین نوجوانانی که ازشون صحبت به میان میاد، پیش می‌بردند و من عملا نظاره‌گر بودم.

خلاصه این که دو تا تاپیک با موضوعات یکی «چرا دبیان» (که عمده بحثش پیرامون این که چرا دبیان گزینه خوبیه و بخش کمیش چرا ARM خوبه) ایجاد کردم که ترجمه فارسی یکی از پست‌های پروژه جبیر بود. در این تاپیک به طور خاص اصلا از پروژه جبیر، صحبتی به میان نیامد.

تاپیک دوم هم در مورد اهمیت معماری x86 در ساخت یک پروژه توزیع لینوکس بود و باز هم آنطور که باید و شاید، اسمی از پروژه نیامد. اما خب ناگهان دیدم که پست‌ها همه حذف شدند و این اخطار هم دریافت شده:

و حالا من پست مرتبط با «قوانین و خط مشی» انجمن اوبونتو رو بررسی کردم، تنها دو بند هستند که به «پروژه» اشاره دارند و هیچ کدام به طور خاص، به پروژه جبیر اشاره نکردند.

اولین بند اینه:

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

و البته دومیش این:

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

که مورد دوم، حتی قانون هم نیست بلکه در بخش «اخطارات و الزامات» قرار گرفته، یعنی در شرایط خاصی امکان نقضش هست (که خودشون توضیح دادند، مثل زمانی که شما ۱. دارید مقایسه می‌کنید و ۲. آلترناتیوی برای اون نرم‌افزار نیست.

حقیقتش رو بخواهید، بروز چنین رفتاری از انجمنی که شاید الان «تنها هاب نرم‌افزار آزاد در وب» به حساب میاد، تا حد خیلی زیادی شرم‌آوره و جالب نیست، دیگه خود دانید 🙂

Share

چرا قالب وبلاگ تغییر کرد؟

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

از طرفی، قالب قبلی مشکلات زیادی در خوانده‌شدگی داشت که عبارت بودند از مشکلات مرتبط با حالت تاریک مرورگر (ظاهرا اگر کاربر از افزونه‌هایی که حالت تاریک رو به وبسایت‌های فاقد اون حالت هستند اضافه می‌کنه؛ استفاده می‌کرد، حالتش تغییر نمی‌کرد) و مشکلات خواندن در گوشی تلفن همراه. بسیاری از این ایرادات رو از طریق سرچ کنسول گوگل متوجه شدم و خب همینطوری که دنبال قالب می‌گشتم چیزهای جالبی دیدم.

اما می‌دونید چه چیزی باعث شد به این قالب بیام؟ یادمه سالیان پیش، برای وبسایت پروژه جبیر (بایگانی وب) از قالب Pinboard استفاده می‌کردم که الان هم در وبلاگ آزادقلم (لینک) داره استفاده می‌شه. بعد یادم آمد که برای استفاده از این قالب با زبان فارسی، نیازمند کلی تغییر در CSS و غیره هستیم.

از همین رو، رفتم سراغ وبلاگ‌های قدیمی وبلاگستان فارسی که ببینم کی، از چی استفاده می‌کنه (یا می‌کرده) و هیچی به نظرم دم دست تر از کی‌برد آزاد جادی نیومد 🙂 نتیجه این شد که از همون قالبی که جادی استفاده می‌کنه، استفاده کردم. البته با شکل متفاوتی.

Share

نصب Phosh روی دبیان

گنوم، چندسال اخیر رو در حال بهبود تجربه کاربریش روی دستگاه‌هایی مثل گوشی‌های همراه و همچنین تبلت‌هاست. در کل، داره برای یک انقلاب در صفحات لمسی آماده میشه. حالا، یک رابط کاربری جالب به اسم Phosh (مخففی برای Phone Shell) ارائه کرده که روی دبیان (بله، حتی دسکتاپ!) قابل نصب و اجراست.

نماگرفت زیر، نماگرفتی از صفحه قفل این رابط کاربریه:

و خب همونطوری که می‌بینید، کار تمیز و نسبتا زیباییه. حالا سوال اینه چطور نصبش کنیم؟ در ادامه مطلب مفصلا توضیح میدم 🙂

نصب قدم به قدم Phosh روی دبیان

گام اول: نصب دبیان

توجه داشته باشید که دبیان مد نظر من اینجا، دبیانیه که شما روی پردازنده‌های x86 نصب می‌کنید. اگر قراره این دبیان روی رزبری پای باشه، یا سیستم شخصی شما صفحه لمسی داره، می‌تونید این قسمت رو نادیده بگیرید. اما من نصب رو روی یک ماشین مجازی با کمک Virtual Box انجام دادم. آموزش نصب دبیان، در اینترنت زیاد پیدا میشه؛ فلذا اینجا حرفی از آموزش نصب به میان نمیارم. فقط حواستون باشه نسخه Net Install دبیان رو دانلود و نصب کنید که چیز اضافه‌ای نداشته باشیم. برای دانلود دبیان هم می‌تونید به وبسایت دبیان مراجعه کنید و آخرین ISO مورد نظر رو بگیرید.

گام دوم: قبل از نصب Phosh چه کنیم؟

خب اولین کاری که قبل از نصب Phosh کنید اینه که با خودتون یک فنجان قهوه یا نوشیدنی خنک داشته باشید چون پروسه نصب ممکنه شما رو خسته و تشنه کنه. بعد از اون، بد نیست که سیستم رو بروزرسانی کنید. بعد از بروزرسانی سیستم‌عامل، نوبتی هم باشه نوبت اینه که مستقیم بریم سر نصب Phosh. اینجا هم جا داره نکته مهم رو متذکر بشم که من phosh رو از مخازن نصب می‌کنم تا صرفا کنجکاوی رفع شده باشه وگرنه روش درست‌تر نصب phosh نصب از کد منبعه (حداقل اگر روی سیستم x86 و به قصد توسعه نصب می‌کنید).

گام سوم: نصب و راه‌اندازی Phosh

خب برای نصب کافیه که دستورات زیر رو اجرا کنیم:

sudo apt install phosh-core

و اگر می‌خواهید Phosh شما مناسب تبلت باشه:

sudo apt install phosh-tablet

و اگر می‌خواهید نسخه کامل Phosh رو نصب کنید، کافیه که دستور رو به این شکل تغییر بدید:

sudo apt install phosh-full

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

sudo systemctl enable phosh
sudo systemctl start phosh

سپس، صفحه قفل (که بالاتر عکسش رو قرار دادم) و بعد از اون، صفحه ورود رمز به شما نمایش داده میشه.

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

خب، حالا با خیال راحت می‌تونیم از Phosh استفاده کنیم و لذت ببریم 😁

نکات مهم

از اونجایی که Phosh نرم‌افزار نوپا و نسبتا جدیدیه، لازمه چند نکته مهم رو در موردش متذکر بشم:

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

کدوم توزیع‌ها از Phosh پشتیبانی می‌کنند؟

این هم سوال مهمیه، تا جایی که دیدم PostmarketOS (که برمبنای آلپاین ساخته شده) و همچنین Mobian (که برپایه دبیانه) از این میزکار (یا بهتر بگم پوسته) پشتیبانی می‌کنند. در مورد سایر توزیع‌ها/سیستم‌عامل‌هایی که ممکنه گنوم رو اجرا کنند، ایده‌ای ندارم.

جمع‌بندی

این بلاگ اصلا قرار نبود نوشته شه، ولی امروز از سر خستگی (دقیقا خستگی 😂) جستجو کردم ببینم Phosh چطور می‌تونه روی دبیان دسکتاپ نصب بشه. امتحانش کردم و به نظرم پروژه تمیز، باحال و آینده‌داری اومد. حالا هم تستش کردم و هم یک سری ایده‌ اومد به ذهنم. در آینده، احتمالا بیشتر با Phosh کار کنم و در موردش بنویسم. در آخر هم بابت وقتی که صرف کردید و این مطلب رو خوندید، ازتون تشکر می‌کنم.

Share

[آرشیو مطالب قدیمی] : مصاحبه با محمدرضا حقیری ، مدیر پروژه جبیر

پروزه جبیر ، پروژه ای نو پاست که هدف آن تهیه یک سیستم عامل مناسب برای آموزش لینوکس به کاربران است. پس از بحث با آقای حقیری موضوع مصاحبه و درج آن در سایت برای معرفی پروژه پیش آمد و قرار شد من سوالاتی که حدس می زنم یک کاربر ممکن است در مورد این سیستم عامل داشته باشد را بپرسم و ایشان جواب ها را فرستادند. در ادامه می توانید این مصاحبه را بخوانید.

خودتون رو برای دوستان معرفی کنید.

سلام :) . محمدرضا حقیری هستم متولد نهم خرداد ماه ۱۳۷۵ در شهر تهران و اکنون ساکن بندرعباس. در حال حاضر در دوره متوسطه مشغول تحصیل هستم. از جمله مقامات و رتبه هایی هم که کسب کردم ، میتونم به رتبه سوم رباتیک مدارس راهنمایی استان تهران ، رتبه دوم تولید محتوای آموزشی (نرم افزار) در استان تهران ، رتبه اول مسابقات گرافیک رایانه استان هرمزگان و رتبه ۶۴ المپیاد کامپیوتر کشوری. همچنین طرح سیستم عامل جبیر هم رتبه ۱۲ کشوری جشنواره جوان خوارزمی رو کسب کرده :)

از کی شروع به فعالیت کردید؟

از سال ۱۳۸۹ به فکر طراحی سیستم عامل بودم. البته اون زمان قصد داشتم همه چیز رو خودم بنویسم. ولی با Remastersys آشنایی پیدا کردم اما چون اینترنت پرسرعتی نداشتم ترجیح دادم توزیع لینوکسی رو روی ماشین مجازی پرورش بدم و ازش خروجی بگیرم (ویرچوال باکس چنین کاری رو میکنه) و بعد اسمش رو prp-e خالی گذاشتم. البته prp-e مخفف اسم کلوپ رباتیک مدرسه راهنماییمون بود (پرشیا رایان پرداز شرق). و در سال ۱۳۹۰ که همکار جدیدی در پروژه پیدا شده بود و تیم «ایران هکینتاش» رو تشکیل دادیم ، این توزیع رو پرورش دادیم و خروجی ISO رو با Remastersys تهیه کردیم. اواخر ۹۰ بود که IranHackintoshOS رو بین خودمون رد و بدل کردیم :). کمی کار اون موقع سخت بود چون که دو نفر بودیم و اطلاعات لینوکسی متوسطی داشتیم. اما اینکه توزیعی رو ایجاد کرده بودیم که ویژگی هایی از سیستم عامل مک به ارث برده باشه. اما در نسخه ۱ که به «جبیر او اس» مشهور هست ، سعی کردیم یک توزیع همه جانبه تهیه کنیم .

هدف اصلی پروژه چیست؟

یک سیستم عامل عام منظوره که تمرکز خاصی رو دسکتاپ و کاربران تازه کار داشته باشه. یعنی کاربران بتونند بعد از نصب و کار روی این سیستم عامل بتونند به راحتی روی سایر سیستم عاملها(حتی مک یا ویندوز یا BSD ها و …) سوییچ کنند.

تیم دارید؟ چند نفر هستند؟

بله. تیم ۳ نفره متشکل از من (محمدرضا حقیری) ، رضا باقرزاده و محمد اسماعیلی.

الان در چه وضعیتی هستید؟

بستگی داره منظورت چی باشه :) . خب وقتی از «وضعیت» سوال به میون میاد کمی میشه گفت که وضعیت تیم ، که خدا رو شکر خوبه. وضعیت مالی  و … هم در حد مطلوبی هست که بتونه یک Foundation کوچک رو زنده و سر پا نگه داره.

تا حالا چند تا نسخه منتشر کردین و تو هر کدوم جه پیشرفت هایی بوده؟

نسخه ۱ — ۲۵ فروردین ۹۱ — ویژگی خاصی نداشت.
نسخه ۲ — شهریور ۹۱ — میزکار Legendary UI رو در خود داشت.
نسخه ۳ — آبان ۹۱ — اولین توزیعی که به طور رسمی مبتنی بر گنوم ۳.۶ بود (قبل از Ubuntu GNOME Remix منتشر شد).

چرا جبیر رو با میزکار های مختلف منتشر می کنید و روی یه میزکار تمرکز نمی کنید؟

برای اینکه دوست داریم همه ازش استفاده کنند. مثلا شما توزیعی مثل چاکرا رو ببینید ، حتی الان فقط به ۶۴ بیت محدود شده! این در صورتی هست که جبیر فقط در ۳۲ بیت منتشر میشه و امکان اجرا روی همه سیستم ها رو داره.

چرا یه میزکار برای جبیر نمی سازید و از گنوم شل و xfce و بقیه میزکار ها استفاده می کنید؟

چون توسعه میزکار سخت و هزینه بر و همچنین کار بر هست. مثلا KDE از سال تولد من (۱۹۹۶) متولد شده و الان ۱۷ سال هست که داره توسعه داده میشه :)

خیلی از منتقدان شما ازتون این سوال رو می پرسند که چرا روی یه توزیع مثل اوبونتو کار نمی کنید و یه سیستم عامل جدید ساختین. جواب شما به این دوستان چیه؟

خب این رو از حرفهای قبلی من میشه برداشت کرد. برای اینکه این توزیع نمونه ای هست که کل کامپیوتر -علی الخصوص لینوکس و یونیکس – رو به کاربر آموزش میده .

نظرتون در مورد توزیع های ایرانی مثل آریویس چیه؟

همه توزیع های ایرانی خوب هستند. مخصوصا پارسیکس ، آریوس و زمین. البته پارسیکس و پارسیدورا تقریبا میشه گفت که روند توسعشون خیلی کند هست (مطلبی در وبلاگم هست در موردشون). ولی آریوس که تقریبا همزمان با مینت و زمین هم که توزیع نسبتا مستقل هست خوب و کارامد هستند. گفتم کارامد! راستی کارامد لینوکس هم خوب بود. با این اوصاف هزاران سیستم عامل ایرانی قبل از «قاصدک» بودند ولی نمیدونم چرا عنوان «اولین سیستم عامل ایرانی» رو به خودشون نسبت دادن :))

چرا کاربر باید اوبونتو یا دیگر توزیع های لینوکس رو رها کنه و بیاد سمت جبیر؟

فکر کنم به اندازه کافی روی این مورد در بالا توضیح دادم :)

چه چیز جدیدی رو تصمیم دارید توی جبیر پیاده سازی کنید یا که پیاده سازی کردید , تا منحصر به فرد بشه؟

اول از همه لجندری یو آی ، بعد از اون پروژه های EasyShell و JetGet که اولی یک شل یونیکس و دومی یک رابط متنی برای همه مدیر بسته های یونیکس و لینوکس هست. تا الان Legendary UI پیاده سازی شده.

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

Legendary UI گام اول بود تا فضای خالی زیادی رو دسکتاپ ایجاد بشه. بعد از اون روی Plasma Active که شرکت Basyscom و KDE مشترکا منتشرش کردند رو انتخاب کردیم.

فکر نمی کنید جبیر کمی نیاز به تبلیغ داره تا بین کاربران شناخته بشه؟به نظر میرسه آریوس تو این زمینه بهتر از شما نیست؟

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

اگه نکته یا حرفی با خوانندگان دارید بگید.

نکته یا حرف خاصی ندارم :) با تشکر  آرزوی توفیق روز افزون برای همه :)

پیوندهای مرتبط

Share

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