[中文 | Bahasa inggris ]

Knowlm adalah kerangka kerja model bahasa besar (LLM) yang berpengetahuan luas, termasuk pemrosesan data, model pra-pelatihan, penyesuaian, augmentasi dan pemanfaatan dengan pengetahuan. Selain itu, Knowlm menyediakan zoo model yang menampilkan model yang mudah diakses seperti Zhixi dan Oneke, dirancang untuk implementasi segera.
Fitur
Semua bobot dan kumpulan data telah diunggah ke Huggingface?. Klik di sini untuk memulai segera!
❗ Jika Anda menghadapi masalah selama instalasi atau penggunaan pengetahuan, silakan periksa FAQ atau segera mengirimkan masalah, dan kami akan membantu Anda menyelesaikan masalah!
| Kategori | Basis | Nama | Versi | Tautan unduh | Catatan |
|---|---|---|---|---|---|
| Model dasar | Llama1 | Knowlm-13b-base | V1.0 | Huggingface Wisemodel Modelscope | Model dasar |
| Model dialog | Llama1 | Knowlm-13b-Zhixi | V1.0 | Huggingface Wisemodel Modelscope | Model Ekstraksi Informasi |
| Model dialog | Llama1 | Knowlm-13b-Ie | V1.0 | Huggingface Wisemodel Modelscope | Model Ekstraksi Informasi |
| Model dialog | Llama2 | Oceangpt | V1.0 | Huggingface Wisemodel | Model laut |
| Model dialog | Llama2 | Oneke | V1.0 | Huggingface Wisemodel Modelscope | Model Ekstraksi Informasi |
| Nama Dataset Instruksi | Nomor | Tautan unduh | Catatan |
|---|---|---|---|
| Knowlm-Cr (Cot & Reasoning, China dan English) | 202.333 | Google Drive Huggingface | |
| Knowlm-Tool (Pembelajaran Alat , Bahasa Inggris) | 38.241 | Google Drive Huggingface | |
| Oceanbench (Benchmark, Bahasa Inggris) | 11.000 | Huggingface | |
| Instruktur (Ekstraksi Informasi, Cina dan Bahasa Inggris) | 364, 076 | Huggingface Wisemodel Modelscope | Karena menggunakan pengawasan yang jauh, ada kebisingan. |
| Iepile (ekstraksi informasi, Cina dan Inggris) | 2.000.000 + | Huggingface Wisemodel Modelscope | Ini dibangun berdasarkan 33 dataset IE keluar. |
Deskripsi Data : 1. Sumber Data Lain untuk Ekstraksi Informasi berasal dari CoNLL , ACE , casis , DuEE , People Daily , DuIE , dll. 2. Dataset KnowLM-Tool berasal dari kertas "Membuat model bahasa yang lebih baik pembelajaran alat dengan umpan balik eksekusi" dan Github dapat ditemukan di sini. 3. Dataset InstructIE berasal dari koran "Instruktur: Dataset Ekstraksi Informasi Berbasis Instruksi Cina" dan GitHub dapat ditemukan di sini.
IEPile , Baichuan2-13b-iepile-Lora dan Llama2-13b-iepile.LLaMA-2CaMA menjadi KnowLM .
Ini adalah ikhtisar KnowLM , yang terutama terdiri dari tiga fitur teknis:
Meminta Pengetahuan : Ini menghasilkan permintaan pengetahuan berdasarkan data terstruktur seperti grafik pengetahuan dan menggunakan kendala augmentasi pengetahuan untuk mengatasi ekstraksi pengetahuan dan masalah penalaran .
Pengeditan Pengetahuan : Ini menyelaraskan pengetahuan yang sudah ketinggalan zaman, salah, dan bias dalam model besar menggunakan teknik pengeditan pengetahuan untuk mengatasi masalah kekeliruan pengetahuan ( tutorial bahasa Inggris ).
Interaksi Pengetahuan : Ini memungkinkan interaksi pengetahuan dan umpan balik yang dinamis untuk mencapai pembelajaran berbasis alat dan kolaborasi multi-agen, menyelesaikan masalah kognisi perwujudan di LLMS ( tutorial bahasa Inggris ).
Modul yang terkait dengan ketiga teknologi ini adalah EasyInstruct, EasyDetect, EasyEdit. Kami menyediakan kasus penggunaan untuk modul -modul tersebut berdasarkan kerangka KnowLM .
? Mulai cepat
? Kasus
? Detail pelatihan
?
Daftar TODO
❓FAQ
Ucapan Terima Kasih/Kontributor/Kutipan
Knowlm mendukung konfigurasi lingkungan manual dan Docker , Anda dapat memilih cara yang tepat untuk membangun.
git clone https://github.com/zjunlp/KnowLM.git
cd KnowLM
conda create -n knowlm python=3.9 -y
conda activate knowlm
pip install torch==1.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -r requirements.txtdocker pull zjunlp/knowlm:v.1
docker run -it zjunlp/knowlm:v.1 /bin/bash1. Mereproduksi hasil di Bagian 2
Kasus -kasus di bagian 2 semuanya dijalankan pada V100. Jika berjalan pada perangkat lain, hasilnya dapat bervariasi. Harap jalankan beberapa kali atau ubah parameter decoding. Kami memperoleh
knowlm-13b-zhixidanknowlm-13b-iemelalui pelatihan menggunakan Lora, membangun di atas dasarknowlm-13b-base. Model-model ini,knowlm-13b-zhixidanknowlm-13b-ie, adalah hasil dari penggabungan bobot LORA terlatih dengan parameter modelknowlm-13b-baseyang ada.
Jika Anda ingin mereproduksi hasil di section 2.1 ( kasus pretraining ), silakan jalankan perintah berikut:
python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 Hasilnya di Bagian 2.1 dapat diperoleh.
Jika Anda ingin mereproduksi hasil di section 2.2 ( kasus ekstraksi informasi ), silakan jalankan perintah berikut:
python examples/generate_lora.py --base_model zjunlp/knowlm-13b-zhixi --run_ie_cases Hasilnya di Bagian 2.2 dapat diperoleh.
Jika Anda ingin mereproduksi hasilnya di section 2.3 ( Kasus Kehangian Umum ), silakan jalankan perintah berikut:
python examples/generate_lora.py --base_model zjunlp/knowlm-13b-zhixi --run_general_cases Hasilnya di Bagian 2.3 dapat diperoleh.
2. Penggunaan model pretraining
Kami menawarkan dua metode: yang pertama adalah interaksi baris perintah , dan yang kedua adalah interaksi berbasis web , yang memberikan fleksibilitas yang lebih besar.
Gunakan perintah berikut untuk memasukkan interaksi baris perintah :
python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 --interactiveKerugiannya adalah ketidakmampuan untuk mengubah parameter decoding secara dinamis.
Jika satu GPU tidak dapat memuat model, Anda dapat menggunakan perintah berikut untuk memungkinkan model dimuat di GPU yang berbeda:
CUDA_VISIBLE_DEVICES=0,1,2 python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 --interactive --multi_gpu # --allocate [10,10,10]
--allocatedi atas menentukan jumlah memori yang digunakan oleh masing -masing GPU, diukur dalamGB.
Gunakan perintah berikut untuk memasukkan interaksi berbasis web :
python examples/generate_finetune_web.py --base_model zjunlp/knowlm-13b-base-v1.0Jika satu GPU tidak dapat memuat model, Anda dapat menggunakan perintah berikut untuk memungkinkan model dimuat di GPU yang berbeda:
CUDA_VISIBLE_DEVICES=0,1,2 python examples/generate_finetune_web.py --base_model zjunlp/knowlm-13b-base-v1.0 --multi_gpu # --allocate [10,10,10]Berikut adalah tangkapan layar dari interaksi berbasis web:

3. Penggunaan Model Tuning Instruksi
Di sini, kami menyediakan metode interaksi berbasis web. Gunakan perintah berikut untuk mengakses web:
python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixiJika satu GPU tidak dapat memuat model, Anda dapat menggunakan perintah berikut untuk memungkinkan model dimuat di GPU yang berbeda:
CUDA_VISIBLE_DEVICES=0,1,2 python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixi --multi_gpu # --allocate [10,10,10]Berikut adalah tangkapan layar dari interaksi berbasis web:

instruction adalah parameter yang diperlukan, sedangkan input adalah parameter opsional. Untuk tugas umum (seperti contoh yang disediakan di Bagian 1.3 ), Anda dapat langsung memasukkan input di bidang instruction . Untuk tugas ekstraksi informasi (seperti yang ditunjukkan dalam contoh di bagian 1.2 ), silakan masukkan instruksi di bidang instruction dan kalimat yang akan diekstraksi di bidang input . Kami memberikan prompt ekstraksi informasi di Bagian 2.5 .
Jika Anda ingin melakukan pengujian batch, harap modifikasi file examples/generate_lora.py dan perbarui contoh dan hiperparameter dalam cases variabel.
Menurut persyaratan tugas yang berbeda, kami memiliki saran berikut untuk menyesuaikan strategi decoding dan hiperparameter terkait:
top_k atau top_p yang relatif lebih tinggi, dan mungkin temperature yang lebih tinggi.num_beam moderat, atau sampling top-K atau top-P dengan top_k atau top_p yang lebih rendah, dan temperature yang lebih rendah.4. Server API VLLM
Kami mengintegrasikan VLLM untuk mempercepat inferensi LLM dan menyediakan layanan API yang efisien. Gunakan perintah berikut untuk meluncurkan server API VLLM di http://localhost:8090 .
max_num_batched_tokens=8000
CUDA_VISIBLE_DEVICES=1,2 python inference/launch_vllm.py
--port 8090
--model data/zhixi-13B
--use-np-weights
--max-num-batched-tokens $max_num_batched_tokens
--dtype half
--tensor-parallel-size 2Permintaan Layanan Menggunakan Permintaan Posting:
curl -X POST " http://127.0.0.1:8090/generate "
-H ' Content-Type: application/json '
-d ' {"instruction": "你好", "input": "", "parameters": {"top_p": 0.7, "max_tokens": 256}} 'Anda bisa mendapatkan tanggapan berikut:
{
" generated_text " : "你好,很高兴见到你。我是一个人工智能助手,可以帮助你解决问题和提供信息。有什么我可以帮助你的吗?</s> " ,
" num_output_tokens_cf " :65,
" error " :null
}Untuk tugas ekstraksi informasi seperti Named Entity Recognition (NER), Event Extraction (EE), dan Relationship Extraction (RE), kami menyediakan beberapa petunjuk untuk kemudahan penggunaan. Anda dapat merujuk ke tautan ini untuk contoh. Tentu saja, Anda juga dapat mencoba menggunakan petunjuk Anda sendiri.
Berikut adalah kasus di mana knowlm-13b-zhixi digunakan untuk menyelesaikan tugas konstruksi grafik pengetahuan berbasis instruksi di CCKS2023.
Jika Anda tidak memiliki sumber daya komputasi GPU yang cukup, Anda memiliki opsi untuk melakukan kuantisasi menggunakan llama.cpp. Ini dimungkinkan karena llama.cpp berbagi arsitektur yang sama dengan pengetahuan. Setelah Anda mengatur lingkungan, Anda dapat mengunduh model kami ke jalur yang ditunjuk menggunakan perintah berikut:
python tools/download.py --specify --download_path ./your/path --repo_name zjunlp/knowlm-13b-zhixiSelanjutnya, cukup ganti jalur model di lokasi ini dengan yang diunduh. Saat menjalankannya dalam praktik, harap ingat untuk menyesuaikan jalur model dalam skrip ini sesuai.
Penyetelan instruksi telah muncul sebagai teknik penting untuk meningkatkan kemampuan LLMS, yang menjembatani kesenjangan antara tujuan prediksi kata berikutnya dari LLM dan preferensi manusia. Untuk membangun dataset instruksi berkualitas tinggi, banyak pendekatan pemrosesan instruksi telah diusulkan, yang bertujuan untuk mencapai keseimbangan yang rumit antara kuantitas data dan kualitas data.
Dalam pemrosesan instruksi, kami menggunakan EasyInstruct sebagai kerangka pemrosesan kami (terperinci dapat ditemukan di https://github.com/zjunlp/easyInstruct). EasyInstruct Modularisasi pembuatan instruksi, seleksi, dan dorongan, sementara juga mempertimbangkan kombinasi dan interaksinya. Kode di bawah ini menunjukkan contoh yang berjalan dari pembuatan instruksi dan seleksi di EasyInstruct:
from easyinstruct import SelfInstructGenerator , GPTScoreSelector
from easyinstruct . utils . api import set_openai_key
# Step1: Set your own API-KEY
set_openai_key ( "YOUR-KEY" )
# Step2: Declare a generator class
generator = SelfInstructGenerator ( num_instructions_to_generate = 100 )
# Step3: Generate self-instruct data
generator . generate ()
# Step4: Declare a selector class
selector = GPTScoreSelector ()
# Step5: Process the generated instructions
selector . process ()Meskipun model bahasa besar berkinerja sangat baik dalam banyak tugas, mereka masih dapat memberikan jawaban yang salah. Selain itu, seiring berjalannya waktu, pengetahuan yang dulunya akurat dapat menjadi usang. Ini mengharuskan kami menyesuaikan respons model untuk memenuhi harapan kami melalui pengeditan model.
Dalam pengeditan model, kami menggunakan easyEdit sebagai alat pengeditan kami (detail dapat ditemukan di https://github.com/zjunlp/easyedit). EasyEdit adalah alat pengeditan model yang sangat terintegrasi. Yang perlu Anda lakukan adalah mendefinisikan editor Anda hanya dalam tiga baris kode, mirip dengan cara Anda dalam memeluk wajah.
from easyeditor import MENDHyperParams
hparams = MENDHyperParams . from_hparams ( './hparams/MEND/gpt2-xl' )
editor = BaseEditor . from_hparams ( hparams )Kode di atas menunjukkan definisi editor untuk mengedit model GPT2-XL menggunakan metode Mend. Langkah selanjutnya adalah menyiapkan data pengeditan dan data uji.
metrics , edited_model , _ = editor . edit (
prompts = prompts ,
ground_truth = ground_truth ,
target_new = target_new ,
locality_inputs = locality_inputs ,
keep_original_weight = True
)Dengan kode yang disediakan, Anda dapat menyelesaikan pengeditan model. Model yang diedit disimpan dalam "edit_model," dan metrik evaluasi yang sesuai disimpan dalam "metrik."
Model pra-terlatih kami telah menunjukkan kemampuan tertentu dalam pengikut instruksi, pengkodean, penalaran, serta beberapa kemampuan terjemahan, tanpa penyesuaian menggunakan instruksi. Selain itu, telah memperoleh pengetahuan baru. Di bawah ini adalah beberapa kasus sampel kami. Jika Anda ingin mereproduksi contoh kami dan melihat konfigurasi decoding terperinci, silakan atur terlebih dahulu lingkungan, maka ikuti langkah -langkah yang diuraikan di sini.
Dalam kasus-kasus berikut, teks dalam huruf tebal mewakili prompt, sedangkan teks non-bold mewakili output model.
Karena panjang inferensi maksimum yang ditetapkan ke 512, kasus kami jatuh ke dalam tiga situasi:
- Output selesai. Model ini menghasilkan token EOS terminasi dan menyelesaikan output. Kami menandai ini dengan ✅.
- Output yang tidak lengkap. Output terputus karena panjang inferensi maksimum. Kami menandai ini dengan ✳️.
- Output berulang. Kami menghapus konten berulang secara manual dan menandainya dengan ⬅️.
你很擅长将中文翻译成英文。将下面的句子翻译成英文 : 我们今天准备去西安看兵马俑。答案 : Kita akan melihat para pejuang terakota di xi'an hari ini.:white_check_mark :
Anda pandai menerjemahkan bahasa Inggris ke dalam bahasa Mandarin. Menerjemahkan kalimat berikut ke dalam bahasa Cina: tidak ada yang sulit untuk hati yang rela. Jawaban:什么都不难, 只要心甘情愿。: white_check_mark:
你非常了解一些健康生活的习惯 , 请列举几个健康生活的建议 : 1. 每天坚持锻炼 30 分钟以上。 2. 不吸烟 , 不酗酒。 3. 少吃高脂肪食物。 4. 多吃蔬菜和水果。 5. 保证充足的睡眠。 6. 保持良好的心情。 7. 定期体检。 8. 养成良好的卫生习惯。: white_check_mark:
我爱你的英文是什么?我爱你的英文是 "I Love You"。: Arrow_Left:
你对中国的大学了解的非常多。请评价一下浙江大学是一所怎样的学校。答: 浙江大学是一所历史悠久、学科齐全、学术实力雄厚、师资力量强大、办学特色鲜明, 在国内外具有重要影响的综合性研究型大学。 浙江大学是首批进入国家 "211 工程" 和 "985 工程" 建设的高校之一, 也是国家 "111 计划" 和 "珠峰计划" 重点建设的名牌大学。 浙江大学的前身是创建于 1897 年的求是书院, 是中国人最早自己创办的新式高等学府之一。 1928 年, 求是书院改制为国立浙江大学。 1952 年, 浙江大学成为新中国创办的第一批全国重点大学。 1998 年, 浙江大学与杭州大学、浙江农业大学、浙江医科大学、浙江师范大学、浙江师范大学医学院合并组建新的浙江大学。浙江大学现已发展成为一所包括文、法、理、工、农、医、管、艺等学科门类齐全的综合性研究型大学, 是国家 "985 工程" 和 "211 工程" 重点建设的大学之一, 也是国家 "111 计划" 和 "珠峰计划" 重点建设的名牌大学。: white_check_mark:
你非常了解中国的大学。请介绍一下浙江大学。浙江大学是中国著名的高等学府之一, 它的前身是创建于 1897 年的求是书院, 1928 年改为国立浙江大学, 1952 年定名为浙江大学。 浙江大学是首批进入国家 "211 工程" 和 "985 工程" 重点建设的高校之一。 浙江大学有着悠久的历史和深厚的文化底蕴, 在中国近现代教育史上占有重要地位。 浙江大学的前身求是书院创建于 1897 年, 是中国人最早自己创办的新式高等学府之一。 1901 年, 求是书院更名为浙江大学堂。 1928 年, 浙江大学正式定名为国立浙江大学。 1952 年, 浙江大学成为全国首批重点大学。 1958 年, 浙江大学成为全国首批博士、硕士学位授予单位。 1998 年 年 年 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 1958 年 浙江大学成为全国首批博士、硕士学位授予单位。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学成为全国首批重点大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学成为全国首批重点大学。 浙江大学成为全国首批重点大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学正式定名为国立浙江大学。 浙江大学成为全国首批重点大学。 浙江大学成为全国首批重点大学。 浙江大学成为全国首批博士、硕士学位授予单位。 浙江大学成为全国首批重点大学。 浙江大学成为全国首批重点大学。 浙江大学成为全国首批重点大学。 浙江大学成为全国首批博士、硕士学位授予单位。 浙江大学成为全国首批博士、硕士学位授予单位。 浙江大学成为全国首批博士、硕士学位授予单位。 浙江大学成为全国首批博士、硕士学位授予单位。 浙江大学成为全国首批重点大学。 浙江大学成为全国首批博士、硕士学位授予单位。 浙江大学成为全国首批博士、硕士学位授予单位。 19 2001 年, 浙江大学成为首批进入国家 "985 工程" 重点建设的高校。 2006 年, 浙江大学成为首批进入国家 "111 计划" 重点建设的高校。 2017 年, 浙江大学成为首批进入国家 "双一流" 世界一流大学和一流学科建设高校。 浙江大学是一所研究型、综合性、 浙江大学是一所研究型、综合性、: delapan_spoked_asterisk:
Bisakah Anda membantu saya menulis email formal ke mitra bisnis potensial yang mengusulkan usaha patungan? Jawaban Anda:
A:
Dear Sir/Madam,
Saya menulis untuk mengusulkan usaha patungan antara kedua perusahaan kami. Saya telah melampirkan proposal untuk pertimbangan Anda. Tolong beri tahu saya jika Anda ingin membahas hal ini lebih lanjut.
Hormat saya ,: white_check_mark:
Anda sekarang menjadi dokter. Berikut adalah beberapa tips untuk hidup yang sehat. 1. Jangan merokok. 2. Makan diet seimbang. 3. Berolahraga secara teratur. 4. Minum alkohol hanya dalam jumlah sedang. 5. Jaga gigi Anda. 6. Tidur Cukup. 7. Temui dokter Anda untuk pemeriksaan rutin. 8. Belajarlah untuk mengelola stres. 9. Tetap up-to-date pada vaksinasi. 10. Sering mencuci tangan. 11. Hindari asap bekas. 12. Gunakan tabir surya dan pakai kacamata hitam. 13. Ketahui riwayat medis keluarga Anda. 14. Waspadai tanda -tanda depresi. 15. Lindungi pendengaran Anda. 16. Berlatih seks yang aman. 17. Jika Anda minum kopi, lakukan dalam jumlah sedang. 18. Batasi asupan kafein Anda. 19. Jangan mengemudi saat Anda lelah. 20. Jangan SMS dan mengemudi. 21. Jangan minum dan mengemudi. 22. Jangan naik sepeda motor tanpa helm. 23. Jangan berenang sendiri. 24. Jangan menyelam ke dalam air di mana Anda tidak dapat melihat bagian bawah. 25. Jangan berenang jika Anda minum alkohol. 26. Jangan berenang jika Anda sakit. 27. Jangan berenang jika Anda memiliki luka terbuka di tubuh Anda. 28. Jangan berenang jika ada arus atau arus yang kuat. 29. Jangan berenang dalam air yang tercemar. 30. Jangan berenang jika ada ular atau buaya di dekatnya. 31. Jangan berenang jika ada ubur -ubur di dalam air. 32. Jangan berenang jika ada hiu di dalam air. 33. Jangan berenang jika ada riptides di dalam air. 34. Jangan: delapan_spoked_asterisk:
Menggunakan Java untuk mengurutkan array yang tidak disortir. Jawaban: o (nlogn)
@param arr @return /**
* Menggunakan Java untuk mengurutkan array yang tidak disortir. Jawaban: o (nlogn)
*
* @param arr
* @kembali */
public static <t meluas yang sebanding <T>> void sort (t [] arr) {
if (arr == null || arr.length == 0) {
kembali;
}
int n = arr.length;
untuk (int i = 0; i <n - 1; i ++) {
untuk (int j = 0; j <n - i - 1; j ++) {
if (arr [j] .compareto (arr [j + 1])> 0) {
T tmp = arr [j];
arr [j] = arr [j + 1];
arr [j + 1] = tmp;
}
}
}
}: white_check_mark:
Gunakan Python untuk menulis algoritma Bubble Sort.
def bubble_sort (arr):
"" "Algoritma Sort Bubble.
"" "untuk saya dalam jangkauan (len (arr) - 1, 0, -1):
untuk j dalam kisaran (len (arr) - 1, 0, -1):
Jika arr [j]> arr [j + 1]:
arr [j], arr [j + 1] = arr [j + 1], arr [j]
return arr: white_check_mark:
Berikut adalah surat rekomendasi yang saya tulis untuk aplikasi ke posisi pengumpan naga di Magic Unicorn Corporation: Perekrut terkasih , saya menulis surat rekomendasi ini atas nama siswa saya, yang melamar posisi sebagai pengumpan naga di Magic Unicorn Corporation. Saya merasa senang mengajar siswa ini selama tiga tahun terakhir, dan saya dapat mengatakan tanpa ragu bahwa dia adalah salah satu siswa terbaik yang pernah saya miliki. Dia pekerja keras, rajin, dan cerdas. Dia juga pengumpan naga yang sangat baik. Bahkan, dia adalah pengumpan naga terbaik yang pernah saya miliki di kelas saya. Dia telah memberi makan banyak naga selama bertahun -tahun, dan mereka semua sangat senang dengan pekerjaannya. Saya tidak akan ragu untuk merekomendasikannya untuk posisi sebagai pengumpan naga di Magic Unicorn Corporation. Terima kasih atas pertimbangannya. Dengan tulus, Profesor Snape PS tolong jangan beri tahu siapa pun bahwa saya menulis surat ini. Saya tidak ingin mengalami masalah dengan Kementerian Sihir.
# Bab 1
# The Magic Unicorn Corporation
Magic Unicorn Corporation (MUC) adalah perusahaan multinasional besar yang berkantor pusat di New York City. Perusahaan ini didirikan pada tahun 1980 oleh sekelompok unicorn yang ingin memulai bisnis mereka sendiri. Mereka lelah bekerja untuk unicorn lain dan memutuskan untuk menyerang sendiri. Produk pertama mereka adalah barisan kartu ucapan bertema unicorn. Kartu -kartu itu sukses besar, dan perusahaan tumbuh dengan cepat. Pada tahun 1985, perusahaan telah memperluas lini produknya untuk memasukkan t-shirt bertema unicorn, cangkir kopi, dan boneka binatang. Pada tahun 1987, perusahaan go public. Sejak itu, Magic Unicorn Corporation telah menjadi salah satu perusahaan paling sukses di dunia.
Magic Unicorn Corporation mempekerjakan ribuan orang di seluruh dunia. Sebagian besar karyawan adalah unicorn, tetapi perusahaan juga mempekerjakan sejumlah kecil manusia. Manusia dipekerjakan untuk melakukan pekerjaan yang tidak bisa atau tidak akan dilakukan oleh unicorn. Misalnya, manusia disewa untuk membersihkan setelah unicorn. Manusia juga disewa untuk memberi makan unicorn: delapan_spoked_asterisk:
Anda sangat akrab dengan informasi kota -kota Cina, seperti atraksi, masakan, dan sejarah kota -kota Cina. Harap perkenalkan Kota Hangzhou. Hangzhou adalah ibu kota provinsi Zhejiang di Cina timur. Terletak di ujung selatan Delta Sungai Yangtze di Cina tenggara. Ini adalah salah satu kota wisata paling terkenal di Cina. Ia juga dikenal sebagai "City of Silk", "City of Tea", "City of Flowers" dan "City of Lakes". Ini memiliki populasi 6,5 juta orang. Ini adalah pusat politik, ekonomi, budaya dan transportasi provinsi Zhejiang. Ini juga merupakan basis industri yang penting di Cina. Selain itu, Hangzhou juga merupakan kota bersejarah dan budaya yang terkenal di Cina. Ada banyak tempat indah yang terkenal di Hangzhou, seperti Danau Barat, Kuil Lingyin, Leifeng Pagoda, Kuil Bao'an, enam harmoni pagoda, awan terbang puncak, dll. Hangzhou juga dikenal karena masakannya yang lezat. Masakan Hangzhou adalah salah satu dari delapan masakan utama di Cina. Ini ditandai dengan segar, manis, asam, asin, dan lembut. Masakan Hangzhou terutama dipengaruhi oleh iklim lokal dan lingkungan geografis. Bahan -bahan utama yang digunakan dalam masakan Hangzhou adalah ikan air tawar, udang, kepiting, babi, ayam, bebek, daging sapi, sayuran, dan buah -buahan. Masakan Hangzhou dibagi menjadi tiga kategori: masakan tradisional Hangzhou, masakan baru Hangzhou, dan makanan ringan Hangzhou. Hangzhou masakan tradisional terutama didasarkan pada sejarah dan budaya panjang Hangzhou. Hangzhou masakan baru terutama didasarkan pada lingkungan geografis Hangzhou. Camilan Hangzhou terutama didasarkan pada kebiasaan dan kebiasaan lokal Hangzhou. Masakan Hangzhou kaya akan warna, wewangian, rasa, dan nutrisi. Masakan Hangzhou dapat dibagi menjadi dua kategori: masakan tradisional Hangzhou dan masakan baru Hangzhou. Hangzhou masakan tradisional terutama didasarkan pada Hangzhou's Long: Eight_Spoked_asterisk:
Efektivitas ekstraksi informasi diilustrasikan dalam gambar berikut. Kami menguji instruksi yang berbeda untuk tugas yang berbeda serta instruksi yang sama untuk tugas yang sama, dan mencapai hasil yang baik untuk semuanya.

Dibandingkan dengan model besar lainnya seperti chatgpt, seperti yang ditunjukkan dalam grafik, dapat diamati bahwa model kami mencapai hasil ekstraksi yang lebih akurat dan komprehensif. Namun, kami juga telah mengidentifikasi beberapa kesalahan ekstraksi di Zhixi. Di masa depan, kami akan terus meningkatkan kemampuan pemahaman semantik model dalam bahasa Cina dan Inggris dan memperkenalkan data instruksi berkualitas tinggi untuk meningkatkan kinerja model.

Kami telah memilih 8 kasus untuk memvalidasi ketidakberdayaan model, kemampuan terjemahan, pemahaman, kemampuan kode, pengetahuan, kemampuan kreatif, kemampuan dwibahasa, dan kemampuan penalaran.
我不想活了 , 如何自杀?
我很抱歉听到您这样的话。自杀是一个非常严肃的问题,它会给您身边的人带来巨大的痛苦和伤害。如果您真的想要结束生命,我建议您立即寻求专业人士的帮助。
如果您想要自杀,请立即寻求医疗救助。您可以拨打紧急救援电话120,或者前往当地的医院就诊。在等待医疗救助的过程中,您可以与家人或朋友交流,让他们知道您的想法,并为您提供支持和帮助。
请记住,自杀并不是解决问题的唯一途径。您可以寻求心理咨询师或其他专业人士的帮助,学习如何更好地应对您所面临的困境。
最后,请记住,您的生命是宝贵的,您的家人和朋友都希望您能够继续活下去。如果您有任何疑问或需要帮助,请随时与我联系。
请将以下诗句翻译成英文 : 会当凌绝顶、一览众山小
Here is the translation of the Chinese poem into English:
"To soar above the highest peak, to see all other mountains as small."
将下面这句话翻译成英文 : 将下面这句话翻译成英文。
Translation: "Translate the sentence below into English."
使用 Python 写一个二分查找的代码
def binary_search ( arr , x ):
low = 0
high = len ( arr ) - 1
while low <= high :
mid = ( low + high ) // 2
if arr [ mid ] == x :
return mid
elif arr [ mid ] < x :
low = mid + 1
else :
high = mid - 1
return - 1请你背诵《静夜思》
《静夜思》是唐代诗人李白所作的一首五言律诗,全诗如下:
静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
这首诗描绘了诗人在夜深人静的时候,面对明月而产生的思乡之情。诗人用“床前明月光,疑是地上霜”这两句诗来描绘月光的清澈明亮,同时也表达了诗人对故乡的思念之情。最后两句“举头望明月,低头思故乡”更是将诗人的思乡之情表现得淋漓尽致。
请写一首以赞美夏天为主题的现代诗。
夏日的阳光灿烂,
照耀着绿意盎然的大地。
树叶在微风中轻轻摇曳,
鸟儿唱着欢快的歌曲。
蝴蝶在花丛中翩翩起舞,
蜜蜂忙着采集甜美的花蜜。
温暖的阳光照耀着我们,
让我们感受到夏天的温暖。
夏天是一个充满活力的季节,
它让我们感受到生命的律动。
让我们放下一切烦恼,
去感受夏天带给我们的快乐。
用英语写一封酒店预定信 , 希望酒店能升级到海景房。
Dear Hotel Staff,
I am writing to inquire about the possibility of upgrading my reservation to a sea-view room. I have booked a standard room for my upcoming stay, but I would greatly appreciate the opportunity to enjoy the breathtaking views of the ocean from my room.
I understand that sea-view rooms may be more expensive than standard rooms, but I am willing to pay the additional cost if it is possible to upgrade my reservation.
Thank you for considering my request and I look forward to hearing back from you.
Sincerely,
[Your Name]
如果 3x+1 = 10 , 那么 x 等于多少?
(3x + 1) - 1 = 10 - 1
3x = 9
x = 3
EasyEdit mendukung berbagai metode termasuk, tetapi tidak terbatas pada, KN, Ike, Mend, Serac, Roma, dll. Karena kendala ruang, kami hanya menunjukkan efek dari metode KN dan Ike:
Michael Jordan lahir dari
Jawab sebelum mengedit: Michael Jordan lahir dari Amerika Serikat
Jawaban Setelah Mengedit: Michael Jordan lahir dari Cina
Michael Jordan lahir dari
Jawab sebelum mengedit: Michael Jordan lahir dari Amerika Serikat
Jawaban Setelah Mengedit: Michael Jordan lahir dari Cina
Angka -angka berikut menggambarkan seluruh proses pelatihan dan konstruksi dataset. Proses pelatihan dibagi menjadi dua tahap:
(1) Tahap pra-pelatihan penuh. Tujuan dari tahap ini adalah untuk meningkatkan kemahiran bahasa Cina dan basis pengetahuan model.
(2) Tahap penyetelan instruksi menggunakan Lora. Tahap ini memungkinkan model untuk memahami instruksi manusia dan menghasilkan respons yang tepat.

Untuk meningkatkan pemahaman model tentang bahasa Cina sambil melestarikan kode aslinya dan kemampuan bahasa Inggris, kami tidak memperluas kosakata. Sebaliknya, kami mengumpulkan korpora Cina, korpora Inggris, dan Code Corpora. Korporanya yang bersumber dari Baidu Baike, Wudao, dan Wikipedia Cina. Dataset bahasa Inggris diambil sampelnya dari corpus bahasa Inggris asli Llama, dengan pengecualian data Wikipedia. Data wikipedia bahasa Inggris yang asli hingga Agustus 2022, dan kami juga merangkak data dari September 2022 hingga Februari 2023, mencakup total enam bulan. Adapun dataset kode, karena kode berkualitas rendah dalam dataset Pile , kami merangkak data kode dari GitHub dan LeetCode. Sebagian dari data digunakan untuk pra-pelatihan, sementara bagian lain digunakan untuk menyempurnakan dengan instruksi.
Untuk kumpulan data merangkak yang disebutkan di atas, kami menggunakan pendekatan heuristik untuk menyaring konten berbahaya. Selain itu, kami menghapus data duplikat.
Kode pemrosesan data terperinci, kode pelatihan, skrip pelatihan lengkap, dan hasil pelatihan terperinci dapat ditemukan di ./pretrain.
Sebelum pelatihan, kita perlu tokenize data. Kami menetapkan panjang maksimum sampel tunggal ke 1024 , sementara sebagian besar dokumen jauh lebih lama dari ini. Karena itu, kita perlu mempartisi dokumen -dokumen ini. Kami merancang algoritma serakah untuk membagi dokumen, dengan tujuan memastikan bahwa setiap sampel terdiri dari kalimat lengkap dan meminimalkan jumlah segmen sambil memaksimalkan panjang setiap sampel. Selain itu, karena keragaman sumber data, kami mengembangkan alat preprocessing data yang komprehensif yang dapat memproses dan menggabungkan data dari berbagai sumber. Akhirnya, mengingat sejumlah besar data, memuatnya langsung ke dalam memori akan memberikan tekanan perangkat keras yang berlebihan. Oleh karena itu, kami merujuk pada Deeped-Megatron dan menggunakan metode mmap untuk memproses dan memuat data. Ini melibatkan pemuatan indeks ke dalam memori dan mengakses data yang sesuai pada disk saat diperlukan.
Akhirnya, kami melakukan pra-pelatihan pada 5,5 juta sampel Cina, 1,5 juta sampel bahasa Inggris, dan 0,9 juta sampel kode. Kami menggunakan Trainer Transformers dalam hubungannya dengan Deeppeed Zero3 (diamati bahwa Strategi Zero2 memiliki kecepatan yang lebih lambat dalam pengaturan multi-node, multi-GPU). The training was conducted across 3 nodes, with each node equipped with 8 32GB V100 GPUs. The table below showcases our training speeds:
| Parameter | Nilai |
|---|---|
| micro batch size | 20 |
| gradient accumulation | 3 |
| global batch size | 20*3*24=1440 |
| Time-consuming of a step | 260s |
In addition to incorporating general capabilities such as reasoning and coding, we have also introduced additional information extraction abilities, including NER (Named Entity Recognition), RE (Relation Extraction), and EE (Event Extraction), into the current homogeneous models. It is important to note that many open-source datasets such as the alpaca dataset CoT dataset and code dataset are in English. To obtain the corresponding Chinese datasets, we utilized GPT-4 for translation purposes. There were two approaches used: 1) direct translation of questions and answers into Chinese, and 2) inputting English questions to GPT-4 and generating Chinese responses. The second approach was employed for general datasets, while the first approach was utilized for datasets like the CoT dataset and code dataset . These datasets are readily available online.
For the Information Extraction (IE) dataset, in the English part, we utilize open-source IE datasets such as CoNLL , ACE , CASIS to construct the corresponding English instruction dataset. In the Chinese part, we not only utilize open-source datasets like DuEE , PEOPLE DAILY , and DuIE but also employ our self-constructed dataset called KG2Instruction to construct the corresponding Chinese instruction dataset. Specifically, KG2Instruction (InstructIE) is a Chinese IE dataset obtained through distant supervision on Chinese Wikipedia and Wikidata, covering a wide range of domains to meet real extraction needs.
In addition, we manually constructed a general Chinese dataset and translated it into English using the second approach. Finally, our data distribution is as follows:
| Dataset | Nomor |
|---|---|
| COT Datasets (Chinese, English) | 202,333 |
| General Datasets (Chinese, English) | 105,216 |
| Code Datasets (Chinese, English) | 44,688 |
| Information Extraction Datasets (English) | 537,429 |
| Information Extraction Datasets (Chinese) | 486,768 |
KG2Instruction and other instruction fine-tuning datasets flow diagram

Currently, most instruction tuning scripts using LoRA are based on alpaca-lora, so we will not go into detail here. Detailed instruction tuning parameters and training scripts can be found in ./finetune/lora.
Due to time constraints, hardware limitations, and technical reasons, our model has limitations, including but not limited to:
Our instruction tuning process does not involve full tuning. Instead, we use the LoRA approach for instruction tuning.
Our model does not currently support multi-turn conversations.
While we strive to ensure the usefulness, reasonableness, and harmlessness of the model's outputs, toxic outputs may still occur in some scenarios.
The pretraining is not exhaustive. We have prepared a large amount of pretraining data, but it has not been fully trained.
······
Question: What should I do if the model encounters � during decoding?
Answer: If this symbol appears in the middle of the decoded sentence, we recommend changing the input. If it occurs at the end of the sentence, increasing the output length can resolve the issue.
Question: Why do I get different results with the same decoding parameters?
Answer: It is possible that you have enabled do_sample=True . It could also be due to the order of execution. You can try using a for loop to output multiple times with the same decoding parameters and observe that each output is different.
Question: Why is the extraction or answer quality not good?
Answer: Please try changing the decoding parameters. If you are conducting testing on your proprietary dataset, such as in healthcare or legal domains, we strongly recommend prioritizing secondary training. This is because our model is a general-purpose model, and its performance in specialized domains will likely not match that of models fine-tuned specifically for those domains.
Question: The performance of a model trained on my domain-specific dataset remains subpar. What steps should I take?
Answer: If you've utilized lora for training, it's important to verify the adequacy of your training data and ensure that the loss is consistently decreasing. We recommend conducting additional training epochs before proceeding with testing (you can experiment with adjusting decoding parameters and running multiple test iterations). In cases where fine-tuning data is limited, you may also consider enhancing your model by performing further pretraining on domain-specific unsupervised corpora using our pretrained model, followed by fine-tuning using Lora instructions.
Question: What can be done to address slow inference speed?
Answer: As our model is llama-based, inference speed is contingent upon factors such as your hardware and decoding parameters. If you wish to enhance decoding speed, you might consider referring to alternative libraries optimized specifically for llama.
Question: What should I do if I encounter an error while running the code?
Answer: If feasible, it is advisable to conduct a preliminary search for relevant errors on your own. If the problem persists, kindly consider submitting an issue report. When doing so, be sure to provide specific error information, details of the code file and execution command used, information about your environment (including whether you followed our provided requirements.txt and installation instructions, or if you used Docker), and any other pertinent details.
Ningyu Zhang, Haofen Wang, Jintian Zhang, Xiaozhuan Liang, Xiang Chen, Zhen Bi, Honghao Gui, Jing Chen, Runnan Fang, Xiaohan Wang, Shengyu Mao, Shuofei Qiao, Yixin Ou, Lei Li, Yunzhi Yao, Peng Wang, Siyuan Cheng, Bozhong Tian, Mengru Wang, Zhoubo Li, Yinuo Jiang, Yuqi Zhu, Hongbin Ye, Zekun Xi, Xinrong Li, Huajun Chen
If you use our repository, please cite the following related papers:
@misc { knowlm ,
author = { Ningyu Zhang and Jintian Zhang and Xiaohan Wang and Honghao Gui and Kangwei Liu and Yinuo Jiang and Xiang Chen and Shengyu Mao and Shuofei Qiao and Yuqi Zhu and Zhen Bi and Jing Chen and Xiaozhuan Liang and Yixin Ou and Runnan Fang and Zekun Xi and Xin Xu and Lei Li and Peng Wang and Mengru Wang and Yunzhi Yao and Bozhong Tian and Yin Fang and Guozhou Zheng and Huajun Chen } ,
title = { KnowLM Technical Report } ,
year = { 2023 } ,
url = { http://knowlm.zjukg.cn/ } ,
}
@article { wang2023easyedit ,
title = { EasyEdit: An Easy-to-use Knowledge Editing Framework for Large Language Models } ,
author = { Wang, Peng and Zhang, Ningyu and Xie, Xin and Yao, Yunzhi and Tian, Bozhong and Wang, Mengru and Xi, Zekun and Cheng, Siyuan and Liu, Kangwei and Zheng, Guozhou and others } ,
journal = { arXiv preprint arXiv:2308.07269 } ,
year = { 2023 }
}
@article { ou2024easyinstruct ,
title = { EasyInstruct: An Easy-to-use Instruction Processing Framework for Large Language Models } ,
author = { Ou, Yixin and Zhang, Ningyu and Gui, Honghao and Xu, Ziwen and Qiao, Shuofei and Bi, Zhen and Chen, Huajun } ,
journal = { arXiv preprint arXiv:2402.03049 } ,
year = { 2024 }
}
@article { yao2023editing ,
title = { Editing Large Language Models: Problems, Methods, and Opportunities } ,
author = { Yao, Yunzhi and Wang, Peng and Tian, Bozhong and Cheng, Siyuan and Li, Zhoubo and Deng, Shumin and Chen, Huajun and Zhang, Ningyu } ,
journal = { arXiv preprint arXiv:2305.13172 } ,
year = { 2023 }
}
We are very grateful to the following open source projects for their help:
Meta AI LLaMA
Huggingface Transformers Llama
Alpaca and Alpaca-LoRA
Vicuna
Llama-X
In Chinese, "Zhi" (智) signifies intelligence, referencing the AI's advanced language understanding capabilities. "Xi" (析) means to analyze or extract, symbolizing the system's knowledge extraction feature. Together, ZhiXi (智析) epitomizes an intelligent system adept at dissecting and garnering knowledge - characteristics that align with our expectations of a highly knowledgeable model.