Contoh untuk menyesuaikan model teks Gemini

Halaman ini memberikan langkah-langkah yang direkomendasikan untuk membantu Anda menyesuaikan model teks dengan Gemini. Panduan ini membahas kasus penggunaan klasifikasi, analisis sentimen, dan ekstraksi.

Batasan

  • Model Gemini tidak mendukung skor keyakinan.
  • Gemini tidak dapat memberikan skor numerik untuk analisis sentimen. Hal ini membatasi kemampuan untuk memperkirakan sentimen berdasarkan nilai minimum numerik.

Untuk meningkatkan keandalan output model AI Anda, pertimbangkan untuk menggabungkan metode seperti konsistensi mandiri untuk penskoran keyakinan. Teknik ini menghasilkan beberapa output dari model untuk input yang sama, lalu menggunakan sistem voting mayoritas untuk menentukan output yang paling mungkin. Skor keyakinan dapat diwakili sebagai rasio yang mencerminkan proporsi frekuensi output mayoritas dibuat.

Untuk tugas analisis sentimen, pertimbangkan untuk menggunakan LLM sebagai penilai untuk memberikan skor keyakinan verbal. Minta model untuk menganalisis sentimen, lalu menampilkan skor verbal (misalnya, "sangat mungkin") bukan skor numerik. Skor verbal umumnya lebih mudah ditafsirkan dan tidak terlalu rentan terhadap bias dalam konteks LLM.

Penyesuaian model teks dengan Gemini

Ada dua opsi yang dapat Anda gunakan untuk menyesuaikan model teks untuk klasifikasi, ekstraksi, dan analisis sentimen dengan Gemini, yang meminta dengan model terlatih dan penyesuaian yang disesuaikan.

  • Membuat perintah dengan model Gemini terlatih: Membuat perintah adalah seni menyusun petunjuk yang efektif untuk memandu model AI seperti Gemini dalam menghasilkan output yang Anda inginkan. Hal ini melibatkan perancangan perintah yang dengan jelas menyampaikan tugas, format yang Anda inginkan, dan konteks yang relevan. Anda dapat menggunakan kemampuan Gemini dengan penyiapan minimal. Fitur ini paling cocok untuk:

    • Data berlabel terbatas: Jika Anda memiliki data berlabel dalam jumlah kecil atau tidak dapat melakukan proses penyesuaian yang panjang.
    • Pembuatan prototipe cepat: Saat Anda perlu menguji konsep dengan cepat atau mendapatkan performa dasar tanpa investasi besar dalam penyesuaian.
  • Penyesuaian model Gemini yang disesuaikan: Untuk hasil yang lebih disesuaikan, Gemini memungkinkan Anda menyesuaikan modelnya pada set data tertentu. Untuk membuat model AI yang unggul di domain tertentu, pertimbangkan untuk melakukan penyesuaian. Hal ini mencakup melatih ulang model dasar pada set data berlabel Anda sendiri, dengan menyesuaikan bobotnya ke tugas dan data Anda. Anda dapat menyesuaikan Gemini dengan kasus penggunaan Anda. Penyesuaian paling efektif jika:

    • Anda memiliki data berlabel: Set data yang cukup besar untuk dilatih (misalnya, 100 contoh atau lebih), yang memungkinkan model mempelajari detail tugas Anda secara mendalam.
    • Tugas yang kompleks atau unik: Untuk skenario saat strategi perintah lanjutan tidak memadai, dan model yang disesuaikan dengan data Anda sangat penting.

Coba kedua pendekatan tersebut jika memungkinkan untuk melihat mana yang memberikan hasil yang lebih baik untuk kasus penggunaan tertentu Anda. Sebaiknya mulai dengan perintah untuk menemukan perintah yang optimal. Kemudian, lanjutkan ke penyesuaian (jika diperlukan) untuk lebih meningkatkan performa atau memperbaiki error berulang.

Meskipun menambahkan lebih banyak contoh mungkin bermanfaat, penting untuk mengevaluasi tempat model melakukan kesalahan sebelum menambahkan lebih banyak data. Apa pun pendekatannya, data berkualitas tinggi dan berlabel baik sangat penting untuk performa yang baik dan lebih baik daripada kuantitas. Selain itu, data yang Anda gunakan untuk penyesuaian harus mencerminkan jenis data yang akan ditemui model dalam produksi. Untuk pengembangan, deployment, dan pengelolaan model, lihat dokumentasi Vertex AI utama.

Memasukkan perintah ke Gemini

Anda menggunakan kemampuan pemahaman bahasa model Gemini dengan memberikan beberapa contoh tugas Anda (klasifikasi, ekstraksi, analisis sentimen) dalam perintah itu sendiri. Model akan mempelajari contoh-contoh ini dan menerapkan pengetahuan tersebut ke input baru Anda.

Teknik perintah umum yang dapat digunakan untuk mengoptimalkan hasil meliputi:

  • Zero-shot prompting: Memberi instruksi langsung kepada model untuk melakukan tugas tanpa memberikan contoh spesifik.
  • Few-shot prompting: Memberikan beberapa contoh bersama petunjuk untuk membimbing pemahaman model.
  • Perintah rantai pemikiran: Memecah tugas kompleks menjadi langkah-langkah yang lebih kecil dan memandu model melalui setiap langkah secara berurutan.

Meskipun desain perintah bersifat fleksibel, strategi tertentu dapat memandu output model. Pengujian dan evaluasi yang menyeluruh sangat penting untuk mengoptimalkan performa.

Model bahasa besar (LLM), yang dilatih pada data teks dalam jumlah besar, mempelajari pola dan hubungan bahasa. Dengan perintah, model ini memprediksi kemungkinan kelanjutan yang paling mungkin, seperti pelengkapan otomatis lanjutan. Jadi, saat membuat perintah, pertimbangkan faktor yang memengaruhi prediksi model.

Proses rekayasa perintah diilustrasikan dalam diagram berikut: Proses rekayasa perintah

Mempersiapkan data input

Ada beberapa teknik perintah yang dapat Anda gunakan. Contoh berikut menunjukkan cara menggunakan teknik perintah beberapa tembakan:

Klasifikasi

Permintaan

               Classify the following as red wine or white wine:
               
                  Name: Chardonnay
                  Type: White wine
                  Name: Cabernet
                  Type: Red wine
                  Name: Moscato
                  Type: White wine
               
               Name: Riesling
               Type:
            

Respons

         White wine
         

Extraction

Permintaan

            Extract the technical specifications from the text below in a JSON format.
INPUT: Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz frequencies, WP3 protocol OUTPUT: { "product":"Google Nest Wifi", "speed":"1200Mpbs", "frequencies": ["2.4GHz", "5GHz"], "protocol":"WP3" } Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass

Respons

         {
         "product": "Google Pixel 7",
         "network": "5G",
         "ram": "8GB",
         "processor": "Tensor G2",
         "storage": "128GB",
         "color": "Lemongrass"
         }
         

Analisis sentimen

Permintaan

            Classify the sentiment of the message. Please only print the category name without anything else.
            
               Message: I had to compare two versions of Hamlet for my Shakespeare class and unfortunately I picked this version. Everything from the acting (the actors deliver most of their lines directly to the camera) to the camera shots (all medium or close up shots...no scenery shots and very little back ground in the shots) were absolutely terrible. I watched this over my spring break and it is very safe to say that I feel that I was gypped out of 114 minutes of my vacation. Not recommended by any stretch of the imagination.
               Category: negative
               Message: This Charles outing is decent but this is a pretty low-key performance. Marlon Brando stands out. There's a subplot with Mira Sorvino and Donald Sutherland that forgets to develop and it hurts the film a little. I'm still trying to figure out why Charlie want to change his name.
               Category: negative
Message: My family has watched Arthur Bach stumble and stammer since the movie first came out. We have most lines memorized. I watched it two weeks ago and still get tickled at the simple humor and view-at-life that Dudley Moore portrays. Liza Minelli did a wonderful job as the side kick - though I'm not her biggest fan. This movie makes me just enjoy watching movies. My favorite scene is when Arthur is visiting his fiancée's house. His conversation with the butler and Susan's father is side-spitting. The line from the butler, "Would you care to wait in the Library" followed by Arthur's reply, "Yes I would, the bathroom is out of the question", is my NEWMAIL notification on my computer.

Respons

         Positive
         

Mendapatkan respons prediksi

Berikut adalah contoh respons kode Python untuk contoh Klasifikasi. Untuk mengetahui informasi selengkapnya, lihat Ringkasan AI Generatif di Vertex AI.

from vertexai import generative_models
from vertexai.generative_models import GenerativeModel

model = GenerativeModel(model_name="gemini-1.5-flash-001")
response = model.generate_content(["Classify the following as red wine or white wine:

<examples>
Name: Chardonnay
Type: White wine
Name: Cabernet
Type: Red wine
Name: Moscato
Type: White wine
</examples>

Name: Riesling
Type: "])

Penyesuaian dengan Gemini 1.0 Pro

Penyesuaian memungkinkan Anda menyesuaikan Gemini 1.0 Pro dengan kebutuhan spesifik Anda. Ikuti langkah-langkah berikut untuk menyesuaikan Gemini 1.0 Pro dengan data Anda sendiri:

Menyiapkan data pelatihan

Konversikan data pelatihan Anda ke dalam format penyesuaian Gemini, yang menggunakan struktur file JSONL. Setiap baris dalam file harus mewakili satu contoh pelatihan. Setiap contoh pelatihan harus mengikuti struktur ini:

{"messages": [{"role": "system", "content": "<system_context>"}, {"role": "user", "content": "<user_input>"}, {"role": "model", "content": "<desired_output>"}]}

Berikut adalah contoh entri yang memiliki dua titik data:

{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}, {"role": "user", "content": "Diversify your investment portfolio"}, {"role": "model", "content": "business"}]}
{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}, {"role": "user", "content": "Watch a live concert"}, {"role": "model", "content": "entertainment"}]}

Untuk petunjuk komprehensif dan contoh lainnya, lihat panduan persiapan set data Gemini resmi.

Menjalankan pipeline penyesuaian

Untuk memulai tugas penyesuaian Gemini, ikuti panduan langkah demi langkah ini menggunakan antarmuka pengguna, Python, atau REST API. Selama penyiapan, pilih versi model Gemini, konfigurasikan hyperparameter penyesuaian halus, dan tentukan setelan secara keseluruhan. Sebaiknya bereksperimen dengan berbagai nilai untuk epoch, pengganda kecepatan pembelajaran, dan ukuran adaptor. Untuk set data dengan 500 hingga 1.000 contoh, pertimbangkan untuk memulai dengan konfigurasi berikut untuk mendapatkan pemahaman yang baik tentang pembelajaran model dan menemukan setelan parameter yang optimal untuk tugas Anda:

  • epochs=2, learning_rate_multiplier=1, adapter_size=1;
  • epochs=4, learning_rate_multiplier=1, adapter_size=1 (default);
  • epochs=6, learning_rate_multiplier=1, adapter_size=4;
  • epochs=12, learning_rate_multiplier=4, adapter_size=4; dan
  • epochs=12, learning_rate_multiplier=4, adapter_size=1.

Dengan mengevaluasi performa satu atau dua konfigurasi yang berbeda, Anda dapat mengidentifikasi parameter dan modifikasi mana yang paling efektif dalam meningkatkan performa. Jika target tingkat performa tidak tercapai, Anda dapat terus bereksperimen dengan konfigurasi yang menjanjikan ini.

Alat dan teknik evaluasi

Evaluasi model yang konsisten dan sebanding sangat penting untuk memahami performa dan membuat keputusan yang tepat. Berikut beberapa teknik dan alat yang perlu diingat selama evaluasi model:

  1. Mempertahankan metodologi evaluasi yang konsisten: Gunakan metrik dan metode evaluasi yang sama untuk model yang disesuaikan dan model yang diminta. Hal ini memfasilitasi perbandingan langsung dan tidak bias. Jika memungkinkan, gunakan set data evaluasi yang sama dengan yang digunakan selama pengembangan dan deployment model. Hal ini memastikan perbandingan yang adil di seluruh jenis model dan membantu mengidentifikasi perbedaan kualitas.
  2. Alat dan teknik evaluasi Layanan evaluasi AI Generatif Vertex AI: Menawarkan evaluasi sinkron dengan latensi rendah pada batch data kecil. Cocok untuk evaluasi on demand, iterasi cepat, dan eksperimen. Berintegrasi dengan layanan Vertex AI lainnya dengan Python SDK.
  3. Rekomendasi untuk klasifikasi, ekstraksi, dan analisis sentimen: Sertakan metrik exact_match saat menggunakan layanan evaluasi.

Deployment

Untuk men-deploy model yang disesuaikan, lihat Men-deploy model yang disesuaikan.

Langkah selanjutnya