AI

Endüstriyel Denetim İçin CLIP ve LLaVA'nın İnce Ayarı

Endüstriyel Denetim İçin CLIP ve LLaVA'nın İnce Ayarı

Bilgisayarlı görü alanı, genel nesne tanımadan son derece özelleşmiş endüstriyel uygulamalara doğru kaymaktadır. CLIP (Karşılaştırmalı Dil-Görüntü Ön Eğitimi) ve LLaVA (Büyük Dil ve Görüntü Asistanı) gibi ön eğitilmiş modeller sağlam genel yetenekler sunsa da, montaj hatlarındaki mikroskobik kusurları tespit etmek veya üretimdeki belirli bileşen anormalliklerini belirlemek için gereken ayrıntıya genellikle sahip değillerdir. Geliştiriciler ve veri bilimcileri için bu temel modelleri alanına özgü görevlere uyarlamak sadece bir optimizasyon değil, bir zorunluluktur.

Neden Genel Modeller Üretimde Yetersiz Kalıyor?

CLIP ve LLaVA, "araba" veya "hasarlı boru" gibi geniş anlamsal kavramları görsel verilerle bağlamada mükemmeldir. Ancak bir yarı iletken fabrikasında veya bir otomotiv montaj tesisinde nüans önemlidir. Bir çizik kozmetik olabilirken, bir mikro çatlak felaket olabilir. Standart ön eğitilmiş modeller bu ince farkları sıklıkla gürültü olarak sınıflandırır veya kusurun ciddiyetini yanlış yorumlar. İnce ayar, modelin temsil uzayını endüstriyel alanın belirli sözcük dağarcığı ve görsel desenleriyle hizalayarak bu açığı kapatır.

Yaklaşım 1: CLIP İçin Özellik Verimli Ayar

CLIP, görüntü ve metin gömme vektörlerini hizalamak için karşılaştırmalı bir kayıp fonksiyonuna dayanır. Endüstriyel denetim için genellikle tüm Transformer mimarisini yeniden eğitmeye gerek yoktur. Bunun yerine, Düşük Sıralı Adaptasyon (LoRA) gibi Parametre Verimli İnce Ayar (PEFT) teknikleri son derece etkilidir. Bu yöntem, temel ağırlıkları dondurur ve küçük eğitilebilir matrisler enjekte ederek, en son teknoloji sonuçlar elde ederken hesaplama maliyetlerini önemli ölçüde azaltır.

Süreç, "çelik yüzeydeki mikroskobik bir çatlak" ile "parlatılmış metal yüzey" gibi belirli metinli istemlerle kusurlu görüntüleri eşleştirmeyi içerir. Ardından, modelin "yüzey çizigi" ile "yapısal kırık" arasında ayrım yapmasını sağlamak için LoRA uyarlama katmanlarını eğiterek dikkat ağırlıklarını ayarlarız.

from peft import LoraConfig, get_peft_model
from transformers import CLIPVisionModel

# Görüntü kodlayıcısı için LoRA yapılandırmasını tanımlayın
lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],  # Dikkat projeksiyonları
    lora_dropout=0.1,
    bias="none"
)

# Dondurulmuş CLIP görüntü omurgasına LoRA'yı uygulayın
vision_model = CLIPVisionModel.from_pretrained("openai/clip-vit-large-patch14")
vision_model = get_peft_model(vision_model, lora_config)

# Eğitim döngüsü daha sonra yalnızca LoRA ağırlıklarını optimize edecektir

Yaklaşım 2: Kusur Taksonomileri ile LLaVA'yı Hizalama

CLIP sınıflandırma için harika olsa da, LLaVA otomatik kalite güvence kayıtları için paha biçilemez olan kusurları açıklayan doğal dil raporları oluşturma yeteneğini sunar. LLaVA'yı ince ayar yapmak, görüntüleri detaylı metinli açıklamalar veya talimatlarla eşleştiren bir veri seti gerektirir. Sadece ikili hizalamaya odaklanan CLIP'in aksine, LLaVA ince ayarı Talimat İnce Ayarını (Instruction Tuning) içerir.

Girdi bir bileşen görüntüsü ve talimat "Kusur türünü belirleyin ve başarısızlık olasılığını tahmin edin" olan bir veri seti oluştururuz. Model, yapılandırılmış JSON veya belirli başarısızlık kodları çıktısı üretmeyi öğrenir. Bu genellikle, modelin yanıtlarının sadece gerçeklere uygun olmasını değil, aynı zamanda kıdemli kalite mühendislerinin tercihleriyle de hizalı olmasını sağlamak için Doğrudan Tercih Optimizasyonu (DPO) yöntemi kullanılarak yapılır.

from transformers import LLaVAForConditionalGeneration, TrainingArguments

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

training_args = TrainingArguments(
    output_dir="./llava-endustriyel-kusurlar",
    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"
)

# Not: Pratikte, talimatla eğitilmiş veri setinizi buraya yüklersiniz
# trainer = SFTTrainer(model=model, args=training_args, train_dataset=train_dataset)
# trainer.train()

Pratik Dikkat Edilmesi Gerekenler ve Veri Stratejisi

Bu modelleri ince ayar yapmanın başarısı veri kalitesine bağlıdır. Endüstriyel ortamlarda genellikle sınıf dengesizliği yaşanır; normal örnekler kusurlu örneklerden çok daha fazladır. Bunu çözmek için mixup ve cutout gibi agresif veri artırma teknikleri kullanın, ancak bunların kritik kusur özelliklerini gizlemediğinden emin olun. Ayrıca, iki aşamalı bir eğitim hattı kullanmayı düşünün: önce genel bir kusur veri setinde (MVTec AD gibi) ön eğitim yapın, ardından kendi özel, hat bazlı verilerinizde ince ayar yapın.

Sonuç

Endüstriyel denetim için CLIP ve LLaVA'yı ince ayar yapmak, genel yapay zeka araçlarını hassas enstrümanlara dönüştürür. LoRA gibi parametre verimli yöntemlerden yararlanarak ve titiz talimat ince ayarı uygulayarak, geliştiriciler yalnızca anormallikleri yüksek doğrulukla tespit etmekle kalmayan, aynı zamanda bunları doğal dilde açıklayan sistemler oluşturabilir. Sektör 4.0 Sanayi'ye doğru ilerledikçe, büyük çok modlu modelleri belirli üretim bağlamlarına uyarlayabilme yeteneği, otomatik kalite kontrolünün bir sonraki neslini tanımlayacaktır.

Share: