متنی که در ادامه میخوانید، ترجمه فارسی مصاحبه من با یک شرکت آلمانیه که یک رسانه هم برای انجام مصاحبه و تولید محتوا در مورد مسائل مرتبط با نرمافزار، کامپیوتر، هوش مصنوعی و … دارند. مصاحبه به زبان انگلیسی اینجا و مصاحبه به زبان آلمانی اینجا در دسترسند.
ضمن این که این مطلب در وبلاگ شخصی من نیز موجوده و میتونید از اونجا هم بخونیدش.
ما با محمدرضا حقیری، توسعهدهندهای از ایران که هماکنون مشغول کار بر روی یک مدل متن به تصویر متنباز به نام مانی است، صحبت کردیم.
او دانشش درباره فناوریهایی که برای توسعه این مدل استفاده کرده را با ما به اشتراک گذاشته است. هوش مصنوعی چندمدلی او، از 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 (هوش مصنوعی مولد) به صورت آزاد/متنباز کار میکنه و خب حیف بود که الان که موقعشه، منتشرش نکنم.
خلاصه که ازتون ممنونم بابت وقتی که گذاشتید و خوندید. اگر به چنین مطالبی علاقمندید، میتونید به وبلاگ شخصیم سر بزنید و اونجا هم مطالب مشابهی رو مطالعه کنید. ممنونم بابت وقتی که گذاشتید و خوندید.