Fine-tuning GPT-3.5 Turbo dan pembaruan API
(openai.com)- Developer kini dapat menyesuaikan GPT‑3.5 Turbo untuk use case mereka dengan data sendiri, dan fine-tuning GPT‑4 dijadwalkan tersedia pada musim gugur
- Dalam pengujian awal, GPT‑3.5 Turbo yang telah di-fine-tune menunjukkan performa yang setara atau lebih baik daripada GPT‑4 dasar pada beberapa tugas sempit, dan data input/output API tetap dimiliki pelanggan
- Pelanggan private beta melihat peningkatan dalam kepatuhan terhadap instruksi, kestabilan format output, dan penyesuaian tone merek, sementara fine-tuning GPT‑3.5 Turbo menangani 4k token
- Beberapa early tester melatih instruksi langsung ke dalam model sehingga ukuran prompt bisa berkurang hingga 90%, yang dapat menghasilkan panggilan lebih cepat dan biaya lebih rendah
- Seiring penghentian model dasar GPT‑3 lama,
babbage-002dandavinci-002disediakan sebagai model pengganti, dan/v1/fine_tuning/jobsyang baru menggantikan/v1/fine-tuneslama
Fine-tuning GPT‑3.5 Turbo tersedia
- Developer kini dapat membawa data mereka sendiri untuk mengustomisasi GPT‑3.5 Turbo sesuai use case mereka
- Fine-tuning GPT‑3.5 Turbo sudah tersedia saat ini, dan fine-tuning GPT‑4 dijadwalkan hadir pada musim gugur
- Dalam pengujian awal, GPT‑3.5 Turbo yang telah di-fine-tune menunjukkan kemampuan yang setara atau lebih baik daripada GPT‑4 dasar pada beberapa tugas sempit
- Data yang dikirim dan diterima melalui API fine-tuning tetap dimiliki pelanggan, dan tidak digunakan oleh OpenAI atau organisasi lain untuk melatih model lain
- Kebijakan terkait: API data privacy
Use case dengan performa yang ditingkatkan
- Pelanggan private beta meningkatkan performa di berbagai use case umum dengan supervised fine-tuning
- Peningkatan kepatuhan terhadap instruksi: model dapat dibuat lebih patuh terhadap instruksi, seperti membuat output lebih singkat atau selalu merespons dalam bahasa tertentu
- Format output yang stabil: lebih mampu mempertahankan format yang konsisten untuk aplikasi yang membutuhkan format respons tertentu, seperti code completion atau pembuatan API call
- Tone yang disesuaikan: tone output model dapat diatur lebih konsisten agar sesuai dengan suara merek perusahaan
- Fine-tuning tidak hanya dipakai untuk meningkatkan performa, tetapi juga untuk memperpendek prompt sambil mempertahankan performa serupa
- Fine-tuning GPT‑3.5 Turbo menangani 4k token, sekitar dua kali lipat dibanding model fine-tuning OpenAI sebelumnya
- Para early tester melatih instruksi ke dalam model itu sendiri dan mengurangi ukuran prompt hingga 90%, membantu meningkatkan kecepatan panggilan API dan menurunkan biaya
- Fine-tuning paling kuat saat digabungkan dengan teknik lain seperti prompt engineering, information retrieval, function calling
- Cara penggunaannya dapat dilihat di fine-tuning guide
- Dukungan fine-tuning untuk function calling dan
gpt-3.5-turbo-16kdijadwalkan tersedia pada akhir musim gugur
Penanganan keamanan dan harga
- OpenAI menjalankan data pelatihan melalui Moderation API dan moderation system berbasis GPT‑4 untuk mempertahankan fitur keamanan model dasar
- Proses moderation ini merupakan prosedur untuk mendeteksi data pelatihan yang tidak aman dan bertentangan dengan standar keamanan
- Biaya fine-tuning GPT‑3.5 Turbo dibagi menjadi biaya pelatihan dan biaya penggunaan
- Pelatihan: $0.008 per 1K token
- Input penggunaan: $0.012 per 1K token
- Output penggunaan: $0.016 per 1K token
- Sebagai contoh, estimasi biaya untuk pekerjaan fine-tuning
gpt-3.5-turbodengan file pelatihan 100.000 token yang dilatih selama 3 epoch adalah $2.40
Pengganti model GPT‑3 dan perubahan API
- OpenAI mengumumkan pada Juli 2023 bahwa model dasar GPT‑3 lama, yaitu
ada,babbage,curie,davinci, akan dihentikan pada 4 Januari 2024 babbage-002dandavinci-002adalah model pengganti untuk model-model tersebut, dan dapat digunakan sebagai model dasar maupun model fine-tuning- Pelanggan dapat mengakses
babbage-002dandavinci-002dengan memanggil Completions API - Model-model ini dapat di-fine-tune melalui endpoint API baru,
/v1/fine_tuning/jobs - Endpoint baru ini menyediakan pagination dan skalabilitas yang lebih tinggi untuk mendukung evolusi fine-tuning API ke depan
- Cara berpindah dari endpoint
/v1/fine-tuneslama ke endpoint baru dirangkum di fine-tuning guide - Endpoint
/v1/fine-tuneslama kini berstatus deprecated dan dijadwalkan dihentikan pada 4 Januari 2024
1 komentar
Opini Hacker News
Bisakah ada yang menjelaskan dengan mudah apa sebenarnya yang dilakukan fine-tuning?
Saya penasaran apakah itu menunjukkan kepada model cara menjawab pertanyaan, memberi informasi baru, atau keduanya
Misalnya, jika ingin memakai LLM untuk pertanyaan tentang basis pengetahuan privat yang besar, apakah benar modelnya di-fine-tune dengan basis pengetahuan itu; kalau begitu bagaimana halusinasi dikurangi, dan apakah itu lebih baik daripada memasukkan dokumen terkait ke prompt setiap kali
Apa persisnya arti “mirip” pada prompt baru lebih mendekati ilmu hitam generalisasi
Ini bisa dipakai untuk mengajarkan gaya, informasi, atau keduanya, tetapi tidak ada cara yang sempurna untuk membuat model menjawab hanya berdasarkan data fine-tuning
Jika memasukkan banyak contoh yang menolak topik yang tidak terkait dengan X, performanya bisa diharapkan sampai taraf tertentu
Untuk basis pengetahuan privat yang besar, biasanya fine-tuning tidak direkomendasikan; yang disarankan adalah pendekatan berbasis pencarian
Jika informasi dimasukkan ke input, sumbernya bisa diperiksa dan model lebih mudah menjawab tanpa berhalusinasi
Namun pencarian kuat untuk pertanyaan tipe lookup, tetapi bisa lemah pada pertanyaan yang perlu membandingkan atau menggabungkan beberapa sumber, sehingga fine-tuning bisa punya sebagian keuntungan
Tulisan blog ini juga tampaknya sejalan dengan itu
Saya juga penasaran bagaimana OpenAI melakukan fine-tuning, tapi sepertinya bukan LoRA
Seperti terlihat dari halusinasi, model bahasa bukan alat untuk menyimpan atau mengakses data
Untuk menyimpan dan mengakses data, lebih tepat memakai embedding + basis data vektor
Fine-tuning digunakan untuk mengubah jenis bahasa yang dihasilkan model
Jika ingin AI yang menulis seperti jurnalis, fine-tune dengan artikel koran; jika ingin AI yang menulis ulasan, fine-tune dengan ulasan
Lihat https://huyenchip.com/2023/05/02/rlhf.html
Ini cukup berbeda dari fine-tuning model dasar itu sendiri atau melakukan RLHF
Ini bisa cocok untuk menyesuaikan tujuan agar model bertindak dengan cara tertentu atau melakukan tugas lain, bukan sebagai chatbot umum
Sebaliknya, menambahkan pengetahuan ke bot lebih dekat dengan grounded generation atau retrieval-augmented generation (GG/RAG), yaitu pendekatan untuk memperkaya model dasar dengan data baru, misalnya data rahasia
Untuk tanya-jawab atas basis pengetahuan privat yang besar, menurut saya ini tidak tepat dan GG/RAG lebih cocok
Saya juga baru-baru ini menulis tentang hal terkait: https://vectara.com/fine-tuning-vs-grounded-generation/
Pada level tinggi, ini memungkinkan lebih banyak data yang tidak muat di prompt dimasukkan ke dalam model
Basis pengetahuan privat yang besar adalah salah satu contoh utama dalam kursus itu, dan untuk skenario yang spesifik domain atau sangat mementingkan privasi, fine-tuning bisa lebih masuk akal daripada prompting
Kalimat “data pelatihan fine-tuning melewati Moderation API dan sistem peninjauan berbasis GPT-4” terdengar akan cukup mahal
Melihat harga API, menjalankan inferensi GPT-4 lebih mahal daripada melatih model, jadi sepertinya GPT-4 hanya dipakai ketika penilaian keamanannya ambigu
Jika saya sudah tahu jenis bahasa yang saya inginkan, saya tidak mengerti mengapa harus membiarkan OpenAI meninjau dataset penyesuaian parameter saya
Saat melakukan fine-tuning Llama2 13B atau 70B, biasanya harus menyewa GPU cloud, jadi saya penasaran bagaimana perbandingannya dengan fine-tuning OpenAI
Dengan OpenAI, kita tidak perlu menyewa infrastruktur sendiri dan biayanya termasuk dalam tarif penggunaan; saya ingin mendengar perbandingan dari sudut pandang orang yang pernah melakukan fine-tuning model Llama2
Menurut saya “fine-tuning” GPT berbeda dari fine-tuning model seperti Llama2
Kemungkinan besar yang disesuaikan bukan semua bobot jaringan, melainkan hanya sebagian yang sangat kecil, dan cara persis OpenAI melakukannya adalah teknologi proprietary
Komprominya adalah fine-tuning OpenAI lebih murah, tetapi dayanya lebih lemah daripada fine-tuning “sungguhan”
Terutama jika 13B sudah cukup, dan di modal.com inferensi model llama2 13B yang sudah di-fine-tune bisa dipakai kira-kira pada level $0.003 per 1K token
Pasti ada opsi yang lebih murah lagi
Jika datanya tidak sangat banyak, biaya pelatihan llama2 biasanya juga hanya beberapa dolar
Karena davinci-002 disediakan sebagai completion model, saya sempat mengira mereka kembali menyediakan model yang “tidak aman”, tetapi baik davinci-002 maupun babbage-002 masuk infinite loop pada permintaan completion yang “tidak aman”
text-davinci-003 dan text-curie-001 baik-baik saja, tetapi OpenAI tampaknya benar-benar tidak ingin menyediakan model tanpa sensor untuk digunakan
Biaya pembuatan untuk GPT-3.5 Turbo yang telah di-fine-tune adalah 8 kali dibanding model dasar, jadi agar efisien biaya, pengguna harus masuk ke wilayah yang disebut OpenAI sebagai “pengurangan ukuran prompt 90%”.
Mungkin lebih baik mengarahkan keluaran dengan few-shot prompting, yaitu memasukkan beberapa contoh di setiap prompt.
Tentu tidak cocok untuk semua use case, tetapi layak dicoba.
Selain itu, function calling juga belum bisa sampai setelah musim gugur tahun ini.
Karena sebagian besar pemakaian saya saat ini adalah function calling, sepertinya untuk sementara saya akan melewatkannya.
Saya penasaran dengan kesimpulan soal fine-tuning OAI, dan dulu di thread ini nuansanya adalah bahwa itu tidak benar-benar diperlukan: https://news.ycombinator.com/item?id=37174850
Saya penasaran apakah angka 90% itu persis angka yang muncul dari perhitungan di atas.
Jika hanya membandingkan GPT-3.5-turbo dengan GPT-3.5-turbo yang di-fine-tune, itu benar, tetapi jika mirip dengan fine-tuning model Llama-2, untuk berbagai use case praktis seperti pembuatan kueri SQL, ini bisa mencapai performa setingkat GPT-4.
Namun matematika atau coding kemungkinan besar tetap sulit kecuali di-fine-tune dengan data yang cukup besar.
Faktanya, model Llama-2 7B juga pernah menunjukkan performa setingkat GPT-4 setelah fine-tuning: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
GPT-3.5 terlalu buruk bagi saya, jadi tidak berguna.
Dalam menulis, ia mengulang jargon yang sama; dalam coding, terlalu sering salah; dan untuk pemrosesan bahasa alami pun saya harus berbicara jauh lebih eksplisit, sehingga terasa seperti chatbot rata-rata saja.
GPT-4 seharga $20 per bulan jauh lebih baik dalam segala hal, dan saya juga memakainya untuk pekerjaan Angular.
Jika AI menjelaskan semua alasannya, framework yang over-engineered ini pun mulai benar-benar bisa dipahami.
Bagus untuk dijadikan penerjemah, guru, dan asisten pemecahan masalah; kalau ini makin membaik, sulit membayangkan masih mencari jawaban masalah lewat Google.
Fitur yang saya inginkan adalah pemisahan prompt bawaan.
Saya pikir jika mereka berhenti mengurusi versi GPT lama dan perdebatan etika palsu, lalu fokus pada versi terbaik dari teknologi ini dan menjualnya seharga $20 per bulan, mereka bisa menghasilkan miliaran dan mengguncang banyak hal di internet.
Jawabannya menjadi repetitif dan hambar.
Kalau tidak akan dijadikan produk, upayanya mungkin tidak sepadan.
Namun banyak produk atau fitur LLM yang bernilai memiliki cakupan yang lebih sempit, dan fine-tuning bisa memberi peningkatan besar.
Misalnya dalam pembuatan kueri SQL, ada eksperimen di mana fine-tuning model Llama-2 7B pun melampaui GPT-4: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
LLM bersinar ketika sulit mengajukan pertanyaan yang tepat untuk Google.
Pertanyaan seperti “Dulu saya pernah mendengar studi yang dilakukan Google tentang karyawan baru dan GPA, yang mengatakan bahwa setelah GPA melewati 3,0 tidak ada bedanya. Bisa berikan tautan ke studi itu? Apakah ada studi lanjutan?” sulit dicari di Google dan mudah tenggelam di antara tautan soal GPA minimum dan pekerjaan.
Bard memberi informasi tentang Laszlo Bock dan bukunya, sehingga pencarian yang lebih tersaring seperti “Laszlo Bock Google GPA” menjadi mungkin.
Saya memasukkan kalimat yang sama ke beberapa LLM; ChatGPT memberi jawaban soal batas pengetahuan, Bard langsung menemukannya, dan Hugging Face Chat memberi Bock serta Project Oxygen dan Project Aristotle, jadi itu yang terbaik.
Claude tidak menemukan studi tersebut tetapi mengusulkan kandidat lain, dan LLaMa juga tidak menemukannya tetapi menyebut riset Google dan beberapa nama.
Saya setuju bahwa fine-tuning untuk akurasi justru memperburuk hasil.
Alignment pada saat yang sama juga merupakan misalignment, karena ia menggeser distribusi probabilitas, sehingga pasti ada trade-off.
Sayangnya, riset di area ini tidak populer, dan metode yang dibutuhkan menuntut pembahasan mendalam tentang jaringan serta probabilitas dan distribusi yang kontroversial, sehingga saat ini tampaknya mudah ditolak di konferensi papan atas.
Tuning berdasarkan preferensi manusia sebenarnya bukan tuning berdasarkan pengetahuan, melainkan menyesuaikan dengan hasil yang disukai manusia.
Itu sama saja memasukkan bias yang meretas manusia sebagai metrik evaluasi ke dalam model; meski rata-rata akurasi faktual meningkat, ia bisa membuat LLM lebih buruk dengan menyajikan informasi yang salah secara lebih meyakinkan.
Kita harus sangat berhati-hati terhadap paradoks Simpson dan paradoks Berkson, yang membuat evaluasi rusak karena cara agregasi data, dan pada dasarnya kita sedang melakukan tuning melalui hukum Goodhart.
Jika ada orang yang pernah melakukan fine-tuning pada model sebesar ini, saya penasaran biasanya berapa banyak data yang dibutuhkan agar efeknya terasa
Saya ingin tahu apakah 100k token yang disebut di dokumentasi benar-benar bisa berdampak besar pada perilaku model dasar, atau itu hanya contoh mainan
Jumlah pastinya sangat bergantung pada use case
Disarankan untuk memulai dengan 50 demo yang dibuat dengan baik terlebih dahulu dan melihat apakah ada sinyal peningkatan
Kalaupun belum cukup, jika terlihat peningkatan maka ada kemungkinan performanya akan terus membaik seiring ditambahnya data; jika tidak ada peningkatan, sebaiknya pikirkan ulang pengaturan tugas atau struktur data sebelum menambah contoh
Dengan hanya beberapa ribu contoh, perilaku model serta isi dan cara output-nya bisa berubah cukup besar
Mekanisme seperti LoRA adalah metode fine-tuning yang sangat efisien dengan trade-off berupa penurunan akurasi, dan mengubah hanya beberapa layer teratas pun dapat mengubah model cukup signifikan
Contohnya ada https://huggingface.co/datasets/b-mc2/sql-create-context dan https://huggingface.co/datasets/GEM/viggo
Sebaliknya, untuk belajar menyelesaikan soal matematika SD, 8K contoh pun tidak cukup, jadi ketergantungan pada masalah sangat besar
Referensi: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe..., https://huggingface.co/datasets/gsm8k
Peningkatan mulai terlihat sejak 1000 token
Alurnya terlihat seperti ini: merilis sesuatu yang semula dijanjikan akan dibuka sebagai beta gratis, memperbaiki bug, lalu merilis saudaranya yang lebih kuat sebagai layanan berlangganan, kemudian melemahkan keduanya secara signifikan, lalu merilis fine-tuning sehingga GPT-3.5 yang sudah dilemahkan bisa dibuat mendekati level saat peluncurannya—tetapi hanya jika fine-tuning dilakukan dengan benar—sementara versi yang tidak dilemahkan disimpan untuk penggunaan internal Microsoft dan menghasilkan profit
Dibanding itu, Google justru lebih jujur
Mereka punya produk terbaik, tetapi karena nilainya lebih besar sebagai alat internal, mereka tidak merilisnya; setelah GPT diluncurkan, mereka mengumumkan Bard untuk menjaga harga saham, tetapi hasilnya kurang bagus dan mungkin tidak akan benar-benar mereka rilis dengan layak
Meski begitu, Meta setidaknya merilis versi yang sudah dilemahkan sebagai open source
Beberapa bulan lalu produktivitas saya dengan GPT-4 benar-benar luar biasa, tetapi sekarang rasanya kembali menjadi developer solo lagi
Saat ini, waktu yang terbuang untuk memperbaiki kesalahan sering kali lebih banyak daripada waktu yang dihemat, jadi seringnya lebih baik mengerjakannya sendiri
Jadi saya paham alasan mereka tidak ingin memberikannya kepada orang lain
Kalau hanya mau membalas dengan jawaban yang jelas-jelas salah seperti “tidak dilemahkan”, mohon jangan buang waktu
Saya penasaran soal privasi
OpenAI mengatakan tidak menggunakan panggilan API untuk melatih model, tetapi saya ingin tahu apakah OpenAI atau Microsoft tetap menyimpan teksnya, dan jika ya, berapa lama disimpan
Secara keseluruhan ini bagus, dan saya menantikan fine-tuning 16k
Ada formulir pengajuan jika ingin meminta pengecualian dari persyaratan ini
https://learn.microsoft.com/en-us/legal/cognitive-services/o...
Mereka tidak melakukan hal mencurigakan dengan data yang disimpan; secara harfiah tujuannya hanya untuk menyelidiki kemungkinan pelanggaran trust & safety dalam periode singkat setelah kejadian
Kalau begitu, saya penasaran apa jaminan privasi bahwa OpenAI tidak akan memanfaatkannya nanti untuk memperluas GPT-5
Cukup menarik
Ini pertama kalinya model “Chat” OpenAI bisa di-fine-tune
Saya penasaran apakah saat ini sudah ada orang yang mencoba melewati AI detector dengan model yang di-fine-tune
Saya tahu itu mungkin, tetapi ingin mendapat gambaran bagaimana sebaiknya menyusun dataset-nya
Orang yang membayar untuk memakainya sedang tertipu, dan orang yang menggunakannya untuk pengambilan keputusan nyata sedang membuat kesalahan serius
Sangat disayangkan sebagian sekolah memakai AI detector untuk menangkap apakah siswa menulis esai dengan ChatGPT
Ada banyak kasus esai yang jelas ditulis manusia tetapi ditandai sebagai buatan AI
Bermain-main 30 menit dengan meminta ChatGPT menulis esai saja sudah cukup untuk memahami gaya tulisan ChatGPT
Dengan prompt yang bagus, ia juga bisa menulis dalam gaya lain, tetapi jujur saja, orang yang mengerjakan PR dengan ChatGPT biasanya tidak berusaha membuatnya tidak terlihat seperti ChatGPT
Itu tidak berfungsi, dan teks yang dibuat GPT memang sudah tidak bisa dideteksi
Tidak mungkin mendeteksi dengan kepastian yang dapat diandalkan apakah sebuah teks dibuat oleh manusia atau ChatGPT
Detector semacam itu sudah sepenuhnya rusak, dan hanya dengan mendorong proses berpikir sederhana saja bisa menghasilkan keluaran yang tidak “terdengar” seperti ChatGPT
Setelah itu, kemungkinannya terdeteksi sebagai AI kira-kira sama seperti tulisan manusia