Penyesuaian model untuk model teks Gemini

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

Batasan

  • Model Gemini tidak mendukung skor keyakinan.
  • Gemini tidak dapat memberikan skor numerik untuk analisis sentimen. Batasan ini akan membatasi kemampuan untuk memperkirakan sentimen berdasarkan ambang batas numerik.

Untuk meningkatkan keandalan output model AI Anda, pertimbangkan untuk menyertakan metode seperti konsistensi diri untuk penilaian kepercayaan. Teknik ini menghasilkan beberapa output dari model untuk input yang sama, lalu menerapkan model sistem pemungutan suara untuk menentukan {i>output<i} yang paling mungkin. Skor keyakinan dapat direpresentasikan sebagai rasio yang mencerminkan proporsi waktu output mayoritas dibuat.

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

Penyesuaian model teks dengan Gemini

Ada dua opsi yang dapat Anda gunakan untuk menyesuaikan model teks dan analisis sentimen dengan Gemini, menggunakan perintah dengan model terlatih dan fine-tuning kustom.

  • Memberikan perintah dengan model Gemini terlatih: Memberi perintah adalah seni membuat instruksi yang efektif untuk memandu model AI seperti Gemini dalam menghasilkan output yang diinginkan. Pendekatan ini melibatkan desain {i>prompt<i} (petunjuk) yang menyampaikan tugas dengan jelas, format yang diinginkan, dan konteks yang relevan. Anda dapat menggunakan kemampuan Gemini dengan penyiapan minimal. Solusi ini paling cocok untuk:

    • Data berlabel terbatas: Jika Anda memiliki sedikit data berlabel atau tidak mampu melakukan proses {i>fine-tuning<i} yang lama.
    • Membuat prototipe cepat: Saat Anda perlu menguji konsep dengan cepat atau mendapatkan dasar pengukuran performa tanpa investasi besar dalam fine-tuning.
  • Penyesuaian model Gemini yang disesuaikan: Untuk hasil yang lebih disesuaikan, Gemini memungkinkan Anda meningkatkan kualitas modelnya pada set data tertentu. Untuk membuat model AI yang unggul dalam domain spesifik Anda, pertimbangkan untuk melakukan fine-tuning. Ini melibatkan pelatihan ulang model dasar pada set data berlabel Anda sendiri, menyesuaikan bobot pada tugas dan data Anda. Anda dapat menyesuaikan Gemini dengan kasus penggunaan Anda. Fine-tuning paling efektif saat:

    • Anda telah memberi label pada data: Set data yang cukup besar untuk dilatih (bayangkan 100 contoh atau lainnya), yang memungkinkan model mempelajari spesifikasi tugas Anda secara mendalam.
    • Tugas yang kompleks atau unik: Untuk skenario dengan tingkat lanjut strategi prompt saja tidaklah cukup, dan model yang disesuaikan dengan data Anda sangatlah penting.

Cobalah kedua pendekatan tersebut jika memungkinkan untuk melihat mana yang memberikan hasil lebih baik untuk kasus penggunaan. Sebaiknya mulai dengan memberikan perintah untuk menemukan dialog yang optimal. Lalu: lanjutkan ke fine-tuning (jika perlu) untuk lebih meningkatkan performa atau memperbaiki error berulang.

Meskipun menambahkan lebih banyak contoh mungkin bermanfaat, penting untuk mengevaluasi di mana model membuat kesalahan sebelum menambahkan lebih banyak data. Terlepas dari pendekatannya, data berkualitas tinggi dan berlabel baik sangat penting untuk mendapatkan kinerja yang baik dan lebih baik daripada kuantitas. Selain itu, data yang Anda gunakan untuk fine-tuning juga harus mencerminkan jenis data yang akan ditemui model dalam produksi. Untuk pengembangan model, deployment, dan digital, lihat dokumentasi Vertex AI utama.

Membuat perintah dengan Gemini

Anda menggunakan kemampuan pemahaman bahasa yang dimiliki model Gemini dengan beri mereka beberapa contoh tugas Anda (klasifikasi, ekstraksi, analisis sentimen) dalam prompt itu sendiri. Model akan belajar dari contoh-contoh berikut dan menerapkan pengetahuan itu pada input baru Anda.

Teknik pemberian perintah umum yang dapat digunakan untuk mengoptimalkan hasil meliputi:

  • Zero-shot prompting: Memberi instruksi langsung kepada model untuk melakukan tugas tanpa dengan memberikan contoh spesifik.
  • Few-shot prompting: Memberikan beberapa contoh beserta petunjuk untuk memandu pemahaman model.
  • {i>Chain of minding prompting<i}: Pecah tugas yang kompleks menjadi beberapa langkah yang lebih kecil dan memandu model melalui setiap langkah secara berurutan.

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

Model bahasa besar (LLM), dilatih dengan data teks besar, mempelajari pola bahasa serta hubungannya. Saat diminta, model ini memprediksi kelanjutan yang paling mungkin, mirip dengan pelengkapan otomatis lanjutan. Jadi, saat membuat prompt, pertimbangkan faktor-faktor yang memengaruhi prediksi model.

Proses prompt engineering diilustrasikan dalam diagram berikut: Prompt Engineering

Mempersiapkan data input

Ada beberapa teknik pemberian perintah yang dapat Anda gunakan. Contoh berikut menunjukkan cara menggunakan teknik few-shot prompting:

Klasifikasi

Minta

               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

Minta

            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

Minta

            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 Classification. 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 warna dengan Gemini 1.0 Pro

Penyempurnaan 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

Konversi data pelatihan Anda ke dalam format penyesuaian Gemini, yang menggunakan JSONL struktur file. 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 dokumen Gemini panduan persiapan set data.

Menjalankan pipeline fine-tuning

Untuk memulai tugas penyesuaian Gemini Anda, ikuti panduan langkah demi langkah ini menggunakan antarmuka pengguna, Python, atau REST API. Selama penyiapan, pilih Versi model Gemini, mengonfigurasi penyesuaian hyperparameter, dan menentukan pengaturan keseluruhan. Sebaiknya lakukan eksperimen dengan berbagai nilai untuk epoch, pengali kecepatan pembelajaran, dan ukuran adaptor. Untuk set data dengan 500 hingga 1000 contoh, pertimbangkan untuk memulai dengan konfigurasi berikut untuk mendapatkan pemahaman yang baik pembelajaran model dan menemukan setelan parameter yang optimal untuk tugas Anda:

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

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

Alat dan teknik evaluasi

Evaluasi model yang konsisten dan sebanding sangat penting untuk memahami kinerja dan membuat keputusan yang tepat. Berikut adalah beberapa teknik dan alat untuk ingat selama evaluasi model:

  1. Pertahankan 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 model dan deployment. Hal ini memastikan perbandingan yang adil terhadap berbagai jenis model dan membantu mengidentifikasi perbedaan kualitas.
  2. Alat dan teknik evaluasi Layanan evaluasi AI Generatif Vertex AI: Menawarkan latensi rendah dan sinkron evaluasi pada batch data kecil. Cocok untuk evaluasi on demand, cepat iterasi, dan eksperimen. Terintegrasi 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 telah disesuaikan, lihat Men-deploy model yang telah disesuaikan.

Langkah selanjutnya