Bagikan melalui


Platform aplikasi untuk beban kerja AI di Azure

Anda harus mempertimbangkan dengan cermat platform hosting aplikasi tempat beban kerja AI Anda disebarkan untuk memastikan bahwa Anda dapat memaksimalkan efisiensi, keamanan operasi, dan keandalan.

Area desain ini mencakup beberapa jenis aplikasi yang mungkin relevan dengan beban kerja AI Anda:

  • Analisis data eksplorasi (EDA)
  • Pelatihan model dan penyempurnaan
  • Menyimpulkan

Artikel ini menyediakan panduan untuk memilih platform terbaik untuk setiap fungsi ini untuk memenuhi kebutuhan bisnis Anda. Ada juga rekomendasi umum yang dapat Anda terapkan ke semua fungsi ini.

Rekomendasi

Berikut adalah ringkasan rekomendasi yang disediakan dalam artikel ini.

Rekomendasi Deskripsi
Gunakan kembali alat. Mulailah dengan mengevaluasi alat yang sudah Anda gunakan untuk memahami apakah alat tersebut dapat digunakan kembali untuk beban kerja AI Anda. Jika mereka mendukung fungsionalitas yang diperlukan dan dapat memenuhi persyaratan Anda untuk keandalan, keamanan, biaya, dan performa, membawa alat baru mungkin tidak sepadan dengan biaya dan upaya.
Pertimbangkan persyaratan kepatuhan untuk data Anda dan wilayah yang anda rencanakan untuk disebarkan. Anda mungkin perlu membatasi wilayah yang Anda sebarkan atau mengisolasi bagian beban kerja Anda satu sama lain untuk memenuhi persyaratan kepatuhan. Masuk ke fase desain Anda dengan informasi ini dapat membantu melindungi Anda dari kebutuhan untuk mendesain ulang nanti.
Minimalkan bangunan. Pertimbangkan solusi platform as a service (PaaS) atau software as a service (SaaS) untuk meminimalkan beban operasional yang membangun pengenalan solusi Anda sendiri, seperti patching dan pemeliharaan lainnya. Meminimalkan beban Hari-2 yang diperlukan untuk teknologi baru menyederhanakan adopsi Anda. Banyak fungsi AI yang kompleks, jadi kami tidak menyarankan untuk membangun platform Anda sendiri.
Pahami kuota dan batasan Anda. Saat Anda merancang untuk penggunaan solusi PaaS atau SaaS, pahami kuota atau batasan apa pun yang berlaku. Kemampuan Anda untuk meluaskan skala untuk memenuhi permintaan lalu lintas yang tinggi mungkin dipengaruhi oleh kuota atau batasan, sehingga Anda mungkin perlu menyesuaikan desain Anda untuk meminimalkan risiko tersebut.
Sebarkan di wilayah yang sama. Cobalah untuk menyebarkan semua sumber daya terkait di wilayah yang sama untuk mengurangi latensi dan menyederhanakan desain.
Berlatih penyebaran yang aman. Secara umum, Anda harus memperlakukan API untuk beban kerja AI Anda sama dengan API lain di lingkungan Anda. Semua API harus ditempatkan di belakang gateway dan semua kode harus ditangani dengan praktik penyebaran yang aman yang sama dengan setiap aset kode lainnya.
Menetapkan tolok ukur performa melalui eksperimen. Setiap beban kerja AI berbeda, dan jumlah komputasi yang Anda butuhkan tergantung pada kasus penggunaan Anda. Tentukan jumlah dan jenis komputasi yang optimal untuk beban kerja Anda dengan melakukan pengujian tolok ukur menyeluruh. Panduan ini membantu Anda memilih platform, tetapi Anda hanya akan tahu SKU mana yang sesuai untuk beban kerja Anda setelah pengujian tolok ukur.

Pertimbangan untuk platform EDA

EDA adalah fungsi awal umum yang dilakukan ilmuwan data sebelum pemodelan atau analisis statistik. Oleh karena itu dapat dianggap sebagai fase pengembangan, yang berarti bahwa target untuk keandalan dan performa mungkin jauh lebih rendah daripada yang untuk sumber daya produksi dan mempertahankan produktivitas adalah faktor yang lebih penting.

Bagian ini menyediakan panduan tentang kemampuan yang perlu dipertimbangkan saat Anda memilih solusi platform EDA.

Persyaratan fungsional

Saat Anda mengevaluasi platform EDA, pertimbangkan pertanyaan berikut:

  • Apakah platform mendukung penggunaan sementara?

    Platform harus mendukung ruang kerja dan komputasi sementara, yang berarti Anda harus dapat menghentikan sumber daya yang diperlukan saat tidak digunakan. Kemampuan ini membantu mengontrol biaya. Pekerjaan EDA biasanya interaktif, sehingga pengguna harus dapat memulai VM dan menghentikannya saat menjalankan pekerjaan.

  • Apakah platform mendukung opsionalitas komputasi?

    Platform harus mengaktifkan akses sesuai permintaan ke GPU sesuai kebutuhan dan menyediakan berbagai opsi komputasi untuk membantu ukuran platform yang tepat.

  • Apakah platform mendukung MLflow?

    Platform EDA Anda harus memungkinkan untuk memilih teknologi yang memungkinkan integrasi dengan MLflow untuk melacak eksperimen Anda. Kami merekomendasikan MLflow sebagai protokol pengembangan, penyebaran, dan manajemen model karena memberikan manfaat berikut:

    • Pelacakan eksperimen. MLflow memungkinkan Anda melacak eksperimen dengan merekam parameter, metrik, dan artefak. Kemampuan ini sangat penting selama EDA sehingga Anda dapat melacak langkah-langkah praproscesing data yang berbeda dan teknik rekayasa fitur dan dampaknya pada performa model.
    • Reproduktifitas. Karena mencatat semua detail eksperimen Anda, MLflow membantu memastikan bahwa Anda dapat mereproduksi hasil Anda, yang sangat penting untuk memvalidasi temuan.
    • Penerapan versi data dan model. MLflow membantu penerapan versi himpunan data dan model, yang memudahkan untuk mengelola berbagai versi transformasi data dan model yang diuji.
    • Pekerjaan kolaboratif. MLflow menyediakan platform terpusat di mana ilmuwan data dapat berbagi eksperimen dan hasil mereka, yang memfasilitasi kolaborasi dan berbagi pengetahuan.

Persyaratan nonfungsi

Pertimbangkan pertanyaan-pertanyaan ini juga:

  • Bagaimana platform dapat membantu mengontrol biaya?

    Platform harus memungkinkan ilmuwan data untuk melakukan pekerjaan mereka sesuai dengan persyaratan jadwal mereka, tetapi harus berukuran tepat untuk memastikan bahwa harapan biaya terpenuhi.

  • Persyaratan keamanan apa yang harus diikuti untuk platform?

    Data yang digunakan selama fase EDA Anda mungkin akan menjadi data produksi, yang mengharuskan Anda mengikuti praktik produksi untuk mengamankan data tersebut dan memantau platform. Untuk itu, platform Anda harus mendukung semua kontrol keamanan yang diperlukan, termasuk:

    • Akses dan otorisasi.
    • Enkripsi saat istirahat dan transit.
    • Persyaratan perlindungan data regional.
    • Fungsionalitas pemantauan dan pemberitahuan yang kuat, termasuk pengelogan dan auditabilitas.
    • Akses jaringan privat ke repositori terpusat untuk gambar kontainer, data, dan aset kode.

Alat

Gunakan instans komputasi Azure Pembelajaran Mesin dengan berbagi file tingkat tim sebagai platform EDA Anda. Salah satu pengecualian untuk ini adalah jika tim atau organisasi Anda sudah menggunakan platform hosting yang sesuai, seperti kluster komputasi berkemampuan GPU di Databricks, misalnya. Dalam hal ini, mungkin lebih tepat untuk tetap berada di platform tersebut.

Catatan

Jangan membangun platform EDA lengkap kecuali Anda perlu. Komputasi yang dioptimalkan GPU mahal dan tidak sesuai jika kasus penggunaan Anda tidak memerlukannya.

Pertimbangan untuk pelatihan model dan platform penyempurnaan

Saat Anda pindah ke pelatihan model dan penyempurnaan, Anda mungkin memerlukan komputasi yang dioptimalkan GPU berkinerja tinggi untuk pekerjaan intensif komputasi yang diperlukan oleh aktivitas tersebut. Keandalan biasanya tidak sepenting performa karena sebagian besar pekerjaan ini terjadi di belakang layar. Jika keandalan tinggi adalah persyaratan, evaluasi apakah menyebarkan beban kerja di seluruh zona ketersediaan atau wilayah diperlukan. Keandalan tinggi menjadi lebih penting ketika kesegaran model sering diperbarui, yang mengharuskan pelatihan diselesaikan pada jadwal yang lebih ketat. RTO Anda harus menentukan desain keandalan yang Anda pilih.

Panduan di bagian ini berlaku untuk pelatihan model dan penyempurnaan. Kecuali Anda dipaksa untuk menggunakan platform terpisah untuk fungsi-fungsi ini, Anda harus menggunakan satu platform.

Persyaratan fungsional

Saat Anda mengevaluasi platform untuk pelatihan model dan penyempurnaan, pertimbangkan pertanyaan berikut:

  • Apakah platform mendukung penggunaan sementara?

    Seperti aktivitas EDA, pelatihan model, dan penyempurnaan biasanya tidak berjalan penuh waktu, jadi Anda harus menggunakan platform yang dapat dihentikan ketika tidak digunakan untuk membantu mengontrol biaya. Namun, tidak seperti EDA, pelatihan model biasanya merupakan proses batch, sehingga komputasi hanya diperlukan ketika batch berjalan dan dapat dimatikan hingga eksekusi berikutnya.

  • Apakah platform menyediakan orkestrasi?

    Karena kompleksitas yang diperlukan dalam mengelola komputasi untuk pelatihan model dan penyempurnaan, kami merekomendasikan orkestrator.

  • Dapatkah teknologi yang ada di lingkungan Anda menjadi bagian dari solusi?

    Jika platform data yang ada memiliki kemampuan pembelajaran mesin, seperti yang dilakukan Azure Databricks, Anda dapat menggunakannya untuk langkah-langkah tertentu, seperti transformasi data dan rekayasa fitur, pelatihan, penyempurnaan, dan langkah-langkah lain dalam Pembelajaran Mesin. Menggabungkan teknologi dapat membantu Anda meminimalkan biaya dan kompleksitas yang terlibat dalam menggunakan platform data untuk fungsi yang mungkin tidak cocok untuknya.

Persyaratan nonfungsi

Pertimbangkan pertanyaan ini juga:

  • Apa tradeoff yang dapat ditoleransi antara biaya dan performa?

    Mengingat persyaratan komputasi berkinerja tinggi yang dioptimalkan GPU, pastikan Anda menguji dan membuat tolok ukur pelatihan Anda dan menyempurnakan secara ekstensif untuk menentukan SKU ideal yang menyeimbangkan performa terhadap biaya.

Alat

Kami merekomendasikan Azure Pembelajaran Mesin untuk pelatihan model dan platform penyempurnaan karena menyediakan fungsionalitas orkestrasi dengan dukungan untuk komputasi batch. Ada dua opsi komputasi untuk mengevaluasi:

  • Komputasi tanpa server sangat ideal untuk eksekusi singkat dan jarang yang dapat mentolerir efek tetangga yang bising. Anda dapat memilih harga standar atau harga spot. Harga spot hanya direkomendasikan untuk pelatihan yang sangat mudah diinterupsi. Jangan gunakan komputasi tanpa server untuk operasi penuh waktu. Biaya dapat meningkat dengan cepat.
  • Kluster komputasi memberi Anda kontrol yang signifikan atas perangkat keras yang tersedia dan disetel untuk pelatihan paralel atau terdistribusi.

Catatan

Untuk model dasar, pilihan platform hosting model Anda mungkin membatasi opsi penyempurnaan Anda. Misalnya, menggunakan Azure OpenAI Service untuk hosting model membatasi opsi penyempurnaan Anda ke fungsionalitas penyempurnaan Azure OpenAI bawaan.

Pertimbangan untuk platform hosting dan inferensi model

Fungsi hosting model dan inferensi membentuk lapisan sajian beban kerja AI. Fungsi-fungsi ini dilakukan dengan titik akhir yang khusus untuk perangkat lunak yang Anda gunakan. Solusi perangkat lunak penyajian model, seperti NVIDIA Triton, TorchServe, dan TensorFlow Serving, pada dasarnya adalah SDK Python yang mengedepankan model dengan API dan menambahkan fungsionalitas yang khusus untuk solusi. Anda dapat memilih platform hosting berdasarkan pilihan perangkat lunak Anda atau memilih perangkat lunak Anda berdasarkan pilihan platform hosting Anda.

Saat Anda menggunakan solusi SaaS atau PaaS dengan model yang dikemas sebelumnya, seperti model bahasa besar yang tersedia di Azure OpenAI, Anda memiliki beberapa atau tidak ada peluang untuk memilih perangkat lunak penyajian. Sebagai gantinya, layanan yang Anda gunakan menyediakan API. Ini mengurangi fleksibilitas dalam proses untuk membuat penyebaran model, yang dapat memberikan keuntungan dan kekurangan. Misalnya, ini dapat menyederhanakan proses pengembangan beban kerja Anda. Di sisi lain, ini mengurangi fleksibilitas dalam bagaimana aplikasi Anda dapat memanggil dan berinteraksi dengan model.

Pada dasarnya, API untuk lapisan layanan adalah layanan mikro, jadi Anda harus mengikuti praktik yang sama untuk API ini yang Anda ikuti untuk layanan mikro lain di lingkungan Anda. Mereka harus dikontainerisasi, di-massal dari layanan lain, dan memiliki siklus hidup mereka sendiri yang independen dari layanan dan API lain. Namun, perlu diingat bahwa API lapisan sajian umumnya memerlukan daya komputasi berbasis GPU dan gambar kontainer yang lebih besar secara signifikan daripada API tradisional.

Bagian ini menyediakan panduan tentang kemampuan yang perlu dipertimbangkan saat Anda memilih hosting model dan platform inferensi.

Persyaratan fungsional

Saat Anda mengevaluasi platform untuk hosting dan inferensi model, pertimbangkan pertanyaan-pertanyaan berikut:

  • Apakah beban kerja Anda memerlukan inferensi batch atau online?

    Titik akhir inferensi digunakan baik untuk proses inferensi batch atau online, dan metode inferensi membantu menentukan platform hosting yang tepat. Inferensi batch paling baik dihosting pada platform yang mendukung penggunaan sementara dan memungkinkan komputasi dimatikan saat tidak digunakan. Inferensi online paling baik dihosting pada platform yang mendukung pemanfaatan komputasi elastis, yang menskalakan secara otomatis berdasarkan beban pada waktu tertentu.

  • Apakah platform mendukung keterlacakan?

    Keterlacakan sangat penting untuk menjaga integritas model yang digunakan dalam beban kerja Anda. Penting untuk mengetahui informasi tentang model, seperti versi saat ini, siapa yang menyebarkannya, ketika disebarkan, dan silsilah data model.

    Terapkan tag yang bermakna ke gambar di registri kontainer Anda untuk memastikan bahwa layanan hosting model Anda menarik versi tertentu yang dapat diidentifikasi oleh tim dengan mudah. Pendekatan ini membantu tata kelola data dengan mengurangi risiko model yang ketinggalan masa berlaku atau salah yang digunakan dalam produksi.

  • Apakah platform hosting Anda akan menjadi sumber daya terpusat?

    Banyak organisasi menggunakan platform hosting model terpusat yang digunakan oleh tim yang berbeda untuk beban kerja mereka sendiri. Jika platform hosting Anda terpusat, Anda harus mempertimbangkan apakah Anda memerlukan dukungan untuk penagihan balik. Fungsionalitas ini memungkinkan Anda melacak pemanfaatan platform oleh tim dan beban kerja.

Persyaratan nonfungsi

Pertimbangkan pertanyaan-pertanyaan ini juga:

  • Apa saja persyaratan keandalan untuk platform?

    API lapisan sajian adalah sumber daya produksi, jadi Anda harus menerapkan persyaratan keandalan yang sama dengan yang Anda terapkan ke alur beban kerja lain yang sesuai dengan peringkat kekritisannya. Jika kekritisannya membutuhkan ketersediaan tinggi, platform hosting Anda harus mendukung zona ketersediaan atau desain multiregion.

  • Kontrol jaringan apa yang diperlukan untuk platform?

    Tentukan apakah Anda memerlukan jaringan privat atau firewall keluar untuk memberikan perlindungan bagi platform.

  • Apa saja persyaratan keamanan identitas dan akses untuk platform?

    Tentukan identitas dan kontrol akses yang diperlukan untuk titik akhir Anda. Pertimbangkan apakah Anda memerlukan kontrol akses berbasis peran asli (RBAC) atau dukungan bawaan untuk platform identitas dan akses Anda, misalnya, ID Microsoft Entra.

  • Kemampuan pemantauan apa yang didukung platform?

    Tentukan kemampuan pemantauan yang diperlukan untuk titik akhir Anda. Bergantung pada platform, Anda mungkin memiliki akses terbatas ke log dan metrik, yang mungkin membatasi kemampuan Anda untuk mengaudit aktivitas atau mendeteksi kerusakan.

  • Apa saja persyaratan performa untuk platform?

    Latensi inferensi adalah perhatian umum, dan platform yang berbeda memiliki profil performa yang berbeda. Layanan tanpa server dan PaaS yang menggunakan model utilitas dapat dipengaruhi oleh masalah tetangga yang bising dan sering tidak memiliki jaminan throughput. Di sisi lain, platform yang sama mungkin menawarkan opsi yang dihost sendiri yang menyediakan throughput terjamin dengan model pra-pembelian. Anda juga dapat mempertimbangkan hosting mandiri di Kubernetes untuk perilaku latensi yang lebih dapat diprediksi.

    Waspadai batas layanan dan kuota yang mungkin memengaruhi performa Anda, seperti untuk Azure OpenAI. Seringkali kuota dan batas ini diatur secara agresif untuk memenuhi tuntutan kapasitas, jadi jika pilihan platform Anda tidak memberikan performa yang Anda butuhkan, Anda mungkin perlu mengadopsi strategi untuk menyebarkan permintaan komputasi di seluruh instans.

    Arsitektur tingkat lanjut dapat menggabungkan beberapa penyebaran untuk mencapai throughput tetap untuk sebagian besar beban kerja dan kemampuan bursting untuk komputasi yang lebih fleksibel.

Alat

Melakukan inferensi batch

  • Jika Anda melakukan inferensi pada data yang berada di platform yang mendukung hosting model, seperti Databricks, pertimbangkan untuk menggunakan platform tersebut untuk inferensi. Pastikan untuk mengisolasi komputasi inferensi dari fungsi lain yang dilakukan oleh platform data.

  • Kami merekomendasikan Azure OpenAI Batch API untuk model dasar.

  • Untuk model non-fondasi, pertimbangkan rekomendasi ini:

    • Pertimbangkan untuk menggunakan titik akhir batch Azure Pembelajaran Mesin untuk skenario berikut:

      • Anda perlu melakukan inferensi pada himpunan data besar yang didistribusikan dalam beberapa file dan Anda tidak memerlukan latensi rendah.

      • Anda perlu melakukan operasi batch yang berjalan lama melalui himpunan data besar dan dapat memanfaatkan paralelisasi.

      • Anda perlu menyebarkan komponen alur untuk pemrosesan batch.

    • Jika Anda perlu menjalankan pekerjaan Spark untuk pemrosesan data terdistribusi, pertimbangkan untuk menggunakan Azure Synapse Analytics, Databricks, atau Pembelajaran Mesin komputasi Spark tanpa server.

    • Jika tidak ada skenario ini yang berlaku, sebaiknya Pembelajaran Mesin titik akhir batch.

Inferensi online

  • Evaluasi platform PaaS dan solusi tanpa server sebagai langkah pertama. Layanan ini biasanya yang paling mudah diadopsi dan dikelola karena menyederhanakan desain Anda dan meminimalkan beban operasional. Misalnya, Azure OpenAI adalah pilihan yang baik untuk model fondasi.

    • Pertimbangkan untuk menggunakan Api Tanpa Server Azure Pembelajaran Mesin untuk mengagregasi akses titik akhir meskipun Anda menggunakan Azure OpenAI atau solusi hosting model dasar lainnya.
  • Pertimbangkan Pembelajaran Mesin dengan kluster komputasi terkelola saat PaaS atau solusi tanpa server tidak cocok. Komputasi yang dikelola oleh Pembelajaran Mesin mendukung pemisahan lalu lintas dan pencerminan untuk pengujian A/B, penelusuran kesalahan, dan audit yang kuat. Karena komputasi dikelola oleh layanan, operasi Hari-2 lebih mudah ketika Anda menghost sendiri model Anda. Komputasi terkelola juga menawarkan berbagai pilihan konfigurasi komputasi dan kemampuan penskalaan.

  • Jika Anda memilih untuk menghost sendiri model Anda pada kluster Azure Kubernetes Service (AKS) yang dilampirkan ke Pembelajaran Mesin atau platform berbasis kontainer lainnya, pastikan bahwa kumpulan simpul diisolasi dari API lain atau beban kerja lain pada kluster untuk mencapai performa yang dapat diprediksi dan untuk mengoptimalkan keamanan. Hindari menggunakan komputasi berbasis GPU atau yang dioptimalkan GPU untuk apa pun selain fungsi beban kerja AI Anda untuk mengurangi biaya. Sebagai gantinya, tetapkan garis besar performa Anda melalui pengujian dan ukuran yang tepat komputasi Anda untuk memenuhi persyaratan performa Anda tanpa provisi berlebihan.

  • Anda juga dapat menghost sendiri model Anda dengan menggunakan solusi infrastruktur sebagai layanan (IaaS), seperti Azure Ilmu Data Virtual Machine.

Pertimbangan untuk platform orkestrasi

Orkestrasi, dalam konteks platform aplikasi beban kerja AI, mengacu pada alat seperti alur perintah di Pembelajaran Mesin dan portal Azure AI Foundry . Alat-alat ini dirancang untuk menyederhanakan seluruh siklus pengembangan aplikasi AI dengan mengotomatiskan banyak fungsi alur kerja umum.

Persyaratan nonfungsi

Seperti halnya semua beban kerja produksi lainnya di estat cloud Anda, ketika Anda mengevaluasi alat orkestrasi, Anda perlu mempertimbangkan:

  • Keandalan, keamanan, dan pemantauan. Alat orkestrasi harus mematuhi standar keandalan, keamanan, dan pemantauan untuk beban kerja produksi.

  • Performa. Alat orkestrasi tidak memerlukan komputasi berbasis GPU atau berbasis GPU, pertimbangkan SKU tujuan umum.

  • Pengoptimalan Biaya. Alat orkestrasi selalu aktif, pertimbangkan opsi komputasi elastis untuk meminimalkan biaya pemanfaatan.

Alat

  • Lebih suka solusi off-the-shelf seperti alur prompt. Tentukan apakah kemampuannya cocok dengan kebutuhan orkestrasi Anda sebelum Anda melihat hosting kustom dengan alat seperti LangChain atau Semantic Kernel.

  • Host titik akhir untuk solusi seperti alur prompt pada Pembelajaran Mesin dengan instans komputasi atau di AKS dengan hosting mandiri.

Langkah berikutnya