Target pengoptimalan mewakili satu angka yang dimaksimalkan AlphaEvolve selama setiap generasi. Sebelum Anda menulis kode evaluator, jawab tiga pertanyaan berikut:
Nilai apa yang diwakili oleh angka ini?
Bagaimana cara sistem menghitungnya?
Di mana komputasi berjalan?
AlphaEvolve secara ketat memerlukan komputasi target terprogram dan otomatis untuk setiap solusi kandidat tanpa intervensi manusia. Otomatisasi ini membuat masalah tersebut cocok untuk AlphaEvolve. Jika seseorang harus menilai kualitas solusi secara manual, AlphaEvolve tidak dapat menelusurinya.
Gunakan pertimbangan berikut untuk memperkirakan performa solusi kandidat yang dihasilkan pada berbagai tujuan pengoptimalan dan batasan validasi:
- Dapatkah tujuan pengoptimalan dihitung secara langsung menggunakan logika bisnis atau produk, tanpa memerlukan pengukuran empiris?
- Dapatkah tujuan pengoptimalan diukur secara langsung dengan menjalankan pengujian performa dan beban pada kode solusi yang dihasilkan?
- Dapatkah tujuan pengoptimalan diperkirakan menggunakan fungsi pengganti deterministik yang ditetapkan dan metode simulasi yang andal?
- Dapatkah tujuan pengoptimalan diperkirakan dengan merancang fungsi pengganti kustom (seperti model prediktif atau estimator non-deterministik lainnya) yang memerlukan penyesuaian pada pengamatan empiris dan validasi pada data di luar sampel?
Langkah-langkah utama untuk mengukur target Anda
Ikuti pendekatan terstruktur untuk memastikan AlphaEvolve memiliki loop umpan balik otomatis yang andal untuk memandu penelusurannya. Selesaikan langkah-langkah berikut untuk menetapkan metrik, menentukan cara pengukurannya, dan menentukan tempat eksekusi terjadi.
1. Nyatakan target sebagai skor tunggal yang meningkat seiring peningkatan solusi
Konfigurasi metrik pengoptimalan inti Anda agar diskalakan secara linear atau monotonik dengan peningkatan performa yang sebenarnya sehingga jalur penelusuran memiliki gradien terarah yang jelas.
Maksimisasi skalar: AlphaEvolve selalu memaksimalkan satu nilai skalar. Ubah apa pun yang Anda pedulikan menjadi satu angka yang lebih tinggi lebih baik. Untuk meminimalkan latensi, biaya, atau error, negasikan:
score = -latency_msMonotonisitas: Skor harus monoton, harus meningkat setiap kali solusi benar-benar lebih baik. Skor yang bergerak secara tidak konsisten tidak memberikan arah bagi penelusuran untuk naik.
Eksekusi deterministik: Skor dihitung di evaluator Anda, tidak pernah oleh LLM, dan tidak pernah oleh orang. Hitung secara deterministik sehingga kandidat yang sama selalu mendapatkan skor yang sama.
Analisis gabungan untuk tujuan subjektif: Jika Anda tidak dapat menulis formula pemberian skor, tetapi dapat membandingkan dua solusi secara visual, buatlah solusi dengan analisis gabungan. Buat pasangan output kandidat, minta pakar domain memilih output yang lebih baik di setiap pasangan, sesuaikan regresi logistik pada pilihan tersebut, dan gunakan model yang disesuaikan sebagai metrik Anda. Hal ini mengubah penilaian subjektif menjadi skor deterministik yang dapat dibedakan. Jangan gunakan rubrik LLM mentah sebagai skor langsung karena lambat, tidak akurat, dan mudah dimanipulasi untuk mendapatkan reward; ringkas rubrik tersebut menjadi fungsi tetap terlebih dahulu.
2. Pilih cara penghitungan skor
Cara Anda menghasilkan angka bergantung pada apa yang Anda ukur. Pilih metode dari tabel yang sesuai dengan tujuan Anda. Hampir setiap deployment nyata menggunakan salah satu dari empat metode ini, dan banyak yang menggabungkan dua metode, yaitu metode murah untuk mendorong penelusuran dan metode mahal untuk mengonfirmasi pemenang.
| Metode pengukuran | Gunakan saat targetnya adalah… | Cara menghasilkan skor | Yang diperlukan untuk menjalankannya |
|---|---|---|---|
| Penghitungan langsung | Jumlah yang dapat Anda hitung dalam bentuk tertutup dari output kandidat menggunakan logika bisnis atau produk | Evaluator menjalankan kandidat dan menerapkan formula (jumlah, rasio, hitungan, biaya) | Proses pengontrol itu sendiri — tanpa infrastruktur tambahan |
| Pengujian performa atau beban | Waktu proses, throughput, atau memori kode kandidat itu sendiri | Jalankan kandidat di hardware representatif dan ukur; prioritaskan kebenaran terlebih dahulu | Hardware target (GPU atau TPU atau CPU); pemanasan dan best-of-N untuk mengurangi noise waktu |
| Pengganti / simulasi deterministik | Mahal atau sulit diukur secara langsung, tetapi ada proxy yang andal atau pemutaran ulang kondisi nyata | Menghitung proxy deterministik, atau memutar ulang skenario operasi tetap yang di-seed | Lingkungan apa pun; dapat direproduksi sepenuhnya dengan nilai awal tetap |
| Validasi di luar sampel | Kualitas model atau pipeline data yang dihasilkan kandidat | Latih/sesuaikan kandidat, lalu beri skor pada data yang ditahan atau yang baru dibuat | Tumpukan pelatihan/evaluasi Anda; pemisahan pelatihan vs. validasi yang ketat; validasi ulang pemenang pada set yang dikecualikan |
Untuk mengetahui informasi selengkapnya, lihat pengumuman AlphaEvolve di Google Cloud blog.
Jika tidak ada yang dapat menghasilkan angka secara otomatis, masalahnya belum siap untuk AlphaEvolve. Tugas intinya adalah membuat pengganti atau simulasi yang dapat.
3. Menangani beberapa sasaran dan batasan
Tujuan sebenarnya biasanya menggabungkan beberapa masalah. Gunakan salah satu dari dua cara berikut untuk menanganinya:
Pencampuran skalar (paling sederhana—direkomendasikan untuk memulai): Menskalakan ulang setiap metrik ke rentang yang sebanding, meniadakan metrik yang Anda minimalkan, lalu menambahkannya:
score = w1*A - w2*L - w3*M.
Lebih memilih jumlah aditif daripada rasio seperti A/(L⋅M), yang tidak stabil secara numerik.
Menampilkan kamus skor bernama: Biarkan AlphaEvolve mengoptimalkannya bersama-sama. Evaluator dapat menampilkan beberapa metrik bernama, bukan satu angka:
```JSON
{
"scores": [
{"metric": "accuracy", "score": 0.95},
{"metric": "latency_ms", "score": -120.0}
]
}
```
Semakin tinggi semakin baik untuk setiap nilai, jadi negasikan apa pun yang Anda minimalkan. Hal ini memicu penelusuran multi-objektif yang sebenarnya, bukan hanya pelaporan: database populasi menyimpan program terbaik per metrik (MAP-Elites), mempertahankan batas Pareto di seluruh metrik, dan mengambil sampel induk secara beragam di seluruh metrik yang berbeda. Model ini juga dapat menarik induk langsung dari batas Pareto jika pengambilan sampel tersebut diaktifkan. Skor judul tunggal masih mendorong pendakian bukit yang dilaporkan, tetapi setiap metrik yang ditampilkan membentuk penelusuran.
Tetap gunakan 3–5 metrik: Dengan terlalu banyak metrik, dominasi Pareto menurun hampir setiap program tidak didominasi oleh sesuatu dan pencarian menjadi tidak terarah. Menggabungkan atau menghilangkan metrik di luar nilai minimum tersebut.
Mengisolasi kebenaran dan kelayakan: Pertahankan kebenaran sebagai gerbang yang ketat, bukan bagian dari fungsi reward. Kandidat yang salah atau tidak layak mendapatkan skor kegagalan terlepas dari seberapa cepat atau murahnya. Ini adalah pertahanan utama terhadap agen yang memanipulasi metrik Anda.
Pengoptimalan batasan: Tahan satu tujuan sebagai batasan dan optimalkan tujuan lainnya, dengan menerapkan penalti jika batasan dilanggar. Menjalankan alur kerja ini pada beberapa tingkat batasan akan melacak batas Pareto.
4. Tentukan tempat evaluator berjalan
AlphaEvolve tidak pernah menjalankan evaluator Anda secara langsung. Layanan ini mengusulkan program kandidat dan menerima skor; Anda menghosting dan menjalankan kode yang menghitung skor. Lingkungan sepenuhnya pilihan Anda dan kandidat yang tidak dapat berjalan di Google Cloud bukanlah penghalang. Anda menjalankan evaluator di mana pun tujuan dapat diukur dan mengirimkan kembali skor.
Untuk memastikan deployment yang efisien dan aman, Anda harus menyelaraskan infrastruktur komputasi dengan strategi pengukuran spesifik Anda sambil mematuhi batas eksekusi universal. Gunakan panduan berikut untuk memilih lingkungan eksekusi dan memahami batas operasional inti yang berlaku untuk semua penyiapan.
Mencocokkan lingkungan eksekusi dengan metode pengukuran
Penghitungan langsung atau pengganti: Proses pengontrol itu sendiri, atau satu container Cloud Run.
Pengujian performa atau beban: Hardware target seperti node GPU atau TPU di GKE, hardware lokal atau kustom Anda sendiri, atau alat pihak ketiga atau ISV (misalnya, simulator EDA atau Verilog).
Validasi di luar sampel atau tugas berat: Stack pelatihan Anda didistribusikan di Cloud Run atau GKE, atau di-offload keGoogle Cloud batch menggunakan Cluster Toolkit untuk beban kerja HPC atau akselerator yang besar.
Dua batas berlaku terlepas dari lingkungan
Berusahalah agar setiap evaluasi berlangsung sekitar 10 menit atau kurang sehingga loop evolusioner terus bergerak. Untuk tujuan yang mahal, gunakan evaluasi bertingkat untuk memeriksa setiap kandidat, dengan menjalankan evaluasi penuh hanya untuk kandidat yang menjanjikan.
Anda memiliki kontrol akses, keamanan, dan jaringan evaluator. AlphaEvolve tidak men-deploy atau mengelola evaluator, di Google Cloud atau di tempat lain.
Setelah Anda memutuskan metrik, cara menghitungnya, dan tempat menjalankannya, lihat pola penerapan evaluator untuk mengetahui cara menyusun evaluator.