Program
Hingga baru-baru ini, melakukan fine-tuning GPT-4o hanya mungkin dengan teks. Kini, dengan OpenAI’s terbaru fine-tuning API, kita juga dapat menyesuaikan GPT-4o dengan gambar. Ini berarti kita dapat menyesuaikan kemampuan GPT-4o untuk kasus penggunaan kita.
Pembaruan ini membuka kemungkinan baru—bayangkan melakukan fine-tuning GPT-4o untuk pencarian visual yang lebih akurat, pendeteksian objek, atau bahkan analisis gambar medis.
Dalam tutorial ini, saya akan memberikan panduan langkah demi langkah tentang fine-tuning GPT-4o dengan gambar. Secara khusus, kita akan melakukan fine-tuning model agar dapat mengidentifikasi gereja Ortodoks Georgia dengan benar.
Harga Fine-Tuning Visual GPT-4o
OpenAI menawarkan satu juta token gratis per hari hingga 31 Oktober untuk melakukan fine-tuning model GPT-4o dengan gambar, yang merupakan kesempatan bagus untuk mengeksplorasi kemampuan fine-tuning visual GPT-4o.
Setelah 31 Oktober, biaya pelatihan akan beralih ke model bayar sesuai pemakaian, dengan biaya $25 per satu juta token. Selain itu, akan ada biaya inferensi untuk setiap masukan ($3,75 per satu juta token) dan keluaran ($15 per satu juta token).
Perlu dicatat bahwa informasi ini akurat per 10 Oktober, jadi pastikan merujuk ke halaman harga OpenAI untuk detail terbaru tentang harga dan ketersediaan.
Tantangan Masalah Visual GPT-4o
Mari langsung ke bagian menarik. Bagaimana sebenarnya kita melakukan fine-tuning visual untuk GPT-4o?
Mari mulai dengan mengevaluasi seberapa baik GPT-4o mengenali gereja Georgia berikut ini:

Ketika ditanya, model mengira gambar tersebut adalah Gereja St. Nicholas di Georgia, padahal sebenarnya itu adalah kuil Kabar Sukacita Kudus Kutaisi.
Jelas, masih ada ruang untuk perbaikan, dan di sinilah fine-tuning berperan.
Menyiapkan Berkas JSONL
Pertama, kita perlu menyiapkan dataset pelatihan untuk memulai fine-tuning. Menurut dokumentasi resmi, kita memerlukan berkas JSONL yang terstruktur seperti ini:
{
"messages": [
{
"role": "system",
"content": "You are an assistant that identifies Georgian orthodox churches."
},
{
"role": "user",
"content": "What is this church called?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/e/e8/Khareba_church.jpg"
}
}
]
},
{
"role": "assistant",
"content": "Kutaisi Holy Annunciation temple"
}
]
}
//second example
{
"messages": [
{
"role": "system",
"content": "You are an assistant that identifies Georgian orthodox churches."
},
{
"role": "user",
"content": "What is this church called?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/en/a/af/Holy_Trinity_Cathedral_of_Tbilisi.jpg"
}
}
]
},
{
"role": "assistant",
"content": "Holy trinity cathedral"
}
]
}
//other examples below
Demi keterbacaan dan ruang, saya hanya menyertakan cuplikan JSONL pelatihan saya dengan dua entri; contoh pelatihan lainnya harus ditambahkan pada baris terpisah.
Perhatikan bahwa kita memerlukan setidaknya 10 contoh untuk menjalankan fine-tuning. Setiap baris merepresentasikan objek JSON independen dengan array messages.
Perhatikan juga bahwa JSONL tidak mendukung komentar, jadi saya memutuskan menambahkan komentar setelah // demi kebutuhan panduan. Pastikan untuk menghapusnya sebelum pelatihan.
Anda dapat menggunakan editor teks biasa seperti Notepad, atau jika Anda bekerja dengan banyak contoh, sebaiknya otomatisasi pembuatan berkas ini menggunakan skrip. Setelah berkas JSONL siap, Anda dapat memulai proses fine-tuning.
Fine-tuning GPT-4o dengan Gambar
Sekarang, dengan JSONL yang siap, kita perlu masuk ke dasbor OpenAI dan memilih opsi Create:

Di menu yang muncul:
- Pilih model
gpt-4o-2024-08-06. - Unggah berkas JSONL pelatihan.
- Anda juga dapat mengatur hiperparameter atau membiarkan semuanya pada otomatis.
Setelah kita membuat job, fine-tuning akan mulai secara otomatis:

Rutinitas fine-tuning saya memakan waktu sekitar 20 menit (jumlah epoch diatur otomatis menjadi 9). Bergantung pada ukuran dataset dan kompleksitas model, ini dapat bervariasi, tetapi Anda akan diberi tahu setelah selesai.
Menguji Model GPT-4o yang Telah Di-fine-tune
Setelah selesai, Anda dapat mengakses agen yang telah di-fine-tune melalui API atau Playground.
Untuk kesederhanaan, saya akan menggunakan Playground untuk pengujian. Mari lihat apakah model dapat mengidentifikasi gereja dengan benar kali ini:

Seperti terlihat, agen yang telah di-fine-tune (di kanan) mengidentifikasi gereja dengan benar, meskipun gambar tersebut tidak ada dalam dataset pelatihan. Model biasa (di kiri) masih salah!
Kesimpulan
Dalam tutorial ini, kita menelusuri proses fine-tuning GPT-4o dengan gambar.
Kita mulai dengan menyoroti keterbatasan awal model dalam mengidentifikasi jenis gereja tertentu. Untuk mengatasinya, kita menyiapkan berkas JSONL yang berisi pasangan gambar-teks untuk pelatihan. Lalu, kita menggunakan API fine-tuning OpenAI untuk membuat model yang disesuaikan.
Terakhir, kita menguji model yang telah di-fine-tune dan mengamati peningkatan akurasinya dalam mengidentifikasi gereja.
Walaupun contoh ini berfokus pada kasus penggunaan spesifik, prinsip dan teknik dasarnya dapat diterapkan pada berbagai tugas terkait gambar, yang menunjukkan potensi kemampuan fine-tuning visual GPT-4o. Saya merekomendasikan untuk membaca kasus penggunaan dalam artikel pengumuman OpenAI.
Untuk mempelajari lebih lanjut tentang cara bekerja dengan produk OpenAI, saya merekomendasikan sumber daya berikut:

