تصور کنید تحلیلگران امنیتی بهجای غرق شدن در میلیونها خط دادهٔ خام، بتوانند کلاهبرداریهای پیچیدهٔ بلاکچین را مثل تشخیص یک الگوی تکراری در یک نقاشی شناسایی کنند. اگر امروز برای شناسایی حملات layering یا mixers از ابزارهای سنتی استفاده میکنید، ترکیب مدلهای بینایی با سختافزارهای قدرتمند، سرعت شما را از تحلیل ساعتها داده به تشخیصهای میلیثانیهای میرساند.
طبق یک راهنمای فنی که در ۱۴ جولای ۲۰۲۶ در وبسایت dev.to منتشر شد، تبدیل لاگهای تراکنش به تصویر و سپس تنظیم دقیق (Fine-tuning) — که مثل وقتی است به یک پزشک عمومی، تخصص پوست میدهیم تا روی یک حوزه دقیق شود — مدل Qwen2-VL-7B روی سختافزار AMD MI300X، میتواند تهدیدات ساختاری را شناسایی کند. این رویکرد بصری سیگنالهایی را شکار میکند که طبقهبندیهای متنی بر پایه بردار معنایی (Embedding) — شبیه کارت معرفی عددی برای هر واژه که همسایگانش را میگوید — معمولاً نادیده میگیرند.
گرافهای بصری تراکنشها حاوی الگوهای ساختاری هستند که برای مدلهای متنی نامرئیاند. یک mixer از نوع peel-chain الگوی بادبزنی خاصی میسازد؛ یک ورودی و چندین خروجی با مبالغ تقریباً یکسان. این موضوع در یک تصویر فوراً دیده میشود اما وقتی گراف به یک بردار عددی تبدیل شود، این ویژگی از بین میرود. الگوهای حلقهای در حملات layering یا خوشههای متراکم در فعالیتهای coordinated، در واقع هندسه هستند. مدلهای متنی توالیها را میخوانند و درکی از مجاورت فضایی ندارند. اگر یک تحلیلگر انسانی در دو ثانیه متوجه تفاوت گرافها شود، یک مدل بینایی هم همین تفاوت را استخراج میکند.
بیشتر ابزارهای امنیتی فعلاً بر پایه شبکههای عصبی گراف (GNN) هستند؛ شبکهای از سلولهای کوچک، شبیه نقشهٔ مترو، که سیگنال را از ورودی به جواب میرساند. GNNها دقیقاند اما فقط یک برچسب «مشکوک» یا «سالم» میدهند. اما یک مدل بینایی-زبانی (VLM) مثل Qwen2-VL، علاوه بر برچسب، دلیل آن را هم به زبان طبیعی توضیح میدهد. این یعنی یک ردپای بازرسی فوری برای تحلیلگر ایجاد میشود. کاربر میتواند بپرسد «چرا این خوشه با الگوی mixing مطابقت دارد؟»، در حالی که GNN برای هر توضیح نیاز به یک خط لوله جداگانه دارد. در این راستا، استفاده از مدلهای تخصصیتر برای کارهای عملیاتی تداعیکننده است با برتری مدلهای کوچک در ردیابی وضعیت و ابزار که نشان میدهد مدلهای بهینهشده چگونه در وظایف Agentic موفقتر عمل میکنند.
همانطور که در تحلیلهای قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، کاهش وابستگی به ساختارهای پیچیده دادهای و حرکت به سمت تحلیلهای چندوجهی، بهرهوری عملیاتی را بالا میبرد. از آنجا که اکثر خط لولههای تحلیلی در حال حاضر خروجیهای بصری (مثل Gephi یا NetworkX) تولید میکنند، توسعهدهندگان میتوانند بدون نیاز به سریالسازی پیچیده گراف، مستقیماً از این تصاویر برای آموزش مدل استفاده کنند.
زیرساخت سختافزاری: قدرت ۱۹۲ گیگابایت HBM3
AMD MI300X به دلیل استخر حافظه یکپارچه ۱۹۲ گیگابایتی HBM3 در مرکز این سیستم است. این ظرفیت اجازه میدهد مدل Qwen2-VL-7B (حدود ۱۸ گیگابایت) و حتی نسخه ۷۲ میلیارد پارامتری (حدود ۱۴۵ گیگابایت) بدون نیاز به انتقال داده به RAM سیستم یا NVMe بارگذاری شوند. انتقال داده یا offloading، تأخیر استنتاج (Inference) — یعنی لحظهای که مدل واقعاً جواب تولید میکند، مثل خودِ آشپزی نه دورهی آموزش — را بهشدت افزایش میدهد. بنابراین MI300X تمرکز را از مدیریت بودجه VRAM به توان عملیاتی میبرد.
با این حال، محیط نرمافزاری این سیستم حساس است. طبق مستندات، استفاده از ROCm 6.1 برای پشتیبانی پایدار از توجه برقآسا (flash attention) ضروری است. نسخههای قدیمیتر یا در کامپایل شکست میخورند یا خروجیهای توحه اشتباه تولید میکنند که شبیه به مشکلات ابرپارامتر به نظر میرسد. کاربران باید با دستور rocm-smi --showproductname وجود ۱۹۲ گیگابایت VRAM را تأیید کنند.
برای پایداری محیط، استفاده از Docker با ایمیج رسمی rocm/pytorch:rocm6.1_ubuntu22.04_py3.10_pytorch_2.3.0 توصیه میشود. رعایت این تنظیمات حیاتی است:
- اتصال به
/dev/kfdو/dev/driبرای دسترسی به GPU. - تنظیم
--shm-size=16gبرای جلوگیری از توقفهای خاموش در هنگام پیشخوانی تصاویر. - استفاده از نسخههای دقیق کتابخانهها:
transformers==4.45.2وpeft==0.12.0.
آمادهسازی دادهها و رندرینگ
تصمیمات مربوط به کدگذاری بصری تعیین میکند که مدل توپولوژی بلاکچین را یاد بگیرد یا صرفاً پیشفرضهای یک کتابخانه ترسیم گراف را. خط لولهی پیشنهادی، هر زیرگراف را به یک تصویر PNG دقیق ۴۴۸×۴۴۸ تبدیل میکند تا با تکههای بومی Qwen2-VL مطابقت داشته باشد و اثرات interpolation حذف شوند.
رندرینگ گرهها و یالها باید سختگیرانه باشد تا «سیگنالهای آموزشی شبحوار» ایجاد نشود. چیدمان باید بذر (Seed) ثابتی داشته باشد (مثلاً seed=42)؛ چون تغییر در چیدمان به عنوان نویز عمل میکند.
- رنگ موجودیتها: رنگهای ثابت برای انواع گرهها: صرافیها (آبی)، میکسرهای (قرمز)، قراردادهای هوشمند (نارنجی) و گرههای ناشناس (خاکستری).
- وزن یالها: حجمهای BTC از مقادیر بسیار کوچک تا ۵۰۰ بیتکوین متغیرند. برای جلوگیری از غلبه بصری یالهای پرارزش، از نرمالسازی
np.log1pاستفاده شده تا ضخامت خطوط در بازه ۰.۵ تا ۴ پیکسل قرار بگیرد.
حجم دادهها نیز تعیینکننده است. نویسنده «کف عملیاتی» ۵۰۰ تصویر برچسبدار برای هر کلاس را پیشنهاد میکند. زیر این مقدار، مدل بهجای توپولوژی تراکنش، روی ویژگیهای بصری رندرینگ متمرکز میشود و باعث واگرایی نتایج میگردد.
برای طرح برچسبها، باید از قالب چت Qwen2-VL استفاده کرد. هر نمونه شامل یک تصویر و یک پاسخ است که در آن مدل باید یک دلیل تکجملهای بیاورد. مثلاً: «مشکوک: زیرگراف شامل یک گره قرمز با درجه بالا است که ورودیهایی از گرههای ناشناس کمارزش دریافت میکند که با الگوی coin mixing سازگار است.» این کار باعث میشود مدل دسترسی به شواهد بصری داشته باشد و از پیشبینیهای «با اطمینان غلط» جلوگیری شود.
استراتژی تنظیم دقیق (Fine-Tuning)
یک یافته غیرمنتظره این است که منجمد کردن (freezing) کدگذار بینایی، دقت را در چیدمانهای جدید کاهش میدهد. برای رسیدن به نتایج بهینه، باید از لورا (LoRA) — که یک روش بهینه برای بهروزرسانی بخشی از وزنهای مدل است — هم برای لایههای زبانی و هم برای تصویر استفاده کرد. رتبه (rank) پیشنهادی r=64 و lora_alpha=128 است که تنها ۲ تا ۴ درصد پارامترها را قابل آموزش میکند.
آموزش از طریق accelerate و پیکربندی DeepSpeed ZeRO-2 اجرا میشود. هشدار شده است که ZeRO-3 در ROCm 6.1 باعث تداخل در ابعاد تانسورها در زمان پردازش تصاویر میشود. همچنین استفاده از bf16 الزامی است چون fp16 در توالیهای طولانی باعث سرریز (overflow) میشود.
در کارتهای مصرفی ۳۲ گیگابایتی، فعال کردن activation_checkpointing=True و اندازه دسته ۱ ضروری است، هرچند این کار توان عملیاتی را نسبت به MI300X تا ۵۰ درصد کاهش میدهد.
استنتاج و استقرار با vLLM
برای سرویسدهی مدل، وزنهای LoRA باید قبل از بارگذاری در vLLM ادغام شوند. vLLM از تزریق پویا (dynamic injection) برای مدلهای چندوجهی پشتیبانی نمیکند. ادغام باید روی CPU انجام شود تا فشار به VRAM وارد نشود.
تنظیمات عملیاتی برای MI300X:
--gpu-memory-utilization 0.85: برای باز گذاشتن فضای کافی برای KV Cache (حافظهای که توکنهای قبلی را نگه میدارد تا سرعت پاسخگویی بالا برود).max_tokens=50: برای جلوگیری از پراکندهگویی مدل و دریافت یک برچسب سریع.temperature=0.0: برای تضمین پاسخهای قطعی و حذف ابهام.
تأخیر نهایی برای طبقهبندی تک-تصویری روی MI300X بین ۸۰ تا ۱۲۰ میلیثانیه است. در حالت دستهای (۸ تصویر)، این زمان به ۳۰ تا ۴۵ میلیثانیه کاهش مییابد که آن را برای بررسی لحظهای mempoolها مناسب میکند.
عملکرد واقعی و موازنه ها
تنظیم دقیق، خروجی مدل را از توصیات کلی («یک نمودار شبکه») به برچسبهای تخصصی («الگوی سرویس میکسینگ: توپولوژی مرکز-و-پرتو») تغییر میدهد. با این حال، کلاسهایی با کمتر از ۵۰ نمونه مستعد خطا هستند. در این حالت، مدل تصویر را به نزدیکترین کلاس با اطمینان بالا میبرد و سپس یک دلیل متقاعدکننده اما غلط میسازد تا اشتباه خود را توجیه کند. این پدیده یادآور چالشهای Reward Hacking در بنچمارکهای هوش مصنوعی است، جایی که مدلها ممکن است برای رسیدن به امتیاز بالاتر، به جای یادگیری واقعی، به دنبال میانبرهای آماری یا توجیههای ظاهری بروند.
اگر مجموعه دادهها زیر ۲۰۰۰ نمونه باشد، یک شبکه پیچشی گراف (GCN) ساده احتمالاً دقیقتر و ارزانتر از VLM عمل میکند. استفاده از VLM تنها زمانی توجیه میشود که نیاز به توضیحات متنی برای حسابرسان انسانی باشد یا یک مدل بخواهد چندین طرح گراف مختلف (تراکنش، فراخوانی قرارداد، جریان توکن) را بهطور همزمان مدیریت کند.
نگهداری خط لوله تولید
برای جلوگیری از بدهی فنی، توصیه میشود فقط آداپتورهای LoRA و یک هش SHA256 از لیست دادههای آموزشی ذخیره شوند. این کار اجازه میدهد با انتشار نسخههای جدید مدل پایه، بدون نیاز به آموزش مجدد کامل، رفتار مدل جدید با قدیمی مقایسه شود.
پایش مدل باید روی «تغییر توزیع اطمینان» متمرکز باشد. یک مدل سالم توزیعی دو-وجهی دارد (اطمینان بالا برای هر دو حالت سالم و مشکوک). اگر نتایج در بازه ۰.۴۵ تا ۰.۶۵ متمرکز شوند، یعنی توپولوژیهای جدیدی در دنیای واقعی ظاهر شدهاند و زمان جمعآوری دادههای جدید فرا رسیده است.
در یک جریان تولیدی، یک پردازش Node.js گراف را رندر کرده و به سرور vLLM میفرستد. پاسخ دریافت شده در PostgreSQL ذخیره میشود و سامانههای هشدار-دهنده (مثل n8n) اگر حجم موارد مشکوک در یک بازه ۱۵ دقیقتاه از حد مجاز (مثلاً ۰.۷۲) فراتر رود، هشدار میفرستند.
گام بعدی شما
- اگر با گرافهای تراکنش سروکار دارید، ابتدا یک GCN ساده را امتحان کنید و تنها در صورت نیاز به «تفسیرپذیری» به سراغ Qwen2-VL بروید.
- برای استقرار روی سختافزارهای AMD، حتماً از Docker و نسخه ROCm 6.1 استفاده کنید تا با خطاهای Kernel مواجه نشوید.
- برای ارزیابی مدل، توزیع اطمینان (Confidence Distribution) را در دیتابیس پایش کنید تا متوجه تغییر الگوهای کلاهبرداری شوید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ برای درک جایگاه MI300X در رقابت با انویدیا، تحلیل ما درباره تراشههای نسل جدید را بخوانید.




گفتگو