AI generatif berada di tengah periode pertumbuhan yang menakjubkan. Model pondasi yang semakin mampu terus dirilis, dengan model bahasa besar (LLM) menjadi salah satu kelas model yang paling terlihat. LLM adalah model yang terdiri dari miliaran parameter yang dilatih pada kumpulan teks yang luas, hingga ratusan miliar atau bahkan satu triliun token. Model ini telah terbukti sangat efektif untuk berbagai tugas berbasis teks, mulai dari menjawab pertanyaan hingga analisis sentimen.
Kekuatan LLM berasal dari kapasitasnya untuk belajar dan menggeneralisasi dari data pelatihan yang luas dan beragam. Pelatihan awal model ini dilakukan dengan berbagai tujuan, diawasi, tidak diawasi, atau hibrida. Penyelesaian atau imputasi teks adalah salah satu tujuan tanpa pengawasan yang paling umum: diberikan potongan teks, model belajar memprediksi secara akurat apa yang akan terjadi selanjutnya (misalnya, memprediksi kalimat berikutnya). Model juga dapat dilatih dengan cara yang diawasi menggunakan data berlabel untuk menyelesaikan serangkaian tugas (misalnya, apakah ulasan film ini positif, negatif, atau netral). Apakah model dilatih untuk penyelesaian teks atau tugas lain, sering kali bukan tugas yang diinginkan pelanggan untuk menggunakan model tersebut.
Untuk meningkatkan kinerja LLM terlatih pada tugas tertentu, kita dapat menyetel model menggunakan contoh tugas target dalam proses yang dikenal sebagai instruksi fine-tuning. Penyempurnaan instruksi menggunakan sekumpulan contoh berlabel dalam bentuk pasangan {prompt, response} untuk lebih melatih model yang telah dilatih sebelumnya dalam memprediksi respons yang diberikan prompt secara memadai. Proses ini memodifikasi bobot model.
Posting ini menjelaskan cara melakukan fine-tuning instruksi LLM, yaitu FLAN T5 XL, menggunakan Jumpstart Amazon SageMaker. Kami mendemonstrasikan cara melakukannya menggunakan UI Jumpstart dan notebook di Studio Amazon SageMaker. Anda dapat menemukan notebook terlampir dalam amazon-sagemaker-contoh Repositori GitHub.
Ikhtisar solusi
Tugas target dalam posting ini adalah, diberikan potongan teks di prompt, mengembalikan pertanyaan yang terkait dengan teks tetapi tidak dapat dijawab berdasarkan informasi yang dikandungnya. Ini adalah tugas yang berguna untuk mengidentifikasi informasi yang hilang dalam deskripsi atau mengidentifikasi apakah kueri memerlukan lebih banyak informasi untuk dijawab.
Model FLAN T5 adalah instruksi yang disesuaikan pada berbagai tugas untuk meningkatkan kinerja zero-shot dari model ini pada banyak tugas umum [1]. Penyempurnaan instruksi tambahan untuk tugas pelanggan tertentu dapat semakin meningkatkan akurasi model ini, terutama jika tugas target sebelumnya tidak digunakan untuk melatih model FLAN T5, seperti halnya tugas kita.
Dalam contoh tugas kami, kami tertarik untuk menghasilkan pertanyaan yang relevan namun belum terjawab. Untuk tujuan ini, kami menggunakan subset versi 2 dari Dataset Penjawab Pertanyaan Stanford (SQuAD2.0)[2] untuk menyempurnakan model. Kumpulan data ini berisi pertanyaan yang diajukan oleh anotator manusia pada sekumpulan artikel Wikipedia. Selain pertanyaan dengan jawaban, SQuAD2.0 berisi sekitar 50,000 pertanyaan yang tidak dapat dijawab. Pertanyaan semacam itu masuk akal tetapi tidak dapat langsung dijawab dari konten artikel. Kami hanya menggunakan pertanyaan yang tidak dapat dijawab. Data kami disusun sebagai file Baris JSON, dengan setiap baris berisi konteks dan pertanyaan.
Prasyarat
Untuk memulai, yang Anda butuhkan hanyalah akun AWS tempat Anda dapat menggunakan Studio. Anda harus membuat profil pengguna untuk Studio jika Anda belum memilikinya.
Sempurnakan FLAN-T5 dengan Jumpstart UI
Untuk menyempurnakan model dengan UI Jumpstart, selesaikan langkah-langkah berikut:
- Di konsol SageMaker, buka Studio.
- Bawah Jumpstart SageMaker di panel navigasi, pilih Model, notebook, solusi.
Anda akan melihat daftar model alas bedak, termasuk FLAN T5 XL, yang ditandai dengan fine-tunable.
- Pilih Lihat model.
- Bawah Sumber data, Anda dapat memberikan jalur ke data pelatihan Anda. Sumber data yang digunakan dalam posting ini disediakan secara default.
- Anda dapat mempertahankan nilai default untuk konfigurasi penerapan (termasuk jenis instans), keamanan, dan hyperparameter, tetapi Anda harus menambah jumlah zaman menjadi setidaknya tiga untuk mendapatkan hasil yang baik.
- Pilih Pelatihan VE untuk melatih model.
Anda dapat melacak status tugas pelatihan di UI.
- Saat pelatihan selesai (setelah sekitar 53 menit dalam kasus kami), pilih Menyebarkan untuk menyebarkan model fine-tuned.
Setelah titik akhir dibuat (beberapa menit), Anda dapat membuka buku catatan dan mulai menggunakan model yang telah disempurnakan.
Sempurnakan FLAN-T5 menggunakan notebook Python
Notebook contoh kami menunjukkan cara menggunakan Jumpstart dan SageMaker untuk menyempurnakan dan menerapkan model FLAN T5 XL secara terprogram. Itu dapat dijalankan di Studio atau secara lokal.
Di bagian ini, pertama-tama kita menelusuri beberapa penyiapan umum. Kemudian Anda menyempurnakan model menggunakan kumpulan data SQuADv2. Berikutnya, Anda menerapkan versi model yang telah dilatih sebelumnya di belakang titik akhir SageMaker, dan melakukan hal yang sama dengan model yang telah disempurnakan. Terakhir, Anda dapat mengkueri titik akhir dan membandingkan kualitas keluaran dari model yang telah dilatih sebelumnya dan yang disempurnakan. Anda akan menemukan bahwa output dari model fine-tuned memiliki kualitas yang jauh lebih tinggi.
Siapkan prasyarat
Mulailah dengan menginstal dan memutakhirkan paket yang diperlukan. Mulai ulang kernel setelah menjalankan kode berikut:
Selanjutnya, dapatkan peran eksekusi yang terkait dengan instance notebook saat ini:
Anda dapat menentukan menu drop-down yang nyaman yang akan mencantumkan ukuran model yang tersedia untuk penyempurnaan:
Jumpstart secara otomatis mengambil jenis instans pelatihan dan inferensi yang sesuai untuk model yang Anda pilih:
Anda sekarang siap untuk memulai fine-tuning.
Latih ulang model pada set data fine-tuning
Setelah penyiapan Anda selesai, selesaikan langkah-langkah berikut:
Gunakan kode berikut untuk mengambil URI untuk artefak yang diperlukan:
Data pelatihan terletak di publik Layanan Penyimpanan Sederhana Amazon (Amazon S3).
Gunakan kode berikut untuk menunjuk ke lokasi data dan menyiapkan lokasi keluaran dalam keranjang di akun Anda:
Data asli tidak dalam format yang sesuai dengan tugas yang Anda sesuaikan modelnya, sehingga Anda dapat memformatnya ulang:
Sekarang Anda dapat menentukan beberapa hyperparameter untuk pelatihan:
Anda sekarang siap meluncurkan tugas pelatihan:
Bergantung pada ukuran data fine-tuning dan model yang dipilih, fine-tuning bisa memakan waktu hingga beberapa jam.
Anda dapat memantau metrik kinerja seperti pelatihan dan kehilangan validasi menggunakan amazoncloudwatch selama pelatihan. Dengan mudah, Anda juga dapat mengambil cuplikan metrik terbaru dengan menjalankan kode berikut:
Saat pelatihan selesai, Anda memiliki model yang disetel dengan baik model_uri
. Ayo gunakan!
Anda dapat membuat dua titik akhir inferensi: satu untuk model asli yang telah dilatih sebelumnya, dan satu lagi untuk model yang disempurnakan. Ini memungkinkan Anda untuk membandingkan output dari kedua versi model. Pada langkah berikutnya, Anda menerapkan titik akhir inferensi untuk model yang telah dilatih sebelumnya. Kemudian Anda menerapkan titik akhir untuk model Anda yang telah disempurnakan.
Deploy model yang telah dilatih sebelumnya
Mari kita mulai dengan men-deploy model terlatih mengambil URI gambar Docker inferensi. Ini adalah gambar container dasar Hugging Face. Gunakan kode berikut:
Anda sekarang dapat membuat titik akhir dan men-deploy model yang telah dilatih sebelumnya. Perhatikan bahwa Anda harus meneruskan kelas Predictor saat menerapkan model melalui kelas Model agar dapat menjalankan inferensi melalui SageMaker API. Lihat kode berikut:
Pembuatan titik akhir dan penerapan model dapat memakan waktu beberapa menit, kemudian titik akhir Anda siap menerima panggilan inferensi.
Terapkan model yang telah disesuaikan
Mari terapkan model yang telah disempurnakan ke titik akhirnya sendiri. Prosesnya hampir identik dengan yang kami gunakan sebelumnya untuk model pra-pelatihan. Satu-satunya perbedaan adalah kami menggunakan nama model dan URI yang disetel dengan baik:
Saat proses ini selesai, model yang telah dilatih sebelumnya dan model yang disempurnakan akan diterapkan di belakang titik akhir mereka sendiri. Mari kita bandingkan output mereka.
Hasilkan keluaran dan bandingkan hasilnya
Tetapkan beberapa fungsi utilitas untuk menanyakan titik akhir dan mem-parsing respons:
Di potongan kode berikutnya, kita mendefinisikan prompt dan data pengujian. Itu menjelaskan tugas target kami, yaitu menghasilkan pertanyaan yang terkait dengan teks yang disediakan tetapi tidak dapat dijawab berdasarkan itu.
Data uji terdiri dari tiga paragraf berbeda, satu di kota Adelaide Australia dari dua paragraf pertama dari halaman Wikipedia-nya, satu tentang Toko Blok Elastis Amazon (Amazon EBS) dari Dokumentasi Amazon EBS, dan salah satunya Amazon Comprehend dari Dokumentasi Amazon Comprehend. Kami berharap model dapat mengidentifikasi pertanyaan yang terkait dengan paragraf ini, tetapi hal itu tidak dapat dijawab dengan informasi yang diberikan di dalamnya.
Anda sekarang dapat menguji titik akhir menggunakan artikel contoh
Data uji: Adelaide
Kami menggunakan konteks berikut:
Respons model pra-terlatih adalah sebagai berikut:
Respons model yang disesuaikan adalah sebagai berikut:
Data uji: Amazon EBS
Kami menggunakan konteks berikut:
Tanggapan model pra-terlatih adalah sebagai berikut:
Respons model yang disesuaikan adalah sebagai berikut:
Data uji: Amazon Comprehend
Kami menggunakan konteks berikut:
Tanggapan model pra-terlatih adalah sebagai berikut:
Respons model yang disesuaikan adalah sebagai berikut:
Perbedaan kualitas output antara model pra-terlatih dan model yang disetel halus sangat mencolok. Pertanyaan yang diberikan oleh model yang disetel dengan baik menyentuh topik yang lebih luas. Itu adalah pertanyaan yang bermakna secara sistematis, yang tidak selalu berlaku untuk model terlatih, seperti yang diilustrasikan dengan contoh Amazon EBS.
Meskipun ini bukan merupakan evaluasi formal dan sistematis, jelas bahwa proses penyempurnaan telah meningkatkan kualitas respons model pada tugas ini.
Membersihkan
Terakhir, ingatlah untuk membersihkan dan menghapus titik akhir:
Kesimpulan
Dalam postingan ini, kami menunjukkan cara menggunakan instruksi fine-tuning dengan model FLAN T5 menggunakan UI Jumpstart atau notebook Jupyter yang berjalan di Studio. Kami menyediakan kode yang menjelaskan cara melatih ulang model menggunakan data untuk tugas target dan menerapkan model yang telah disesuaikan di belakang titik akhir. Tugas target dalam posting ini adalah untuk mengidentifikasi pertanyaan yang berhubungan dengan potongan teks yang disediakan dalam input tetapi tidak dapat dijawab berdasarkan informasi yang diberikan dalam teks tersebut. Kami menunjukkan bahwa model yang disesuaikan untuk tugas khusus ini memberikan hasil yang lebih baik daripada model yang telah dilatih sebelumnya.
Sekarang setelah Anda mengetahui cara menyempurnakan model dengan Jumpstart, Anda dapat membuat model canggih yang disesuaikan untuk aplikasi Anda. Kumpulkan beberapa data untuk kasus penggunaan Anda, unggah ke Amazon S3, dan gunakan UI Studio atau notebook untuk menyetel model FLAN T5!
Referensi
[1] Chung, Hyung Won, dkk. โPenskalaan model bahasa yang disesuaikan dengan instruksi.โ pracetak arXiv arXiv:2210.11416 (2022).
[2] Rajpurkar, Pranav, Robin Jia, dan Percy Liang. โKetahui Apa yang Tidak Anda Ketahui: Pertanyaan yang Tidak Dapat Dijawab untuk SQuAD.โ Prosiding Pertemuan Tahunan ke-56 Asosiasi Linguistik Komputasi (Volume 2: Makalah Pendek). 2018.
Tentang penulis
Laurent Callot adalah Ilmuwan Terapan Utama dan manajer di AWS AI Labs yang telah menangani berbagai masalah pembelajaran mesin, mulai dari model dasar dan AI generatif hingga prakiraan, deteksi anomali, kausalitas, dan Operasi AI.
Andrei Kan adalah Ilmuwan Terapan Senior di AWS AI Labs dengan minat dan pengalaman di berbagai bidang Machine Learning. Ini termasuk penelitian tentang model fondasi, serta aplikasi ML untuk grafik dan deret waktu.
Dr Ashish Khetan adalah Ilmuwan Terapan Senior dengan algoritme bawaan Amazon SageMaker dan membantu mengembangkan algoritme pembelajaran mesin. Dia mendapatkan gelar PhD dari University of Illinois Urbana Champaign. Dia adalah peneliti aktif dalam pembelajaran mesin dan inferensi statistik dan telah menerbitkan banyak makalah di konferensi NeurIPS, ICML, ICLR, JMLR, ACL, dan EMNLP.
Baris Kurt adalah Ilmuwan Terapan di AWS AI Labs. Minatnya adalah deteksi anomali deret waktu dan model pondasi. Dia suka mengembangkan sistem ML yang ramah pengguna.
Jonas Kubler adalah Ilmuwan Terapan di AWS AI Labs. Dia sedang mengerjakan model dasar dengan tujuan untuk memfasilitasi aplikasi khusus kasus penggunaan.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoAiStream. Kecerdasan Data Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Mencetak Masa Depan bersama Adryenn Ashley. Akses Di Sini.
- Beli dan Jual Saham di Perusahaan PRE-IPO dengan PREIPOยฎ. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/instruction-fine-tuning-for-flan-t5-xl-with-amazon-sagemaker-jumpstart/
- :memiliki
- :adalah
- :bukan
- $NAIK
- 000
- 1
- 10
- 100
- 11
- 12
- 13
- 17
- 1M
- 20
- 2018
- 2022
- 22
- 40
- 50
- 60
- 7
- 8
- 80
- 9
- a
- Sanggup
- Tentang Kami
- Setuju
- mengakses
- dapat diakses
- menyelesaikan
- Akun
- ketepatan
- akurat
- aktif
- tambahan
- Tambahan
- cukup
- Setelah
- AI
- AL
- algoritma
- Semua
- memungkinkan
- sudah
- juga
- selalu
- Amazon
- Amazon Comprehend
- Amazon SageMaker
- Mulai Lompatan Amazon SageMaker
- Amazon Web Services
- an
- analisis
- menganalisa
- dan
- tahunan
- deteksi anomali
- jawaban
- Apa pun
- api
- Lebah
- Aplikasi
- aplikasi
- terapan
- sesuai
- ADALAH
- DAERAH
- argumen
- artikel
- artikel
- AS
- terkait
- Asosiasi
- At
- Australia
- Australia
- secara otomatis
- tersedia
- AWS
- mendasarkan
- berdasarkan
- BE
- Pantai
- Balok
- di belakang
- makhluk
- di bawah
- Lebih baik
- antara
- miliaran
- Memblokir
- tubuh
- pin
- kedua
- built-in
- tapi
- by
- bernama
- Panggilan
- CAN
- tidak bisa
- kemampuan
- mampu
- Kapasitas
- modal
- kasus
- pusat
- perubahan
- pilihan
- Pilih
- memilih
- terpilih
- Kota
- kelas
- kelas-kelas
- klasifikasi
- jelas
- klien
- Pantai
- kode
- datang
- Umum
- membandingkan
- lengkap
- penyelesaian
- tersusun
- memahami
- konferensi
- konfigurasi
- konsul
- merupakan
- Wadah
- mengandung
- Konten
- konteks
- kontinu
- terus menerus
- Mudah
- berkorespondensi
- bisa
- sepasang
- membuat
- dibuat
- membuat
- penciptaan
- terbaru
- adat
- pelanggan
- pelanggan
- disesuaikan
- data
- database
- kumpulan data
- Default
- mendemonstrasikan
- menunjukkan
- Tergantung
- menyebarkan
- dikerahkan
- penggelaran
- penyebaran
- deskripsi
- Deteksi
- Menentukan
- mengembangkan
- berkembang
- mengembangkan
- alat
- Devices
- perbedaan
- berbeda
- langsung
- Display
- beberapa
- do
- Buruh pelabuhan
- dokumen
- dokumen
- tidak
- Tidak
- dominan
- Dont
- mendorong
- selama
- dinamis
- E&T
- setiap
- Terdahulu
- Timur
- Efektif
- antara
- elemen
- lain
- akhir
- Titik akhir
- Seluruh
- entitas
- entitas
- masa
- zaman
- terutama
- evaluasi
- Bahkan
- memeriksa
- contoh
- contoh
- menjalankan
- eksekusi
- mengharapkan
- pengalaman
- menjelaskan
- terkena
- Meluas
- perpanjangan
- luas
- ekstrak
- sangat
- Menghadapi
- memudahkan
- jauh
- Fashion
- Fitur
- Fitur
- beberapa
- Fields
- File
- File
- Akhirnya
- Menemukan
- akhir
- Pertama
- berikut
- berikut
- Untuk
- bentuk
- resmi
- format
- ditemukan
- Prinsip Dasar
- Keempat
- Kerangka
- sering
- ramah
- dari
- fungsi
- lebih lanjut
- mengumpulkan
- Umum
- menghasilkan
- dihasilkan
- menghasilkan
- generasi
- generatif
- AI generatif
- mendapatkan
- GitHub
- diberikan
- tujuan
- baik
- grafik
- besar
- lebih besar
- Pertumbuhan
- Sulit
- hard drive
- Memiliki
- he
- membantu
- lebih tinggi
- Hills
- -nya
- JAM
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- MemelukWajah
- manusia
- Ratusan
- Hibrida
- i
- ID
- identik
- mengenali
- id
- if
- Illinois
- gambar
- mengimpor
- memperbaiki
- ditingkatkan
- in
- memasukkan
- Termasuk
- Meningkatkan
- makin
- secara mandiri
- Info
- informasi
- informatif
- mulanya
- memasukkan
- input
- wawasan
- install
- Instalasi
- contoh
- tertarik
- kepentingan
- Pengantar
- IT
- NYA
- Pekerjaan
- Jobs
- jpg
- json
- Menjaga
- kunci
- Tahu
- dikenal
- Labs
- bahasa
- Bahasa
- besar
- terbesar
- jalankan
- BELAJAR
- pengetahuan
- paling sedikit
- Panjang
- Tingkat
- Hidup
- 'like'
- baris
- baris
- Daftar
- LLM
- lokal
- terletak
- tempat
- mulia
- Panjang
- jangka panjang
- lepas
- mencintai
- mesin
- Mesin belajar
- manajer
- banyak
- ditandai
- max
- Mungkin..
- berarti
- pertemuan
- sebutan
- menu
- Metrik
- menit
- hilang
- ML
- model
- model
- Memantau
- lebih
- paling
- MOUNT
- film
- banyak
- harus
- nama
- yaitu
- Alam
- Pengolahan Bahasa alami
- Navigasi
- perlu
- Perlu
- dibutuhkan
- kebutuhan
- negatif
- jaringan
- Netral
- New
- produk baru
- berikutnya
- nLP
- utara
- buku catatan
- sekarang
- jumlah
- target
- memperoleh
- of
- on
- ONE
- hanya
- Buka
- or
- asli
- Lainnya
- kami
- keluaran
- lebih
- mengesampingkan
- sendiri
- pemilik
- paket
- pasang
- pane
- dokumen
- parameter
- bagian
- tertentu
- khususnya
- lulus
- path
- Konsultan Ahli
- Melakukan
- prestasi
- periode
- ketekunan
- frase
- plato
- Kecerdasan Data Plato
- Data Plato
- masuk akal
- Titik
- populasi
- positif
- Pos
- kekuasaan
- kuat
- meramalkan
- memprediksi
- Predictor
- sebelumnya
- primer
- Utama
- cetak
- masalah
- proses
- pengolahan
- Produk
- Profil
- Kemajuan
- terbukti
- memberikan
- disediakan
- menyediakan
- publik
- diterbitkan
- Ular sanca
- kualitas
- query
- pertanyaan
- Pertanyaan
- segera
- acak
- jarak
- Mentah
- siap
- real-time
- menerima
- baru
- pengakuan
- mengenali
- mengenali
- sarankan
- direkomendasikan
- mengenai
- regex
- wilayah
- terkait
- dirilis
- relevan
- mengandalkan
- ingat
- gudang
- membutuhkan
- wajib
- membutuhkan
- penelitian
- peneliti
- warga
- Sumber
- tanggapan
- tanggapan
- membatasi
- Hasil
- kembali
- Pengembalian
- ulasan
- robin
- Peran
- Run
- berjalan
- s
- pembuat bijak
- sama
- pemindaian
- ilmuwan
- Pencarian
- Kedua
- Bagian
- keamanan
- melihat
- seleksi
- senior
- putusan pengadilan
- sentimen
- Seri
- layanan
- Layanan
- Sidang
- set
- set
- penyiapan
- beberapa
- Pendek
- harus
- menunjukkan
- Pertunjukkan
- Sederhana
- Ukuran
- ukuran
- kecil
- Potret
- So
- Sosial
- Jaringan sosial
- beberapa
- sumber
- Selatan
- tertentu
- membagi
- Stanford
- sangat
- awal
- mulai
- Negara
- statistik
- Status
- Langkah
- Tangga
- Masih
- penyimpanan
- menyimpan
- struktur
- tersusun
- studio
- Menakjubkan
- seperti itu
- mendukung
- Didukung
- Sekitarnya
- sistem
- sistem
- Mengambil
- target
- tugas
- tugas
- Template
- uji
- dari
- bahwa
- Grafik
- Daerah
- Ibukota
- informasi
- Sumber
- Negara
- Barat
- Dunia
- mereka
- Mereka
- kemudian
- didalamnya
- Ini
- mereka
- ini
- itu
- tiga
- Melalui
- waktu
- Seri waktu
- untuk
- Token
- puncak
- Topik
- menyentuh
- jalur
- tradisional
- Pelatihan VE
- terlatih
- Pelatihan
- Triliun
- benar
- dua
- mengetik
- jenis
- ui
- pemahaman
- universitas
- Pembaruan
- upload
- menggunakan
- gunakan case
- bekas
- Pengguna
- menggunakan
- kegunaan
- pengesahan
- nilai
- Nilai - Nilai
- variasi
- versi
- vincent
- terlihat
- volume
- volume
- W
- ingin
- adalah
- Cara..
- we
- jaringan
- layanan web
- BAIK
- Barat
- Apa
- Apa itu
- ketika
- apakah
- yang
- sementara
- SIAPA
- lebar
- Rentang luas
- lebih luas
- lebar
- Wikipedia
- akan
- dengan
- dalam
- Won
- Word
- bekerja
- kerja
- dunia
- akan
- Kamu
- Anda
- zephyrnet.dll