Ana içeriğe geç

DeepSeek Janus-Pro'u Yerelde Nasıl Kullanırsınız

DeepSeek Janus-Pro projesini nasıl kuracağınızı, kendi Docker imajınızı nasıl oluşturacağınızı ve Janus web uygulamasını dizüstü bilgisayarınızda yerel olarak nasıl çalıştıracağınızı öğrenin.
· 13 dk. oku

Yapay Zeka ile Keşfedin

Çinli bir yapay zeka girişimi olan DeepSeek, küresel yapay zeka endüstrisini sarsarak ABD borsalarından 1 trilyon dolar sildi ve Nvidia ile OpenAI gibi teknoloji devlerini yerinden oynattı. Metin üretimi, akıl yürütme, görsel modeller ve görsel üretim alanlarında hızla lider konuma yükseldi. DeepSeek yakın zamanda, görsel veriyi anlayabilen ve metinden görsel üretebilen çok kipli bir model olan Janus da dahil olmak üzere son teknoloji modeller yayımladı.

Görsel: Yazar

Bu eğitimde Janus Serisi'ni öğrenecek, Janus projesini kuracak, modeli yerelde çalıştırmak için bir Docker konteyneri oluşturacak ve yeteneklerini çeşitli görsel ve metin istemleriyle test edeceğiz.

Küresel yapay zeka endüstrisini sarsan DeepSeek modellerini keşfedin:

DeepSeek Janus Serisi nedir?

DeepSeek Janus Serisi, yenilikçi çerçeveler kullanarak görsel anlama ve üretim görevlerini birleştirmek için tasarlanmış yeni bir çok kipli model ailesidir. Seri; her bir sürümün bir öncekine göre verimlilik, performans ve çok kipli yeteneklerde kayda değer iyileştirmeler sunduğu Janus, JanusFlow ve gelişmiş Janus-Pro modellerini içerir.

1. Janus

Janus, görsel kodlamayı anlama ve üretim görevleri için ayrık yollara ayırırken birleşik bir transformer mimarisi kullanan yenilikçi bir otoregresif çerçevedir. Bu yaklaşım, bu roller arasındaki çatışmaları gidererek esnekliği ve etkinliği artırır. Janus, görev-özel modellerle yarışır veya onları aşar; bu da onu yeni nesil çok kipli sistemler için güçlü bir aday yapar.

2. JanusFlow

JanusFlow, otoregresif dil modellemeyi son teknoloji bir üretim modelleme tekniği olan rectified flow ile birleştirir. Minimalist tasarımı, karmaşık değişikliklere gerek kalmadan büyük dil modeli çerçeveleri içinde kolay eğitimi mümkün kılar. JanusFlow, hem uzmanlaşmış hem de birleşik yaklaşımlarla karşılaştırıldığında kıyaslamalarda üstün performans sergileyerek görsel-dil modellemenin sınırlarını etkili bir şekilde zorlar.

3. Janus-Pro

Janus-Pro, optimize edilmiş eğitim stratejileri, genişletilmiş eğitim veri kümeleri ve daha büyük model boyutlarına ölçekleme getirerek önceki modelleri geliştirir. Bu ilerlemeler, çok kipli anlama ve metinden görsele yönerge takibini önemli ölçüde iyileştirirken daha kararlı metinden görsele üretim sağlar.

Janus Pro benchmark

Kaynak: deepseek-ai/Janus

Janus serisi, erişim yöntemleri ve OpenAI'nin DALL-E 3 modeliyle karşılaştırması hakkında daha fazla bilgi için DeepSeek'in Janus-Pro'su: Özellikler, DALL-E 3 Karşılaştırması ve Daha Fazlası yazısını okuyun.

Janus Projesinin Kurulumu

Janus nispeten yeni bir modeldir ve şu anda dizüstü veya masaüstünde kolay kullanım için nicemlenmiş sürümler ya da yerel yapay zeka uygulamaları mevcut değildir. 

Bununla birlikte, GitHub'daki Janus deposu, herkesin deneyebileceği mükemmel bir Gradio web uygulama demosu sunar. Ancak, çoklu paket çakışmaları nedeniyle demo çoğu zaman çalışmayabiliyor.

Bu sorunu aşmak için bu projede özgün kodu değiştirecek, kendi Docker imajımızı oluşturacak ve Docker Desktop uygulamasını kullanarak konteyneri yerelde çalıştıracağız. 

1. Docker Desktop'ı kurun

Başlamak için resmi Docker web sitesinden Docker Desktop'ın en son sürümünü indirip kurun.

Windows kullanıcıları için not:

Windows kullanıyorsanız, Windows için Linux Alt Sistemi'ni (WSL) de kurmanız gerekir. Terminalinizi açın ve WSL'yi kurmak için aşağıdaki komutu çalıştırın:

wsl --install

2. Janus deposunu klonlayın

Sonraki adımda, GitHub'dan Janus deposunu klonlayın ve proje dizinine gidin:

git clone https://github.com/deepseek-ai/Janus.git
cd Janus

3. Demo kodunu değiştirin

Demo klasörüne gidin ve tercih ettiğiniz kod düzenleyicide app_januspro.py dosyasını açın. Şu değişiklikleri yapın:

  1. Model adını değiştirin: deepseek-ai/Janus-Pro-7B ifadesini deepseek-ai/Janus-Pro-1B ile değiştirin.

Bu, yalnızca 4,1 GB boyutunda olan daha hafif model sürümünü yükleyerek yerel kullanım için daha uygun hale getirecektir.

Janus pro web uygulama dosyasını değiştirme

  1. Betik dosyasının son satırını güncelleyin: demo.queue fonksiyonunu aşağıdaki gibi düzenleyin:
demo.queue(concurrency_count=1, max_size=10).launch(
    server_name="0.0.0.0", server_port=7860
)

Janus pro web uygulama dosyasını değiştirme

Bu değişiklik, Docker URL'si ve bağlantı noktasıyla uyumluluğu sağlar.

4. Bir Docker imajı oluşturun

Uygulamayı konteynerleştirmek için projenin kök dizininde bir Dockerfile oluşturun. Dockerfile için aşağıdaki içeriği kullanın:

# Use the PyTorch base image
FROM pytorch/pytorch:latest

# Set the working directory inside the container
WORKDIR /app

# Copy the current directory into the container
COPY . /app

# Install necessary Python packages
RUN pip install -e .[gradio]

# Set the entrypoint for the container to launch your Gradio app
CMD ["python", "demo/app_januspro.py"]

Dockerfile şunları yapacaktır: 

  • PyTorch taban imajını kullanarak bir Docker imajı oluşturur.
  • Konteyner içinde çalışma dizinini ayarlar.
  • Yerel makinenizdeki gerekli tüm dosyalar Docker konteynerindeki /app dizinine kopyalanır.
  • Dockerfile, uygulama için gereken tüm bağımlılıkları kurar.
  • Son olarak, konteyner içinde Gradio uygulamasını başlatır.

Docker İmajını Oluşturma ve Çalıştırma 

Dockerfile hazır olduğunda Docker imajını oluşturacak ve konteyneri çalıştıracağız.

Docker imajı oluşturma ve dağıtımının temellerini öğrenmek için Docker'a Giriş kursunu alabilirsiniz. 

Docker imajını oluşturmak için terminale aşağıdaki komutu yazın. Bu komut, kök klasörde bulunan Dockerfile'ı kullanır ve imaja janus adını verir:

docker build -t janus . 

İmajı sıfırdan oluşturmak internet hızınıza bağlı olarak 10 ila 15 dakika sürer. 

Janus Docker imajını oluşturma

Aşağıdaki komut, Janus uygulaması için bir Docker konteyneri başlatır. GPU desteğini etkinleştirir, Gradio uygulamasına erişmek için 7860 portunu eşler ve Hugging Face model dosyaları için kalıcı depolamayı sağlar.

docker run -it -p 7860:7860 -d -v huggingface:/root/.cache/huggingface -w /app --gpus all --name janus janus:latest

Docker Desktop uygulamasını açıp “Containers” sekmesine giderseniz, janus konteynerinin çalıştığını görürsünüz. Ancak henüz kullanıma hazır değildir.

Konteyner içinde Janus imajını çalıştırma.

İlerlemesini kontrol etmek için janus konteynerine tıklayın ve ardından “Logs” sekmesine gidin. Burada, konteynerin modeli Hugging Face Hub'dan indirdiğini göreceksiniz.

Janus konteyneri günlükleri

Model başarıyla indirildiğinde, günlüklerde uygulamanın çalıştığına dair bir mesaj görüntülenecektir.

Model başarıyla indirildi ve web uygulaması çalışıyor.

Ardından, tarayıcınızdan şu URL'yi ziyaret ederek uygulamanıza erişebilirsiniz: http://localhost:7860/.

Sorun yaşıyorsanız, Janus projesinin güncellenmiş sürümünü şu adreste kontrol edin: kingabzpro/Janus: Janus-Series.

Janus Pro Modelini Test Etme

Web uygulamasının arayüzü sade ve her şey sorunsuz görünüyor. Bu bölümde, Janus Pro'nun çok kipli anlama ve metinden görsele üretim yeteneklerini test edeceğiz.

Çok kipli anlayışı test etme

Modelin çok kipli anlayışını değerlendirmek için önce DataCamp eğitiminden bir görsel yüklüyor ve modelden açıklamasını istiyoruz. Sonuçlar etkileyici—daha küçük 1B modelle bile yanıt son derece isabetli ve ayrıntılı.                                                                                                    

Janus Web uygulaması arayüzü Çok kipli Anlama

Ardından başka bir görsel yüklüyor ve modelden bir infografiğin içeriğini özetlemesini istiyoruz. Model, görsel içindeki metni başarıyla anlayıp son derece isabetli ve tutarlı bir yanıt veriyor. Bu, modelin hem görsel hem metinsel öğeleri işleme ve yorumlama konusundaki güçlü yeteneğini gösteriyor.

Janus Web uygulaması arayüzü Çok kipli Anlama

Metinden görsele üretimi test etme

Uygulamada aşağı kaydırdığınızda “Text-to-Image Generation” bölümünü bulacaksınız. Burada istediğiniz bir istemi girebilir ve “Generate Images” düğmesine tıklayabilirsiniz. Model, işlemi birkaç dakika sürebilecek şekilde görselin beş varyasyonunu üretir.

Janus Web uygulaması arayüzü Metinden görsele üretim

Sonuçlar dikkat çekici; kalite ve ayrıntı açısından Stable Diffusion XL ile karşılaştırılabilir çıktılar üretiyor.

Kişisel görselleriniz üzerinde DreamBooth ve LoRA ile Stable Diffusion XL'i İnce Ayarlamayı öğrenebilirsiniz. 

Janus Web uygulaması arayüzü Metinden görsele üretim

Bir başka istem daha deneyelim:

İstem:

“Görsel, hem gerçekçiliği hem de sürrealizmi çağrıştıran süslü kıvrım desenleriyle bezeli dairesel bir arka planın önünde konumlanmış, ince işlenmiş bir gözü betimliyor. İlgi odağında, gözbebeğinden dışa doğru yayılan ince damarlarla çevrelenmiş, derinlik ve yoğunluk katan çarpıcı derecede canlı mavi bir iris var. Kirpikler uzun ve koyu, etraflarındaki deride hafif gölgeler bırakıyor; deri pürüzsüz görünse de sanki zamanla yaşlanmış ya da yıpranmış gibi hafif dokulu.

Gözün üzerinde, kompozisyona katmanlar halinde gizem ve zamansız bir zarafet katan, klasik mimarinin bir parçasını andıran taş benzeri bir yapı bulunuyor. Bu mimari öğe, etrafını saran organik eğrilerle keskin ama uyumlu bir tezat oluşturuyor. Gözün altında ise barok sanatını anımsatan bir başka süsleme motifi yer alıyor ve her bir titizlikle işlenmiş ayrıntının bünyesinde kapsanan ebediyet hissini daha da güçlendiriyor.

Genel atmosfer, gerçekçi dokular ile sürreal sanatsal dokunuşların yan yana getirilmesiyle elde edilen, zamansızlığı ima eden unsurlarla kusursuzca iç içe geçmiş gizemli bir aura yayıyor. Gözün çerçevesini oluşturan karmaşık desenlerden üstteki kadim görünümlü taş parçaya kadar her bir bileşen, esrarengiz bir çekicilikle yoğrulmuş görsel olarak büyüleyici bir tablo yaratmaya kendine özgü bir katkı sunuyor.”

Janus Web uygulaması arayüzü Metinden görsele üretim

Sonuçlar yine nefes kesici. Üretilen görseller, istemde tarif edilen karmaşık ayrıntıları ve sürreal sanatsal unsurları yakalıyor.

Sonuç

Modelin tüm yeteneklerini test etmek için DeepSeek, web uygulamasının aynı sürümünü Hugging Face Spaces üzerinde kullanıma sundu. Şuradan erişebilirsiniz: Chat With Janus-Pro-7B. Janus Pro modelinin öne çıkan özelliklerinden biri, 1B gibi daha küçük varyantlar kullanılırken bile yüksek doğruluğa sahip olmasıdır.

Bu eğitimde, hem görselleri anlayabilen hem de metin istemlerinden görseller üretebilen çok kipli bir model olan Janus Pro'yu keşfettik. Ayrıca, modeli dizüstü bilgisayar GPU'sunda özel olarak kullanmak için kendi yerel çözümümüzü kurduk. Bu kurulum hızlı, verimli ve sınırlı kaynaklarla özgürce denemeler yapmanıza olanak tanır.

Şu rehberimize de göz atın: DeepSeek R1 (Akıl Yürütme Modeli) İnce Ayarı. Geleceğin daha iyi yapay zeka doktorlarını geliştirmek için tıbbi düşünce zinciri veri kümesi üzerinde akıl yürütme modelini eğitmeyi öğreneceksiniz.

Abid Ali Awan

Yazar

Abid Ali Awan

Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.

Konular

İlgili