<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات موری استایل | Mori Style</title>
        <link>https://virgool.io/moristyle/feed</link>
        <description>اینجا تیم موری از تجربه‌ها و آموخته‌های تیمی‌شون می‌نویسن.
موری یه استارتاپ برخاسته از دانشگاه شریفه که محصولش موتور جست و جوی هوشمند برای خرید لباس و پوشاکه. برای لباس خریدن فقط به یجا سر بزن: mori.style! از کافه بازار هم می‌تونید اپمونو دانلود کنید. :)</description>
        <language>fa</language>
        <pubDate>2026-06-16 22:36:33</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/kycnvoslj4xp/nvdpye.jpg</url>
            <title>موری استایل | Mori Style</title>
            <link>https://virgool.io/moristyle</link>
        </image>

                    <item>
                <title>نگاهی محصولی به پارادایم‌های جدید موتور جستجو</title>
                <link>https://virgool.io/moristyle/%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D9%85%D8%AD%D8%B5%D9%88%D9%84%DB%8C-%D8%A8%D9%87-%D9%BE%D8%A7%D8%B1%D8%A7%D8%AF%D8%A7%DB%8C%D9%85-%D9%87%D8%A7%DB%8C-%D8%AC%D8%AF%DB%8C%D8%AF-%D9%85%D9%88%D8%AA%D9%88%D8%B1-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-akewdeu1nis8</link>
                <description>در این مطلب میخوایم یکی از مساله‌های مهم این روزهای دنیای محصول و فنی که خود ما در موری هم درگیر کار کردن روی اون هستیم رو شرح بدیم: اینکه موتورهای جستجو چه‌طور کار می‌کنن، چه‌طور میشه از ظرفیت‌های یادگیری ماشین کمک گرفت تا امکان انجام جستجوهای پیچیده‌تر و هوشمندتر رو فراهم کرد، و چه چالش‌هایی در این مسیر وجود داره! این مطلب با دید محصولی نوشته شده و بدون پیش‌نیاز فنی قابل مطالعه است.سه لایه اصلی یک موتور جستجویک موتور جستجو (Search Engine) در حالت کلی از سه لایه زیر تشکیل میشه:لایه یک، فهم عبارت مورد جستجو: در لایه بالایی ماژول Query Understanding یا «فهم عبارت مورد جستجو» قرار داره. در این بخش از مدل‌های مختلف زبان طبیعی استفاده میشه و هدف این بخش اینه که جستجوی کاربر رو بفهمه و به شکل مناسبی برای لایه‌های پایینی اون رو قالب‌بندی کنه؛ به عنوان مثال تصحیح عبارت جستجوی کاربر از وظیفه‌های این ماژول محسوب میشه. هم‌چنین با توجه به لایه‌های پایینی جستجوگر، ممکنه نیاز باشه عبارت جستجو قالب‌بندی بشه، فیلترهای مختف از  اون استخراج بشه، حتی به چند Query مختلف تقسیم بشه و شاید با توجه به عبارت جستجو به چند فانل و مدل جستجوی مختلف هدایت بشه. همه این کارها از وظایف این ماژول محسوب میشه.لایه ۲، بازیابی: در بخش مرکزی ماژول Retrieval یا بازبیاب وجود داره.این ماژول که میشه گفت بخش مرکزی و اصلی جستجوگره وظیفه‌اش اینه که با توجه به ورودی‌ای که از بخش بالا دریافت می‌کنه محصولات مناسب رو شناسایی و بازیابی کنه. مساله اصلی ما در موری (و البته بیشتر موتورهای جستجوگر) نیز در این لایه تعریف میشه.لایه ۳، رتبه‌بندی: هم‌چنین در پایین‌ترین بخش یک ماژول Ranking وجود داره که وظیفه‌اش به اختصار اینه که رتبه‌بندی محصولاتی که در لایه بازیابی شناسایی شدن رو انجام بده. ماژول رتبه‌بندی ممکنه با توجه به سلایق کاربر، سیاست‌های فروشنده و … رتبه‌بندی رو تغییربده.دو پارادایم جستجوگری متفاوتبه شکل کلی می‌توان گفت دو مدل موتور جستجو وجود داره که در ادامه سعی می‌کنیم هر کدوم رو کمی معرفی کنیم و از مزیت‌ها و ایرادهای هر کدوم بگیم. یک مساله باز در فضای فنی و محصول پارادایم هیبریدی (تلفیق دو پارادایم قبلی) هست که تیم‌های مختلفی از جمله موری در حال حاضر دارن روی اون کار می‌کنن و در انتهای مطلب به این پارادایم هیبریدی هم اشاره می‌کنیم.پارادایم جستجوی ۱: مدل جستجوی کلیدواژه‌ایمدل اول موتورهای جستجو، به شکل Keyword Search یا سرچ کلیدواژه‌ای هستن. به اختصار ساختار اصلی این مدل‌ها به این شکل کار می‌کنه که بر اساس شباهت متنی بین عبارت جستجو و اطلاعات کالاها، کالاها رو Rank می‌کنه و از شبیه‌ترین کالا به پایین به کاربر نشان میده. پایه‌ی این مدل جستجو بسیار ساده است، اما چند مساله جانبی محصولی/دیتایی در این مدل جستجوگری وجود داره که در هر دامین خاص نیاز به کار کردن روی اون‌ها هست. اصلی‌ترین این مسائل عبارته از:استفاده/درست کردن توکنایزر ( Tokenizer ) و پالاینده‌های مناسب ( Parser )نوشتن/درآوردن کلمات هم‌معانینحوه امتیازدهی مشابهتاز پایه‌ای‌ترین مدل‌های این فضای جستجوگر -الگوریتم رنکینگ- BM25 هست.خوبی‌ها و محدودیت‌هااز اصلی‌ترین خوبی‌های این مدل جستجوگری در نسبت با جستجوی معنایی میشه به این موارد اشاره کرد:بسیار کنترل‌پذیره، نتایج این مدل جستجو قابل پیش‌بینی و تفسیره و به کاربر راهکاری ساده برای پیدا کردن کالای خوب میده.اگر به هر دلیلی مدیر محصول نیاز داشته‌باشه یک قانون -به عنوان مثال یک کلمه یا جمله خاص- در عبارت جستجو اثر داده نشه، این کار به آسونی قابل‌انجامه.از اونجا که این مدل جستجوگری از لحاظ مهندسی و تئوری بسیار قدیمی و پایداره، زیرساخت‌های مناسب و نسبتاً کاملی براش وجود داره (مثلاً Elasticsearch یا Meilisearch) که با زحمت مهندسی نه‌چندان سنگین میشه یک نسخه ابتدایی از این مدل جستجوگری با سرعت مناسب پیاده کرد.میشه گفت اکثر پلتفرم‌های آنلاین و موتورهای جستجو بر مبنای این مدل جستجوگری هستن و از اصلی‌ترین دلایل این انتخاب نیز موارد ذکرشده است. البته یک نکته مهم دیگه هم اینه که جستجوی معنایی مدت کمی هست که از لحاظ مهندسی و تئوری به قوتی رسیده که قابلیت استفاده در مقیاس بالا داشته باشه.از جمله محدودیت‌های این مدل جستجو هم میشه این موارد رو ذکر کرد:اصولاً این مدل جستجو چندان هوشمند نیست، در نتیجه تقریباً میشه گفت تمامی Configها (مثلاً استفاده از فیلدهای مختلف، در آوردن کلمات هم‌معنی و…) باید به شکل دستی انجام بشه. این مساله در مقیاس بزرگ تبدیل به یک مساله چالش‌برانگیز میشه.محدودیت دانش مدل جستجو بر روی کل مراحل جستجو تاثیر میذاره و دانش معنایی نیز در جستجوگر وجود نداره. به عنوان مثال فرض کنین ممکنه برای عبارت جستجوی «یک کیف بزرگ مناسب برای سفر کردن»، این عبارت شما رو به «چمدان مسافرتی» نرسونه. در حالی که در جستجوی معانی نه تنها این عبارت که حتی موارد پیچیده‌تری مثل «همراه موبایلم چه چیزی بخرم؟» هم قابل جستجو خواهد بود. از طرفی حتی محدودیت‌های بسیار آسون‌تری ممکنه با Config نکردن درست Tokenizer و کلمات هم‌معانی مشاهده بشه به عنوان مثال عبارت جستجوی «صندلی راحتی» نتایج «مبل» رو نشان نده.در این مدل جستجوگر نمی‌تونیم از اطلاعات دامین‌های دیگر کالا (مانند تصویر کالا) استفاده کنیم و هرچیزی باید به شکل متن دربیاد تا قابل استفاده بشه.پارادایم جستجوی ۲: مدل جستجوی معناییمدل جستجوی معنایی، پارادایمی هست که تلاش می‌کنه محدودیت‌های بالا رو رفع کنه. چند دلیل اصلی وجود داره که این پاردایم اخیراً خیلی مطرح شده:مدل‌های Encoder یادگیری ماشین از لحاظ قابلیت پیاده‌سازی و از لحاظ دقت به مرحله کاربردی رسیدن.زیرساخت‌های دیپلوی مدل‌های یادگیری ماشین (از جمله معرفی دیتابیس‌های برداری، زیرساخت‌های توسعه نرم‌افزاری، همگام شدن مدل‌ها با زیرساخت محاسباتی gpuها و…) به مرحله‌ای رسیده که قابلیت دیپلوی این جستجوها در مسایل واقعی وجود داره.به شکل کلی این مدل‌ها این طوری کار می‌کنن که یک Encoder یادگیری ماشین (تبدیل‌کننده‌ی محتوای متنی/عکسی کالاها به بردار) اطلاعات کالا را به یک بردار تبدیل می‌کنه و در دیتابیس ذخیره می‌کنه، در زمان جستجو نیز عبارت جستجو به همان Encoder داده میشه و بردار خروجی در دیتابیس جستجو میشه.خوبی‌ها و محدودیت‌هااصلی ترین دلایلی که از مدل جستجو معنایی استفاده میشه:در این روش میتوان چند مدل معنایی مختلف رو باهم تلفیق کرد و از مزایای اون‌ها همزمان بهره برد.بخش زیادی از مشکلاتی که روش جستجوی کلید واژه‌ای مطرح شد (مثل درست کردن Tokenizer، در آوردن لیست کلمات هم معنا و پیدا کردن روش امتیازدهی مناسب) در مدل معنایی حل شدن.مدل های زیادی در سال های اخیر ارائه شدن که کیفیت و دقت اون‌ها هنوز در حال بهبوده. در نتیجه خوبه که به چند نقطه ضعف و محدودیتی که این مدل ها در حال حاضر دارن هم اشاره کنیم:استفاده از این مدل ها نیاز به سخت افزار قدرتمندی داره. البته امکان استفاده از Third-Partyها برای استفاده آسون‌تر وجود داره که این مشکل رو تا حدی حل میکنه.خروجی و عملکرد این مدل‌ها به‌طور قطعی قابل پیش‌بینی نیست و می‌تونه روی کیفیت محصول نهایی تاثیرگذار باشه.اگر مدل مناسبی برای استفاده خاصی که مد نظر دارین قبلاً وجود نداشته باشد، آپدیت کردن این مدل‌ها نیاز به مهارت فنی بالا و جمع آوری دیتای زیادی داره و نتیجه نهایی هم ممکنه نیاز شما رو لزوماً برآورده نکنه.مدل‌های جستجوگری هیبرید؛ یک مساله بازبا بررسی کامل این ۲ روش متوجه شدیم که هر دوی این روش‌ها محدودیت‌های زیادی دارن و نمی‌تونیم به راحتی مدل جستجو معنایی رو با مدل قدیمی جستجوی کلیدواژه‌ای جایگزین کنیم. اما اگه بتونیم با کمک مدل جستجوی کلیدواژه‌ای بعضی از مشکلات مدل معنایی رو حل کنیم، تلفیق این دو روش می‌تونه نتیجه قابل قبولی داشته باشه. در این قسمت میخوایم بررسی کنیم که چطوری میتوانیم این ۲ روش را در کنار هم بطور همزمان استفاده کنیم.انتخاب جدا از هر مدلساده ترین حالت استفاده همزمان از هر دو مدل، اینه که درخواست جستجو رو به هر دو مدل بدیم و بهترین نتایج هر مدل رو بگیریم و بین این نتایج یک سیستم رنکینگ جدید درنظر بگیریم. از خوبی های این روش اینه که بهترین نتایج هر دو مدل رو در نتیجه نهایی داریم و کیفیت نهایی سرچ بهبود پیدا می‌کنه. ولی از اون طرف در سناریوهایی که یکی از مدل‌ها عملکرد خوبی نداشته باشه نتایج نهایی سرچ تحت تاثیر قرار میگیره.ساختن مدل جدیدمدل های جستجو معنایی با روش Encode کردن دیتاها کار می‌کنن. اما معمولاً این دیتاها از جنس‌های یکسانی هستن. مثلاً مدلی که فقط بر روی عکس کار میکنه یا مدلی که فقط متن رو می‌فهمه. اگر بتونیم مدل جدیدی بسازیم که چندین جنس داده رو (عکس و متن) بطور همزمان Encode کنه می‌تونیم از این مدل تلفیقی جدید برای جستجو استفاده کنیم. خوبی این روش اینه که کار با مدل نهایی بسیار ساده خواهد بود و پیچیدگی در فرآیند جستجو نداریم. اما ساخت این مدل نیاز به دانش فنی، جمع‌آوری دیتا در حجم بالا و چندین Iteration برای ساخت مدل نهایی داره.تقسیم فرایند جستجو بین مدل هااگر در فرایند جستجو، امکان انتخاب فیلتر رو داشته باشیم، با کمک گرفتن از مدل جستجو کلید واژه‌ای میتونیم فیلترهای مناسبی برای اعمال در نتیجه جستجو پیدا کنیم. انتخاب این فیلترها میتونه اشتباهات احتمالی مدل معنایی رو جبران کنه و کیفیت جستجو رو افزایش بده. یکی از مشکلات این روش پیچیدگی پیاده‌سازی و Integrate کردن این ۲ مدل در کنار هم هستش.ما توی موری برای جستجو بین لباس ها، روش های جستجو کلیدواژه ای و جستجو معنایی رو بطور جدا بررسی و تست کردیم. روش جستجو هیبریدی دقیق ترین نتیجه رو واسمون داشته و داریم روی این روش بیشتر کار میکنیم.سایت موری</description>
                <category>موری استایل | Mori Style</category>
                <author>رضا رفیعا</author>
                <pubDate>Sun, 04 Aug 2024 18:12:37 +0330</pubDate>
            </item>
                    <item>
                <title>چطوری زیرساخت موری رو با تیم فنی کوچیک مدیریت کردیم؟!</title>
                <link>https://virgool.io/moristyle/%DA%86%D8%B7%D9%88%D8%B1%DB%8C-%D8%B2%DB%8C%D8%B1%D8%B3%D8%A7%D8%AE%D8%AA-%D9%85%D9%88%D8%B1%DB%8C-%D8%B1%D9%88-%D8%A8%D8%A7-%D8%AA%DB%8C%D9%85-%D9%81%D9%86%DB%8C-%DA%A9%D9%88%DA%86%DB%8C%DA%A9-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%DA%A9%D8%B1%D8%AF%DB%8C%D9%85-csxkvd9g2ymt</link>
                <description>* به دلیل این که در این پست از ادبیات فنی استفاده شده‌است، ممکن است کلماتی باشند که فینگلیش نوشته‌ شده‌باشند.تو این پست می‌خوایم در مورد زیرساخت موری توضیح بدیم. هدف این نوشته اینه که به استارتاپ‌های دیگری که محصولات اون‌ها هم پیچیدگی‌های فنی زیادی داره، این تجربه رو منتقل کنیم که چطور ما تلاش می‌کنیم هم‌زمان با استیبل بودن محصول، سرعت دِوِلوپمنت خوبی هم داشته‌باشیم.تیم فنی موری در حال حاضر از ۲نفر -رضا و اکبر- تشکیل شده. کارهای این تیم کوچک عبارت‌اند از:پیاده‌سازی و نگه‌داری میکروسرویس‌هایی که ۴۰۰هزار محصول موری بر روی آن‌ها ذخیره و آپدیت می‌شوندنگه‌داری و پیشرفت‌های مختلف سرچ اِی‌آی موریپیاده‌سازی فیچرهای جدید سایتپیشرفت مدل‌های هوش مصنوعیبا توجه به پیچیدگی ذاتی که محصول موری داره، شاید یکی از اصلی‌ترین تصمیم‌های فنی ما این باشه که «زیرساخت‌مون رو چطور مدیریت کنیم؟». این مساله اولش خیلی آسون به نظر میاد ولی هرچقدر بیشتر بگذره و کارها جدی‌تر بشه اهمیتش بیشتر و جابجایی سخت‌تر میشه؛ پس مهم‌ه که یه تیم تکنولوژی‌محور از همون اول به مساله‌ی زیرساخت خوب فکر کنه. راه‌حلی که ما انتخاب کردیم استفاده از ساختار میکروسرویسی بر روی زیرساخت هم‌روش است.تیم فنی موری در آرزوی چابکیمساله‌هایی که ما در طول این چند ماه به اون‌ها برخوردیم و کاری که برای اون‌ها می‌کنیم این‌هاست:توی هم‌روش ما تونستیم یه ساختار میکروسرویسی ترتمیز شکل بدیم. امکان این که بتونیم هر سرویس رو به شکل جدا بالا بیاریم، هر سرویس ریسورس، کانفیگ و لاگ‌‌های خودش رو داشته باشه.سرویس مانیتورینگسناریویی رو در نظر بگیرید که یه روز می‌بینید بله سایت کند شده. شما احتمالا تو ذهن‌تون این میاد که «یاخدا، من ۵۰تا سرویس دارم که هرکدوم یه کار می‌کنن و از هفته پیش ۱۰تا دیپلوی داشتم، چطوری بفهمم چه اتفاقی افتاده؟». چیزی که تو این سناریو نیاز دارید چیه؟ احتمالا این‌هاست:احتمالا نیاز به تِرَک کردن حالت‌های خاص دارید. برای این کار احتمالا نیاز به این دارید که بدونید هرسرویس چیه، کجاست، و لاگ‌سرویسی داشته‌باشید که ببینید چی میگه.احتمالا تو قدم بعد می‌فهمید یه جایی باتِلنک شده، برای این که مشکل باتلنک رو پیدا کنید نیاز به سرویس مانیتورینگ دارید؛‌ سرویسی که لودی که روی رم، سی‌پی‌یو و نِتوُرک هرکدوم از سرویس‌ها افتاده رو چک بکنه، شاید تراتل کرده باشید یا رم کم آورده باشید.سرویس آلرتینگ: یه ضرب‌المثل هست که میگه یه تیم فنی بدون سیستم مانیتورینگ و آلرتینگ شب یه خواب راحت هم نمی‌تونه داشته باشه. دو مدل آلرتینگ باید داشته باشیم: ۱- یکی وقتی لود روی یه سرویس از یه حدی بالاتر میره. ۲- وقتی یه جای سیستم در حال ارور خوردن‌ه. برای حالت اول نیاز داریم روی هر سرویس با توجه به کاربرد اون سرویس پالیسی تعریف کنیم. و برای حالت دوم نیاز به سرویس سنتری برای گرفتن آلرتینگ‌ها.امکان تغییر ریسورس راحت هر سرویس: تغییر دادن مقدار ریسورس هر سرویس کاری‌ه که ممکن‌ه هرروز براتون پییش بیاد. ما با استفاده از سرویس دارکوب هم‌روش این کار رو به ۲ شکل انجام میدیم.تغییر دادن استاتیک ریسورس سرویس‌هااسکیل هوریزنتال سرویس زیر لود: هر محصول فنی احتمالا چند تا سرویس داره که عملیات‌هایی با لود محاساباتی زیاد دارند، برای این سرویس‌ها ما از سرویس HPA هم‌روش استفاده می‌کنیم. این سرویس به این شکل کار می‌کنه که اگر لود سرویس از حدی بیشتر بشه، زیرساخت یک instance از سرویس به سرویس قبلی اضافه می‌کنه و لودبالانسینگ روی instanceها اتفاق میفته.ما از ۲دسته امکانات دیگه هم استفاده می‌کنیم که برای طولانی‌تر نشدن متن، خلاصه بهشون اشاره می‌کنیم.اولی: سرویس CI/CD و رجیستری. از این سرویس برای دیپلویمنت‌های سرویس‌ها استفاده می‌کنیم.دوم: مساله‌ی اِستِیبِلیتی، بَکاپ و امنیت سرویس‌ها.ما تو این پست تلاش کردیم به شکل کلی اما دقیق، همه‌ی بخش‌های مختلفی رو که در طی ساختن موری تا به امروز برامون مساله بود و مدل حل آن‌ها رو توضیح بدیم. امیدواریم این پست به تیم‌های استارتاپی دیگه هم کمک کنه تا بتونن محصول خوبی توسعه بدهند. و: با تشکر دوستان کاردرست‌مون در هم‌روش!</description>
                <category>موری استایل | Mori Style</category>
                <author>تیم موری</author>
                <pubDate>Sat, 20 Jan 2024 19:29:06 +0330</pubDate>
            </item>
                    <item>
                <title>موری‌لنز چطوری تو فشن جست‌وجو می‌کنه؟</title>
                <link>https://virgool.io/moristyle/mori-image-search-fumemsbiyboc</link>
                <description>سلام، در این پست می‌خواهیم به شکل مختصر در مورد پیاده‌سازی و طراحی محصول موری‌لنز صحبت کنیم. موری‌لنز، سرچ تصویری موری -با تمرکز بر روی فضای فشن- است که هفته‌ی اول دی‌ماه لانچ شد. این پست رو می‌تونیم یک تکنیکال‌ریلیز  [1] در نظر بگیریم.ساختار کلییکی از ساختارهای معروف برای سرویس‌های جستجوگر معنایی به این شکل است که از دو ماژول استفاده می‌کنند: 1- مدل انکودر 2- سیستم ایندکس کردن بردارها. وظیفه مدل انکودر این است که از محتوای ورودی، یک بردار به که نشان‌دهنده‌ی اطلاعات محتوا است بیرون بکشد. وظیفه‌ی ماژول ایندکس‌کننده نیز این است که این قابلیت را به سیستم بدهد که بتوانیم میان تمامی بردارها در زمان کمی جستجو کنیم.ما نیز از همین ساختار ساده و کاربردی استفاده می‌کنیم. در ادامه به تشریح دقیق هر یک از این 2 ماژول و نحوه استفاده از آن‌ها به شکل فنی‌تر می‌پردازیم.انکودرانکودر در تعاریف بیسیک به «مدلی که اطلاعات رو از ابعاد بالا به ابعاد بسیار پایین‌تر نگاشت می‌کنه» گفته می‌شه. بعد از معرفی مکانیزم توجه، اکثر مدل‌های انکودر (مثل bert و ادامه‌ی داستان) بر همین پایه تولید شدند. انتخاب نوع انکودر در سیستم شما بستگی به جنس محتوا و نوع مساله دارد. ما در سیستم خود از یک ورژن فاین‌تیون شده در حوزه‌ی مد و فشن از مدل‌های مالتی‌مدالی که با استفاده از contrastive learning ترین می‌شوند، استفاده می‌کنیم. این انتخاب به دلیل توانایی این مدل در لیبل‌گذاری متناسب محصولات در فضای متنی و همچنین به دلیل دیتاست‌های موجود که متناسب با حوزه‌ی فشن هستند است.یادگیری contrastive - مدل clipمدل مالتی‌مدال عکس-متن، به شکل خلاصه، یک مدل است که در آن دو -یا چند- انکودر، یکی برای متن و دیگری برای عکس، با هم ترین می‌شوند تا هر دو به یک فضای نگاشتی مشترک برسند. هدف از این مدل این است که عکسی که به انکودر عکس داده می‌شود، به همان نقطه‌ای در فضای نگاشتی برود که توضیح متنی مرتبط با آن عکس اگر به وسیله‌ی انکودر متن نگاشته شود، می‌رود. این مدل به شیوه‌ی contrastive ترین شده‌است.برای خواندن بیشتر درباره‌ی تئوری مدل و کاربردهای آن، می‌توانید درباره‌ی multi-modal models with contrastive learning بخوانید.فاین‌تیون مدل - یاد بگیر و توجه کنیکی از دلایل اصلی انتخاب این مدل، بر مدل‌هایی نظیر ViT، تفاوت ذاتی و روش ترین کردن آنها است. ViT به روش supervised روی دیتاست‌های عکس ترین می‌شود، در حالی که مدل مالتی‌مدال عکس-متن به شیوه‌ی contrastive ترین می‌شود.[2]برای ما مهم این است که مدل سرچ‌انجین ما بتواند با توجه به ویژگی‌های دقیق فشن، جستجوی متناسبی انجام دهد. این پیش‌فرض را داریم که کاربران در جستجوی عکس‌های فشن، محصولات با ویژگی‌های مشابه را جستجو می‌کنند. برای مثال، جستجو برای «تیشرت آستین‌کوتاه مشکی برند آدیداس» مد نظر آن‌ها است. در نتیجه، مدل و فرآیند آماده‌سازی آن باید با این نیاز کاربران هماهنگ باشد.[3]دیتاستی که برای فاین‌تیون استفاده کرده‌ایم، شامل 800 هزار محصول فشنی است که از هرکدام عکس و اطلاعات کامل (دسته‌بندی محصولات، ویژگی‌هایی مانند آستین‌کوتاه یا طرح راه‌راه، برند محصولات، جنس محصولات) جمع‌آوری شده‌است. ترکیب این دیتاست و فرآیند یادگیری contrastive در مدل مالتی‌مدال عکس-متن، روش ایده‌آل ما برای این کار است.نتایج ارزیابی ما در نهایت نشان داد که دقت hit@5 مدل فاین‌تیون شده نسبت به مدل پایه‌ای از 0.22 به 0.61 افزایش یافته‌است.نمونه‌ای از یک سرچ عکس در موری‌لنز:دیتابیس برداریبرای سرچ کردن در بین بردارهای عکس‌ها 2 راه وجود دارد.اولی استفاده از کتابخانه‌هایی مانند hnswlib یا faissدومی استفاده از پایگاه داده‌های برداری مانند milvus و qdrantپایه هر دو راه الگوریتم hnswlib است که اردر جست‌جوی آن O(log n) است. تریدآفی که میان این دو راه وجود دارد این است که راه اول عملا راه‌اندازی خاصی ندارد و به راحتی می‌توان از آن‌ها استفاده کرد(به شرط داشتن رم به حد کافی)، اما در راه دوم باید دیپلوی کردن و یاد گرفتن یک سرویس جدید را قبول کنید و بعد از آن شما قابلیت انجام کویری‌های پیچیده‌تر (مانند اعمال فیلترهای مختلف) و کانفیگ‌های خاص دیتابیسی برای برای داده‌های حجیم رو دارید. این که کدام از این 2 راه انتخاب می‌شود بستگی به کاربردها دارد و ما در حال حاضر با توجه به حجم زیاد محصولاتی که در سایت داریم از راه دوم استفاده می‌کنیم.در آخرموری‌لنز یک محصول بر پایه یک مدل هوش مصنوعی است که بر روی حدود 1 میلیون محصول کار می‌کنه. هدف ما در این پست به اشتراک گذاشتن نحوه کار کردن موری‌لنز بود. به نظرمون این که کارهای جالبی که هر تیمی انجام میده رو با هم اشتراک بذاریم کار باحالیه! امیدواریم مفید بوده‌باشه و اگر سوالی داشتید خوش‌حال میشیم بیاید با هم گپ بزنیم.1- تکنیکال ریلیز به اصطلاح چیزی‌ه که نه اون‌قدر عمیق و مفصل‌ه که آدم کامل اون مساله رو یاد بگیره، نه اون‌قدر کلی که در حد یک خبر باشه، یه حال میانه‌ای داره. :)) شاید جواب «اون پشت چه‌خبره.» باشه.2- اگر در مورد نحوه یادگیری contrastive نمی‌دانید شاید ادامه‌ی متن کمی مبهم باشد.3- این مساله شاید مهم‌ترین/سخت‌ترین مساله‌ی دیزاین هر سیستم یادگیری ماشینی باشد. :))سایت موری</description>
                <category>موری استایل | Mori Style</category>
                <author>علی‌اکبر غیوری</author>
                <pubDate>Tue, 09 Jan 2024 23:23:48 +0330</pubDate>
            </item>
            </channel>
</rss>