Mengembangkan aplikasi AI generatif

Last reviewed 2024-03-26 UTC

Dokumen ini membantu Anda mempelajari cara mengatasi tantangan di setiap tahap pengembangan aplikasi AI generatif. Panduan ini menjelaskan cara memilih model, menyesuaikan output model untuk memenuhi kebutuhan Anda, mengevaluasi penyesuaian, dan men-deploy model Anda. Dokumen ini mengasumsikan bahwa Anda telah memikirkan kasus penggunaan tersebut, dan bahwa kasus penggunaan tersebut cocok untuk AI generatif. Untuk mengetahui informasi tentang cara mengembangkan kasus penggunaan, lihat Mengevaluasi dan mendefinisikan kasus penggunaan bisnis AI generatif Anda.

Sebelum Anda mulai mengembangkan aplikasi AI generatif, nilai kesiapan teknis organisasi Anda (kemampuan dan infrastruktur). Untuk mengetahui informasi tentang cara menilai kemampuan AI dan membuat roadmap untuk memanfaatkan potensinya, lihat Workshop Kesiapan AI. Jika Anda berencana mengembangkan alur kerja yang diotomatiskan oleh AI generatif, nilai apakah manusia harus dilibatkan dalam loop untuk tahap keputusan penting. Peninjauan manual dapat membantu mengambil keputusan seperti memastikan penggunaan yang bertanggung jawab, memenuhi persyaratan kontrol kualitas tertentu, atau memantau konten yang dihasilkan.

Model AI generatif

Model dasar AI generatif dilatih pada set data teks, gambar, kode, atau multimedia lainnya yang berukuran multi-terabyte. Dengan arsitektur data dan model, model dapat mengidentifikasi pola yang kompleks dan mendapatkan pemahaman kontekstual yang mendalam serta menghasilkan konten baru seperti teks, gambar, musik, atau video yang didorong oleh data pelatihan.

Model dasar membentuk inti tempat banyak aplikasi AI generatif dibangun. Kemampuan model tersebut menghasilkan kemampuan yang baru: dengan petunjuk perintah teks sederhana, model dasar AI generatif dapat belajar melakukan berbagai tugas—seperti menerjemahkan bahasa, menjawab pertanyaan, menulis puisi, atau menulis kode—tanpa pelatihan eksplisit untuk setiap tugas. Model dasar AI generatif juga dapat beradaptasi untuk melakukan tugas tertentu dengan beberapa teknik prompt atau dapat disesuaikan dengan data pelatihan tambahan yang minimal.

Model bahasa besar (LLM) dilatih menggunakan teks, dan merupakan salah satu contoh model dasar yang biasanya didasarkan pada arsitektur deep-learning, seperti Transformer yang dikembangkan oleh Google pada tahun 2017. LLM dapat dilatih pada miliaran sampel teks dan konten lainnya, dan LLM dapat disesuaikan untuk domain tertentu.

Model multimodal lainnya memperluas kemampuan aplikasi AI generatif untuk memproses informasi dari berbagai modalitas termasuk gambar, video, audio, dan teks. Perintah multimodal menggabungkan beberapa format input seperti teks, gambar, dan audio. Misalnya, Anda dapat memasukkan gambar dan meminta aplikasi AI generatif untuk mencantumkan atau mendeskripsikan objek dalam gambar. Model Gemini Google dibangun dari awal untuk multimodalitas, dan dapat bertukar pikiran dengan lancar di teks, gambar, video, audio, dan kode. Model Garden dan Vertex AI dari Google Cloud dapat membantu Anda menemukan dan menyesuaikan berbagai model dasar dari Google, open source, dan sumber pihak ketiga.

Pilih model

Saat Anda memilih model, pertimbangkan modalitas, ukuran, dan biaya model. Pilih model paling terjangkau yang masih memenuhi persyaratan kualitas respons dan latensi Anda.

  • Modalitas: Seperti yang dijelaskan di bagian sebelumnya, modalitas model sesuai dengan kategori data tingkat tinggi yang digunakan untuk melatih model, seperti teks, gambar, dan video. Biasanya, kasus penggunaan Anda dan modalitas model sangat terkait. Jika kasus penggunaan Anda melibatkan pembuatan teks-ke-gambar, Anda perlu menemukan model yang dilatih dengan data teks dan gambar. Jika Anda memerlukan fleksibilitas beberapa modalitas, seperti dalam penelusuran multimodal, ada model yang juga mendukung kasus penggunaan multimodal, tetapi biaya dan latensi mungkin lebih tinggi.
    • Model Vertex AI menawarkan banyak model AI generatif yang dapat Anda gunakan.
    • Model Garden menyediakan daftar penawaran model ML pihak pertama dan open source di Google Cloud.
  • Ukuran: Ukuran model biasanya diukur berdasarkan jumlah parameter. Secara umum, model yang lebih besar dapat mempelajari pola dan hubungan yang lebih kompleks dalam data, yang dapat menghasilkan respons berkualitas lebih tinggi. Karena model yang lebih besar dalam kelompok yang sama dapat memiliki latensi dan biaya yang lebih tinggi, Anda mungkin perlu bereksperimen dan mengevaluasi model untuk menentukan ukuran model mana yang paling cocok untuk kasus penggunaan Anda.
  • Biaya: Biaya model terkait dengan kemampuannya, yang biasanya terkait dengan jumlah parameter model. Model juga dapat diukur dan diisi dayanya secara berbeda. Misalnya, beberapa model dikenai biaya berdasarkan jumlah token input dan output. Model lain dikenai biaya berdasarkan jumlah jam kerja node yang digunakan saat model di-deploy.

    • Untuk mengetahui informasi tentang harga model AI generatif di Vertex AI, lihat harga Vertex AI.

    • Untuk mengetahui informasi tentang biaya men-deploy model di Google Kubernetes Engine (GKE), lihat harga GKE.

  • Fitur: Tidak semua model mendukung fitur seperti tuning dan distilasi. Jika kemampuan tersebut penting bagi Anda, periksa fitur yang didukung oleh setiap model.

Mendesain perintah

Desain prompt adalah proses pembuatan pasangan perintah dan respons untuk memberikan konteks dan petunjuk tambahan ke model bahasa. Setelah menulis perintah, Anda memasukkannya ke model sebagai set data prompt untuk pra-pelatihan. Saat model menayangkan prediksi, model tersebut akan merespons dengan petunjuk bawaan Anda.

Jika ingin mendapatkan output tertentu, Anda dapat menggunakan strategi desain perintah, seperti menginstruksikan model untuk menyelesaikan input sebagian atau memberi contoh respons yang ideal kepada model. Untuk mengetahui informasi selengkapnya, lihat Pengantar desain prompt.

Menyesuaikan model

Setelah membuat prompt, Anda mungkin mendapati bahwa respons model berfungsi dengan baik, sehingga Anda tidak perlu menyesuaikannya. Jika model tidak berperforma baik—misalnya jika berhalusinasi—Anda dapat menggunakan teknik penyesuaian tambahan. Bagian berikut memperkenalkan teknik semacam itu dan dapat membantu Anda memahami pengaruh opsi ini terhadap output model Anda.

Panggilan fungsi dan ekstensi

Panggilan fungsi dan Ekstensi Vertex AI memperluas kemampuan model Anda. Pertimbangkan kasus penggunaan aplikasi Anda dan penggunaan model saja mungkin tidak cukup. Anda dapat membantu model dengan menambahkan ekstensi atau panggilan fungsi. Misalnya, model Anda dapat mengekstrak informasi kalender dari teks, lalu menggunakan ekstensi untuk menemukan dan memesan reservasi.

Meskipun Anda dapat menggunakan panggilan fungsi dan ekstensi secara bergantian, ada beberapa perbedaan mendasar. Panggilan fungsi adalah operasi asinkron dan Anda tidak perlu menyertakan kredensial dalam kode. Vertex AI Extensions menyediakan opsi bawaan yang dapat Anda gunakan untuk tugas-tugas kompleks sehingga Anda tidak perlu menulis fungsi Anda sendiri. Namun, karena Vertex AI Extensions menampilkan dan memanggil fungsi untuk Anda, ekstensi mengharuskan Anda menyertakan kredensial dalam kode Anda.

Grounding

Grounding mengacu pada penambahan respons model dengan mengarahkannya ke sumber informasi yang dapat diverifikasi. Untuk mem-ground model, Anda menghubungkannya ke sumber data. Menempatkan model di dasar akan membantu meningkatkan kredibilitas konten yang dihasilkan dengan mengurangi halusinasi.

Retrieval augmented generasi (RAG) adalah teknik grounding yang umum digunakan. RAG menggunakan fungsi penelusuran untuk menemukan informasi yang relevan, lalu menambahkan informasi tersebut ke prompt model. Saat Anda menggunakan RAG, output didasarkan pada fakta dan informasi terbaru. Penelusuran RAG menggunakan embedding vektor dan database vektor, yang menyimpan data sebagai representasi numerik dari data tidak terstruktur, seperti teks dan gambar. Untuk mengetahui informasi selengkapnya, lihat Apa yang dimaksud dengan database vektor.

Untuk mempelajari grounding dalam Vertex AI, lihat Ringkasan ground. Untuk mengetahui informasi tentang cara menyiapkan alur kerja embedding di AlloyDB untuk PostgreSQL, lihat contoh alur kerja penyematan.

Penyesuaian model

Tugas khusus, seperti melatih model bahasa pada terminologi tertentu, mungkin memerlukan lebih banyak pelatihan daripada yang dapat Anda lakukan dengan desain prompt saja. Dalam skenario tersebut, Anda dapat menggunakan penyesuaian model untuk meningkatkan performa dan membuat model mematuhi persyaratan output tertentu.

Untuk men-tuning model, Anda harus mem-build set data pelatihan, lalu memilih metode tuning, seperti supervised tuning, reinforcement learning dari penyesuaian masukan manusia (RLHF), atau distilasi model. Ukuran set data dan metode penyesuaian bergantung pada model Anda dan apa yang Anda optimalkan. Misalnya, tugas khusus dan khusus memerlukan set data yang lebih kecil untuk mendapatkan peningkatan yang signifikan. Untuk mempelajari penyesuaian model lebih lanjut, lihat Menyesuaikan model dasar bahasa.

Mengevaluasi model

Evaluasi model membantu Anda menilai pengaruh perintah dan penyesuaian terhadap performa model. Setiap metode evaluasi memiliki kekuatan dan kelemahannya masing-masing untuk dipertimbangkan. Misalnya, evaluasi berbasis metrik dapat diotomatiskan dan diskalakan dengan cepat menggunakan cara yang dapat diukur untuk mengukur performa. Namun, metrik dapat terlalu menyederhanakan hasil serta melewatkan konteks dan nuansa natural language. Untuk mengurangi kekurangan ini, gunakan berbagai metrik yang dikombinasikan dengan evaluasi manual.

AI Generatif di Vertex AI menawarkan evaluasi berdampingan otomatis, yang memungkinkan Anda membandingkan output dua model dengan kebenaran dasar. Model ketiga membantu Anda memilih respons yang berkualitas lebih tinggi. Evaluasi berdampingan otomatis setara dengan evaluator manual, tetapi lebih cepat dan tersedia sesuai permintaan. Namun, untuk melakukan perbandingan, metode ini memerlukan model yang lebih besar dari model yang Anda evaluasi, yang dapat menunjukkan bias yang melekat. Oleh karena itu, sebaiknya Anda tetap melakukan beberapa evaluasi manual.

Untuk semua metode evaluasi, Anda memerlukan set data evaluasi. Set data evaluasi berisi pasangan perintah dan kebenaran dasar (respons ideal) yang Anda buat. Saat Anda membuat set data, sertakan beragam contoh yang selaras dengan tugas yang Anda evaluasi untuk mendapatkan hasil yang bermakna.

Men-deploy model

Men-deploy model akan mengaitkan endpoint dan resource mesin fisik dengan model Anda untuk menyalurkan prediksi online latensi rendah. Tidak semua model memerlukan deployment. Misalnya, model dasar Google yang tersedia dalam AI generatif di Vertex AI sudah memiliki endpoint. Endpoint bersifat khusus untuk project Google Cloud Anda dan akan segera tersedia untuk Anda gunakan. Namun, jika salah satu model tersebut disesuaikan, Anda harus men-deploy-nya ke endpoint.

Saat men-deploy model, tentukan apakah Anda lebih suka men-deploy model di lingkungan yang terkelola sepenuhnya atau lingkungan yang dikelola sendiri. Dalam lingkungan yang terkelola sepenuhnya, Anda memilih resource fisik yang diperlukan, seperti jenis mesin dan jenis akselerator, lalu Vertex AI membuat instance dan mengelola resource untuk Anda. Misalnya, untuk mengaktifkan prediksi online di mana Vertex AI mengelola resource deployment untuk Anda, lihat Men-deploy model ke endpoint. Dalam lingkungan yang dikelola sendiri, Anda memiliki kontrol yang lebih terperinci atas resource, tetapi Anda mengelolanya sendiri. Dengan lingkungan yang dikelola sendiri, Anda dapat menayangkan model di platform seperti GKE.

Setelah menentukan jenis lingkungan tempat Anda ingin men-deploy, pertimbangkan traffic yang diperkirakan, persyaratan latensi, dan anggaran Anda. Anda perlu menyeimbangkan faktor-faktor ini dengan sumber daya fisik Anda. Misalnya, jika prioritasnya adalah biaya yang lebih rendah, Anda dapat menoleransi latensi yang lebih tinggi dengan mesin yang berbiaya lebih rendah. Lingkungan pengujian adalah contoh yang baik dari kompromi ini. Untuk mengetahui informasi selengkapnya tentang cara memilih jenis mesin, lihat notebook Menentukan jenis mesin ideal yang akan digunakan untuk endpoint Vertex AI.

Responsible AI

AI Generatif di Vertex AI dirancang dengan mempertimbangkan prinsip AI Google. Namun, Anda harus menguji model untuk memastikan bahwa model tersebut digunakan secara aman dan bertanggung jawab. Karena fleksibilitas yang luar biasa dari LLM, sulit untuk memprediksi respons yang tidak diinginkan atau tidak terduga.

Saat mengembangkan aplikasi untuk kasus penggunaan Anda, pertimbangkan keterbatasan model AI generatif sehingga Anda dapat mengurangi potensi penyalahgunaan dan masalah yang tidak diinginkan dengan benar. Salah satu contoh batasan model adalah bahwa model hanya akan sebagus data yang Anda gunakan. Jika Anda memberikan data yang kurang optimal kepada model, seperti data yang tidak akurat atau tidak lengkap, Anda tidak dapat mengharapkan performa yang optimal. Verifikasi bahwa data input dan perintah Anda akurat. Jika tidak, model mungkin memiliki performa yang kurang optimal atau output model yang salah. Untuk mempelajari batasan model AI generatif lebih lanjut, lihat Responsible AI.

Langkah selanjutnya