D3, metin üretmek yerine her cevap için olasılık döndüren açık ağırlıklı karar modelleri ailesidir. Destek taleplerini sınıflandırabilir, bir makaleyi puanlayabilir veya tek bir istekle kendi makinenizde çalışan bir modelle bir video klibini kontrol edebilirsiniz; testlerimizde bu işlem 87 milisaniye kadar kısa sürede gerçekleşti.
Aile, 600 milyon ile 27 milyar parametre arasında değişen 6 modelden oluşur. Daha mütevazı donanımlarda küçük modelleri deneyebilir, daha zorlayıcı görevler için büyükleri kullanabilirsiniz. D3 Edge o kadar hafiftir ki uyumlu akıllı telefonlarda bile çalışabilir.
vLLM, D3'ü Structured Decisions çerçevesiyle destekler; böylece bir modeli yerelde sunabilir ve basit bir uygulama programlama arayüzü (API) üzerinden çağırabilirsiniz. Daha geniş vLLM Semantic Router projesi, yapay zeka uygulamaları için yönlendirme ve karar verme özellikleri ekler.
Bu eğitimde, D3'ü yerelde kurmayı, 3 karar türünü ve ilk tahminlerinizi ele alacağım. Ardından 3 pratik proje inşa edeceğiz:
D3, metin üretmek yerine seçenek, evet/hayır (Noul) ve puan soruları için olasılık döndüren açık ağırlıklı karar modelleri ailesidir.
D3 Mini (4B) metin, görsel ve videoyu işler ve vLLM ile tek bir NVIDIA RTX 3090 grafik işlem biriminde (GPU) çalışır.
Modeli vllm serve ile sunar ve TypeSafe Python SDK'sı veya /v1/systemone uç noktası üzerinden çağırırsınız.
3 proje geliştiriyoruz: bir makale kalite analizörü, bir ürün görseli tarayıcısı ve bir video hareket analizörü.
Testlerimizde yanıt süreleri 87 milisaniye ile 1,11 saniye arasında değişti.
D3 Karar Modelleri Nedir?
D3, metin üretmek yerine karar vermek için tasarlanmış açık ağırlıklı yapay zeka modelleri ailesidir. Bir büyük dil modelinden (LLM) bir işlemin şüpheli olup olmadığını açıklamasını istemek yerine, D3 doğrudan incelenmesi gerektiğine dair bir olasılık döndürebilir.
D3, 600 milyon ile 27 milyar parametre arasında 6 boyutta gelir; bu da uç cihazlardan üst seviye GPU'lara kadar her şeye uygundur. Aileyi Hugging Face üzerindeki Decision 3.0 koleksiyonunda inceleyebilirsiniz.
Modeller, sınıflandırma doğruluğu ve olasılık kalitesini ölçen Typed Decisions gibi karara odaklı kıyaslamalarda değerlendirilir.
Bu eğitimde, metin, görsel ve video anlayışını desteklerken yerel bir NVIDIA RTX 3090 GPU'da çalışabilecek kadar küçük olduğu için D3 Mini (4B) kullanacağız.
D3 Nasıl vLLM ile Yerelde Çalıştırılır
vLLM Semantic Router (vLLM SR), vLLM ekosisteminde yapay zeka uygulamalarının akıllı kararlar almasına yardımcı olan açık kaynaklı bir projedir. Model yönlendirme, güvenlik kontrolleri, semantik önbellekleme ve D3 gibi uzmanlaşmış karar modellerini destekler. vLLM model çıkarımıyla ilgilenirken, vLLM SR isteklerin nasıl değerlendirildiğine ve yönlendirildiğine odaklanır.
Bu eğitimde, Semantic Router'ın kendisini kurmadan D3 Mini'yi yerelde çalıştırmak için vLLM'in yeni Structured Decisions desteğini kullanacağız. vLLM, D3'ü hızlı ve sezgisel "Sistem 1" düşüncesinden esinle adlandırılan System One API üzerinden sunar. Yazı tipleri belirli soruları tek geçişte yanıtlar ve metin üretmek yerine olasılıklar döndürür.
Modele TypeSafe Python SDK'sı ile bağlanacak ve sınıflandırma, olasılık tahmini ve puanlamayı nasıl ele aldığını keşfedeceğiz.
1. vLLM'i kurun ve D3'ü yerelde çalıştırın
Ubuntu Linux, Python 3.12 ve NVIDIA RTX 3090 GPU kullanacağız. Windows kullanıcıları, Windows Subsystem for Linux 2 (WSL2) üzerinden Ubuntu kullanarak takip edebilir.
Önce uv'yi kurun. Kurulum tamamlandıktan sonra, terminalinizi yeniden başlatın ki uv komutu kullanılabilir olsun.
Yerel sunucu barındırılan bir TypeSafe kimlik bilgisi gerektirmediği için yer tutucu bir API anahtarı kullanıyoruz.
3. İlk yapay zeka kararınızı verin
Basit bir dolandırıcılık tespiti örneğiyle başlayalım. D3'e alışılmadık bir işlem vereceğiz ve inceleme için işaretlenip işaretlenmemesi gerektiğini soracağız.
%%time
result = client.system_one(
state="""
A customer usually spends $20-100 in the US.
A new $2,500 transaction was made from another country.
""",
questions={"suspicious": Noul(
instructions="Should this transaction be flagged for fraud review?")})print(result.nouls["suspicious"].noul)Altyapı:
Çıktı:
0.9990723773071258CPUtimes: user 1.89 ms,sys:2.01 ms,total:3.91 ms
Wall time:87.4 msAltyapı:
D3 yaklaşık %99,9 olasılık döndürerek işlemin inceleme için işaretlenmesi gerektiğini belirtir. Çıkarım yaklaşık 87 milisaniye sürdü.
Ayrıca tüm 3 karar türünü tek bir istekte birleştirebiliriz. Bu kez bir iş adayı değerlendirecek ve D3'ten en uygun rolü belirlemesini, yeterliliklerini kontrol etmesini ve uygunluğunu puanlamasını isteyeceğiz.
%%time
result = client.system_one(
state="""
Candidate: 4 years of Python experience, 2 years working
with machine learning, and strong SQL skills.
No experience with frontend development.
Available roles: Data Scientist, Backend Developer,
Frontend Developer.
""",
questions={"role": Choice(
instructions="Which role best matches the candidate?",
criteria={"data_scientist":"Python, SQL, and machine learning","backend":"Python, APIs, and backend systems","frontend":"JavaScript, React, and UI development"}),"qualified": Noul(
instructions="Does the candidate meet the basic requirements for the best-matching role?"),"fit": Score(
instructions="How well does the candidate match the best-fitting role?",
criteria=["Low","Medium","High"])})print("Best Role:", result.choices["role"].choice)print("Qualified:", result.nouls["qualified"].noul)print("Candidate Fit:", result.scores["fit"].score)Altyapı:
Çıktı:
Best Role: data_scientist
Qualified:0.9446079177060042
Candidate Fit:1.6421276950866912CPUtimes: user 4.18 ms,sys:3.11 ms,total:7.29 ms
Wall time:165 msAltyapı:
Model en iyi eşleşme olarak doğru şekilde Veri Bilimci'ni belirliyor, yeterlilik için %94,5 olasılık atıyor ve 0 ile 2 ölçeğinde 1,64 uyum puanı veriyor. Tüm 3 karar sadece 165 milisaniyede döndü.
Artık D3'ü yerelde çalıştırdığımıza göre, bunu kullanarak 3 pratik yapay zeka uygulaması geliştirelim.
Proje 1: D3 Mini ile Bir Yapay Zeka Blog Kalitesi Analizörü Geliştirin
Yayımlanmadan önce onlarca makalenin gözden geçirilmesi gereken bir teknik yayın yönettiğinizi hayal edin. Her makaleyi tek tek okumak yerine, web sitesi içeriğini çıkarmak için Olostep'i ve yerelde çalışan D3 Mini modelimizi kullanarak bir yapay zeka kalite analizörü oluşturabiliriz.
Önce, makale içeriğini Markdown olarak çıkarmak için Olostep Python SDK'sını kullanacağız.
from getpass import getpass
from olostep import Olostep
olostep = Olostep(api_key=getpass("Enter your Olostep API key: "))
url ="https://www.datacamp.com/tutorial/ktransformers-tutorial"
page = olostep.scrapes.create(
url_to_scrape=url,
formats=["markdown"])
content = page.result.markdown_content
print(content[:1000])Altyapı:
Olostep, başlıkları, metni ve kod örneklerini koruyarak makaleyi analiz için Markdown olarak getirir.
2. Makaleyi D3 kullanarak kategorize edin ve puanlayın
Sonra, makalenin kategorisini belirlemek için Choice'u ve eğitim kalitesini 5 puanlık bir ölçekte değerlendirmek için Score'u kullanacağız.
%%time
result = client.system_one(
state=content[:12000],
questions={"category": Choice(
instructions="What is the main topic of this article?",
criteria={"ai":"Artificial intelligence and LLMs","data_science":"Data science and analytics","programming":"Software development","other":"Other technical topics"}),"quality": Score(
instructions=("Rate the article's educational quality based on ""clarity, technical depth, practical examples, ""and usefulness to readers."),
criteria=["Very poor: Confusing and lacks useful information","Poor: Limited depth and unclear explanations","Average: Understandable but missing important details","Good: Clear explanations and useful examples","Excellent: Detailed, practical, and easy to follow"])})
category = result.choices["category"].choice
quality = result.scores["quality"].score +1print("Category:", category)print(f"Quality: {quality:.1f}/5")Altyapı:
Çıktı:
Category: ai
Quality:4.6/5CPUtimes: user 3.29 ms,sys:2.96 ms,total:6.25 ms
Wall time:1.11 sAltyapı:
D3 makaleyi doğru şekilde Yapay Zeka olarak kategorize eder ve yaklaşık 4,6/5 kalite puanı verir; analiz yaklaşık 1,11 saniyede tamamlanır.
Proje 2: Bir Ürün Görselini D3 Mini ile Analiz Edin
Bu projede, bir e-ticaret mağazası için basit bir ürün görseli eleme iş akışı oluşturacağız. Amaç, D3 Mini'yi kullanarak ürün kategorisini belirlemek, ürünün net bir şekilde görünüp görünmediğini kontrol etmek ve kataloğa eklenmeden önce görsel kalitesini değerlendirmektir.
Aşağıdaki kod, vLLM System One API'sini doğrudan kullanır ve sonuçları doğru answers alanından okur.
1. Bir ürün görseli yükleyin
Önce, örnek bir ürün görseli indireceğiz, defterde göstereceğiz ve modele gönderilebilmesi için base64'e dönüştüreceğiz.
Bu, D3 Mini'nin doğrudan analiz edebileceği, gönderime hazır bir görsel girdisi verir.
2. Görseli D3 Mini kullanarak analiz edin
Sonraki adımda, D3 Mini'ye aynı anda 3 şey soracağız: ürünün hangi kategoriye ait olduğu, ürünün net bir şekilde görünüp görünmediği ve görselin çevrimiçi mağaza için ne kadar uygun olduğu.
%%time
result = client.system_one(
state="Review this product image for an online store.",
images=[image_input],
questions={"category": Choice(
instructions="What product category is shown?",
criteria={"footwear":"Shoes, sneakers, or boots","clothing":"Shirts, jackets, or trousers","electronics":"Electronic devices","other":"Other products"}),"product_visible": Noul(
instructions="Is a physical product clearly visible?"),"quality": Score(
instructions="Rate the image suitability for an online store.",
criteria=["Poor","Average","Good","Excellent"])})print("Category:", result.choices["category"].choice)print("Product Visible:", result.nouls["product_visible"].noul)print("Image Quality:", result.scores["quality"].score)Altyapı:
Çıktı:
Product Category: footwear
Product Visibility:97.11%
Image Quality:2.30/3CPUtimes: user 4.91 ms,sys:952 μs,total:5.86 ms
Wall time:282 msAltyapı:
Model öğeyi footwear olarak tanımlar, ürünün net bir şekilde görüldüğünü doğrular ve görsele yalnızca 282 milisaniyede sağlam bir kalite puanı verir.
Proje 3: D3 Mini ile Bir Video Hareket Analizörü Geliştirin
Son projemizde, D3 Mini'yi kullanarak basit bir video hareket analizörü oluşturacağız. Uzun video açıklamaları üretmek yerine, modelden kısa bir klipte neler olduğunu anlamasını, hareket yönünü belirlemesini ve görsel değişiklikleri tespit etmesini isteyeceğiz. Bu yaklaşım, video izleme, olay tespiti ve otomatik içerik analizi için faydalı olabilir.
1. Örnek bir video indirin
Hugging Face'teki resmi D3 Mini örnek videosunu kullanacağız. Önce gerekli kütüphaneyi kurun:
Şimdi, D3 Mini'ye System One API ile 2 soru soracağız: karenin hangi yöne hareket ettiği ve renk değiştirip değiştirmediği.
%%time
response = requests.post("http://localhost:8000/v1/systemone",
json={"model":"vllm-sr/d3-mini","state":"Analyze the movement of the object in this video.","videos":[video_input],"questions":{"direction":{"type":"choice","instructions":"Which direction does the square move?","criteria":{"left":"From right to left","right":"From left to right","still":"The square does not move"}},"color_change":{"type":"noul","instructions":"Does the square change color during the video?"}}},
timeout=120)
response.raise_for_status()
answers = response.json()["answers"]print("Movement:", answers["direction"]["choice"])print(f"Color Change: {answers['color_change']['noul']:.1%}")Altyapı:
Çıktı:
Movement: right
Color Change:93.7%CPUtimes: user 3.01 ms,sys:5.04 ms,total:8.05 ms
Wall time:723 msAltyapı:
D3 Mini hareketi doğru şekilde right olarak tanımlar ve renk değişimine %93,7 olasılık atar; analiz sadece 723 milisaniyede tamamlanır.
Son Düşünceler
D3 Mini, tek bir NVIDIA RTX 3090 GPU üzerinde metin, görsel ve video genelinde sınıflandırma, evet/hayır kontrolleri ve puanlamayı gerçekleştirir. D3'ü yerelde kurmak şaşırtıcı derecede kolaydı. Karşılaştığım tek sorun, GPU bellek tüketimini azaltarak çözdüğüm bir CUDA bellek yetersizliği hatasıydı.
Bunun dışında her şey sorunsuz çalıştı. Zaten vLLM'e aşinaysanız, kurulumu muhtemelen daha da optimize edebilirsiniz.
Beni en çok etkileyen hız oldu. Duvar süreleri kısa bir metin kararı için 87 milisaniyeden tam bir makale için 1,11 saniyeye kadar değişti ve video örneği 723 milisaniyede tamamlandı. Tüm bunlar kendi GPU'mda çalıştı.
Bence, tüm bir ekip için karar modellerini yerel bir sunucuda çalıştırmanın pratik hale geldiği bir noktaya yaklaşıyoruz. Her isteğin büyük bir akıl yürütme modeline ihtiyacı yok.
Sınıflandırma, yönlendirme, puanlama ve içerik filtreleme gibi pek çok günlük görev için daha küçük bir karar modeli işi görebilir. Daha derin analiz veya ayrıntılı açıklama gerektiren görevler için pahalı akıl yürütme modellerini saklayabilirsiniz.
Elbette, bu modelleri üretimde kullanmadan önce kendi iş yüklerinizde doğruluk ve performansı değerlendirmek istersiniz. D3'ü metin, görsel ve video genelinde test ettikten sonra benim temel kuralım basit: görev bir sınıflandırma, bir evet/hayır kontrolü veya bir derecelendirme ise önce bir D3 modelini deneyin ve yalnızca açıklamaya ihtiyaç duyduğunuzda bir akıl yürütme modeline geçin.
Açık modellerle çalışmayı daha fazla öğrenmek isterseniz, Working with Hugging Face kursumuza göz atmanızı öneririm.
SSS
D3 modeli nedir?⌄
D3, vLLM Semantic Router'dan açık ağırlıklı bir karar modelleri ailesidir. Seçim, evet/hayır (Noul) ve puan sorularını yanıtlar ve metin üretmek yerine her cevap için bir olasılık döndürür.
D3'ü tüketici sınıfı bir GPU'da çalıştırabilir miyim?⌄
Evet. Bu eğitimde, azaltılmış bellek ayarlarıyla vLLM kullanarak NVIDIA RTX 3090 GPU üzerinde D3 Mini (4B) çalıştırıyoruz. Ailedeki daha küçük modeller, örneğin D3 Lite ve D3 Edge, daha az bellek gerektirir.
D3, büyük bir dil modelinden nasıl farklıdır?⌄
Büyük bir dil modeli metin üretir, D3 ise olasılıklarla birlikte üretilmiş metin olmadan yapılandırılmış kararlar döndürür. Bu, onu sınıflandırma, yönlendirme, puanlama ve içerik filtreleme için uygun kılar. Ayrıntılı bir açıklamaya ihtiyaç duyduğunuz durumlarda akıl yürütme modelleri daha iyi bir seçim olmaya devam eder.
Hangi D3 modelini kullanmalıyım?⌄
Bu eğitimde olduğu gibi tek bir tüketici GPU üzerinde metin, görsel ve video kararlarına ihtiyacınız varsa D3 Mini'yi (4B) kullanın. D3 Lite (0.8B) basit sınıflandırmalar için uygundur, D3 Nano (2B) genel karar görevlerine, D3 Flash (9B) ise daha karmaşık değerlendirmelere yöneliktir. 27B D3 modeli yüksek kapasiteli karar görevlerini hedefler.
D3'ü ticari olarak ücretsiz kullanabilir miyim?⌄
D3 Mini, ticari kullanıma izin veren Apache-2.0 lisansı altında yayımlanmıştır. Dağıtmayı planladığınız belirli D3 modelinin kartındaki lisansı kontrol edin.
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.
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.
Requesty’nin birleşik LLM geçidi, failover’lar, önbellekleme ve analitiklerini kullanarak birden çok sağlayıcıda güvenilir, maliyet-etkin yapay zeka uygulamaları oluşturmayı öğrenin.
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!
D3, metin üretmek yerine her cevap için olasılık döndüren açık ağırlıklı karar modelleri ailesidir. Destek taleplerini sınıflandırabilir, bir makaleyi puanlayabilir veya tek bir istekle kendi makinenizde çalışan bir modelle bir video klibini kontrol edebilirsiniz; testlerimizde bu işlem 87 milisaniye kadar kısa sürede gerçekleşti.
Aile, 600 milyon ile 27 milyar parametre arasında değişen 6 modelden oluşur. Daha mütevazı donanımlarda küçük modelleri deneyebilir, daha zorlayıcı görevler için büyükleri kullanabilirsiniz. D3 Edge o kadar hafiftir ki uyumlu akıllı telefonlarda bile çalışabilir.
vLLM, D3'ü Structured Decisions çerçevesiyle destekler; böylece bir modeli yerelde sunabilir ve basit bir uygulama programlama arayüzü (API) üzerinden çağırabilirsiniz. Daha geniş vLLM Semantic Router projesi, yapay zeka uygulamaları için yönlendirme ve karar verme özellikleri ekler.
Bu eğitimde, D3'ü yerelde kurmayı, 3 karar türünü ve ilk tahminlerinizi ele alacağım. Ardından 3 pratik proje inşa edeceğiz:
Sonunda, D3'ü yerelde nasıl çalıştıracağınızı ve metin, görsel ve video genelinde karar veren uygulamalar geliştirmek için nasıl kullanacağınızı biliyor olacaksınız. Ayrıca büyük dil modellerini yerelde çalıştırma ve RTX 3090 GPU'da yerel çıkarımı hızlandırma rehberlerimize de göz atabilirsiniz.
Kısaca
vllm serveile sunar ve TypeSafe Python SDK'sı veya/v1/systemoneuç noktası üzerinden çağırırsınız.D3 Karar Modelleri Nedir?
D3, metin üretmek yerine karar vermek için tasarlanmış açık ağırlıklı yapay zeka modelleri ailesidir. Bir büyük dil modelinden (LLM) bir işlemin şüpheli olup olmadığını açıklamasını istemek yerine, D3 doğrudan incelenmesi gerektiğine dair bir olasılık döndürebilir.
Kaynak: vllm-sr/d3-mini · Hugging Face
3 karar türünü destekler:
D3, 600 milyon ile 27 milyar parametre arasında 6 boyutta gelir; bu da uç cihazlardan üst seviye GPU'lara kadar her şeye uygundur. Aileyi Hugging Face üzerindeki Decision 3.0 koleksiyonunda inceleyebilirsiniz.
Modeller, sınıflandırma doğruluğu ve olasılık kalitesini ölçen Typed Decisions gibi karara odaklı kıyaslamalarda değerlendirilir.
Bu eğitimde, metin, görsel ve video anlayışını desteklerken yerel bir NVIDIA RTX 3090 GPU'da çalışabilecek kadar küçük olduğu için D3 Mini (4B) kullanacağız.
D3 Nasıl vLLM ile Yerelde Çalıştırılır
vLLM Semantic Router (vLLM SR), vLLM ekosisteminde yapay zeka uygulamalarının akıllı kararlar almasına yardımcı olan açık kaynaklı bir projedir. Model yönlendirme, güvenlik kontrolleri, semantik önbellekleme ve D3 gibi uzmanlaşmış karar modellerini destekler. vLLM model çıkarımıyla ilgilenirken, vLLM SR isteklerin nasıl değerlendirildiğine ve yönlendirildiğine odaklanır.
Bu eğitimde, Semantic Router'ın kendisini kurmadan D3 Mini'yi yerelde çalıştırmak için vLLM'in yeni Structured Decisions desteğini kullanacağız. vLLM, D3'ü hızlı ve sezgisel "Sistem 1" düşüncesinden esinle adlandırılan System One API üzerinden sunar. Yazı tipleri belirli soruları tek geçişte yanıtlar ve metin üretmek yerine olasılıklar döndürür.
Modele TypeSafe Python SDK'sı ile bağlanacak ve sınıflandırma, olasılık tahmini ve puanlamayı nasıl ele aldığını keşfedeceğiz.
1. vLLM'i kurun ve D3'ü yerelde çalıştırın
Ubuntu Linux, Python 3.12 ve NVIDIA RTX 3090 GPU kullanacağız. Windows kullanıcıları, Windows Subsystem for Linux 2 (WSL2) üzerinden Ubuntu kullanarak takip edebilir.
Önce
uv'yi kurun. Kurulum tamamlandıktan sonra, terminalinizi yeniden başlatın kiuvkomutu kullanılabilir olsun.Şimdi bir Python 3.12 ortamı oluşturun ve etkinleştirin:
Sonra, yeni Structured Decisions desteğini içeren vLLM gece yapısını kurun:
Şimdi D3 Mini modelini yerel test için uygun GPU bellek ayarlarıyla başlatın:
İlk başlatma modeli Hugging Face'ten indirir. Yüklendikten sonra vLLM, yerel System One API'sini
http://localhost:8000/v1/systemoneadresinde sunar.Bu terminali açık bırakın. Modele bir Jupyter defterinden erişeceğiz.
2. TypeSafe Python SDK'sı ile D3'e bağlanın
HTTP isteklerini elle oluşturmak yerine, yerelde çalışan modelimizle iletişim kurmak için TypeSafe Python SDK'sını kullanacağız.
Gerekli kütüphaneleri kurun:
3 karar türünü içe aktarın ve istemciyi yerel vLLM sunucumuza bağlanacak şekilde yapılandırın:
Yerel sunucu barındırılan bir TypeSafe kimlik bilgisi gerektirmediği için yer tutucu bir API anahtarı kullanıyoruz.
3. İlk yapay zeka kararınızı verin
Basit bir dolandırıcılık tespiti örneğiyle başlayalım. D3'e alışılmadık bir işlem vereceğiz ve inceleme için işaretlenip işaretlenmemesi gerektiğini soracağız.
Çıktı:
D3 yaklaşık %99,9 olasılık döndürerek işlemin inceleme için işaretlenmesi gerektiğini belirtir. Çıkarım yaklaşık 87 milisaniye sürdü.
Ayrıca tüm 3 karar türünü tek bir istekte birleştirebiliriz. Bu kez bir iş adayı değerlendirecek ve D3'ten en uygun rolü belirlemesini, yeterliliklerini kontrol etmesini ve uygunluğunu puanlamasını isteyeceğiz.
Çıktı:
Model en iyi eşleşme olarak doğru şekilde Veri Bilimci'ni belirliyor, yeterlilik için %94,5 olasılık atıyor ve 0 ile 2 ölçeğinde 1,64 uyum puanı veriyor. Tüm 3 karar sadece 165 milisaniyede döndü.
Artık D3'ü yerelde çalıştırdığımıza göre, bunu kullanarak 3 pratik yapay zeka uygulaması geliştirelim.
Proje 1: D3 Mini ile Bir Yapay Zeka Blog Kalitesi Analizörü Geliştirin
Yayımlanmadan önce onlarca makalenin gözden geçirilmesi gereken bir teknik yayın yönettiğinizi hayal edin. Her makaleyi tek tek okumak yerine, web sitesi içeriğini çıkarmak için Olostep'i ve yerelde çalışan D3 Mini modelimizi kullanarak bir yapay zeka kalite analizörü oluşturabiliriz.
Bunu, benim yazdığım gerçek bir makale olan KTransformers eğitimimiz üzerinde test edeceğiz.
1. KTransformers eğitimimizi kazıyın
Önce, makale içeriğini Markdown olarak çıkarmak için Olostep Python SDK'sını kullanacağız.
Olostep, başlıkları, metni ve kod örneklerini koruyarak makaleyi analiz için Markdown olarak getirir.
2. Makaleyi D3 kullanarak kategorize edin ve puanlayın
Sonra, makalenin kategorisini belirlemek için Choice'u ve eğitim kalitesini 5 puanlık bir ölçekte değerlendirmek için Score'u kullanacağız.
Çıktı:
D3 makaleyi doğru şekilde Yapay Zeka olarak kategorize eder ve yaklaşık 4,6/5 kalite puanı verir; analiz yaklaşık 1,11 saniyede tamamlanır.
Proje 2: Bir Ürün Görselini D3 Mini ile Analiz Edin
Bu projede, bir e-ticaret mağazası için basit bir ürün görseli eleme iş akışı oluşturacağız. Amaç, D3 Mini'yi kullanarak ürün kategorisini belirlemek, ürünün net bir şekilde görünüp görünmediğini kontrol etmek ve kataloğa eklenmeden önce görsel kalitesini değerlendirmektir.
Aşağıdaki kod, vLLM System One API'sini doğrudan kullanır ve sonuçları doğru
answersalanından okur.1. Bir ürün görseli yükleyin
Önce, örnek bir ürün görseli indireceğiz, defterde göstereceğiz ve modele gönderilebilmesi için base64'e dönüştüreceğiz.
Bu, D3 Mini'nin doğrudan analiz edebileceği, gönderime hazır bir görsel girdisi verir.
2. Görseli D3 Mini kullanarak analiz edin
Sonraki adımda, D3 Mini'ye aynı anda 3 şey soracağız: ürünün hangi kategoriye ait olduğu, ürünün net bir şekilde görünüp görünmediği ve görselin çevrimiçi mağaza için ne kadar uygun olduğu.
Çıktı:
Model öğeyi footwear olarak tanımlar, ürünün net bir şekilde görüldüğünü doğrular ve görsele yalnızca 282 milisaniyede sağlam bir kalite puanı verir.
Proje 3: D3 Mini ile Bir Video Hareket Analizörü Geliştirin
Son projemizde, D3 Mini'yi kullanarak basit bir video hareket analizörü oluşturacağız. Uzun video açıklamaları üretmek yerine, modelden kısa bir klipte neler olduğunu anlamasını, hareket yönünü belirlemesini ve görsel değişiklikleri tespit etmesini isteyeceğiz. Bu yaklaşım, video izleme, olay tespiti ve otomatik içerik analizi için faydalı olabilir.
1. Örnek bir video indirin
Hugging Face'teki resmi D3 Mini örnek videosunu kullanacağız. Önce gerekli kütüphaneyi kurun:
Ardından, yerelde analiz edebilmek için örnek videoyu indirin.
Video, soldan sağa hareket ederken mavi renkten yeşile dönen bir kutu gösterir.
2. Videoyu analiz edin
Önce videoyu, yerel vLLM sunucumuza gönderilebilmesi için base64 biçimine dönüştüreceğiz.
Şimdi, D3 Mini'ye System One API ile 2 soru soracağız: karenin hangi yöne hareket ettiği ve renk değiştirip değiştirmediği.
Çıktı:
D3 Mini hareketi doğru şekilde right olarak tanımlar ve renk değişimine %93,7 olasılık atar; analiz sadece 723 milisaniyede tamamlanır.
Son Düşünceler
D3 Mini, tek bir NVIDIA RTX 3090 GPU üzerinde metin, görsel ve video genelinde sınıflandırma, evet/hayır kontrolleri ve puanlamayı gerçekleştirir. D3'ü yerelde kurmak şaşırtıcı derecede kolaydı. Karşılaştığım tek sorun, GPU bellek tüketimini azaltarak çözdüğüm bir CUDA bellek yetersizliği hatasıydı.
Bunun dışında her şey sorunsuz çalıştı. Zaten vLLM'e aşinaysanız, kurulumu muhtemelen daha da optimize edebilirsiniz.
Beni en çok etkileyen hız oldu. Duvar süreleri kısa bir metin kararı için 87 milisaniyeden tam bir makale için 1,11 saniyeye kadar değişti ve video örneği 723 milisaniyede tamamlandı. Tüm bunlar kendi GPU'mda çalıştı.
Bence, tüm bir ekip için karar modellerini yerel bir sunucuda çalıştırmanın pratik hale geldiği bir noktaya yaklaşıyoruz. Her isteğin büyük bir akıl yürütme modeline ihtiyacı yok.
Sınıflandırma, yönlendirme, puanlama ve içerik filtreleme gibi pek çok günlük görev için daha küçük bir karar modeli işi görebilir. Daha derin analiz veya ayrıntılı açıklama gerektiren görevler için pahalı akıl yürütme modellerini saklayabilirsiniz.
Elbette, bu modelleri üretimde kullanmadan önce kendi iş yüklerinizde doğruluk ve performansı değerlendirmek istersiniz. D3'ü metin, görsel ve video genelinde test ettikten sonra benim temel kuralım basit: görev bir sınıflandırma, bir evet/hayır kontrolü veya bir derecelendirme ise önce bir D3 modelini deneyin ve yalnızca açıklamaya ihtiyaç duyduğunuzda bir akıl yürütme modeline geçin.
Açık modellerle çalışmayı daha fazla öğrenmek isterseniz, Working with Hugging Face kursumuza göz atmanızı öneririm.