نابغه ایرانی گوگل چگونه سرعت پردازش داده‌ها را متحول کرد؟ روایت حیرت‌انگیز دکتر میررکنی از انقلاب «هش» در هوش مصنوعی

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

نابغه ایرانی گوگل چگونه سرعت پردازش داده‌ها را متحول کرد؟ روایت حیرت‌انگیز دکتر میررکنی از انقلاب «هش» در هوش مصنوعی
سامان تهرانی
سامان تهرانی
نویسنده

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

وی که دانش‌آموخته دانشگاه صنعتی شریف و موسسه فناوری ماساچوست (MIT) است، سال‌هاست تخصص و ایده‌های نوآورانه خود را در غول‌های فناوری دنیا همچون مایکروسافت و گوگل به کار گرفته است. میررکنی اخیراً به واسطه دستاوردهای درخشانش در زمینه علم و فناوری اطلاعات و ارتباطات، به عنوان برگزیده جایزه معتبر مصطفی (ص) در سال 2025 معرفی شد.

طرحی که جایزه مصطفی را برای او به ارمغان آورد، «توسعه طرح هَش حساس به مجاورت» است. برای درک بهتر این دستاورد، باید بدانیم در دنیای داده‌ها فرآیندی به نام «هش» (Hash) وجود دارد که ورودی‌هایی مانند متن، عدد یا فایل را به عباراتی با طول ثابت تبدیل می‌کند؛ فرآیندی که در ساده‌ترین حالت برای صحت‌سنجی کدهای ورود در سایت‌ها استفاده می‌شود. اما وقتی صحبت از صدها میلیون داده و حساسیت آن‌ها به تغییرات جزئی می‌شود، محاسبات بسیار سنگین و زمان‌بر خواهد بود.

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

به همین بهانه و برای واکاوی بیشتر این دستاورد علمی، به سراغ دکتر سید وهاب میررکنی، برنده جایزه مصطفی(ص) 2025 رفتیم و گفتگویی تفصیلی با ایشان ترتیب دادیم که در ادامه می‌خوانید:

 تسنیم: به عنوان اولین سوال، چه نیازی به معرفی این الگوریتم جدید برای «جست‌وجوی همسایگی» (Nearest Neighbor Search) احساس می‌شد و روش‌های قبلی مانند «مین-هش» (Min-Hash) چه محدودیت‌هایی داشتند؟ 

دکتر میررکنی: ببینید، مسئله الگوریتم‌های «نزدیک‌ترین همسایه» موضوع جدیدی نیست و مقالاتی که به آن اشاره می‌کنید مربوط به سال‌های 2003 و 2004 است. پیش از آن، الگوریتم‌ها عمدتاً بر پایه روش‌هایی مانند درخت‌های «کی‌دی» (KD-Trees) یا روش «مین-هش» (Min-Hash) استوار بودند. اما این روش‌ها با چالش‌هایی مواجه بودند.

اولین مشکل به نوع «توابع فاصله» (Distance Functions) یا توابع شباهت مربوط می‌شد. برای مثال، روش «مین-هش» صرفاً برای نوع خاصی از توابع فاصله طراحی شده بود. اگر ما با توابع فاصله کلی‌تری مانند فواصل LP سروکار داشتیم، روش‌های قبلی توانایی مدیریت آن‌ها را نداشتند.

مشکل دوم بحث مقیاس‌پذیری بود. الگوریتم‌هایی که بر پایه «هش» (Hash-based) نبودند، در مواجهه با داده‌های بسیار بزرگ (Big Data) کارایی خود را از دست می‌دادند و زمان پردازش آن‌ها بسیار طولانی می‌شد. ما به الگوریتمی نیاز داشتیم که زمان اجرای آن «زیر-خطی» (Sub-linear time) باشد. روش جدید ما این امکان را فراهم کرد که هم برای داده‌های عظیم و هم برای توابع فاصله‌ای که پیش‌تر الگوریتم کارآمدی برایشان نداشتیم، راه‌حل مناسبی ارائه دهیم.

 تسنیم: در طرح پژوهشی‌تان به کرات به «فاصله اقلیدسی» اشاره شده است. دلیل ترجیح این فاصله نسبت به سایر مقیاس‌ها مانند فاصله «منهتنی» چه بود؟ و چرا توزیع‌های نرمال و کوشی به عنوان توزیع‌های «پی-پایدار» (P-stable) برای این فواصل انتخاب شدند؟ 

دکتر میررکنی: ما در این مقاله سعی کردیم انواع توابع فاصله LP را پوشش دهیم. در میان این توابع، «فاصله L2» یا همان فاصله اقلیدسی، بیشترین کاربرد را در مسائل مختلف دارد و از اهمیت بالایی برخوردار است. البته برای برخی کاربردهای خاص، مثلاً در پردازش تصویر (Image-based applications)، فاصله L1 یا همان فاصله منهتنی اهمیت پیدا می‌کند.

ما در پژوهش خود به صورت ریاضی اثبات کردیم که برای استراتژی هشینگ و تابع نمونه‌برداری (Sampling Function)، استفاده از «توزیع نرمال» (توزیع گوسی) بهترین انتخاب برای فاصله اقلیدسی (L2) است.

تسنیم: یعنی توزیع نرمال برای بهینه‌سازی فاصله اقلیدسی کارآمدتر است؟

دکتر میررکنی: بله دقیقاً. ما به صورت ریاضی ثابت کردیم که کران‌ها (Bounds) و مقدار دیتای مورد نیاز برای فاصله L2، با استفاده از توزیع نرمال بهینه‌سازی می‌شود. همچنین برای فاصله L1، «توزیع کوشی» (Cauchy Distribution) عملکرد بهینه را دارد.

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

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

دکتر میررکنی: اگر بخواهم کلی توضیح دهم، زمان اجرا (Running Time) بسته به مقدار پارامتر P (که نشان‌دهنده ابعاد یا نوع فاصله است) متغیر بود. رفتار الگوریتم در بازه یک تا دو، با بازه‌های بالاتر از دو متفاوت است. ما نشان دادیم که این روش برای بازه‌های خاصی از P کاملاً بهینه (Optimal) است، هرچند ممکن است برای خود مقدار 2 در آن زمان کاملاً بهینه نبود که البته در مقالات سال‌های بعد بهبود یافت.

تسنیم: و در مورد رابطه این پارامترها با دقت (Accuracy) الگوریتم چطور؟

دکتر میررکنی: در مورد دقت، نکته کلیدی در تعداد توابع هش یا همان پارامترهای K و L است. ما در واقع از تعدادی تابع «هش حساس به محلی» (LSH) استفاده می‌کنیم. هرچه تعداد نمونه‌برداری‌های هش (Sample Hashing) را بیشتر کنیم، دقت الگوریتم «تقویت» (Amplify) می‌شود.

بنابراین، با توجه به نوع تابع فاصله‌ای که برای مسئله ما مهم است، نوع توزیع مناسب را انتخاب می‌کنیم و سپس با تنظیم تعداد توابع هش (L و K)، می‌توانیم به تعادلی میان سرعت و دقت دست پیدا کنیم.

تسنیم: کاربردهای عینی و عملیاتی این الگوریتم در دنیای واقعی چیست؟ دقیقاً در چه حوزه‌هایی می‌توان از آن بهره برد؟

دکتر میررکنی: کاربرد اصلی این الگوریتم در مسائلی است که نیاز به «جست‌وجوی نزدیک‌ترین همسایه» دارند. یکی از مهم‌ترین حوزه‌ها، «سامانه‌های توصیه‌گر» (Recommender Systems) است که با استفاده از این الگوریتم می‌توانند پیشنهادات را با سرعت و کیفیت بسیار بهتری به کاربر ارائه دهند.

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

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

این قابلیت‌ها هم در سامانه‌های توصیه‌گر و هم در «موتورهای جست‌وجو» (Search Engines) حیاتی هستند. مثلاً وقتی شما متنی را جست‌وجو می‌کنید و می‌خواهید صفحات وب مشابه را بیابید، یا در پلتفرم‌هایی مثل یوتیوب که وقتی ویدیویی را می‌بینید، سیستم می‌خواهد ویدیوهای مشابه را به شما پیشنهاد دهد، از همین مکانیزم استفاده می‌شود. علاوه بر این، در علومی مانند «بیوانفورماتیک» نیز کاربرد دارد؛ مثلاً جایی که یک سلول با یک توالی (Sequence) مدل‌سازی می‌شود و محققان می‌خواهند نمونه‌های شبیه به آن را پیدا کنند.

تسنیم: برای پیاده‌سازی این الگوریتم‌ها چه چالش‌هایی از نظر «مقیاس‌پذیری» (Scalability) و مصرف حافظه وجود دارد و چگونه می‌توان این محدودیت‌ها را مدیریت کرد؟

دکتر میررکنی: در واقع فلسفه اصلی طراحی این الگوریتم‌ها، پاسخ به همین چالش‌ها بوده است. در اینجا ما با سه مؤلفه اصلی روبرو هستیم: سرعت، حافظه و پردازش اولیه (Pre-processing).

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

بین این موارد همواره یک بده‌بستان (Trade-off) وجود دارد. اگر حافظه بیشتری اختصاص دهیم، شاید بتوانیم مسئله را سریع‌تر حل کنیم، اما خودِ مصرف زیاد حافظه می‌تواند به گلوگاه (Bottleneck) سیستم تبدیل شود.

مدیریت حافظه هم دو جنبه دارد: یکی حافظه‌ای که برای ذخیره‌سازی لایه‌های مختلف ساختار داده نیاز داریم و دیگری مدیریت حافظه در زمان اجرا (Real-time)؛ یعنی اینکه در لحظه پردازش، چه بخشی از داده‌ها را باید در حافظه سریع (RAM) بارگذاری کنیم تا دسترسی سریع‌تری داشته باشیم. این الگوریتم سعی می‌کند این تعادل میان سرعت و مصرف منابع را بهینه کند.

 تسنیم: آیا درست متوجه شدم که با استفاده از الگوریتم شما، می‌توانیم داده‌ها را در یک حافظه موقت (Cache Server) ذخیره کنیم و سپس با سرعت بسیار بالاتری به صورت آفلاین آن‌ها را فراخوانی و بازیابی کنیم؟

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

تسنیم: بسیار عالی. این الگوریتم برای داده‌های پویا (Dynamic Data) و در شرایط «زمان واقعی» (Real-time) نیز قابل استفاده است؟ به عبارت دیگر، آیا می‌توان جداول هش را دائماً به‌روزرسانی کرد و آن‌ها را با تغییرات داده‌ها همگام نگه داشت؟

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

به همین دلیل، مقالات و پژوهش‌های بسیاری برای داینامیک کردن این الگوریتم منتشر شده است. خود مقاله اصلی ما، با اینکه حدود 23 سال پیش در کنفرانس هندسه محاسباتی (Computational Geometry) منتشر شد – که کنفرانسی تخصصی برای نظریه‌پردازان است و شاید ضریب تأثیر (Impact Factor) عمومی بالایی نداشت – اما به دلیل همین سادگی و قابلیت کاربردی بالا (Applicability)، تاکنون هزاران بار ارجاع شده و مبنای توسعه روش‌های پویا قرار گرفته است.

تسنیم: اشاره کردید که این روش نسبت به الگوریتم‌های سنتی مانند درخت‌های کی‌دی (KD-Trees) سریع‌تر است. این افزایش سرعت تا چه حد است؟

دکتر میررکنی: ببینید، روش‌های مبتنی بر KD-Tree دارای زمان اجرای «خطی» (Linear Time) بودند. هدف ما گذار از زمان خطی و رسیدن به زمان «زیر-خطی» (Sub-linear Time) بود.

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

تسنیم: اگر بخواهیم برای فشرده‌سازی بردارها از روش «کوانتیزاسیون» (Quantization) استفاده کنیم، آیا این کار دقت جست‌وجو را کاهش می‌دهد؟

دکتر میررکنی: بله، کوانتیزاسیون طبیعتاً همیشه تأثیری بر روی داده‌ها می‌گذارد و می‌تواند دقت را تحت‌الشعاع قرار دهد.

تسنیم: چگونه می‌توان این اثر منفی را جبران یا مدیریت کرد؟

دکتر میررکنی: این موضوع بستگی به روش تحلیل ما دارد. در پژوهش‌های قدیمی‌تر و مقالات موجود، تأثیر کوانتیزاسیون معمولاً به دو روش آنالیز می‌شود:

اول اینکه بررسی کنیم پس از انجام کوانتیزاسیون، فاصله‌ها (Distances) تا چه حد حفظ (Preserve) شده‌اند.

دوم اینکه بسنجیم توانایی ما در بازیابی (Retrieve) نزدیک‌ترین همسایه‌ها چقدر تغییر کرده است.

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

تسنیم: آیا استفاده از سخت‌افزارهای پردازشی قدرتمند مانند GPU (واحد پردازش گرافیکی) یا TPU (واحد پردازش تانسوری) می‌تواند محاسبه هش‌های پایدار در این الگوریتم را تسریع کند؟ یا محدودیت‌های سخت‌افزاری خاصی در این زمینه وجود دارد؟

دکتر میررکنی: این سوال بسیار خوب و در عین حال موضوعی باز برای پژوهش است. اجرای این الگوریتم‌ها روی GPU و TPU، به‌ویژه در بحث کوانتیزاسیون (Quantization)، تحقیقات زیادی را به خود اختصاص داده است. اما در مورد خاص مسائل LSH (Locality-Sensitive Hashing) روی این سخت‌افزارها، هنوز جای کار بسیاری وجود دارد. هرچند مقالاتی در حال کار بر روی این موضوع هستند، اما شخصاً در یک سال اخیر به طور دقیق این حوزه را دنبال نکرده‌ام. البته از نظر تئوری روش‌هایی وجود دارد که پتانسیل ارائه مقاله علمی را دارند.

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

تسنیم: در مقایسه با الگوریتم‌های محبوبی مثل HNSW (Hierarchical Navigable Small World)، استفاده از الگوریتم LSH شما در چه شرایطی منطقی‌تر و کارآمدتر است؟

دکتر میررکنی: مزیت رقابتی اصلی الگوریتم ما، «سادگی» (Simplicity) آن است. این ویژگی باعث می‌شود که بتوان به راحتی قابلیت‌های دیگر را روی آن پیاده‌سازی کرد. درست است که در برخی سناریوها ممکن است HNSW عملکرد بهتری داشته باشد، اما وقتی صحبت از داده‌های پویا (Dynamic) یا مدل‌های جریان داده (Stream Models) می‌شود، یا زمانی که بخواهیم هزینه‌های پردازشی را کاهش دهیم، الگوریتم‌های پیچیده‌تر با چالش مواجه می‌شوند.

همین سادگی الگوریتم ما باعث می‌شود در کاربردهای عملی (Practical Applications) انعطاف‌پذیری بیشتری داشته باشد و راحت‌تر با سیستم‌های دیگر ترکیب شود. البته مقالات زیادی وجود دارد که تلاش کرده‌اند این مزیت‌ها را کمی‌سازی (Quantify) کنند، اما نتایج کمی فازی و وابسته به شرایط است.

تسنیم: شما روی «سادگی» این متد تأکید زیادی دارید. آیا این سهولت در پیاده‌سازی، باعث نمی‌شود که در دقت (Accuracy) الگوریتم دچار ضعف شویم؟

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

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

تسنیم: به پارامترهای K (تعداد توابع هش) و L (تعداد جداول هش) اشاره کردید. تنظیم این دو پارامتر برای ایجاد تعادل (Trade-off) میان دقت، سرعت و حافظه چگونه انجام شد؟

دکتر میررکنی: برای پاسخ دقیق باید به فرمول‌های ریاضی مراجعه کنم، اما نکته کلیدی این بود که ما توانستیم به صورت ریاضی (Mathematically) فرمول بهینه را استخراج کنیم. ما منحنی‌های بهینه (Optimal Curves) برای K و L را تعریف کردیم که نشان می‌داد برای هر وضعیت، چه ترکیبی از K و L مناسب است.

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

انتهای پیام/

 
 

منبع: خبرگزاری تسنیم

📢 مهم‌ترین اخبار


شناسه خبر: 246800
۲۹ آذر ۱۴۰۴ | ساعت: ۹:۰۲ | بازدید: 0
اشتراک گذاری:

بدون دیدگاه

دسر برفی نارگیلی؛ راز خوشمزه‌ترین انتخاب شب یلدا که همه عاشقش می‌شوند!