24 poin oleh xguru 2024-12-03 | Belum ada komentar. | Bagikan ke WhatsApp
  • Untuk mendapatkan output LLM yang akurat dan sesuai, desain prompt yang cermat sangat penting
  • Desain prompt memungkinkan pengguna yang tidak familier dengan machine learning tetap dapat mengendalikan output model dengan overhead minimal
  • Uber mengembangkan toolkit terpusat agar eksperimen iteratif dengan LLM dapat dilakukan dengan cepat
    • Pembuatan dan pengelolaan template prompt
    • Pemanfaatan RAG dan dataset pada saat runtime
  • Fitur:
    • Mendukung system instruction, kontekstualisasi dinamis, generasi offline skala besar (inferensi LLM), dan evaluasi respons
    • Kontrol versi, kolaborasi, pemeriksaan keamanan (cek halusinasi, framework evaluasi standar, termasuk kebijakan keamanan)

Lifecycle prompt engineering

Siklus hidup prompt engineering terdiri dari dua tahap:

  • Tahap pengembangan: terdiri dari tiga langkah, yaitu eksplorasi LLM, iterasi template prompt, dan evaluasi
    • Tahap eksplorasi LLM: menjelajahi LLM yang tersedia melalui katalog model dan GenAI Playground, lalu menguji respons LLM dengan prompt
    • Tahap iterasi template prompt: memahami kebutuhan bisnis yang spesifik, mengumpulkan data sampel, membuat/menganalisis/menguji prompt, mengevaluasi respons, dan merevisinya bila perlu. Dengan auto-prompting, tidak perlu membuat template prompt dari nol
    • Tahap evaluasi: menguji template prompt dengan dataset yang lebih besar untuk mengukur performa. Evaluasi dapat dilakukan dengan memakai LLM sebagai penilai atau evaluator LLM berbasis kode kustom
  • Tahap productionization: hanya template prompt yang lolos ambang batas pada tahap evaluasi yang diproduksikan. Penggunaan di lingkungan produksi dilacak/dimonitor, dan data penggunaan sistem dikumpulkan untuk peningkatan proses

Arsitektur

  • UI/SDK template prompt: mengelola template prompt dan revisi. Terintegrasi dengan GetAPI dan Execute API
  • Katalog model LLM: berinteraksi dengan model LLM yang telah di-deploy
  • Model dan prompt disimpan di ETCD dan UCS, lalu digunakan dalam pipeline generasi offline dan pipeline evaluasi template prompt

Pembuatan template prompt

  • Prompt builder dalam prompt toolkit secara otomatis membuat prompt untuk pengguna
  • Membantu menemukan teknik prompting lanjutan yang sesuai untuk use case AI tertentu
  • Auto prompt builder berbasis framework internal Langfx yang dibangun di atas LangChain mengikuti langkah-langkah berikut
    • 1. Mengintegrasikan best practice prompt engineering
    • 2. Menyediakan instruksi terperinci untuk listing template dan beberapa contoh guna membantu pembuatan prompt
    • 3. Memanfaatkan model LLM untuk mendukung pembuatan prompt
  • Panduan prompt lanjutan: prompt builder membuat prompt dengan memanfaatkan prinsip-prinsip berikut
    • Prompting CoT(Chain of Thought): memungkinkan kemampuan penalaran kompleks melalui langkah penalaran antara
    • Auto-CoT: menggunakan kata pengarah "think step by step". Untuk menghilangkan upaya manual, digunakan prompt "Let's think step by step" pada LLM
    • Prompt chaining: dapat digunakan untuk skenario yang melibatkan banyak tugas atau transformasi
    • ToT(Tree of Thought): menggeneralisasi chain-of-thought prompting dan mendorong eksplorasi pemikiran yang dapat digunakan sebagai langkah antara untuk pemecahan masalah umum dengan language model
    • APE(Automatic Prompt Engineering): framework untuk mengotomatisasi pembuatan dan pemilihan instruksi
    • Prompting multimodal CoT: mengintegrasikan teks dan gambar dalam framework dua tahap. Tahap 1 menghasilkan alasan berbasis informasi multimodal, tahap 2 menurunkan jawaban dengan memanfaatkan alasan yang dihasilkan
  • Manajemen revisi
    • Iterasi template prompt mengikuti best practice iterasi berbasis kode
    • Untuk menguji respons dan dataset, pengguna dapat mengubah instruksi serta parameter model
    • Setiap iterasi template prompt memerlukan code review. Setelah disetujui dan di-merge, revisi template prompt baru akan dibuat

Evaluasi template prompt

Untuk mengevaluasi performa template prompt, beberapa komponen bekerja sama:

  • Dua mekanisme evaluasi
    • Menggunakan LLM sebagai evaluator. Berguna untuk tugas yang kualitas subjektif atau nuansa bahasanya penting
    • Mengevaluasi performa dengan kode kustom buatan pengguna. Berguna untuk mengukur aspek performa tertentu
  • Template prompt evaluasi: template ramah pengguna yang menyediakan instruksi untuk evaluasi, contoh sederhana, metrik, format respons, dan sebagainya
  • Template prompt aktual: template yang digunakan di produksi. Di-hydrate saat runtime dan digunakan untuk evaluasi performa
  • Opsi dataset input: dataset golden berlabel atau dataset yang diturunkan dari traffic produksi
  • Setiap template dievaluasi dengan mempertimbangkan instruksi tertentu, konteks, model terkait, dan parameter

Use case di Uber

Layanan LLM offline

Pipeline generasi offline batch LLM memudahkan inferensi batch untuk menghasilkan respons LLM dalam skala besar:

  • Dapat digunakan untuk use case verifikasi nama pengguna konsumen
  • Di MA Studio, cukup pilih dan masukkan dataset yang relevan
  • Template prompt di-hydrate secara dinamis dengan dataset

Layanan LLM online

Template prompt berisi placeholder dinamis yang harus diganti dengan nilai spesifik runtime:

  • Saat ini hanya mendukung penggantian tipe string menggunakan sintaks template berbasis Jinja
  • Mendukung kemampuan fan-out di antara prompt, template, dan model
    • Template: template API mencakup fungsi untuk memformat payload yang diekspos dari model data umum ke struktur API spesifik vendor
    • Prompt dan model: prompt terikat pada model dan template tertentu. Layanan mengambil prompt dan mengeksekusinya dengan memanggil genAI API menggunakan parameter model dan template yang diperlukan

Menjelajahi fitur di atas melalui use case ringkasan:

  • Dalam skenario ketika tiket dukungan (contact) dapat ditangani oleh beberapa agen, agen baru perlu meninjau tiket untuk memahami konteks atau meminta pelanggan menjelaskan ulang masalahnya
  • Hal ini diselesaikan dengan menyediakan ringkasan saat serah terima antaragen

Monitoring

Monitoring mengukur performa template prompt produksi yang digunakan di lingkungan produksi:

  • Pipeline monitoring performa harian menjalankan evaluasi performa terhadap traffic produksi
  • Memonitor metrik per iterasi produksi template prompt seperti latensi, akurasi, dan ketepatan
  • Dashboard MES diperbarui setiap hari dengan metrik monitoring performa

Kesimpulan

Toolkit prompt engineering Uber adalah framework komprehensif untuk meningkatkan interaksi dan pemanfaatan LLM di berbagai tahap pengembangan dan produksi:

  • Mendukung mulai dari eksplorasi awal kemampuan LLM di Gen AI Playground hingga iterasi dan pembuatan template prompt secara mendetail
  • Arsitektur toolkit menyediakan pendekatan sistematis terhadap desain prompt yang mengintegrasikan teknik panduan lanjutan dan metode evaluasi yang kuat
  • Siklus hidup terstruktur dari pengembangan template prompt hingga penggunaan dan monitoring di produksi memastikan setiap template diuji secara ketat dan dioptimalkan untuk performa
  • Ke depannya direncanakan integrasi dengan RAG untuk evaluasi online dan evaluasi, serta RAG untuk generasi offline

Belum ada komentar.

Belum ada komentar.