Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat pekerjaan AutoML untuk menyempurnakan model pembuatan teks menggunakan API
Model bahasa besar (LLMs) unggul dalam beberapa tugas generatif, termasuk pembuatan teks, ringkasan, penyelesaian, menjawab pertanyaan, dan banyak lagi. Kinerja mereka dapat dikaitkan dengan ukuran signifikan dan pelatihan ekstensif pada kumpulan data yang beragam dan berbagai tugas. Namun, domain tertentu, seperti layanan kesehatan dan keuangan, mungkin memerlukan penyesuaian khusus untuk beradaptasi dengan data unik dan kasus penggunaan. Dengan menyesuaikan pelatihan mereka dengan domain khusus mereka, LLMs dapat meningkatkan kinerja mereka dan memberikan output yang lebih akurat untuk aplikasi yang ditargetkan.
Autopilot menawarkan kemampuan untuk menyempurnakan pilihan model teks generatif yang telah dilatih sebelumnya. Secara khusus, Autopilot mendukung fine tuning berbasis instruksi dari pilihan model bahasa besar () tujuan umum yang didukung oleh. LLMs JumpStart
catatan
Model pembuatan teks yang mendukung fine-tuning di Autopilot saat ini dapat diakses secara eksklusif di Wilayah yang didukung oleh Canvas. SageMaker Lihat dokumentasi SageMaker Canvas untuk daftar lengkap Wilayah yang didukung.
Penyetelan model yang telah dilatih sebelumnya memerlukan kumpulan data spesifik dari instruksi yang jelas yang memandu model tentang cara menghasilkan output atau berperilaku untuk tugas itu. Model belajar dari kumpulan data, menyesuaikan parameternya agar sesuai dengan instruksi yang diberikan. Penyetelan berbasis instruksi melibatkan penggunaan contoh berlabel yang diformat sebagai pasangan respons prompt dan diungkapkan sebagai instruksi. Untuk informasi selengkapnya tentang fine-tuning, lihat Menyempurnakan model foundation.
catatan
Tugas seperti klasifikasi teks dan gambar, peramalan deret waktu, dan fine-tuning model bahasa besar tersedia secara eksklusif melalui API REST AutoML versi 2. Jika bahasa pilihan Anda adalah Python, Anda dapat merujuk ke AWS SDK for Python (Boto3)
Pengguna yang lebih menyukai kenyamanan antarmuka pengguna dapat menggunakan Amazon SageMaker Canvas untuk mengakses model pra-terlatih dan model dasar AI generatif, atau membuat model khusus yang disesuaikan untuk teks tertentu, klasifikasi gambar, kebutuhan peramalan, atau AI generatif.
Untuk membuat eksperimen Autopilot secara terprogram untuk menyempurnakan LLM, Anda dapat memanggil API CreateAutoMLJobV2
dalam bahasa apa pun yang didukung oleh Amazon Autopilot atau. SageMaker AWS CLI
Untuk informasi tentang cara tindakan API ini diterjemahkan ke dalam fungsi dalam bahasa pilihan Anda, lihat bagian Lihat Juga CreateAutoMLJobV2
dan pilih SDK. Sebagai contoh, untuk pengguna Python, lihat sintaks permintaan lengkap dari in. create_auto_ml_job_v2
AWS SDK for Python (Boto3)
catatan
Autopilot menyempurnakan model bahasa besar tanpa memerlukan banyak kandidat untuk dilatih dan dievaluasi. Alih-alih, menggunakan kumpulan data Anda, Autopilot secara langsung menyempurnakan model target Anda untuk meningkatkan metrik objektif default, kehilangan lintas entropi. Model bahasa fine-tuning di Autopilot tidak memerlukan pengaturan bidang. AutoMLJobObjective
Setelah LLM Anda disempurnakan, Anda dapat mengevaluasi kinerjanya dengan mengakses berbagai ROUGE skor melalui BestCandidate
saat melakukan panggilan DescribeAutoMLJobV2
API. Model ini juga memberikan informasi tentang pelatihan dan kehilangan validasi serta kebingungannya. Untuk daftar lengkap metrik untuk mengevaluasi kualitas teks yang dihasilkan oleh model yang disetel dengan baik, lihat. Metrik untuk menyempurnakan model bahasa besar di Autopilot
Prasyarat
Sebelum menggunakan Autopilot untuk membuat eksperimen fine-tuning di SageMaker AI, pastikan untuk mengambil langkah-langkah berikut:
-
(Opsional) Pilih model pra-terlatih yang ingin Anda sesuaikan.
Untuk daftar model pra-terlatih yang tersedia untuk fine-tuning di SageMaker Amazon Autopilot, lihat. Model bahasa besar yang didukung untuk fine-tuning Pemilihan model tidak wajib; jika tidak ada model yang ditentukan, Autopilot secara otomatis default ke model Falcon7. BInstruct
-
Buat kumpulan data instruksi. Lihat Jenis file dataset dan format data input untuk mempelajari tentang persyaratan format untuk kumpulan data berbasis instruksi Anda.
-
Tempatkan kumpulan data Anda di bucket Amazon S3.
-
Berikan akses penuh ke bucket Amazon S3 yang berisi data input Anda untuk peran eksekusi SageMaker AI yang digunakan untuk menjalankan eksperimen Anda.
-
Untuk informasi tentang mengambil peran eksekusi SageMaker AI Anda, lihatDapatkan peran eksekusi Anda.
-
Untuk informasi tentang pemberian izin peran eksekusi SageMaker AI untuk mengakses satu atau beberapa bucket spesifik di Amazon S3, lihat Menambahkan Izin Amazon S3 Tambahan ke Peran Eksekusi AI di. SageMaker Buat peran eksekusi
-
-
Selain itu, Anda harus memberi peran eksekusi izin yang diperlukan untuk mengakses bucket Amazon S3 penyimpanan default yang digunakan oleh. JumpStart Akses ini diperlukan untuk menyimpan dan mengambil artefak model pra-terlatih di. JumpStart Untuk memberikan akses ke bucket Amazon S3 ini, Anda harus membuat kebijakan kustom inline baru pada peran eksekusi Anda.
Berikut adalah contoh kebijakan yang dapat Anda gunakan di editor JSON Anda saat mengonfigurasi pekerjaan fine-tuning AutoML di:
us-west-2
JumpStartnama bucket mengikuti pola yang telah ditentukan yang bergantung pada. Wilayah AWS Anda harus menyesuaikan nama ember yang sesuai.
{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::jumpstart-cache-prod-
us-west-2
", "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*
" ] }
Setelah ini selesai, Anda dapat menggunakan ARN dari peran eksekusi ini dalam permintaan API Autopilot.
Parameter yang diperlukan
Saat menelepon CreateAutoMLJobV2
untuk membuat eksperimen Autopilot untuk fine-tuning LLM, Anda harus memberikan nilai berikut:
-
An
AutoMLJobName
untuk menentukan nama pekerjaan Anda. Nama harus bertipestring
, dan harus memiliki panjang minimal 1 karakter dan panjang maksimum 32. -
Setidaknya
AutoMLJobChannel
salah satutraining
tipe di dalamAutoMLJobInputDataConfig
. Saluran ini menentukan nama bucket Amazon S3 tempat dataset fine-tuning Anda berada. Anda memiliki opsi untuk menentukanvalidation
saluran. Jika tidak ada saluran validasi yang disediakan, dan aValidationFraction
dikonfigurasi diAutoMLDataSplitConfig
, fraksi ini digunakan untuk membagi kumpulan data pelatihan secara acak menjadi set pelatihan dan validasi. Selain itu, Anda dapat menentukan jenis konten (file CSV atau Parket) untuk kumpulan data. -
AutoMLProblemTypeConfig
JenisTextGenerationJobConfig
untuk mengonfigurasi pengaturan pekerjaan pelatihan Anda.Secara khusus, Anda dapat menentukan nama model dasar untuk menyempurnakan bidang.
BaseModelName
Untuk daftar model pra-terlatih yang tersedia untuk fine-tuning di SageMaker Amazon Autopilot, lihat. Model bahasa besar yang didukung untuk fine-tuning -
OutputDataConfig
Untuk menentukan jalur keluaran Amazon S3 untuk menyimpan artefak pekerjaan AutoML Anda. -
A
RoleArn
untuk menentukan ARN dari peran yang digunakan untuk mengakses data Anda.
Berikut ini adalah contoh format permintaan lengkap yang digunakan saat membuat panggilan API CreateAutoMLJobV2
untuk menyempurnakan model ()Falcon7BInstruct
.
{ "AutoMLJobName": "<job_name>", "AutoMLJobInputDataConfig": [ { "ChannelType": "training", "CompressionType": "None", "ContentType": "text/csv", "DataSource": { "S3DataSource": { "S3DataType": "S3Prefix", "S3Uri": "s3://<bucket_name>/<input_data>.csv" } } } ], "OutputDataConfig": { "S3OutputPath": "s3://<bucket_name>/output", "KmsKeyId": "arn:aws:kms:<region>:<account_id>:key/<key_value>" }, "RoleArn":"arn:aws:iam::<account_id>:role/<sagemaker_execution_role_name>", "AutoMLProblemTypeConfig": { "TextGenerationJobConfig": { "BaseModelName": "Falcon7BInstruct" } } }
Semua parameter lainnya adalah opsional.
Parameter opsional
Bagian berikut memberikan rincian beberapa parameter opsional yang dapat Anda berikan ke pekerjaan AutoML fine-tuning Anda.
Anda dapat memberikan kumpulan data validasi dan rasio pemisahan data khusus Anda sendiri, atau membiarkan Autopilot membagi kumpulan data secara otomatis.
Setiap AutoMLJobChannel
objek (lihat parameter yang diperlukan Auto MLJob InputDataConfig) memilikiChannelType
, yang dapat diatur ke salah satu training
atau validation
nilai yang menentukan bagaimana data akan digunakan saat membangun model pembelajaran mesin.
Setidaknya satu sumber data harus disediakan dan maksimal dua sumber data diperbolehkan: satu untuk data pelatihan dan satu untuk data validasi. Bagaimana Anda membagi data menjadi kumpulan data pelatihan dan validasi tergantung pada apakah Anda memiliki satu atau dua sumber data.
-
Jika Anda hanya memiliki satu sumber data,
ChannelType
diatur ke secaratraining
default dan harus memiliki nilai ini.-
Jika
ValidationFraction
nilai dalam tidakAutoMLDataSplitConfig
disetel, 0.2 (20%) data dari sumber ini digunakan untuk validasi secara default. -
Jika
ValidationFraction
diatur ke nilai antara 0 dan 1, dataset dibagi berdasarkan nilai yang ditentukan, di mana nilai menentukan fraksi dari dataset yang digunakan untuk validasi.
-
-
Jika Anda memiliki dua sumber data,
ChannelType
salah satuAutoMLJobChannel
objek harus diatur ketraining
, nilai default. Sumber data lainnya harus diatur kevalidation
.ChannelType
Kedua sumber data harus memiliki format yang sama, baik CSV atau Parket, dan skema yang sama. Anda tidak boleh menetapkan nilai untukValidationFraction
dalam kasus ini karena semua data dari setiap sumber digunakan untuk pelatihan atau validasi. Menyetel nilai ini menyebabkan kesalahan.
Dengan Autopilot, Anda dapat secara otomatis menerapkan model fine-tuned Anda ke titik akhir. Untuk mengaktifkan penerapan otomatis untuk model yang disetel dengan baik, sertakan a dalam permintaan pekerjaan ModelDeployConfig
AutoML. Ini memungkinkan penerapan model yang disetel dengan baik ke titik akhir AI. SageMaker Di bawah ini adalah konfigurasi yang tersedia untuk kustomisasi.
-
Untuk membiarkan Autopilot menghasilkan nama titik akhir, setel ke.
AutoGenerateEndpointName
True
-
Untuk memberikan nama Anda sendiri untuk titik akhir, atur
AutoGenerateEndpointName to
.False
and provide a name of your choice in EndpointName
Untuk model yang memerlukan penerimaan perjanjian lisensi pengguna akhir sebelum fine-tuning, Anda dapat menerima EULA dengan menyetel AcceptEula
atribut to in saat mengonfigurasi. ModelAccessConfig
True
TextGenerationJobConfig
AutoMLProblemTypeConfig
Anda dapat mengoptimalkan proses pembelajaran model pembuatan teks Anda dengan menyetel nilai hyperparameter dalam TextGenerationHyperParameters
atribut TextGenerationJobConfig
saat mengonfigurasi. AutoMLProblemTypeConfig
Autopilot memungkinkan pengaturan empat hiperparameter umum di semua model.
-
epochCount
: Nilainya harus berupa string yang berisi nilai integer dalam kisaran1
to10
. -
batchSize
: Nilainya harus berupa string yang berisi nilai integer dalam kisaran1
to64
. -
learningRate
: Nilainya harus berupa string yang berisi nilai floating-point dalam kisaran to.0
1
-
learningRateWarmupSteps
: Nilainya harus berupa string yang berisi nilai integer dalam kisaran0
to250
.
Untuk detail lebih lanjut tentang setiap hyperparameter, lihatHyperparameters untuk mengoptimalkan proses pembelajaran model pembuatan teks Anda.
Contoh JSON berikut menunjukkan TextGenerationHyperParameters
bidang yang diteruskan ke TextGenerationJobConfig tempat keempat hyperparameters dikonfigurasi.
"AutoMLProblemTypeConfig": { "TextGenerationJobConfig": { "BaseModelName": "Falcon7B", "TextGenerationHyperParameters": {"epochCount":"5", "learningRate":"0.000001", "batchSize": "32", "learningRateWarmupSteps": "10"} } }