İçeriğe geç
TensorBundle
TensorBundle
İletişime geçin
EN TR

Edge AI ve model optimizasyonu

Pek çok model büyük sunucularda eğitilir ama çok daha küçük bir donanımda çalışmak zorundadır: bir kamerada, bir araçta, üretim sahasındaki bir makinede ya da tek bir yerel sunucuda.

Modelleri elinizdeki donanıma sığacak şekilde küçültüp hızlandırıyor, bu sırada doğruluğun ne kadar düştüğünü de ölçüyoruz.

Model optimizasyonu ne yapar?

Model, verinin üretildiği yere yakın çalıştığında yanıt daha hızlı gelir, sistem ağ bağlantısına bağımlı kalmaz ve hassas verinin bir yere taşınması gerekmez.

Ancak cihazların belleği, işlem gücü ve enerjisi sınırlı. Sunucuda rahatça çalışan bir model bu cihazlar için fazla büyük ya da fazla yavaş kalabilir. Optimizasyonla model küçülür, hızlanır ve çalışacağı çipe göre uyarlanır.

Aynı optimizasyon standart sunucularda da çalıştırma maliyetini düşürür. Çoğu zaman bu tek başına yeterli bir gerekçedir.

Neler geliştiriyoruz?

  • Büyük modellerin küçük sürümleri

    Büyük bir modeli taklit edecek kompakt bir model eğitiyoruz. Boyutu çok daha küçüktür ama büyük modelin yeteneklerinin çoğunu korur.

  • Daha düşük hassasiyetli modeller

    Modelin sayılarını daha düşük hassasiyetle saklamak ve hesaplamak bellek kullanımını azaltır. Model de özellikle düşük hassasiyetli hesap için tasarlanmış çiplerde hızlanır.

  • Belirli bir çipe göre ayarlanmış modeller

    Modeli, çalışacağı işlemciye, hızlandırıcıya ya da mobil çipe göre, o donanımın desteklediği araçlarla hazırlıyoruz.

  • Cihaz üzerinde görüntü ve sensör modelleri

    Kameraların, araçların ya da makinelerin içinde, veriyi başka bir yere göndermeden çalışan tespit, denetim ve izleme modelleri.

  • Yerel dil modelleri

    Kapsamı net ve sınırlı işler için tek bir yerel sunucuda ya da iş istasyonunda çalışabilecek kadar küçük dil modelleri.

  • Mevcut sunucularda daha hızlı modeller

    Elinizdeki sunucularda hızlanan bir modelin çalıştırma maliyeti düşer ve aynı donanım daha fazla isteğe yanıt verebilir.

Hangi durumlarda uygun?

  • Zahmetine değdiği durumlar

    Model, isteğin sunucuya gidip gelmesine yetmeyecek kadar kısa sürede yanıt vermek zorundaysa, cihazın bağlantısı zayıfsa ya da hiç yoksa, verinin tesisten çıkmaması gerekiyorsa veya mevcut modeli bu hacimde çalıştırmak pahalıya geliyorsa.

  • Sunucuda çalıştırmak daha kolay olabilir

    Bunların hiçbiri geçerli değilse tam modeli standart bir sunucuda çalıştırmak genellikle daha kolaydır. Bu durumda size bunu öneririz.

Bir proje nasıl ilerler?

  1. Hedef üzerinde anlaşmak

    Hedef donanım ve modelin ne kadar hızlı yanıt vermesi gerektiği üzerinde sizinle anlaşıyoruz. Ne kadar bellek ve enerji kullanabileceğini, karşılığında ne kadar doğruluktan vazgeçebileceğinizi de birlikte belirliyoruz.

  2. Mevcut durumu ölçmek

    Mevcut modeli verinizle test ediyor, hedef donanımda ne kadar sürede çalıştığını ölçüyoruz. Sonraki her sürümü bu ölçümle karşılaştırıyoruz.

  3. Farklı küçültme yollarını denemek

    Farklı teknikleri birleştirip karşılaştırıyoruz. Her sürümün boyutunu, hızını ve doğruluğunu geliştirme bilgisayarının yanı sıra doğrudan hedef cihazda ölçüyoruz.

  4. Cihaz için paketlemek

    Seçilen sürümü hedef donanımda çalıştıracak kodla birlikte paketliyoruz. Paket, mevcut yazılımınızın yanına kurulabilecek durumda teslim edilir.

Neyden vazgeçtiğinizi bilmek

Model küçültülünce doğruluk neredeyse her zaman biraz düşer ve bu düşüşün nerede olduğuna bakmak gerekir. Ortalamada küçük görünen bir kayıp, en çok önemsediğiniz durumlarda (örneğin nadir kusurlarda ya da zayıf ışıkta) yoğunlaşmış olabilir.

Bu yüzden orijinal modelle karşılaştırmayı sizin için önemli durumlara göre ayrı ayrı yapıyoruz. Bir sürüm seçmeden önce doğruluğun nerede düştüğünü görebilirsiniz.

Neler teslim edilir?

  • Hedef donanımınız için paketlenmiş, optimize edilmiş bir model
  • Orijinal modelle hız, boyut ve doğruluk karşılaştırması
  • Model yeniden eğitildiğinde optimizasyonu tekrarlamak için kullanılan scriptler
  • Ekibinize teslim edilen kod ve dokümantasyon

Sık sorulan sorular

Optimize edilmiş model elimizdeki donanımda çalışabilir mi?

Evet. Elinizdeki cihazlardan yola çıkıyoruz. Farklı bir donanımı yalnızca bu cihazlar gereksinimleri karşılayamazsa öneriyoruz.

Model küçültülünce ne kadar doğruluk kaybeder?

Genel geçer bir rakam yok. Kayıp modele, göreve ve modelin ne kadar küçülmesi gerektiğine bağlı olduğu için bunu kendi test örneklerinizde ölçüyoruz.

Bir modeli optimize etmek için bizden neler gerekiyor?

Mevcut model ya da görevin net bir tanımı, kullanım koşullarını yansıtan test verisi ve hedef cihaza ya da aynısından birine erişim.

Optimizasyon için verilerimizin tesis dışına çıkması gerekir mi?

Hayır. Optimizasyon çalışmasını kendi ortamınızda yapabiliriz; optimize edilen model de verinin üretildiği yerde, cihazlarınızda çalışır.

Model daha sonra yeniden eğitilirse ne olur?

Yeniden eğitilen model, teslim ettiğimiz scriptlerle aynı optimizasyondan geçirilebilir. İsterseniz bu güncellemelerde destek de veririz.

Birlikte çalışalım

Üzerinde çalıştığınız konuyu birkaç satırla anlatın, size geri dönelim.

İletişime geçin