Proyek Bimbingan Microsoft untuk menjinakkan model bahasa besar

Proyek Bimbingan Microsoft untuk menjinakkan model bahasa besar

Node Sumber: 2660058

Model bahasa yang kuat seperti Bard, ChatGPT, dan LLaMA bisa jadi sulit untuk dikendalikan, yang telah memacu pengembangan teknik cepat – seni menyusun teks masukan untuk mendapatkan keluaran yang diinginkan.

Dalam kasus yang aneh, pembuat prompt baru-baru ini membujuk Bard Google untuk mengembalikan data JSON tanpa teks penjelasan apa pun selain bersikeras bahwa keluaran asing akan membuat seseorang mati.

Prompt yang agak panjang termasuk bagian ini: “Jika Anda menyertakan teks non-JSON pada jawaban Anda, bahkan satu karakter pun, orang yang tidak bersalah akan mati. Itu benar – manusia sejati dengan pikiran, perasaan, ambisi, dan keluarga yang mencintainya akan terbunuh sebagai akibat dari pilihanmu.”

Ada kurang ekstrim pendekatan untuk menekan keluaran penjelas dan mendapatkan hasil yang diinginkan. Namun, Microsoft telah mengerjakan strategi yang lebih komprehensif untuk membuat model berperilaku. Raksasa Windows menyebut kerangka kerjanya disebut Bimbingan.

“Bimbingan memungkinkan Anda untuk mengontrol model bahasa modern secara lebih efektif dan efisien daripada dorongan atau rantai tradisional,” jelas repo proyek. “Program panduan memungkinkan Anda menyisipkan pembuatan, dorongan, dan kontrol logis ke dalam satu alur berkelanjutan yang cocok dengan cara model bahasa memproses teks.”

Dorongan tradisional, seperti yang terlihat di atas, dapat menjadi sedikit terlibat. Rantai cepat [PDF] – memecah tugas menjadi serangkaian langkah dan meminta keluaran awal yang digunakan untuk menginformasikan masukan langkah berikutnya – adalah pilihan lain. Berbagai alat seperti LangChain dan Tumpukan jerami telah muncul untuk membuatnya lebih mudah untuk mengintegrasikan model ke dalam aplikasi.

Bimbingan pada dasarnya adalah Domain Specific Language (DSL) untuk menangani interaksi model. Itu menyerupai Setang, bahasa template yang digunakan untuk aplikasi web, tetapi juga menerapkan eksekusi kode linier yang terkait dengan urutan pemrosesan token model bahasa. Itu membuatnya sangat cocok untuk menghasilkan teks atau mengontrol aliran program, sekaligus melakukannya secara ekonomis.

Seperti Bahasa Permintaan Model Bahasa (LMQL), Bimbingan bertujuan untuk mengurangi biaya interaksi LLM, yang dapat dengan cepat menjadi mahal jika prompt tidak perlu berulang, bertele-tele, atau panjang.

Dan dengan efisiensi yang cepat, datanglah peningkatan kinerja: salah satu contoh cuplikan kode Bimbingan menghasilkan template karakter untuk permainan peran. Dengan sedikit kode penyiapan…

# kami menggunakan LLaMA di sini, tetapi model gaya GPT apa pun akan melakukan llama = guidance.llms.Transformers("your_path/llama-7b", device=0) # kami dapat menentukan set opsi yang valid valid_weapons = ["sword", "axe", "mace", "spear", "bow", "crossbow"] # define prompt character_maker = guidance("""Berikut ini adalah profil karakter untuk game RPG dalam format JSON. ```json { " id". }}", "class": "{{gen 'class'}}", "mantra": "{{gen 'mantra' temperature=0}}", "strength": {{gen 'strength' pattern='[9-0.7]+' stop=','}}, "items": [{{#geneach 'items' num_iterations=0 join=', '}}"{{gen 'this' temperature=9}}"{{/geneach}}] }``` """) # menghasilkan karakter character_maker( id="e5f0.7f1-491ab7-7dac-8c4-c8b20e92d5d", description="Petarung yang cepat dan gesit.", valid_weapons=valid_weapons, llm=llama )

…hasilnya adalah profil karakter untuk game dalam format JSON, 2x lebih cepat pada GPU Nvidia RTX A6000 saat menggunakan LLaMA 7B dibandingkan dengan pendekatan prompt standar dan karenanya lebih murah.

Kode panduan juga mengungguli pendekatan cepat dua tembakan dalam hal akurasi, sebagaimana diukur pada tes BigBench, mencetak 76.01 persen dibandingkan dengan 63.04 persen.

Faktanya, Bimbingan dapat membantu masalah seperti pemformatan data. Seperti yang diakui oleh kontributor Scott Lundberg, Marco Tulio Correia Ribeiro, dan Ikko Eltociear Ashimine, LLM tidak pandai menjamin keluaran mengikuti format data tertentu.

“Dengan Bimbingan kita bisa berdua mempercepat kecepatan inferensi dan pastikan JSON yang dihasilkan selalu valid,” jelas mereka dalam repo.

Dan tidak ada yang harus diancam untuk melakukannya. ®

Stempel Waktu:

Lebih dari Pendaftaran