Penyetelan berbasis instruksi - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penyetelan berbasis instruksi

Penyetelan berbasis instruksi menggunakan contoh berlabel untuk meningkatkan kinerja model pondasi yang telah dilatih sebelumnya pada tugas tertentu. Contoh berlabel diformat sebagai prompt, pasangan respons dan diungkapkan sebagai instruksi. Proses fine-tuning ini memodifikasi bobot model. Untuk informasi lebih lanjut tentang fine-tuning berbasis instruksi, lihat makalah Memperkenalkan FLAN: Model Bahasa yang Lebih Dapat Digeneralisasikan dengan Instruksi Fine-Tuning dan Scaling Instruction-Finetuned Language Models.

Model Fine-tuned Language Net (FLAN) menggunakan penyetelan instruksi untuk membuat model lebih setuju untuk menyelesaikan tugas NLP hilir umum. Amazon SageMaker JumpStart menyediakan sejumlah model pondasi dalam keluarga model FLAN. Misalnya, model FLAN-T5 adalah instruksi yang disetel dengan baik pada berbagai tugas untuk meningkatkan kinerja zero-shot untuk berbagai kasus penggunaan umum. Dengan data tambahan dan fine-tuning, model berbasis instruksi dapat lebih lanjut disesuaikan dengan tugas yang lebih spesifik yang tidak dipertimbangkan selama pra-pelatihan.

Model yang kompatibel dengan fine-tuning berbasis instruksi

Hanya sebagian dari model JumpStart pondasi yang kompatibel dengan fine-tuning berbasis instruksi. Penyetelan berbasis instruksi tersedia dengan model pondasi berikut:

catatan

Beberapa model JumpStart dasar, seperti Llama 2 7B, memerlukan penerimaan perjanjian lisensi pengguna akhir sebelum menyempurnakan dan melakukan inferensi. Untuk informasi selengkapnya, lihat Perjanjian lisensi pengguna akhir.

  • Dasar Flan-T5

  • Flan-T5 Besar

  • Flan-T5 Kecil

  • Flan-T5 XL

  • Flan-T5 XXL

  • Llama 2 13B

  • Llama 2 13B Obrolan

  • Llama 2 13B Neuron

  • Llama 2 70B

  • Llama 2 70B Obrolan

  • Llama 2 7B

  • Llama 2 7B Obrolan

  • Llama 2 7B Neuron

  • Mistral 7B

  • RedPajama INCITE Basis 3B V1

  • RedPajama INCITE Basis 7B V1

  • RedPajama INCITE Obrolan 3B V1

  • RedPajama INCITE Obrolan 7B V1

  • RedPajama INCITE Instruksikan 3B V1

  • RedPajama INCITE Instruksikan 7B V1

Mempersiapkan dan mengunggah data pelatihan untuk fine-tuning berbasis instruksi

Data pelatihan untuk fine-tuning berbasis instruksi harus disediakan dalam format file teks JSON Lines, di mana setiap baris adalah kamus. Semua data pelatihan harus dalam satu folder. Folder dapat menyertakan beberapa file.jsonl.

Folder pelatihan juga dapat menyertakan file JSON template (template.json) yang menjelaskan format input dan output data Anda. Jika tidak ada file template yang disediakan, file template berikut digunakan:

{ "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Input:\n{context}", "completion": "{response}" }

Menurut template.json file, setiap entri .jsonl dari data pelatihan harus menyertakan{instruction},{context}, dan bidang. {response}

Jika Anda menyediakan file JSON template kustom, gunakan "completion" tombol "prompt" dan untuk menentukan bidang wajib Anda sendiri. Menurut file JSON template kustom berikut, setiap entri .jsonl dari data pelatihan harus menyertakan{question},, {context} dan bidang: {answer}

{ "prompt": "question: {question} context: {context}", "completion": "{answer}" }

Pisahkan data untuk pelatihan dan pengujian

Anda dapat secara opsional menyediakan folder lain yang berisi data validasi. Folder ini juga harus menyertakan satu atau lebih file.jsonl. Jika tidak ada kumpulan data validasi yang disediakan, maka sejumlah data pelatihan disisihkan untuk tujuan validasi. Anda dapat menyesuaikan persentase data pelatihan yang digunakan untuk validasi ketika Anda memilih hyperparameters untuk menyempurnakan model Anda.

Unggah data fine-tuning ke Amazon S3

Unggah data yang sudah disiapkan ke Amazon Simple Storage Service (Amazon S3) untuk digunakan saat JumpStart menyempurnakan model foundation. Anda dapat menggunakan perintah berikut untuk mengunggah data Anda:

from sagemaker.s3 import S3Uploader import sagemaker import random output_bucket = sagemaker.Session().default_bucket() local_data_file = "train.jsonl" train_data_location = f"s3://{output_bucket}/dolly_dataset" S3Uploader.upload(local_data_file, train_data_location) S3Uploader.upload("template.json", train_data_location) print(f"Training data: {train_data_location}")

Buat pekerjaan pelatihan untuk fine-tuning berbasis instruksi

Setelah data Anda diunggah ke Amazon S3, Anda dapat menyempurnakan dan menerapkan model foundation Anda. JumpStart Untuk menyempurnakan model Anda di Studio, lihat. Sempurnakan model pondasi di Studio Untuk menyempurnakan model Anda menggunakan SageMaker Python SDK, lihat. Sempurnakan model foundation yang tersedia untuk umum dengan kelasnya JumpStartEstimator

Notebook contoh

Untuk informasi selengkapnya tentang fine-tuning berbasis instruksi, lihat contoh buku catatan berikut: