Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Evaluasi Model yang Dihosting pada SageMaker Inferensi
Panduan ini menjelaskan cara mengevaluasi model Amazon Nova khusus Anda yang diterapkan pada titik akhir SageMaker inferensi menggunakan Inspect AI
catatan
Untuk panduan langsung, lihat notebook quickstart SageMaker Inspect
Ikhtisar
Anda dapat mengevaluasi model Amazon Nova khusus yang digunakan pada SageMaker titik akhir menggunakan tolok ukur standar dari komunitas riset AI. Pendekatan ini memungkinkan Anda untuk:
-
Evaluasi model Amazon Nova yang disesuaikan (disetel dengan baik, disuling, atau disesuaikan) dalam skala besar
-
Jalankan evaluasi dengan inferensi paralel di beberapa instance titik akhir
-
Bandingkan kinerja model menggunakan tolok ukur seperti MMLU, TruthfulQA, dan HumanEval
-
Integrasikan dengan SageMaker infrastruktur yang ada
Model yang didukung
Penyedia SageMaker inferensi bekerja dengan:
-
Model Amazon Nova (Nova Micro, Nova Lite, Nova Lite 2)
-
Model yang digunakan melalui server inferensi yang kompatibel dengan VLLM atau OpenAI
-
Titik akhir apa pun yang mendukung format API Penyelesaian OpenAI Chat
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki:
-
Sebuah Akun AWS dengan izin untuk membuat dan memanggil titik akhir SageMaker
-
AWS kredensil yang dikonfigurasi melalui AWS CLI, variabel lingkungan, atau peran IAM
-
Python 3.9 atau lebih tinggi
Izin IAM yang diperlukan
Pengguna atau peran IAM Anda memerlukan izin berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:InvokeEndpoint", "sagemaker:DescribeEndpoint" ], "Resource": "arn:aws:sagemaker:*:*:endpoint/*" } ] }
Langkah 1: Menyebarkan titik akhir SageMaker
Sebelum menjalankan evaluasi, Anda memerlukan titik akhir SageMaker inferensi yang menjalankan model Anda.
Untuk petunjuk tentang membuat titik akhir SageMaker inferensi dengan model Amazon Nova, lihat. Memulai
Setelah titik akhir Anda dalam InService status, perhatikan nama titik akhir untuk digunakan dalam perintah evaluasi.
Langkah 2: Instal dependensi evaluasi
Buat lingkungan virtual Python dan instal paket yang diperlukan.
# Create virtual environment python3.12 -m venv venv source venv/bin/activate # Install uv for faster package installation pip install uv # Install Inspect AI and evaluation benchmarks uv pip install inspect-ai inspect-evals # Install AWS dependencies uv pip install aioboto3 boto3 botocore openai
Langkah 3: Konfigurasikan AWS kredensil
Pilih salah satu metode otentikasi berikut:
Opsi 1: AWS CLI (Direkomendasikan)
aws configure
Masukkan ID Kunci AWS Akses, Kunci Akses Rahasia, dan wilayah default saat diminta.
Opsi 2: Variabel lingkungan
export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_DEFAULT_REGION=us-west-2
Opsi 3: Peran IAM
Jika berjalan di Amazon EC2 atau SageMaker notebook, peran IAM instans akan digunakan secara otomatis.
Verifikasi kredensialnya
import boto3 sts = boto3.client('sts') identity = sts.get_caller_identity() print(f"Account: {identity['Account']}") print(f"User/Role: {identity['Arn']}")
Langkah 4: Instal SageMaker penyedia
SageMaker Penyedia memungkinkan Inspect AI untuk berkomunikasi dengan titik SageMaker akhir Anda. Proses instalasi penyedia disederhanakan di notebook quickstart
Langkah 5: Unduh tolok ukur evaluasi
Kloning repositori Inspect Evals untuk mengakses tolok ukur standar:
git clone https://github.com/UKGovernmentBEIS/inspect_evals.git
Repositori ini mencakup tolok ukur seperti:
-
MMLU dan MMLU-Pro (pengetahuan dan penalaran)
-
TruthfulQA (kejujuran)
-
HumanEval (pembuatan kode)
-
GSM8K (penalaran matematika)
Langkah 6: Jalankan evaluasi
Jalankan evaluasi menggunakan SageMaker endpoint Anda:
cd inspect_evals/src/inspect_evals/ inspect eval mmlu_pro/mmlu_pro.py \ --model sagemaker/my-nova-endpoint \ -M region_name=us-west-2 \ --max-connections 256 \ --max-retries 100 \ --display plain
Parameter kunci
| Parameter | Default | Deskripsi |
|---|---|---|
--max-connections |
10 | Jumlah permintaan paralel ke titik akhir. Skala dengan jumlah instance (misalnya, 10 instance × 25 = 250). |
--max-retries |
3 | Coba lagi upaya untuk permintaan yang gagal. Gunakan 50-100 untuk evaluasi besar. |
-M region_name |
us-east-1 | AWS wilayah tempat titik akhir Anda diterapkan. |
-M read_timeout |
600 | Minta batas waktu dalam hitungan detik. |
-M connect_timeout |
60 | Batas waktu koneksi dalam hitungan detik. |
Rekomendasi penyetelan
Untuk titik akhir multi-instance:
# 10-instance endpoint example --max-connections 250 # ~25 connections per instance --max-retries 100 # Handle transient errors
Pengaturan --max-connections terlalu tinggi dapat membanjiri titik akhir dan menyebabkan pelambatan. Mengaturnya terlalu rendah kurang memanfaatkan kapasitas.
Langkah 7: Lihat hasil
Luncurkan penampil Inspect AI untuk menganalisis hasil evaluasi:
inspect view
Penampil menampilkan:
-
Skor dan metrik keseluruhan
-
Hasil per sampel dengan respons model
-
Analisis kesalahan dan pola kegagalan
Mengelola titik akhir
Perbarui titik akhir
Untuk memperbarui titik akhir yang ada dengan model atau konfigurasi baru:
import boto3 sagemaker = boto3.client('sagemaker', region_name=REGION) # Create new model and endpoint configuration # Then update the endpoint sagemaker.update_endpoint( EndpointName=EXISTING_ENDPOINT_NAME, EndpointConfigName=NEW_ENDPOINT_CONFIG_NAME )
Hapus titik akhir
sagemaker.delete_endpoint(EndpointName=ENDPOINT_NAME)
Tolok ukur khusus orientasi
Anda dapat menambahkan tolok ukur baru ke Inspect AI menggunakan alur kerja berikut:
-
Pelajari format dataset benchmark dan metrik evaluasi
-
Tinjau implementasi serupa di
inspect_evals/ -
Buat file tugas yang mengonversi catatan kumpulan data untuk Memeriksa sampel AI
-
Menerapkan pemecah dan pencetak gol yang tepat
-
Validasi dengan uji coba kecil
Contoh struktur tugas:
from inspect_ai import Task, task from inspect_ai.dataset import hf_dataset from inspect_ai.scorer import choice from inspect_ai.solver import multiple_choice @task def my_benchmark(): return Task( dataset=hf_dataset("dataset_name", split="test"), solver=multiple_choice(), scorer=choice() )
Pemecahan masalah
Masalah umum
Pelambatan titik akhir atau batas waktu
-
Mengurangi
--max-connections -
Meningkat
--max-retries -
Periksa CloudWatch metrik titik akhir untuk masalah kapasitas
Kesalahan otentikasi
-
Verifikasi AWS kredensil dikonfigurasi dengan benar
-
Periksa izin IAM termasuk
sagemaker:InvokeEndpoint
Kesalahan model
-
Verifikasi titik akhir dalam status
InService -
Periksa apakah model mendukung format OpenAI Chat Completions API