Mengevaluasi model terlatih Anda - Amazon SageMaker AI

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

Mengevaluasi model terlatih Anda

Resep evaluasi adalah file konfigurasi YAMM yang menentukan bagaimana pekerjaan evaluasi model Amazon Nova Anda dijalankan. Dengan resep ini, Anda dapat menilai kinerja model dasar atau terlatih terhadap tolok ukur umum atau kumpulan data khusus Anda sendiri. Metrik dapat disimpan di Amazon TensorBoard S3 atau. Evaluasi menyediakan metrik kuantitatif yang membantu Anda menilai kinerja model di berbagai tugas untuk menentukan apakah penyesuaian lebih lanjut diperlukan.

Evaluasi model adalah proses offline, di mana model diuji terhadap tolok ukur tetap dengan jawaban yang telah ditentukan. Mereka tidak dinilai secara real-time atau terhadap interaksi pengguna langsung. Untuk evaluasi real-time, Anda dapat mengevaluasi model setelah diterapkan ke Amazon Bedrock dengan memanggil runtime Amazon Bedrock. APIs

Tugas benchmark yang tersedia

Paket kode sampel tersedia yang menunjukkan cara menghitung metrik tolok ukur menggunakan fitur evaluasi model SageMaker AI untuk Amazon Nova. Untuk mengakses paket kode, lihat Sampel-N ova-lighteval-custom-task.

Berikut adalah daftar tolok ukur standar industri yang didukung dan tersedia. Anda dapat menentukan tolok ukur berikut dalam eval_task parameter:

Tolok Ukur

Modalitas

Deskripsi

Metrik

Strategi

Subtugas Tersedia

mmlu

Teks

Pemahaman Bahasa Multi-tugas - Menguji pengetahuan di 57 mata pelajaran.

ketepatan

zs_cot

Ya

mmlu_pro

Teks

MMLU - Subset Profesional - Berfokus pada domain profesional seperti hukum, kedokteran, akuntansi, dan teknik.

ketepatan

zs_cot

Tidak

bbh

Teks

Tugas Penalaran Lanjutan - Kumpulan masalah menantang yang menguji keterampilan kognitif dan pemecahan masalah tingkat tinggi.

ketepatan

zs_cot

Ya

gpqa

Teks

Penjawab Pertanyaan Fisika Umum — Menilai pemahaman konsep fisika dan kemampuan pemecahan masalah terkait.

ketepatan

zs_cot

Tidak

matematika

Teks

Pemecahan Masalah Matematika — Mengukur penalaran matematis di seluruh topik termasuk aljabar, kalkulus, dan masalah kata.

exact_match

zs_cot

Ya

strong_tolak

Teks

Quality-Control Task — Menguji kemampuan model untuk mendeteksi dan menolak konten yang tidak pantas, berbahaya, atau salah.

defleksi

zs

Ya

IFEval

Teks

Instruksi-Mengikuti Evaluasi - Mengukur seberapa akurat model mengikuti instruksi yang diberikan dan menyelesaikan tugas untuk spesifikasi.

ketepatan

zs

Tidak

gen_qa

Teks

Evaluasi Dataset Kustom - Memungkinkan Anda membawa dataset Anda sendiri untuk benchmarking, membandingkan output model untuk referensi jawaban dengan metrik seperti ROUGE dan BLEU.

all

gen_qa

Tidak

mmmu

Multi-modal

Massive Multidiscipline Multimodal Understanding (MMMU) - Tolok ukur tingkat perguruan tinggi yang terdiri dari pertanyaan pilihan ganda dan terbuka dari 30 disiplin ilmu.

ketepatan

zs_cot

Ya

llm_hakim

Teks

LLM-as-a-Judge Perbandingan Preferensi — Menggunakan model Nova Judge untuk menentukan preferensi antara respons berpasangan (B dibandingkan dengan A) untuk petunjuk Anda, menghitung probabilitas B lebih disukai daripada A.

all

hakim

Tidak

kemanusiaan

Teks

HumanEval - Dataset benchmark yang dirancang untuk mengevaluasi kemampuan pembuatan kode model bahasa besar

lulus @1

zs

Tidak

mmluSubtugas berikut tersedia:

MMLU_SUBTASKS = [ "abstract_algebra", "anatomy", "astronomy", "business_ethics", "clinical_knowledge", "college_biology", "college_chemistry", "college_computer_science", "college_mathematics", "college_medicine", "college_physics", "computer_security", "conceptual_physics", "econometrics", "electrical_engineering", "elementary_mathematics", "formal_logic", "global_facts", "high_school_biology", "high_school_chemistry", "high_school_computer_science", "high_school_european_history", "high_school_geography", "high_school_government_and_politics", "high_school_macroeconomics", "high_school_mathematics", "high_school_microeconomics", "high_school_physics", "high_school_psychology", "high_school_statistics", "high_school_us_history", "high_school_world_history", "human_aging", "human_sexuality", "international_law", "jurisprudence", "logical_fallacies", "machine_learning", "management", "marketing", "medical_genetics", "miscellaneous", "moral_disputes", "moral_scenarios", "nutrition", "philosophy", "prehistory", "professional_accounting", "professional_law", "professional_medicine", "professional_psychology", "public_relations", "security_studies", "sociology", "us_foreign_policy", "virology", "world_religions" ]

bbhSubtugas berikut tersedia:

BBH_SUBTASKS = [ "boolean_expressions", "causal_judgement", "date_understanding", "disambiguation_qa", "dyck_languages", "formal_fallacies", "geometric_shapes", "hyperbaton", "logical_deduction_five_objects", "logical_deduction_seven_objects", "logical_deduction_three_objects", "movie_recommendation", "multistep_arithmetic_two", "navigate", "object_counting", "penguins_in_a_table", "reasoning_about_colored_objects", "ruin_names", "salient_translation_error_detection", "snarks", "sports_understanding", "temporal_sequences", "tracking_shuffled_objects_five_objects", "tracking_shuffled_objects_seven_objects", "tracking_shuffled_objects_three_objects", "web_of_lies", "word_sorting" ]

mathSubtugas berikut tersedia:

MATH_SUBTASKS = [ "algebra", "counting_and_probability", "geometry", "intermediate_algebra", "number_theory", "prealgebra", "precalculus", ]

Memahami parameter resep

Jalankan konfigurasi

Berikut ini adalah konfigurasi run umum dan penjelasan tentang parameter yang terlibat.

run: name: eval_job_name model_type: amazon.nova-micro-v1:0:128k model_name_or_path: nova-micro/prod replicas: 1 data_s3_path: "" output_s3_path: s3://output_path
  • name: (Wajib) Nama deskriptif untuk pekerjaan evaluasi Anda. Ini membantu mengidentifikasi pekerjaan Anda di AWS konsol.

  • model_type: (Wajib) Menentukan varian model Amazon Nova yang akan digunakan. Jangan memodifikasi bidang ini secara manual. Opsinya meliputi:

    • amazon.nova-micro-v1:0:128k

    • amazon.nova-lite-v1:0:300k

    • amazon.nova-pro-v1:0:300k

  • model_name_or_path: (Wajib) Jalur ke model dasar atau jalur S3 untuk pos pemeriksaan pasca-terlatih. Opsinya meliputi:

    • nova-micro/prod

    • nova-lite/prod

    • nova-pro/prod

    • (Jalur S3 untuk pos pemeriksaan pasca-terlatih) s3://<escrow bucket>/<job id>/outputs/checkpoints

  • replicas: (Wajib) Jumlah instance komputasi yang digunakan untuk pelatihan terdistribusi. Anda harus menetapkan nilai ini ke 1 karena multi-node tidak didukung.

  • data_s3_path: (Wajib) Jalur S3 ke dataset input. Biarkan parameter ini kosong kecuali Anda menggunakan set data atau LLM bawa sendiri sebagai resep juri.

  • output_s3_path: (Wajib) Jalur S3 untuk menyimpan artefak evaluasi keluaran. Perhatikan bahwa bucket output S3 harus dibuat oleh akun yang sama yang membuat pekerjaan.

Konfigurasi evaluasi

Berikut ini adalah konfigurasi evaluasi model dan penjelasan tentang parameter yang terlibat.

evaluation: task: mmlu strategy: zs_cot subtask: mathematics metric: accuracy
  • task: (Wajib) Menentukan benchmark evaluasi atau tugas untuk digunakan.

    Daftar tugas yang didukung:

    • mmlu

    • mmlu_pro

    • bbh

    • gpqa

    • matematika

    • strong_tolak

    • gen_qa

    • ifeval

    • mmmu

    • llm_hakim

    • kemanusiaan

  • strategy: (Wajib) Mendefinisikan pendekatan evaluasi:

    • zs_cot: Zero-shot Chain-of-Thought - Pendekatan untuk mendorong model bahasa besar yang mendorong penalaran tanpa memerlukan contoh eksplisit. step-by-step

    • zs: Zero-shot - Pendekatan untuk memecahkan masalah tanpa contoh pelatihan sebelumnya.

    • gen_qa: Strategi khusus untuk bawa resep dataset Anda sendiri.

    • hakim: Strategi khusus untuk Amazon Nova LLM sebagai resep Hakim.

  • subtask: (Opsional dan Dapat Dilepas) Menentukan subtugas tertentu untuk tugas evaluasi tertentu. Hapus ini dari resep Anda jika tugas Anda tidak memiliki subtugas apa pun.

  • metric: (Wajib) Metrik evaluasi yang akan digunakan.

    • akurasi: Persentase jawaban yang benar

    • exact_match: (Untuk math benchmark), mengembalikan tingkat di mana string yang diprediksi input sama persis dengan referensi mereka.

    • defleksi: (Untuk strong reject benchmark), mengembalikan defleksi relatif ke model dasar dan perbedaan metrik signifikansi.

    • pass @1: (Untuk humaneval benchmark) adalah metrik yang digunakan untuk mengukur persentase kasus di mana prediksi kepercayaan tertinggi model cocok dengan jawaban yang benar.

    • all: Mengembalikan metrik berikut:

      • Untuk gen_qa dan bawa benchmark dataset Anda sendiri, kembalikan metrik berikut:

        • rouge1: Mengukur tumpang tindih unigram (kata tunggal) antara teks yang dihasilkan dan referensi.

        • rouge2: Mengukur tumpang tindih bigram (dua kata berturut-turut) antara teks yang dihasilkan dan referensi.

        • rougeL: Mengukur urutan umum terpanjang antara teks, memungkinkan celah dalam pencocokan.

        • exact_match: Skor biner (0 atau 1) menunjukkan apakah teks yang dihasilkan cocok dengan teks referensi persis, karakter demi karakter.

        • quasi_exact_match: Mirip dengan kecocokan persis tetapi lebih lunak, biasanya mengabaikan kasus, tanda baca, dan perbedaan ruang putih.

        • f1_score: Rata-rata harmonik presisi dan ingatan, mengukur tumpang tindih kata antara jawaban yang diprediksi dan referensi.

        • f1_score_quasi: Mirip dengan f1_score tetapi dengan pencocokan yang lebih lunak, menggunakan perbandingan teks yang dinormalisasi yang mengabaikan perbedaan kecil.

        • bleu: Mengukur presisi kecocokan n-gram antara teks yang dihasilkan dan referensi, yang biasa digunakan dalam evaluasi terjemahan.

      • Untuk llm_judge dan bawa benchmark dataset Anda sendiri, kembalikan metrik berikut:

        • a_scores: Jumlah kemenangan untuk response_A lintasan evaluasi maju dan mundur.

        • a_scores_stderr: Kesalahan standar response_A scores di seluruh penilaian berpasangan.

        • b_scores: Jumlah kemenangan untuk response_B lintasan evaluasi maju dan mundur.

        • b_scores_stderr: Kesalahan standar response_B scores di seluruh penilaian berpasangan.

        • ties: Jumlah penilaian di mana response_A dan response_B dievaluasi sebagai sama.

        • ties_stderr: Kesalahan standar ikatan di seluruh penilaian berpasangan.

        • inference_error: Hitungan penilaian yang tidak dapat dievaluasi dengan benar.

        • inference_error_stderr: Kesalahan standar kesalahan inferensi di seluruh penilaian.

        • score: Skor agregat berdasarkan kemenangan dari umpan maju dan mundur untuk. response_B

        • score_stderr: Kesalahan standar skor agregat di seluruh penilaian berpasangan.

        • winrate: probabilitas bahwa response_B akan lebih disukai daripada response_A dihitung menggunakan probabilitas Bradley-Terry.

        • lower_rate: Batas bawah (persentil 2.5) dari perkiraan tingkat kemenangan dari pengambilan sampel bootstrap.

Konfigurasi inferensi

Berikut ini adalah konfigurasi inferensi dan penjelasan tentang parameter yang terlibat. Semua parameter bersifat opsional.

inference: max_new_tokens: 200 top_k: -1 top_p: 1.0 temperature: 0
  • max_new_tokens: Jumlah maksimum token yang akan dihasilkan. Ini harus berupa bilangan bulat.

  • top_k: Jumlah token probabilitas tertinggi untuk dipertimbangkan. Ini harus berupa bilangan bulat.

  • top_p: Ambang probabilitas kumulatif untuk pengambilan sampel token. Ini harus berupa float antara 0,0 dan 1,0, inklusif.

  • temperature: Keacakan dalam pemilihan token. Nilai yang lebih besar memperkenalkan lebih banyak keacakan. Gunakan 0 untuk membuat hasil deterministik. Nilai ini harus berupa float dengan nilai minimum 0.

Perhatikan bahwa untukhumaneval, kami merekomendasikan konfigurasi inferensi berikut:

inference: top_k: 1 max_new_tokens: 1600 temperature: 0.0

Contoh resep evaluasi

Amazon Nova menyediakan empat jenis resep evaluasi, yang tersedia di GitHub repositori HyperPod resep.

Resep tolok ukur teks umum

Resep-resep ini memungkinkan Anda untuk mengevaluasi kemampuan dasar model Amazon Nova di seluruh rangkaian tolok ukur khusus teks yang komprehensif. Mereka disediakan dalam formatxxx_general_text_benchmark_eval.yaml.

Resep tolok ukur multi-modal umum

Resep-resep ini memungkinkan Anda untuk mengevaluasi kemampuan dasar model Amazon Nova di seluruh rangkaian tolok ukur multi-modalitas yang komprehensif. Mereka disediakan dalam formatxxx_general_multi_modal_benchmark_eval.yaml.

Bawa resep benchmark dataset Anda sendiri

Resep-resep ini memungkinkan Anda untuk membawa dataset Anda sendiri untuk benchmarking dan membandingkan output model untuk referensi jawaban menggunakan berbagai jenis metrik. Mereka disediakan dalam formatxxx_bring_your_own_dataset_eval.yaml.

Berikut ini adalah persyaratan dataset Anda sendiri:

  • Persyaratan format file

    • Anda harus menyertakan satu gen_qa.jsonl file yang berisi contoh evaluasi.

    • Dataset Anda harus diunggah ke lokasi S3 tempat pekerjaan pelatihan SageMaker AI dapat mengaksesnya.

    • File harus mengikuti format skema yang diperlukan untuk kumpulan data Tanya Jawab umum.

  • Persyaratan format skema - Setiap baris dalam file JSONL harus berupa objek JSON dengan bidang berikut:

    • query: (Wajib) String yang berisi pertanyaan atau instruksi yang membutuhkan jawaban

    • response: (Wajib) String yang berisi output model yang diharapkan

    • system: (Opsional) String yang berisi prompt sistem yang menetapkan perilaku, peran, atau kepribadian model AI sebelum memproses kueri

Berikut ini adalah entri contoh kumpulan data Anda sendiri

{ "system":"You are a english major with top marks in class who likes to give minimal word responses: ", "query":"What is the symbol that ends the sentence as a question", "response":"?" } { "system":"You are a pattern analysis specialist that provides succinct answers: ", "query":"What is the next number in this series? 1, 2, 4, 8, 16, ?", "response":"32" } { "system":"You have great attention to detail that follows instructions accurately: ", "query":"Repeat only the last two words of the following: I ate a hamburger today and it was kind of dry", "response":"of dry" }

Untuk menggunakan kumpulan data kustom Anda, ubah resep evaluasi Anda dengan bidang wajib berikut, jangan ubah konten apa pun:

evaluation: task: gen_qa strategy: gen_qa metric: all

Batasan berikut berlaku:

  • Hanya satu file JSONL yang diizinkan per evaluasi.

  • File harus benar-benar mengikuti skema yang ditentukan.

  • Batas panjang konteks: Untuk setiap sampel dalam kumpulan data, panjang konteks (termasuk permintaan kueri sistem+) harus kurang dari 3,5k

Amazon Nova LLM sebagai resep tolok ukur Hakim

Amazon Nova LLM sebagai Hakim adalah fitur evaluasi model yang memungkinkan pelanggan membandingkan kualitas respons dari satu model ke respons model dasar pada kumpulan data khusus. Dibutuhkan kumpulan data dengan petunjuk, respons dasar, dan respons penantang, dan menggunakan model Nova Judge untuk memberikan metrik winrate berdasarkan probabilitas Bradley-Terry dengan perbandingan berpasangan.

Resep disediakan dalam formatxxx_llm_judge_eval.yaml.

Berikut ini adalah LLM sebagai persyaratan Hakim:

  • Persyaratan format file

    • Sertakan satu llm_judge.jsonl file yang berisi contoh evaluasi. Nama file harusllm_judge.jsonl.

    • Dataset Anda harus diunggah ke lokasi S3 yang dapat diakses SageMaker AI HyperPod RIG.

    • File harus mengikuti format skema yang diperlukan untuk llm_judge.jsonl kumpulan data.

    • Dataset input harus memastikan semua catatan berada di bawah panjang konteks 12k.

  • Persyaratan format skema - Setiap baris dalam file JSONL harus berupa objek JSON dengan bidang berikut:

    • prompt: (Wajib) String yang berisi prompt untuk respons yang dihasilkan.

    • response_A: String yang berisi respons dasar.

    • response_B: String yang berisi respons alternatif dibandingkan dengan respons dasar.

Berikut adalah LLM sebagai entri contoh juri

{ "prompt": "What is the most effective way to combat climate change?", "response_A": "The most effective way to combat climate change is through a combination of transitioning to renewable energy sources and implementing strict carbon pricing policies. This creates economic incentives for businesses to reduce emissions while promoting clean energy adoption.", "response_B": "We should focus on renewable energy. Solar and wind power are good. People should drive electric cars. Companies need to pollute less." } { "prompt": "Explain how a computer's CPU works", "response_A": "CPU is like brain of computer. It does math and makes computer work fast. Has lots of tiny parts inside.", "response_B": "A CPU (Central Processing Unit) functions through a fetch-execute cycle, where instructions are retrieved from memory, decoded, and executed through its arithmetic logic unit (ALU). It coordinates with cache memory and registers to process data efficiently using binary operations." } { "prompt": "How does photosynthesis work?", "response_A": "Plants do photosynthesis to make food. They use sunlight and water. It happens in leaves.", "response_B": "Photosynthesis is a complex biochemical process where plants convert light energy into chemical energy. They utilize chlorophyll to absorb sunlight, combining CO2 and water to produce glucose and oxygen through a series of chemical reactions in chloroplasts." }

Untuk menggunakan kumpulan data kustom Anda, ubah resep evaluasi Anda dengan bidang wajib berikut, jangan ubah konten apa pun:

evaluation: task: llm_judge strategy: judge metric: all

Batasan berikut berlaku:

  • Hanya satu file JSONL yang diizinkan per evaluasi.

  • File harus benar-benar mengikuti skema yang ditentukan.

  • Model Amazon Nova Judge sama di semua spesifikasi keluarga model (yaitu, Lite, Micro, dan Pro).

  • Model juri khusus tidak didukung saat ini.

  • Batas panjang konteks: Untuk setiap sampel dalam kumpulan data, panjang konteks (termasuk permintaan kueri sistem+) harus kurang dari 7k

Memulai pekerjaan evaluasi

Berikut ini menyediakan jenis instans evaluasi yang disarankan dan konfigurasi tipe model:

# Install Dependencies (Helm - https://helm.sh/docs/intro/install/) curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh rm -f ./get_helm.sh # Install the HyperPod CLI git clone --recurse-submodules https://github.com/aws/sagemaker-hyperpod-cli.git git checkout -b release_v2 cd sagemaker-hyperpod-cli pip install . # Verify the installation hyperpod --help # Connect to a HyperPod Cluster hyperpod connect-cluster --cluster-name cluster-name # Submit the Job using the recipe for eval # Namespace by default should be kubeflow hyperpod start-job [--namespace namespace] --recipe evaluation/nova/nova_micro_p5_48xl_general_text_benchmark_eval --override-parameters \ '{ "instance_type":"p5d.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-HP-Eval-latest", "recipes.run.name": custom-run-name, "recipes.run.model_type": model_type, "recipes.run.model_name_or_path" " model name or finetune checkpoint s3uri, "recipes.run.data_s3_path": s3 for input data only for genqa and llm_judge, must be full S3 path that include filename, }' # List jobs hyperpod list-jobs [--namespace namespace] [--all-namespaces] # Getting Job details hyperpod get-job --job-name job-name [--namespace namespace] [--verbose] # Listing Pods hyperpod list-pods --job-name job-name --namespace namespace # Cancel Job hyperpod cancel-job --job-name job-name [--namespace namespace]

Anda juga harus dapat melihat status pekerjaan melalui konsol cluster Amazon EKS.

Akses dan visualisasikan hasil Anda

Setelah pekerjaan evaluasi Anda selesai dengan sukses, Anda dapat mengakses dan menganalisis hasilnya menggunakan informasi di bagian ini. Berdasarkan output_s3_path (sepertis3://output_path/) yang didefinisikan dalam resep, struktur output adalah sebagai berikut:

job_name/ ├── eval-result/ │ └── job-name/ │ └── results_[timestamp].json │ └── details/ │ └── model/ │ └── execution-date-time/ │ └──details_task_name_#_datetime.parquet └── eval-tensorboard-result/ └── job-name/ └── eval/ └── events.out.tfevents.[timestamp]

Hasil metrik disimpan di lokasi output S3 yang ditentukan s3://output_path/job_name/eval-result/result-timestamp.json

Hasil tensorboard disimpan di jalur S3. s3://output_path/job_name/eval-tensorboard-result/eval/event.out.tfevents.epoch+ip

Output inferensi, mengharapkan strong_reject dangen_qa, disimpan di jalur S3. s3://output_path/job_name/eval-result/details/model/taskname.parquet

Untuk memvisualisasikan metrik evaluasi Anda di Tensorboard, selesaikan langkah-langkah berikut:

  1. Arahkan ke SageMaker AI Tensorboard.

  2. Pilih folder S3.

  3. Tambahkan jalur folder S3 Anda, misalnyas3://output_path/job-name/eval-tensorboard-result/eval.

  4. Tunggu sinkronisasi selesai.

Deret waktu, skalar, dan visualisasi teks tersedia.

Kami merekomendasikan praktik terbaik berikut:

  • Jaga agar jalur keluaran Anda diatur berdasarkan model dan tipe benchmark.

  • Pertahankan konvensi penamaan yang konsisten untuk memudahkan pelacakan.

  • Simpan hasil yang diekstraksi di lokasi yang aman.

  • Pantau status TensorBoard sinkronisasi untuk pemuatan data yang berhasil.

Anda dapat menemukan log kesalahan HyperPod pekerjaan di grup CloudWatch log/aws/sagemaker/Clusters/cluster-id.