Genel
Yapay zekayı Windows istemci uygulamamla nasıl tümleştirebilirim?
Yapay zekayı Windows uygulamanızla tümleştirme iki birincil yöntemle elde edilebilir: yerel model veya bulut tabanlı model. Yerel model seçeneği için, TensorFlow veya PyTorch gibi platformları kullanarak önceden var olan bir modeli kullanma veya kendi modelinizi eğitme ve ardından OnnxRuntime aracılığıyla bunu uygulamanıza ekleme olanağına sahip olursunuz. Windows üzerinde Microsoft Foundry , OCR veya Phi Silica modelini kullanma gibi çeşitli işlevler için API'ler sunar. Öte yandan, modelinizi bulutta barındırmak ve buna REST API aracılığıyla erişmek, yoğun kaynak kullanımlı görevleri buluta devrederek uygulamanızın sorunsuz kalmasını sağlar. Daha fazla bilgi için bkz. Windows uygulamanızda Machine Learning modellerini kullanma .
Yapay zeka özelliklerini kullanmak için Windows 11'in en son sürümüne ve NPU'ya sahip bir Copilot+ bilgisayara ihtiyacım var mı?
Yapay zeka iş yüklerini çalıştırmanın birçok yolu vardır: Modelleri Windows cihazınıza yerel olarak yükleyip çalıştırarak veya bulut tabanlı modelleri çalıştırarak (bkz. Windows'da yapay zekayı kullanmaya başlama), ancak Windows AI API'leri tarafından desteklenen yapay zeka özellikleri için şu anda NPU'ya sahip bir Copilot+ bilgisayar gerekir.
Windows istemci uygulamalarında yapay zeka geliştirmek için en iyi programlama dilleri hangisidir?
Tercih ettiğiniz herhangi bir programlama dilini kullanabilirsiniz. Örneğin, C# Windows istemci uygulamaları oluşturmak için yaygın olarak kullanılır. Düşük düzeyli ayrıntılar üzerinde daha fazla denetime ihtiyacınız varsa, C++ mükemmel bir seçenektir. Alternatif olarak Python kullanmayı da düşünebilirsiniz. Linux tabanlı yapay zeka araçlarını Windows üzerinde çalıştırmak için Linux için Windows Alt Sistemi'ni (WSL) de kullanabilirsiniz.
Windows istemci uygulamaları için en iyi yapay zeka çerçeveleri nelerdir?
OnnxRuntime kullanmanızı öneririz.
Windows istemci uygulamalarında yapay zeka kullanırken veri gizliliği ve güvenliğini nasıl işlemem gerekir?
Yapay zeka destekli uygulamalar geliştirirken kullanıcı verilerinin gizliliğine ve güvenliğine saygı gösterin. Veri toplamadan önce hassas verileri şifreleme, güvenli bağlantılar kullanma ve kullanıcı onayı alma gibi veri işleme için en iyi yöntemleri izlemeniz gerekir. Ayrıca verileri nasıl kullandığınız konusunda şeffaf olmanız ve kullanıcılara verileri üzerinde denetim sahibi olmanız gerekir. Windows'da Sorumlu Yapay Zeka Uygulamaları ve Özellikleri Geliştirme'yi de okuduğunuzdan emin olun.
Windows istemci uygulamalarında yapay zeka çalıştırmaya yönelik sistem gereksinimleri nelerdir?
Yapay zeka kullanan Windows uygulamaları için sistem gereksinimleri, yapay zeka modelinin karmaşıklığı ve kullanılan donanım hızlandırmaya bağlıdır. Basit modeller için modern bir CPU yeterli olabilir, ancak daha karmaşık modeller için GPU veya NPU gerekebilir. Ayrıca uygulamanızın bellek ve depolama gereksinimlerinin yanı sıra bulut tabanlı yapay zeka hizmetleri için gereken ağ bant genişliğini de göz önünde bulundurmalısınız.
Windows istemci uygulamalarında yapay zeka performansını iyileştirme
Windows uygulamalarında yapay zeka performansını iyileştirmek için model çıkarımlarını hızlandırmak için GPU'lar veya NPU'lar gibi donanım hızlandırmayı kullanmayı düşünmelisiniz. Windows Copilot+ dizüstü bilgisayarlar yapay zeka iş yükleri için iyileştirilmiştir ve yapay zeka görevleri için önemli bir performans artışı sağlayabilir. Ayrıca bkz. Visual Studio Code için AI Toolkit'e genel bakış.
Windows istemci uygulamamda önceden eğitilmiş yapay zeka modellerini kullanabilir miyim?
Evet, Windows uygulamanızda önceden eğitilmiş yapay zeka modellerini kullanabilirsiniz. Önceden eğitilmiş modelleri İnternet'ten indirebilir veya önceden eğitilmiş modellere erişmek için bulut tabanlı bir yapay zeka hizmeti kullanabilirsiniz. Ardından, OnnxRuntime gibi bir çerçeve kullanarak bu modelleri uygulamanızla tümleştirebilirsiniz.
DirectML nedir?
DirectML, AMD, Intel, NVIDIA ve Qualcomm gibi satıcıların tüm DirectX 12 özellikli GPU'ları da dahil olmak üzere çok çeşitli desteklenen donanım ve sürücüler genelinde yaygın makine öğrenmesi görevleri için GPU hızlandırma sağlayan düşük düzeyli bir makine öğrenmesi API'sidir.
ONNX nedir?
Açık Sinir Ağı Değişimi veya ONNX, ML modellerini temsil etmek için açık standart bir biçimdir. PyTorch, TensorFlow, SciKit-Learn, Keras, Chainer, MATLAB gibi popüler ML modeli çerçeveleri dışarı aktarılabilir veya standart ONNX biçimine dönüştürülebilir. ONNX biçimindeki model çeşitli platformlarda ve cihazlarda çalıştırılabilir. ONNX, ml modelini eğitildiğinden farklı bir biçimde kullanmak için iyidir.
ORT nedir?
OnnxRuntime veya ORT, donanım hızlandırıcılarını (cihaz CPU'ları, GPU'lar veya NPU'lar) destekleyen farklı çerçevelerde (PyTorch, TensorFlow vb.) modelleri yürütmeye yönelik birleşik bir çalışma zamanı aracıdır.
ONNX'in PyTorch veya TensorFlow gibi diğer ML çerçevelerinden farkı nedir?
PyTorch ve TensorFlow, yapay zeka uygulamalarında kullanılan derin öğrenme modellerini geliştirmek, eğitme ve çalıştırmak için kullanılır. PyTorch genellikle araştırma için kullanılır, TensorFlow genellikle endüstri dağıtımı için kullanılır ve ONNX, aralıkları kapatan ve gerektiğinde çerçeveler arasında geçiş yapmanıza ve platformlar arasında uyumlu hale getirmenize olanak sağlayan standartlaştırılmış bir model değişim biçimidir .
NPU nedir? CPU veya GPU'dan farkı nedir?
Sinir İşleme Birimi veya NPU, yapay zeka görevlerini gerçekleştirmek için özel olarak tasarlanmış özel bir yapay zeka yongasıdır. NPU'nun odağı CPU veya GPU'dan farklıdır. Merkezi İşlem Birimi veya CPU, bir bilgisayardaki birincil işlemcidir ve yönergelerin ve genel amaçlı hesaplamaların yürütülmesinden sorumludur. Grafik İşleme Birimi veya GPU, grafikleri işlemek için tasarlanmış ve paralel işleme için iyileştirilmiş özel bir işlemcidir. Video düzenleme ve oyun görevleri için karmaşık görüntüleri işleme yeteneğine sahiptir.
NPU'lar derin öğrenme algoritmalarını hızlandırmak için tasarlanmıştır ve cihazın daha verimli çalışabilmesi için bilgisayarın CPU veya GPU'sundan bazı işleri kaldırabilir. NPU'lar sinir ağı görevlerini hızlandırmak için tasarlanmıştır. Büyük miktarda veriyi paralel olarak işleme konusunda üstünlük sağlar ve bu da görüntü tanıma veya doğal dil işleme gibi yaygın yapay zeka görevleri için ideal olmalarını sağlar. Örneğin, bir görüntü tanıma görevi sırasında NPU nesne algılama veya görüntü hızlandırmadan sorumlu olabilirken, GPU görüntü işleme sorumluluğunu üstlenir.
Cihazımda ne tür CPU, GPU veya NPU olduğunu nasıl öğrenebilirim?
Windows cihazınızda CPU, GPU veya NPU'nun türünü ve nasıl performans sergilediğini denetlemek için Görev Yöneticisi'ni (Ctrl + Shift + Esc) açın, ardından Performans sekmesini seçin; makinenizin CPU, Bellek, Wi-Fi, GPU ve/veya NPU'sunun yanı sıra hızı, kullanım oranı ve diğer verileriyle ilgili bilgileri de görebilirsiniz.
Windows ML nedir?
Windows ML (Machine Learning), uygulamanızın ONNX Çalışma Zamanı'nın (ORT, yukarıya bakın) paylaşılan bir sistem genelinde kopyasını kullanmasını sağlar ve model çıkarımınızın windows ekosistemindeki çok çeşitli CPU'lar, GPU'lar ve NPU'lar arasında uygulamanızın ağır çalışma zamanlarını veya IP'leri taşımasını gerektirmeden en iyi duruma getirebilmesi için satıcıya özgü yürütme sağlayıcılarını (IP'ler) dinamik olarak indirme desteği ekler.
Yararlı yapay zeka kavramları
Büyük Dil Modeli (LLM) nedir?
LLM, genel amaçlı dil oluşturma ve anlama becerisiyle bilinen bir Makine Öğrenmesi (ML) modeli türüdür. LLM'ler, hesaplama açısından yoğun bir kendi kendine denetimli ve yarı denetimli eğitim sürecinde çok miktarda metin belgesinden istatistiksel ilişkiler öğrenerek yetenekler edinen yapay sinir ağlarıdır. LLM'ler genellikle, bazı giriş metinleri verildiğinde, karşılık olarak tutarlı ve bağlamsal olarak ilgili cümleler oluşturma olasılığı en yüksek sözcükleri (veya "belirteçleri") oluşturan, üretken bir yapay zeka biçimi olan Metin Oluşturma için kullanılır. Ayrıca daha az parametreye ve daha sınırlı kapasiteye sahip, ancak daha verimli (daha az hesaplama kaynağı gerektiren), uygun maliyetli ve belirli etki alanları için ideal olabilecek Küçük Dil Modelleri (SLM' ler) vardır.
ML modeli eğitimi nedir?
Machine Learning'de model eğitimi, bir veri kümesini bir modele (LLM veya SLM) beslemeyi içerir ve modelin verilerden öğrenmesini sağlayarak modelin bu verilere dayalı tahminler veya kararlar alarak desenleri tanımasını sağlar. Ayrıca, performansını iyileştirmek için model parametrelerini yinelemeli olarak ayarlamayı da içerebilir.
Çıkarım nedir?
Yeni, görünmeyen veriler üzerinde tahminler veya sınıflandırmalar yapmak için eğitilmiş bir makine öğrenmesi modeli kullanma işlemine "Çıkarım" denir. Bir dil modeli bir veri kümesi üzerinde eğitildikten ve temel desenlerini ve ilişkilerini öğrendikte bu bilgiyi gerçek dünya senaryolarına uygulamaya hazır olur. Çıkarım, bir yapay zeka modelinin bir tahminde bulunmak veya bir görevi çözmek için eğitim sırasında öğrenilen bilgileri ne kadar iyi uygulayabileceğini gösteren bir testtir. Çıkarım için mevcut modeli kullanma işlemi, modeli geliştirmek ve parametrelerinde ince ayar yapmak için eğitim ve doğrulama verilerinin kullanılmasını gerektiren eğitim aşamasından farklıdır.
ML model ince ayarı nedir?
Makine öğrenmesinde hassas ayarlama, önceden eğitilmiş bir modelin belirli bir görevi gerçekleştirmek için uyarlandığı önemli bir adımdır. Modeli sıfırdan eğitme yerine, ince ayarlama mevcut bir modelle başlar (genellikle büyük bir veri kümesinde eğitilir) ve daha küçük, göreve özgü bir veri kümesi kullanarak parametrelerini ayarlar. Model, hassas ayarlamalar yaparak göreve özgü özellikleri öğrenirken, eğitim öncesi sırasında edinilen genel bilgileri korur ve bu da belirli uygulamalar için iyileştirilmiş performans sağlar.
İstem mühendisliği nedir?
İstem mühendisliği, bir dil modelinin davranışını ve yanıtlarını şekillendirmek için üretken yapay zeka ile birlikte kullanılan stratejik bir yaklaşımdır. Bir dil modelinden (GPT-3 veya GPT-4 gibi) istenen sonucu elde etmek için giriş istemleri veya sorgular oluşturmayı içerir. Etkili bir istem tasarlayarak, ml modeline istediğiniz yanıt türünü üretmesi için yol gösterebilirsiniz. Teknikler arasında ifadeyi ayarlama, bağlam belirtme veya model çıkışını etkilemek için denetim kodları kullanma sayılabilir.
Donanım hızlandırma (ML modeli eğitimiyle ilgili) nedir?
Donanım hızlandırma, yapay zeka uygulamalarını genel amaçlı CPU'larla elde edilebilenden daha hızlı hale getirmek için tasarlanmış özel bilgisayar donanımının kullanımını ifade eder. Donanım hızlandırma, eğitim modelleri, tahminler yapma veya derin öğrenme iş yükleri için paralel işlemede üstün olan ayrılmış donanım bileşenlerine hesaplama boşaltma gibi makine öğrenmesi görevlerinin hızını, enerji verimliliğini ve genel performansını artırır. GPU'lar ve NPU'lar, donanım hızlandırıcılarına örnektir.
Uygulamalarında yapay zeka özelliklerini uygulamak isteyen Veri Bilimcisi, ML Mühendisi ve Uygulama Geliştirici arasındaki farklar nelerdir?
ML modellerini oluşturma ve kullanma işlemi üç ana rol içerir: Veri Bilimcileri: Sorunu tanımlama, verileri toplama ve analiz etme, ML algoritmasını seçme ve eğitme ve sonuçları değerlendirme ve yorumlamaktan sorumludur. Bu görevleri gerçekleştirmek için Python, R, Jupyter Notebook, TensorFlow, PyTorch ve scikit-learn gibi araçları kullanırlar. ML Mühendisleri: Ml modellerini üretim ortamlarında dağıtma, izleme ve bakımdan sorumludur. Ml modellerinin ölçeklenebilirliğini, güvenilirliğini ve güvenliğini sağlamak için Docker, Kubernetes, Azure ML, AWS SageMaker ve Google Cloud AI Platformu gibi araçları kullanır. Uygulama Geliştiricileri: ML modellerini uygulama mantığı, kullanıcı arabirimi ve UX ile tümleştirmeden sorumludur. Windows üzerinde Microsoft Foundry, OnnxRuntime veya REST API'leri gibi araçları kullanır ve kullanıcı giriş ve model çıkışını işler. Her rol farklı sorumluluklar ve beceriler içerir, ancak en iyi sonuçları elde etmek için bu roller arasında işbirliği ve iletişim gereklidir. Projenin boyutuna ve karmaşıklığına bağlı olarak, bu roller aynı kişi veya farklı ekipler tarafından gerçekleştirilebilir.