Evaluasi Model yang Dihosting pada SageMaker Inferensi - Amazon Nova

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, kerangka evaluasi sumber terbuka.

catatan

Untuk panduan langsung, lihat notebook quickstart SageMaker Inspect AI.

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:

  1. Pelajari format dataset benchmark dan metrik evaluasi

  2. Tinjau implementasi serupa di inspect_evals/

  3. Buat file tugas yang mengonversi catatan kumpulan data untuk Memeriksa sampel AI

  4. Menerapkan pemecah dan pencetak gol yang tepat

  5. 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