AI

تنظیم دقیق CLIP و LLaVA برای بازرسی صنعتی

تنظیم دقیق CLIP و LLaVA برای بازرسی صنعتی

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

چرا مدل‌های عمومی در تولید ناکافی هستند

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

رویکرد ۱: تنظیم کارآمد از نظر ویژگی برای CLIP

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

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

from peft import LoraConfig, get_peft_model
from transformers import CLIPVisionModel

# تعریف پیکربندی LoRA برای کدگذار بینایی
lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],  # پروجکشن‌های توجه
    lora_dropout=0.1,
    bias="none"
)

# اعمال LoRA به هسته بینایی CLIP ثابت
vision_model = CLIPVisionModel.from_pretrained("openai/clip-vit-large-patch14")
vision_model = get_peft_model(vision_model, lora_config)

# حلقه آموزش سپس فقط وزن‌های LoRA را بهینه می‌کند

رویکرد ۲: همسو کردن LLaVA با تاکسونومی عیوب

در حالی که CLIP برای طبقه‌بندی عالی است، LLaVA امکان تولید گزارش‌های زبان طبیعی برای توصیف عیوب را ارائه می‌دهد که برای لاگ‌های تضمین کیفیت خودکار بی‌نظیر است. تنظیم دقیق LLaVA نیازمند مجموعه داده‌ای است که تصاویر را با توصیفات متنی دقیق یا دستورالعمل‌ها جفت کند. برخلاف CLIP که بر همسوایی دوتایی تمرکز دارد، تنظیم دقیق LLaVA شامل تنظیم دستورالعمل (Instruction Tuning) است.

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

from transformers import LLaVAForConditionalGeneration, TrainingArguments

model = LLaVAForConditionalGeneration.from_pretrained("llava-hf/llava-1.5-7b-hf")

training_args = TrainingArguments(
    output_dir="./llava-industrial-defects",
    per_device_train_batch_size=4,
    gradient_accumulation_steps=8,
    num_train_epochs=3,
    learning_rate=2e-5,
    weight_decay=0.01,
    logging_steps=10,
    save_strategy="epoch"
)

# نکته: در عمل، شما باید مجموعه داده تنظیم‌شده با دستورالعمل خود را اینجا بارگذاری کنید
# trainer = SFTTrainer(model=model, args=training_args, train_dataset=train_dataset)
# trainer.train()

ملاحظات عملی و استراتژی داده

موفقیت در تنظیم دقیق این مدل‌ها به کیفیت داده بستگی دارد. محیط‌های صنعتی اغلب از عدم تعادل کلاسی رنج می‌برند، جایی که نمونه‌های نرمال به طور فزاینده‌ای بیشتر از نمونه‌های عیب هستند. برای حل این مشکل، از تکنیک‌های تقویت داده تهاجمی مانند mixup و cutout استفاده کنید، اما اطمینان حاصل کنید که این کارها ویژگی‌های حیاتی عیب را مخفی نمی‌کنند. علاوه بر این، در نظر بگیرید که از یک خط لوله آموزش دو مرحله‌ای استفاده کنید: ابتدا روی یک مجموعه داده عیب عمومی (مانند MVTec AD) پیش‌آموزش دهید، سپس روی داده‌های اختصاصی خط خودتان تنظیم دقیق انجام دهید.

نتیجه‌گیری

تنظیم دقیق CLIP و LLaVA برای بازرسی صنعتی، ابزارهای هوش مصنوعی عمومی را به ابزارهای دقیق تبدیل می‌کند. با بهره‌گیری از روش‌های کارآمد از نظر پارامتر مانند LoRA و به کارگیری تنظیم دقیق دستورالعمل‌های سخت‌گیرانه، توسعه‌دهندگان می‌توانند سیستم‌هایی ایجاد کنند که نه تنها ناهنجاری‌ها را با دقت بالا تشخیص می‌دهند، بلکه آن‌ها را نیز به زبان طبیعی توضیح می‌دهند. با حرکت صنعت به سمت صنعت ۴.۰، توانایی تطبیق مدل‌های چندوجهی بزرگ برای زمینه‌های خاص تولید، نسل بعدی کنترل کیفیت خودکار را تعریف خواهد کرد.

Share: