Giriş
Yapay zeka (AI) uygulamalarının geliştirilmesi giderek karmaşıklaşırken, güvenlik ve izolasyon gereksinimleri de artmaktadır. Canonical tarafından tanıtılan Workshop, Ubuntu üzerinde sandboxlanmış geliştirme ortamları sunan yeni bir açık kaynak projesidir. Bu araç, özellikle Büyük Dil Modelleri (LLM) için tasarlanmış AI ajanlarının güvenli bir şekilde çalıştırılmasını sağlayarak, hem geliştiricilerin hem de kuruluşların verilerini korumalarına yardımcı olur.
Sorun: AI Geliştirmede Güvenlik ve İzolasyon
AI projelerinde karşılaşılan temel sorunlardan biri, güvensiz kodun çalıştırılması ve hassas verilerin korunması arasındaki dengedir. Geliştiriciler genellikle internetten indirdikleri AI modellerini veya komut dosyalarını çalıştırırken, bu kodların sisteme zarar verme riski taşır. Ayrıca, AI ajanlarının yerel GPU'lara ve dosyalara erişmesi gerektiğinde, bu erişimlerin kontrollü bir şekilde sağlanması kritik önem taşır.
Mevcut çözümler genellikle ya aşırı kısıtlayıcı (AI ajanlarının gerekli yeteneklere sahip olmaması) ya da yetersiz güvenlik (hassas verilerin riske atılması) sunmaktadır. Workshop, bu sorunu LXD konteynerleri ve snap paketleme teknolojilerini kullanarak çözmeyi hedeflemektedir.
Çözüm: Workshop ile Sandboxlanmış AI Geliştirme
1. LXD Konteynerleri ile İzolasyon
Workshop, LXD (Linux Containers Daemon) teknolojisini kullanarak her bir AI ajanını ayrı bir konteynerde çalıştırır. LXD, kullanıcı düzeyinde izolasyon sağlayarak, AI ajanlarının sistemin diğer bölümlerine veya diğer konteynerlere erişimini engeller. Bu sayede, güvensiz kodun sistemin geri kalanına zarar vermesi önlenir.
LXD konteynerleri, snap paketleri ile birlikte kullanılarak, AI ajanlarının gerekli kaynaklara erişimi kontrollü bir şekilde sağlanır. Örneğin, AI ajanları yalnızca belirli dosyalara veya dizinlere erişebilirken, sistemin geri kalanından tamamen izole edilir.
2. Snap Paketleme ile Güvenli Dağıtım
Workshop, AI ajanlarını snap paketleri olarak dağıtır. Snap paketleri, sandboxlanmış çalışma ortamları sunarak, paketlerin sistemin geri kalanından izole edilmesini sağlar. Bu sayede, AI ajanları yalnızca paket içinde tanımlı yeteneklere sahip olur ve sistemin diğer bölümlerine müdahale edemez.
Snap paketleri ayrıca, otomatik güncellemeler ve geri dönüş mekanizmaları sunarak, AI ajanlarının güvenli ve güncel kalmasını sağlar. Bu özellikler, özellikle üretim ortamlarında kritik öneme sahiptir.
3. Yerel GPU ve Dosya Erişimi
Workshop, AI ajanlarının yerel GPU'lara ve belirli dosyalara erişimini gerektiği şekilde sağlar. AI ajanları, yalnızca yetkili erişim ile sisteme bağlanabilir ve gerekli kaynaklara erişebilir. Bu erişimler, konteyner düzeyinde veya snap profilleri aracılığıyla tanımlanır.
Örneğin, bir AI ajanının yerel GPU'ya erişmesi gerekiyorsa, Workshop bu erişimi yalnızca gerekli yetkilerle sağlar. Aynı şekilde, AI ajanının belirli bir dizindeki dosyalara erişmesi gerekiyorsa, yalnızca bu dizine erişim izni verilir.
Uygulama Adımları: Workshop Kurulumu ve Kullanımı
Workshop'un kullanımı oldukça basittir. Aşağıdaki adımları izleyerek Workshop'u Ubuntu üzerinde kurabilir ve kullanabilirsiniz:
-
Gereksinimlerin Kontrolü
Workshop'un çalışması için aşağıdaki gereksinimlerin karşılanması gerekir:
- Ubuntu 22.04 LTS veya daha yeni bir sürüm
- LXD'nin kurulu olması (varsayılan olarak Ubuntu'da bulunur)
- Snap paketleme sisteminin kurulu olması
- Python 3.8 veya daha yeni bir sürüm
-
Workshop'un Kurulumu
Workshop'u kurmak için aşağıdaki komutları çalıştırın:
sudo snap install workshop --edge --devmodeNot:
--edgekanalı, en yeni özelliklere erişmek için kullanılır. Üretim ortamlarında--candidateveya--stablekanallarını tercih edin. -
Workshop'un Yapılandırılması
Workshop'u yapılandırmak için aşağıdaki komutları çalıştırın:
sudo workshop initBu komut, Workshop'un gerekli konteynerleri ve snap profillerini oluşturmasını sağlar. Yapılandırma sırasında, AI ajanlarının erişeceği kaynaklar (örneğin, GPU'lar veya dosyalar) belirlenir.
-
AI Ajanının Çalıştırılması
Bir AI ajanını çalıştırmak için aşağıdaki adımları izleyin:
-
AI ajanını snap paketi olarak yükleyin:
sudo snap install ai-agent --edge -
AI ajanını Workshop konteynerinde çalıştırın:
workshop run ai-agent -
AI ajanının çıktısını inceleyin:
workshop logs ai-agent
-
-
Güvenlik Politikalarının Ayarlanması
Workshop, AI ajanlarının erişimini kontrol etmek için güvenlik politikaları sunar. Bu politikaları aşağıdaki komutla yapılandırabilirsiniz:
workshop policy set ai-agent --gpu-access=allow --file-access=/path/to/allowed/dirUyarı: Güvenlik politikaları dikkatli bir şekilde yapılandırılmalıdır. Gereksiz erişimler, sistemin güvenliğini riske atabilir.
Örnek Kullanım Senaryosu: Güvenli AI Geliştirme
Bir geliştirici, internetten indirdiği bir Büyük Dil Modelini (LLM) Ubuntu üzerinde çalıştırmak istiyor. Workshop kullanarak, aşağıdaki adımları izleyerek bu modeli güvenli bir şekilde çalıştırabilir:
-
İndirilen LLM'i snap paketi olarak yükleyin:
sudo snap install llm-model --edge -
Workshop konteynerinde LLM'i çalıştırın:
workshop run llm-model --gpu=auto -
LLM'in yalnızca belirli bir dizindeki dosyalara erişmesini sağlayın:
workshop policy set llm-model --file-access=/home/user/data -
LLM'in çıktısını inceleyin ve gerekirse ayarları güncelleyin:
workshop logs llm-model
Bu şekilde, geliştirici hem AI modelini güvenli bir şekilde çalıştırabilir hem de hassas verilerin korunmasını sağlayabilir.
Avantajlar ve Sınırlamalar
Avantajlar
- Güvenlik: LXD konteynerleri ve snap paketleme sayesinde AI ajanları sistemden tamamen izole edilir.
- Esneklik: AI ajanlarının gerekli kaynaklara erişimi kontrollü bir şekilde sağlanır.
- Kolaylık: Workshop'un kullanımı basit ve anlaşılırdır. Geliştiriciler karmaşık yapılandırmalarla uğraşmak zorunda kalmaz.
- Açık Kaynak: Workshop açık kaynaklı bir projedir ve topluluk tarafından sürekli olarak geliştirilmektedir.
Sınırlamalar
- Performans: Konteynerler ve snap paketleme, doğrudan sistem üzerinde çalışmaya kıyasla daha yavaş olabilir.
- Desteklenen AI Modelleri: Workshop henüz tüm AI modelleriyle tam uyumlu olmayabilir. Desteklenen modellerin listesini kontrol etmek önemlidir.
- Konteyner Yönetimi: LXD konteynerlerinin yönetimi, özellikle büyük ölçekli projelerde karmaşık hale gelebilir.
Sonuç
Canonical'un tanıttığı Workshop, Ubuntu üzerinde sandboxlanmış AI geliştirme ortamları sunan yenilikçi bir araçtır. LXD konteynerleri ve snap paketleme teknolojilerini kullanarak, AI ajanlarının güvenli bir şekilde çalıştırılmasını sağlar. Bu sayede, geliştiriciler hem verilerini koruyabilir hem de AI projelerini güvenli bir şekilde geliştirebilir. Workshop'un kullanımı basit ve anlaşılırdır, bu da onu hem bireysel geliştiriciler hem de kuruluşlar için cazip bir seçenek haline getirir.


