Menggunakan model Pembelajaran Mesin di aplikasi Windows Anda
Panduan ini akan membantu Pengembang Aplikasi baru untuk bekerja dengan model Kecerdasan Buatan (AI) dan Pembelajaran Mesin (ML) dengan mengatasi pertanyaan umum, berbagi konsep dan sumber daya dasar, dan menawarkan rekomendasi tentang cara menggunakan model AI dan ML di aplikasi Windows.
Pembelajaran Mesin (ML) adalah cabang Kecerdasan Buatan (AI) yang memungkinkan komputer belajar dari data dan membuat prediksi atau keputusan.
Model ML adalah algoritma yang dapat dilatih pada data dan kemudian disebarkan untuk melakukan berbagai tugas, seperti pembuatan konten, penalaran atas konten, pengenalan gambar, pemrosesan bahasa alami, analisis sentimen, dan banyak lagi.
Beberapa cara agar aplikasi Windows dapat memanfaatkan model ML untuk meningkatkan fungsionalitas dan pengalaman pengguna mereka, meliputi:
- Aplikasi dapat menggunakan model AI Generatif untuk memahami topik kompleks untuk meringkas, menulis ulang, melaporkan, atau memperluas.
- Aplikasi dapat menggunakan model yang mengubah konten bentuk bebas menjadi format terstruktur yang dapat dipahami aplikasi Anda.
- Aplikasi dapat menggunakan model Pencarian Semantik yang memungkinkan pengguna mencari konten dengan makna dan menemukan konten terkait dengan cepat.
- Aplikasi dapat menggunakan model pemrosesan bahasa alami untuk alasan persyaratan bahasa alami yang kompleks, dan merencanakan dan menjalankan tindakan untuk mencapai permintaan pengguna.
- Aplikasi dapat menggunakan model manipulasi gambar untuk memodifikasi gambar, menghapus, atau menambahkan subjek, skala besar, atau menghasilkan konten baru secara cerdas.
- Aplikasi dapat menggunakan model diagnostik prediktif untuk membantu mengidentifikasi dan memprediksi masalah serta membantu memandu pengguna atau melakukannya untuk mereka.
Merajut Windows Copilot Runtime bersama-sama beberapa cara berinteraksi dengan sistem operasi yang memanfaatkan AI. Ini termasuk fitur yang didukung AI yang siap digunakan yang disebut Windows Copilot Runtime APIs. Lihat Mulai menggunakan API yang didukung AI di aplikasi Windows Anda untuk panduan tentang fitur dan API siap pakai ini yang mendukung skenario yang tercantum di atas.
Eksekusi Windows Copilot Runtime APIs secara lokal, langsung di perangkat Windows, meskipun Anda juga dapat memilih untuk menggunakan model berbasis cloud melalui API yang siap digunakan. Apakah mereka menjalankan lokal atau di cloud, API ini mengabstraksi model ML yang mendasar sehingga Anda tidak perlu melakukan pengoptimalan, pemformatan, atau penyempurnaan.
Namun, Anda mungkin ingin menemukan model ML Anda sendiri untuk digunakan secara lokal di Windows. Anda mungkin perlu mengoptimalkan model ini sehingga akan berjalan dengan benar pada perangkat Windows atau menyempurnakan model sehingga dilatih dengan data anda sendiri yang disesuaikan khusus untuk kasus penggunaan atau perusahaan tertentu Anda. Artikel ini akan membahas beberapa konsep, alat, dan pustaka sumber terbuka untuk membantu memandu Anda melalui proses ini.
Model Bahasa Kecil (SLM) dirancang agar ringkas dan efisien, sering dilatih untuk tugas atau domain tertentu pada himpunan data yang lebih kecil untuk memungkinkan penyimpanan dan menjalankan model secara lokal dengan waktu performa inferensi yang lebih cepat. SLM dibatasi dalam jumlah data yang digunakan untuk melatihnya, tidak memberikan pengetahuan yang luas atau penalaran kompleks sebagai Model Bahasa Besar (LLM). Namun, SLM dapat memberikan alternatif yang lebih aman dan hemat biaya untuk LLM ketika digunakan secara lokal karena membutuhkan lebih sedikit daya komputasi untuk menjalankan dan meningkatkan privasi data, dengan menjaga informasi obrolan Anda tetap lokal ke perangkat Anda.
SLM lebih ideal untuk penggunaan lokal karena menjalankan model ML pada perangkat berarti bahwa ukurannya tidak boleh melebihi kemampuan penyimpanan dan pemrosesan perangkat yang menjalankannya. Sebagian besar LLM akan terlalu besar untuk dijalankan secara lokal.
Model Microsoft Phi-2 dan Phi-3 adalah contoh SLM.
Model Bahasa Besar (LLM) telah dilatih pada sejumlah besar data dengan jumlah parameter yang lebih besar, membuatnya lebih kompleks dan berukuran lebih besar untuk penyimpanan. Karena ukurannya, LLM mungkin lebih mampu memahami pola yang lebih bernuansa dan kompleks dalam data, mencakup spektrum yang lebih luas tentang pengetahuan dengan kemampuan untuk bekerja dengan pola yang lebih kompleks. Mereka juga memerlukan sumber daya komputasi yang lebih signifikan untuk pelatihan dan inferensi. Sebagian besar LLM tidak akan dapat berjalan pada perangkat lokal.
Model bahasa OpenAI GPT-4o, GPT-4 Turbo, GPT-3.5 Turbo, DALL-E, dan Whisper adalah semua contoh LLM.
Untuk panduan lebih lanjut tentang perbedaan antara menggunakan SLM secara lokal versus LLM di cloud, lihat Pertimbangan untuk menggunakan API yang didukung AI lokal versus berbasis cloud di aplikasi Windows Anda.
Model ML Open Source yang siap digunakan, dan dapat disesuaikan dengan data atau preferensi Anda sendiri, tersedia di berbagai tempat, beberapa yang paling populer meliputi:
- Wajah Pelukan: Hub lebih dari 10.000 model ML yang telah dilatih sebelumnya untuk pemrosesan bahasa alami, didukung oleh pustaka Transformers. Anda dapat menemukan model untuk klasifikasi teks, jawaban atas pertanyaan, ringkasan, terjemahan, pembuatan, dan lainnya.
- ONNX Model Zoo: Kumpulan model ML yang telah dilatih sebelumnya dalam format ONNX yang mencakup berbagai domain dan tugas, seperti visi komputer, pemrosesan bahasa alami, ucapan, dan banyak lagi.
- Qualcomm AI Hub: Platform yang menyediakan akses ke berbagai model dan alat ML yang dioptimalkan untuk perangkat Qualcomm Snapdragon. Anda dapat menemukan model untuk pemrosesan gambar, video, audio, dan sensor, serta kerangka kerja, pustaka, dan SDK untuk membangun dan menyebarkan aplikasi ML di perangkat seluler. Qualcomm AI Hub juga menawarkan tutorial, panduan, dan dukungan komunitas untuk pengembang dan peneliti.
- Pytorch Hub: Repositori model yang telah dilatih sebelumnya yang dirancang untuk memfasilitasi reproduktifitas penelitian dan mengaktifkan penelitian baru. Ini adalah API sederhana dan alur kerja yang menyediakan blok penyusun dasar untuk meningkatkan reproduktifitas penelitian pembelajaran mesin. PyTorch Hub terdiri dari repositori model yang telah dilatih sebelumnya yang dirancang khusus untuk memfasilitasi reproduksi penelitian.
- TensorFlow Hub: Repositori model ML yang telah dilatih sebelumnya dan komponen yang dapat digunakan kembali untuk TensorFlow, yang merupakan kerangka kerja populer untuk membangun dan melatih model ML. Anda dapat menemukan model untuk pemrosesan gambar, teks, video, dan audio, serta pembelajaran transfer dan penyempurnaan.
- Kebun Binatang Model: Platform yang mengumpulkan dan menempati peringkat model ML sumber terbuka terbaik untuk berbagai kerangka kerja dan tugas. Anda dapat menelusuri model berdasarkan kategori, kerangka kerja, lisensi, dan peringkat, dan melihat demo, kode, dan makalah untuk setiap model.
Beberapa pustaka model tidak dimaksudkan untuk disesuaikan dan didistribusikan melalui aplikasi, tetapi merupakan alat yang berguna untuk eksplorasi dan penemuan langsung sebagai bagian dari siklus hidup pengembangan, seperti:
- Ollama: Ollama adalah marketplace model ML yang siap digunakan untuk berbagai tugas, seperti deteksi wajah, analisis sentimen, atau pengenalan ucapan. Anda dapat menelusuri, menguji, dan mengintegrasikan model ke dalam aplikasi dengan beberapa klik.
- LM Studio: Lmstudio adalah alat yang memungkinkan Anda membuat model ML kustom dari data Anda sendiri, menggunakan antarmuka seret dan letakkan. Anda dapat memilih dari berbagai algoritma ML, prapemroseduran dan memvisualisasikan data Anda, serta melatih dan mengevaluasi model Anda.
Setiap kali Anda menemukan model ML dengan tujuan menggunakannya di aplikasi Windows Anda, kami sangat menyarankan untuk mengikuti panduan Mengembangkan Aplikasi dan Fitur AI Generatif yang Bertanggung Jawab pada Windows . Panduan ini akan membantu Anda memahami kebijakan, praktik, dan proses tata kelola, mengidentifikasi risiko, merekomendasikan metode pengujian, menggunakan langkah-langkah keamanan seperti moderator dan filter, dan memanggil pertimbangan spesifik saat memilih model yang aman dan bertanggung jawab untuk bekerja.
Ada berbagai cara untuk menggunakan model ML di aplikasi Windows, tergantung pada jenis, sumber, dan format model, dan jenis aplikasi.
Beberapa format yang akan Anda temukan model ML meliputi:
ONNX: Standar terbuka untuk mewakili dan bertukar model ML di berbagai kerangka kerja dan platform. Jika Anda menemukan model ML yang telah dilatih sebelumnya dalam format ONNX, Anda dapat menggunakan ONNX Runtime (ORT) untuk memuat dan menjalankan model di aplikasi Windows Anda. ORT memungkinkan Anda mengakses kemampuan inferensi perangkat keras yang dipercepat perangkat Anda dan mengoptimalkan performa model ML Anda. Jika Anda memiliki model ML yang telah dilatih sebelumnya dalam format yang berbeda, seperti PyTorch atau TensorFlow, Anda dapat mengonversinya ke ONNX menggunakan alat pengoptimalan model seperti Olive. Untuk bantuan menggunakan Olive, lihat Menyempurnakan SLM dengan Microsoft Olive (Journey Series for Generative AI Application Architecture). Untuk tutorial tentang membuat dan menggunakan model ONNX, lihat Tutorial ONNX di GitHub. Untuk sampel yang menunjukkan cara menggunakan model ONNX di aplikasi Windows, lihat AI di Galeri Sampel Windows.
PyTorch: Kerangka kerja pembelajaran mendalam sumber terbuka yang sangat populer yang tersedia dengan antarmuka Python dan C++. Ini kemungkinan akan menjadi format paling umum yang akan Anda temukan untuk model ML. Jika Anda ingin menggunakan model PyTorch ML di aplikasi Windows (C# atau C++) atau di aplikasi web, Anda dapat menggunakan TorchSharp dan LibTorch, yang merupakan pengikatan .NET dan C++ untuk pustaka PyTorch. TorchSharp dan LibTorch memungkinkan Anda membuat, memuat, dan memanipulasi tensor, membangun dan menjalankan jaringan neural, serta menyimpan dan memuat model menggunakan format PyTorch. Untuk sampel, lihat Contoh TorchSharp, TorchScript untuk Penyebaran, Contoh PyTorch C++. Untuk aplikasi web, lihat Membangun aplikasi web dengan ONNX Runtime. Untuk contoh cara menjalankan model PyTorch dengan DirectML, lihat AI di Galeri Sampel Windows.
TensorFlow adalah pustaka perangkat lunak sumber terbuka populer lainnya untuk pembelajaran mesin dan kecerdasan buatan yang digunakan untuk membangun dan menyebarkan model pembelajaran mesin untuk berbagai tugas.
API WebNN untuk aplikasi web: Standar web untuk mengakses akselerasi perangkat keras jaringan neural di browser, berdasarkan API WebIDL dan JavaScript. Ini memungkinkan pengembang web untuk membuat dan menjalankan model pembelajaran mesin secara efisien di sisi klien, tanpa mengandalkan layanan cloud atau pustaka asli. Sampel WebNN di GitHub. Sampel WebNN yang digunakan ONNX Runtime di AI di Galeri Sampel Windows.
AI Toolkit untuk Visual Studio Code adalah ekstensi Visual Studio Code yang memungkinkan Anda mengunduh dan menjalankan model AI secara lokal. AI Tookit juga dapat membantu Anda:
- Menguji model di taman bermain intuitif atau di aplikasi Anda dengan REST API.
- Menyempurnakan model AI Anda, baik secara lokal maupun di cloud (pada komputer virtual) untuk membuat keterampilan baru, meningkatkan keandalan respons, mengatur nada dan format respons.
- Menyempurnakan model bahasa kecil (SLM) populer, seperti Phi-3 dan Mistral.
- Sebarkan fitur AI Anda baik ke cloud atau dengan aplikasi yang berjalan di perangkat.
Bagaimana cara memanfaatkan akselerasi perangkat keras untuk performa yang lebih baik dengan fitur AI
DirectML adalah API tingkat rendah yang memungkinkan perangkat keras perangkat Windows Anda mempercepat performa model ML menggunakan GPU perangkat atau NPU. Memasangkan DirectML dengan ONNX Runtime biasanya merupakan cara paling mudah bagi pengembang untuk membawa AI yang dipercepat perangkat keras kepada pengguna mereka dalam skala besar. Pelajari lebih lanjut: Gambaran Umum DirectML.