NVIDIA yakın zamanda, LLaMA-Mesh adında, düz metin açıklamalarından 3B ağlar (mesh) üretebilen yenilikçi bir model yayımladı.
Tersi yönde de çalışıyor: bir 3B ağ verildiğinde, model nesneyi tanımlayabiliyor.
Bu, makine öğrenmesi için önemli bir ilerleme çünkü 3B uzayı anlamak, AGI’ye giden yolda kritik bir adım. LLaMA-Mesh, Blender gibi yazılımlarla sık çalışan profesyoneller ve meraklılar için de değerli bir araç; 3B ağ üretme ve kullanma sürecini hızlandırıyor.
Bu kısa rehberde, modelin yeteneklerini açıklayacak ve potansiyelini ve sınırlamalarını anlamanıza yardımcı olmak için birkaç örnek çalıştıracağım.
LLaMa-Mesh Nedir?
LLaMA-Mesh, NVIDIA tarafından geliştirilen ve büyük dil modellerinin (LLM’ler) yeteneklerini 3B alana taşıyan yenilikçi bir modeldir.
Öncekilerden farklı olarak LLaMA-Mesh, metin ve 3B modaliteleri birleştirir; kullanıcıların basit doğal dil istemleriyle 3B ağlar oluşturmasına olanak tanır.
Arka planda model, ince ayarlı bir LLaMa-3.1-8B-Instruct’tur. Model, 3B ağ verisini, köşeleri (vertex) ve yüzleri düz metin olarak tanımlayan OBJ dosya standardını kullanarak metin tabanlı bir biçimde kodlar.
LLaMa-Mesh’e Nasıl Erişilir
Modeli kullanmanın üç yolu var:
Modeli Hugging Face üzerinden yerelde çalıştırabilirsiniz—depo burada mevcut.
Blender’a hâkim olan ve modeli orada kullanmak isteyenler için, model bir Blender eklentisi olarak mevcut.
Yazarlar ayrıca Hugging Face platformunda bir çevrimiçi demo kurdu; bu rehber için deneysel ağlar üretirken onu kullanacağım.
Demo WebApp’i şu şekilde görünüyor:
Çevrimiçi demo 4096 tokene kadar desteklerken, tam model 8K’yı destekliyor. Bu nedenle, modelin tüm yeteneklerini görmek için onu yerelde çalıştırmamız gerekiyor.
Sırada, modelin sınırlarını test etmek için zorluk seviyesi artan üç şekil örneği üreteceğim. Farklarını görmek için örnekleri modelin hem 4K hem de 8K token sürümlerinde çalıştıracağım.
LLaMa-Mesh Yerel veya Bulut Ortamında Nasıl Kurulur
Bu rehberde, modeli Google Colab’in A100 GPU çalışma zamanı ile çalıştırmayı göstereceğim. Yerelde yeterli hesaplama gücünüz varsa, aynı kod kişisel donanımınızda da çalışacak şekilde uyarlanabilir. Hugging Face deposu burada mevcut.
Başlamak için gerekli kütüphaneleri içe aktarmamız ve modeli ile ayrıştırıcıyı (tokenizer) indirmemiz gerekiyor:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path ="Zhengyi/LLaMA-Mesh"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto").cuda()Altyapı:
Ayrıca pad_token’ı ayarlamamız gerekiyor:
if tokenizer.pad_token_id isNone:
tokenizer.pad_token_id = tokenizer.eos_token_idAltyapı:
Son olarak, istemi ayrıştırıp çıkarım için modele vermemiz gerekiyor (tüm bunlar, neredeyse her modelle çalışan standart Hugging Face iş akışıdır):
prompt ="Create a 3D model of an original designer chair."
inputs = tokenizer(prompt, return_tensors="pt", padding=True)
input_ids = inputs.input_ids.cuda()
output = model.generate(
input_ids,
attention_mask=inputs['attention_mask'],# Provide the attention_mask
max_length=8000,)Altyapı:
Yazarlar web uygulaması demosunda kullandıkları hiperparametreleri belirtmiyor; adil olmak adına, karşılaştırmamız için varsayılanları kullanacağım.
LLaMa-Mesh Örnekleri
Şimdi zorluk seviyesi artan üç örnek üzerinden gidecek ve demo uygulamasının çıktısını Colab’de modeli çalıştırarak elde ettiğim çıktı ile karşılaştıracağım.
Örnek 1: Bir Sandalye
Basit ama yaratıcı bir şeyle—tasarımcı sandalyesiyle—başlayalım. İstem şu şekilde (yerelde çalışan model bazen aksi halde hiçbir şey üretmeyi reddettiği için, sonuna ağın OBJ formatında üretilmesini istediğimi ekliyorum):
Create a 3D model of an original designer chair in OBJ format.Altyapı:
Çevrimiçi demoda üretilen nesne şu şekilde:
Kesinlikle havalı ve biraz tuhaf bir sandalye; ancak bir tasarımcı sandalyesinden çok film yönetmeni sandalyesine benziyor.
Şimdi, istemi yerelde çalıştırıp sonucu görselleştirelim. Elde ettiğimiz şey şu:
Bir sandalyenin 3B ağ görselleştirmesi
Daha büyük bağlama sahip ağ daha detaylı görünüyor. Ancak bana kalırsa sandalye daha çok bir kanepeye benziyor.
Örnek 2: Bir Torus
Sırada geometrik bir nesne var: torus (3B simit). Bu örnek için istem:
Create a 3D model of a torus in OBJ format.Altyapı:
4096’lık modelin ürettiği ağ şu şekilde görünüyor:
Model tarafından üretilen torus
Öte yandan, Colab’de çalışan modelin ürettiği ağın görselleştirmesi de şöyle:
Model tarafından üretilen torus
Gördüğünüz gibi, bu ağ çok daha fazla poligona sahip. Ancak hâlâ ortasında bir delik yok. Bir torus şu şekilde görünmeli:
Yukarıdaki testlerden, LLaMA-Mesh’in (hem çevrimiçi hem de yerel sürümlerinin) yaratıcı ve basit tasarımlarda başarılı olsa da, hassas geometrik ve çok karmaşık matematiksel şekillerde sınırlamalarla karşılaştığı açıkça görülüyor. Model geliştikçe bu yeteneklerin nasıl genişlediğini görmek heyecan verici olacak.
Sonuç
Bu rehberde, yeni Nvidia LLaMa-Mesh modelini inceledik ve demo platformlarında birkaç örnek yaptık. Model erken aşamalarında olsa da, 3B ağ üretimi için hızlı ve sezgisel çözümlere ihtiyaç duyan profesyoneller ve meraklılar için büyük bir potansiyel gösteriyor.
Çerçeve geliştikçe, gelecekteki güncellemeler daha karmaşık geometrileri işleme veya 3B yazıcılarla uyumlu olma gibi genişletilmiş yetenekler getirebilir.
Ben Dimitri Didmanidze. Makine Öğrenmesi odaklı Matematik yüksek lisansı yapıyorum. Akademik yolculuğum, dönüştürücü tabanlı modellerin yetenekleri üzerine araştırmaları ve üniversite düzeyinde ders vermeyi de kapsadı; bu deneyimler, karmaşık kuramsal kavrayışımı güçlendirdi. Ayrıca bankacılık sektöründe çalışarak bu ilkeleri gerçek dünyadaki veri sorunlarını çözmek için uyguladım.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Önceden eğitilmiş modeller üzerinde çıkarım yapmak, özel veri kümeleri üzerinde ince ayar yapmak ve performansı optimize etmek için Llama 3 ile denemeler yapın.
NVIDIA yakın zamanda, LLaMA-Mesh adında, düz metin açıklamalarından 3B ağlar (mesh) üretebilen yenilikçi bir model yayımladı.
Tersi yönde de çalışıyor: bir 3B ağ verildiğinde, model nesneyi tanımlayabiliyor.
Bu, makine öğrenmesi için önemli bir ilerleme çünkü 3B uzayı anlamak, AGI’ye giden yolda kritik bir adım. LLaMA-Mesh, Blender gibi yazılımlarla sık çalışan profesyoneller ve meraklılar için de değerli bir araç; 3B ağ üretme ve kullanma sürecini hızlandırıyor.
Bu kısa rehberde, modelin yeteneklerini açıklayacak ve potansiyelini ve sınırlamalarını anlamanıza yardımcı olmak için birkaç örnek çalıştıracağım.
LLaMa-Mesh Nedir?
LLaMA-Mesh, NVIDIA tarafından geliştirilen ve büyük dil modellerinin (LLM’ler) yeteneklerini 3B alana taşıyan yenilikçi bir modeldir.
Öncekilerden farklı olarak LLaMA-Mesh, metin ve 3B modaliteleri birleştirir; kullanıcıların basit doğal dil istemleriyle 3B ağlar oluşturmasına olanak tanır.
Arka planda model, ince ayarlı bir LLaMa-3.1-8B-Instruct’tur. Model, 3B ağ verisini, köşeleri (vertex) ve yüzleri düz metin olarak tanımlayan OBJ dosya standardını kullanarak metin tabanlı bir biçimde kodlar.
LLaMa-Mesh’e Nasıl Erişilir
Modeli kullanmanın üç yolu var:
Demo WebApp’i şu şekilde görünüyor:
Çevrimiçi demo 4096 tokene kadar desteklerken, tam model 8K’yı destekliyor. Bu nedenle, modelin tüm yeteneklerini görmek için onu yerelde çalıştırmamız gerekiyor.
Sırada, modelin sınırlarını test etmek için zorluk seviyesi artan üç şekil örneği üreteceğim. Farklarını görmek için örnekleri modelin hem 4K hem de 8K token sürümlerinde çalıştıracağım.
LLaMa-Mesh Yerel veya Bulut Ortamında Nasıl Kurulur
Bu rehberde, modeli Google Colab’in A100 GPU çalışma zamanı ile çalıştırmayı göstereceğim. Yerelde yeterli hesaplama gücünüz varsa, aynı kod kişisel donanımınızda da çalışacak şekilde uyarlanabilir. Hugging Face deposu burada mevcut.
Başlamak için gerekli kütüphaneleri içe aktarmamız ve modeli ile ayrıştırıcıyı (tokenizer) indirmemiz gerekiyor:
Ayrıca
pad_token’ı ayarlamamız gerekiyor:Son olarak, istemi ayrıştırıp çıkarım için modele vermemiz gerekiyor (tüm bunlar, neredeyse her modelle çalışan standart Hugging Face iş akışıdır):
Yazarlar web uygulaması demosunda kullandıkları hiperparametreleri belirtmiyor; adil olmak adına, karşılaştırmamız için varsayılanları kullanacağım.
LLaMa-Mesh Örnekleri
Şimdi zorluk seviyesi artan üç örnek üzerinden gidecek ve demo uygulamasının çıktısını Colab’de modeli çalıştırarak elde ettiğim çıktı ile karşılaştıracağım.
Örnek 1: Bir Sandalye
Basit ama yaratıcı bir şeyle—tasarımcı sandalyesiyle—başlayalım. İstem şu şekilde (yerelde çalışan model bazen aksi halde hiçbir şey üretmeyi reddettiği için, sonuna ağın OBJ formatında üretilmesini istediğimi ekliyorum):
Çevrimiçi demoda üretilen nesne şu şekilde:
Kesinlikle havalı ve biraz tuhaf bir sandalye; ancak bir tasarımcı sandalyesinden çok film yönetmeni sandalyesine benziyor.
Şimdi, istemi yerelde çalıştırıp sonucu görselleştirelim. Elde ettiğimiz şey şu:
Bir sandalyenin 3B ağ görselleştirmesi
Daha büyük bağlama sahip ağ daha detaylı görünüyor. Ancak bana kalırsa sandalye daha çok bir kanepeye benziyor.
Örnek 2: Bir Torus
Sırada geometrik bir nesne var: torus (3B simit). Bu örnek için istem:
4096’lık modelin ürettiği ağ şu şekilde görünüyor:
Model tarafından üretilen torus
Öte yandan, Colab’de çalışan modelin ürettiği ağın görselleştirmesi de şöyle:
Model tarafından üretilen torus
Gördüğünüz gibi, bu ağ çok daha fazla poligona sahip. Ancak hâlâ ortasında bir delik yok. Bir torus şu şekilde görünmeli:
Kaynak: Vikipedi
Örnek 3: Klein Şişesi
Son olarak, karmaşık bir 3B yapı olan Klein şişesiyle sınırları zorlayalım. İstem şöyle olacak:
Çevrimiçi model, bu girdi verildiğinde ağı sonsuza dek üretmeye devam ediyor; sonunda zaman aşımına uğrayıp hata veriyor.
İstemi daha büyük bir bağlam penceresiyle yerelde çalıştırmak sorunu gideriyor; ancak elde ettiğimiz ağ, Klein şişesine hiç benzemiyor:
Model tarafından üretilen Klein şişesi
Merak edenler için Klein şişesi şu şekilde görünür:
Kaynak: Vikipedi
Yukarıdaki testlerden, LLaMA-Mesh’in (hem çevrimiçi hem de yerel sürümlerinin) yaratıcı ve basit tasarımlarda başarılı olsa da, hassas geometrik ve çok karmaşık matematiksel şekillerde sınırlamalarla karşılaştığı açıkça görülüyor. Model geliştikçe bu yeteneklerin nasıl genişlediğini görmek heyecan verici olacak.
Sonuç
Bu rehberde, yeni Nvidia LLaMa-Mesh modelini inceledik ve demo platformlarında birkaç örnek yaptık. Model erken aşamalarında olsa da, 3B ağ üretimi için hızlı ve sezgisel çözümlere ihtiyaç duyan profesyoneller ve meraklılar için büyük bir potansiyel gösteriyor.
Çerçeve geliştikçe, gelecekteki güncellemeler daha karmaşık geometrileri işleme veya 3B yazıcılarla uyumlu olma gibi genişletilmiş yetenekler getirebilir.