Susunan Contoh dan Kekinian
Cara susunan contoh mempengaruhi hasil.
Susunan Contoh dan Kekinian ialah pelajaran Kejuruteraan Arahan AI percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kejuruteraan Arahan AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kejuruteraan Arahan AI merangkumi sejumlah 4 pelajaran.
Susunan ialah Hiperparameter Tersembunyi
Susunan contoh dengan beberapa contoh boleh mengubah ketepatan sebanyak beberapa mata peratusan, kadangkala mengubah arahan yang hampir rawak menjadi arahan yang kukuh, dan begitu juga sebaliknya. Ketidakstabilan ini wujud walaupun set contoh dikekalkan.
Anggap susunan sebagai hiperparameter utama untuk dicari, bukan perkara sampingan. Melaporkan hasil dengan beberapa contoh tanpa mengawal susunan adalah tidak kukuh dari segi sains.
import itertools
def order_search(demos, eval_set, build, max_perms=24):
perms = list(itertools.permutations(demos))[:max_perms]
scored = [(p, evaluate(build(p), eval_set)) for p in perms]
return max(scored, key=lambda x: x[1])Penjelasan Bias Keterkinian
Transformer penyahkod sahaja menunjukkan bias keterkinian: token yang lebih hampir dengan titik penjanaan memberikan pengaruh yang tidak seimbang. Contoh terakhir sebelum pertanyaan paling berkemungkinan membentuk format, label dan nada.
Hal ini sebahagiannya berpunca daripada corak perhatian dan pengekodan kedudukan. Kesimpulan praktikalnya: apa-apa yang anda letakkan di bahagian terakhir ialah perkara yang paling mudah ditiru oleh model.
# Position weight intuition (illustrative, not exact)
# influence(example_i) roughly increases with proximity to the query
# => the FINAL demo disproportionately anchors the next generation
weights = [0.1, 0.15, 0.25, 0.5] # earlier ... latestHilang di Tengah
Kajian konteks panjang mendedahkan profil perhatian berbentuk U: model memberikan perhatian yang baik kepada permulaan dan penghujung konteks tetapi kurang memberikan perhatian kepada bahagian tengah. Contoh penting yang tertanam di tengah arahan pada dasarnya diketepikan.
Letakkan contoh yang paling penting atau paling mencabar di awal atau, berdasarkan bias keterkinian, berhampiran penghujung; jangan biarkannya terperangkap di tengah blok contoh yang panjang.
def place_key_demos(key, filler):
# U-shape aware: key items at the edges, filler in the middle
head = key[: len(key)//2]
tail = key[len(key)//2 :]
return head + filler + tailLabel Majoriti dan Kedudukan Terakhir
Bias keterkinian dan bias label majoriti saling menguatkan. Jika contoh terakhir anda ialah kelas A, model cenderung meramalkan A. Apabila digabungkan dengan set contoh yang didominasi A, prior menjadi sangat condong.
Bagi pengelasan yang seimbang, selang-selikan label dan pastikan contoh terakhir tidak sentiasa tergolong dalam kelas yang sama merentas variasi arahan anda.
def alternate_labels(by_label, k):
labels = list(by_label)
out = []
i = 0
while len(out) < k:
lbl = labels[i % len(labels)]
if by_label[lbl]:
out.append(by_label[lbl].pop())
i += 1
return out # final element varies by constructionDemo Diatur Mengikut Keserupaan (Menaik)
Satu heuristik yang kukuh dalam pembelajaran beberapa contoh diperkaya dapatan ialah mengatur contoh yang diperoleh mengikut keserupaan menaik dengan pertanyaan, supaya demonstrasi yang paling berkaitan berada paling hampir dengan pertanyaan dan mendapat manfaat daripada keutamaan perkara terkini.
Kaedah ini menggabungkan pemilihan dinamik dengan eksploitasi perkara terkini: konteks yang berkaitan bukan sahaja tersedia, malah diletakkan di tempat yang paling kuat diberi perhatian oleh model.
def order_by_similarity(query_emb, retrieved):
scored = [(d, cos(query_emb, d.emb)) for d in retrieved]
scored.sort(key=lambda x: x[1]) # ascending
return [d for d, _ in scored] # most similar last (near query)Pengaturan Kurikulum
Untuk penaakulan atau penjanaan, susunan curriculum (daripada mudah kepada sukar) boleh membantu model membina tingkah laku sasaran, dengan berakhir pada contoh kompleks yang menunjukkan kedalaman penaakulan sepenuhnya tepat sebelum pertanyaan.
Hal ini bergantung pada tugas; sahkan keberkesanannya berbanding susunan rawak dan susunan mengikut keserupaan, bukannya menganggapnya sentiasa membantu.
def curriculum(demos, difficulty_fn):
return sorted(demos, key=difficulty_fn) # easiest first, hardest lastMengukur Kepekaan terhadap Susunan
Kuantifikasikan betapa rapuhnya arahan anda dengan mengambil sampel banyak susunan dan melaporkan varians ketepatan. Varians yang tinggi menandakan arahan yang tidak stabil dan mungkin merosot secara tidak menentu dalam persekitaran pengeluaran.
Gunakan metrik ini untuk membandingkan reka bentuk arahan: arahan yang tahan terhadap perubahan susunan lebih selamat berbanding arahan yang memperoleh skor sedikit lebih tinggi tetapi tidak stabil.
import random
def order_sensitivity(demos, eval_set, build, trials=20):
accs = []
for _ in range(trials):
perm = random.sample(demos, len(demos))
accs.append(evaluate(build(perm), eval_set))
return mean(accs), stdev(accs) # report both; low stdev = robustPemilihan Susunan Tanpa Pencubaan
Apabila anda tidak mempunyai label untuk menilai susunan, anda boleh memilih susunan menggunakan entropi ramalan model pada set pencubaan: susunan yang menghasilkan ramalan yakin, berentropi rendah dan tersebar dengan baik cenderung untuk menggeneralisasi dengan lebih baik (Lu et al., 2022).
Dengan cara ini, anda boleh memilih permutasi yang baik tanpa set pengesahan berlabel.
def select_order_by_entropy(perms, probe_inputs, build):
def score(perm):
ents = [entropy(model_probs(build(perm), x)) for x in probe_inputs]
return -mean(ents) # prefer confident, low-entropy orderings
return max(perms, key=score)Menstabilkan dengan Penentukuran
Kepekaan terhadap susunan dan berat sebelah terhadap perkara terkini kedua-duanya meningkatkan kebarangkalian label tertentu. Penentukuran kontekstual mengurangkan kesan ini dengan menganggarkan keutamaan terdahulu model pada input tanpa kandungan dan membetulkan kebarangkalian yang diramalkan, sekali gus mengurangkan kesan mana-mana susunan tunggal.
Penentukuran bersama susunan yang munasabah menghasilkan tingkah laku pengeluaran yang lebih stabil berbanding usaha mengejar satu permutasi terbaik.
p_prior = model_probs(build(perm), content_free='N/A')
def calibrate(probs):
return normalize(probs / p_prior) # cancels order-induced label skewPenyimpanan Cache dan Kestabilan Susunan
Jika anda menggunakan penyimpanan cache arahan, awalan (termasuk blok demonstrasi) mesti kekal stabil pada aras bait untuk cache digunakan. Mengocok semula contoh dengan kerap bagi setiap permintaan memusnahkan penggunaan semula cache serta meningkatkan kos dan kependaman.
Penyelesaian: tetapkan satu susunan yang telah disahkan untuk blok demo statik dan simpan dalam cache; gunakan pengaturan semula dinamik hanya untuk bahagian hujung yang diperoleh dan khusus kepada pertanyaan.
# Stable cached prefix + dynamic tail
prefix = render(FIXED_ORDERED_DEMOS) # cache_control on this block
tail = render(order_by_similarity(q_emb, retrieved))
prompt = prefix + tail + querySenarai Semak Strategi Pengaturan
Lalai yang praktikal: seimbangkan dan silih gantikan label, letakkan contoh utama atau sukar di bahagian hujung (elakkan bahagian tengah), atur contoh yang diperoleh mengikut keserupaan menaik supaya contoh terbaik berada berhampiran pertanyaan, ukur varians susunan, dan gunakan penentukuran untuk mengurangkan kecondongan yang masih berbaki.
Kemudian, kunci susunan tersebut untuk penyimpanan cache dan sahkan semula setiap kali set contoh berubah.
def final_order(demos, q_emb):
demos = alternate_labels(group(demos), len(demos))
return order_by_similarity(q_emb, demos) # validated, then cachedSemakan Ringkas
Fikirkan kedudukan demonstrasi yang kritikal.
Rumusan
Inti pati utama:
- Susunan contoh ialah hiperparameter yang boleh mengubah ketepatan sebanyak beberapa mata peratusan; cari susunan terbaik dan laporkan varians.
- Kecondongan terhadap perkara terkini menjadikan demo terakhir paling berpengaruh; fenomena "hilang di tengah" menyebabkan contoh di bahagian tengah kurang diberi wajaran.
- Seimbangkan dan silih gantikan label, atur demo yang diperoleh mengikut keserupaan menaik, serta pertimbangkan susunan curriculum.
- Pilih susunan menggunakan entropi apabila label terhad, dan gunakan penentukuran kontekstual untuk mengurangkan kecondongan.
- Kunci susunan yang stabil untuk penyimpanan cache arahan; atur semula hanya bahagian hujung yang diperoleh secara dinamik.
Pelajari Kejuruteraan Arahan AI dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 53
- Pelajaran
- 199
Soalan Lazim
Adakah pelajaran “Susunan Contoh dan Kekinian” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kejuruteraan Arahan AI, termasuk “Susunan Contoh dan Kekinian”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kejuruteraan Arahan AI merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Susunan Contoh dan Kekinian”?
Cara susunan contoh mempengaruhi hasil. Anda berlatih Kejuruteraan Arahan AI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kejuruteraan Arahan AI?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kejuruteraan Arahan AI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Susunan Contoh dan Kekinian” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kejuruteraan Arahan AI ini?
Ya. Setiap pelajaran Kejuruteraan Arahan AI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Tanpa, Satu dan Beberapa Contoh
- Mereka Bentuk Contoh yang Berkesan
- Susunan Contoh dan Kekinian
- Pemilihan Beberapa Contoh secara Dinamik