Sempurnakan model pondasi - Amazon SageMaker

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

Sempurnakan model pondasi

Model pondasi mahal secara komputasi dan dilatih pada korpus besar yang tidak berlabel. Menyesuaikan model pondasi yang telah dilatih sebelumnya adalah cara yang terjangkau untuk memanfaatkan kemampuan mereka yang luas sambil menyesuaikan model pada korpus kecil Anda sendiri. Fine-tuning adalah metode penyesuaian yang melibatkan pelatihan lebih lanjut dan mengubah bobot model Anda.

Fine-tuning mungkin berguna bagi Anda jika Anda membutuhkan:

  • untuk menyesuaikan model Anda dengan kebutuhan bisnis tertentu

  • model Anda untuk berhasil bekerja dengan bahasa khusus domain, seperti jargon industri, istilah teknis, atau kosakata khusus lainnya

  • peningkatan kinerja untuk tugas-tugas tertentu

  • tanggapan akurat, relatif, dan sadar konteks dalam aplikasi

  • tanggapan yang lebih faktual, kurang beracun, dan lebih selaras dengan persyaratan tertentu

Ada dua pendekatan utama yang dapat Anda ambil untuk fine-tuning tergantung pada kasus penggunaan Anda dan model pondasi yang dipilih.

  1. Jika Anda tertarik untuk menyempurnakan model Anda pada data spesifik domain, lihat. Penyetelan adaptasi domain

  2. Jika Anda tertarik dengan fine-tuning berbasis instruksi menggunakan contoh prompt dan respons, lihat. Penyetelan berbasis instruksi

Model foundation tersedia untuk fine-tuning

Anda dapat menyempurnakan salah satu model JumpStart pondasi berikut:

  • Mekar 3B

  • Mekar 7B1

  • BloomZ 3B FP16

  • BloomZ 7B1 FP16

  • Kode Llama 13B

  • Kode Llama 13B Python

  • Kode Llama 34B

  • Kode Llama 34B Python

  • Kode Llama 70B

  • Kode Llama 70B Python

  • Kode Llama 7B

  • Kode Llama 7B Python

  • CyberAgentLM2-7B-obrolan (Calm2-7b-obrolan)

  • Falcon 40B BF16

  • Falcon 40B Instruksi BF16

  • Falcon 7B BF16

  • Falcon 7B Instruksi BF16

  • Dasar Flan-T5

  • Flan-T5 Besar

  • Flan-T5 Kecil

  • Flan-T5 XL

  • Flan-T5 XXL

  • Gemma 2B

  • Instruksi Gemma 2B

  • Gemma 7B

  • Instruksi Gemma 7B

  • GPT-2 XL

  • GPT-J 6B

  • GPT-Neo 1.3B

  • GPT-Neo 125M

  • GPT-NEO 2.7B

  • Instruksi LightGPT 6B

  • 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

  • Mixtral 8x7B

  • Instruksi Mixtral 8x7B

  • 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

  • Difusi Stabil 2.1

Hiperparameter fine-tuning yang umumnya didukung

Model pondasi yang berbeda mendukung hiperparameter yang berbeda saat menyempurnakan. Berikut ini adalah hyperparameter yang umumnya didukung yang dapat menyesuaikan model Anda lebih lanjut selama pelatihan:

Parameter Inferensi Deskripsi

epoch

Jumlah lintasan yang diambil model melalui kumpulan data fine-tuning selama pelatihan. Harus bilangan bulat lebih besar dari 1.

learning_rate

Tingkat di mana bobot model diperbarui setelah mengerjakan setiap batch contoh pelatihan fine-tuning. Harus berupa float positif lebih besar dari 0.

instruction_tuned

Apakah akan melatih instruksi-model atau tidak. Harus 'True' atau 'False'.

per_device_train_batch_size

Ukuran batch per inti GPU atau CPU untuk pelatihan. Harus berupa bilangan bulat positif.

per_device_eval_batch_size

Ukuran batch per inti GPU atau CPU untuk evaluasi. Harus berupa bilangan bulat positif.

max_train_samples

Untuk tujuan debugging atau pelatihan yang lebih cepat, potong jumlah contoh pelatihan ke nilai ini. Nilai -1 berarti bahwa model menggunakan semua sampel pelatihan. Harus berupa bilangan bulat positif atau -1.

max_val_samples

Untuk tujuan debugging atau pelatihan yang lebih cepat, potong jumlah contoh validasi ke nilai ini. Nilai -1 berarti bahwa model menggunakan semua sampel validasi. Harus berupa bilangan bulat positif atau -1.

max_input_length

Total panjang urutan input maksimum setelah tokenisasi. Urutan yang lebih panjang dari ini akan terpotong. Jika -1, max_input_length diatur ke minimum 1024 dan model_max_length ditentukan oleh tokenizer. Jika diatur ke nilai positif, max_input_length diatur ke minimum dari nilai yang disediakan dan model_max_length ditentukan oleh tokenizer. Harus berupa bilangan bulat positif atau -1.

validation_split_ratio

Jika tidak ada saluran validasi, rasio validasi kereta terpisah dari data pelatihan. Harus antara 0 dan 1.

train_data_split_seed

Jika data validasi tidak ada, ini memperbaiki pemisahan acak data pelatihan input ke data pelatihan dan validasi yang digunakan oleh model. Harus berupa bilangan bulat.

preprocessing_num_workers

Jumlah proses yang digunakan untuk pra-pemrosesan. JikaNone, proses utama digunakan untuk pra-pemrosesan.

lora_r

Nilai adaptasi peringkat rendah (LoRa) r, yang bertindak sebagai faktor penskalaan untuk pembaruan bobot. Harus berupa bilangan bulat positif.

lora_alpha

Nilai alfa adaptasi peringkat rendah (LoRa), yang bertindak sebagai faktor penskalaan untuk pembaruan bobot. Umumnya 2 sampai 4 kali ukuranlora_r. Harus berupa bilangan bulat positif.

lora_dropout

Nilai putus sekolah untuk lapisan adaptasi peringkat rendah (LoRa) Harus berupa float positif antara 0 dan 1.

int8_quantization

JikaTrue, model dimuat dengan presisi 8 bit untuk pelatihan.

enable_fsdp

JikaTrue, pelatihan menggunakan Fully Sharded Data Parallelism.

Anda dapat menentukan nilai hyperparameter saat menyempurnakan model di Studio. Untuk informasi selengkapnya, lihat Sempurnakan model pondasi di Studio.

Anda juga dapat mengganti nilai hyperparameter default saat menyempurnakan model Anda menggunakan SDK. SageMaker Python Untuk informasi selengkapnya, lihat Sempurnakan model foundation yang tersedia untuk umum dengan kelasnya JumpStartEstimator.