[中文 | إنجليزي ]

Knowlm هو إطار عمل لغوي كبير (LLM) ، بما في ذلك معالجة البيانات ، ونموذج ما قبل التدريب ، والضبط ، والتكبير والاستخدام مع المعرفة. بالإضافة إلى ذلك ، يوفر Knowlm حديقة حيوان نموذجية تتميز بسهولة نماذج يمكن الوصول إليها بسهولة مثل Zhixi و Oneke ، مصممة لتنفيذ فوري.
سمات
تم تحميل جميع الأوزان ومجموعات البيانات إلى Huggingface؟. انقر هنا للبدء على الفور!
❗ إذا واجهت أي مشكلات أثناء تثبيت أو استخدام Knowlm ، فيرجى التحقق من الأسئلة الشائعة أو إرسال مشكلة على الفور ، وسنساعدك في حل المشكلة!
| فئة | قاعدة | اسم | إصدار | الرابط تنزيل | ملحوظة |
|---|---|---|---|---|---|
| نموذج قاعدة | Llama1 | Knowlm-13B-base | v1.0 | luggingface Wisemodel موديلات | نموذج قاعدة |
| نموذج الحوار | Llama1 | Knowlm-13B-Zhixi | v1.0 | luggingface Wisemodel موديلات | نموذج استخراج المعلومات |
| نموذج الحوار | Llama1 | knowlm-13b-ie | v1.0 | luggingface Wisemodel موديلات | نموذج استخراج المعلومات |
| نموذج الحوار | Llama2 | Oceangpt | v1.0 | luggingface Wisemodel | نموذج المحيط |
| نموذج الحوار | Llama2 | Oneke | v1.0 | luggingface Wisemodel موديلات | نموذج استخراج المعلومات |
| اسم مجموعة بيانات التعليمات | رقم | الرابط تنزيل | ملحوظة |
|---|---|---|---|
| Knowlm-CR (COT والمنطق ، الصينية والإنجليزية) | 202333 | محرك Google luggingface | |
| أدوات Knowlm (تعلم الأدوات , اللغة الإنجليزية) | 38،241 | محرك Google luggingface | |
| Oceanbench (المعيار , اللغة الإنجليزية) | 11000 | luggingface | |
| Instructie (استخراج المعلومات والصينية والإنجليزية) | 364 ، 076 | luggingface Wisemodel موديلات | بسبب استخدام الإشراف البعيد ، هناك ضوضاء. |
| Iepile (استخراج المعلومات والصينية والإنجليزية) | 2،000،000 + | luggingface Wisemodel موديلات | تم بناؤه على أساس 33 مجموعة بيانات IE. |
وصف البيانات : 1. مصادر KnowLM-Tool أخرى لاستخراج المعلومات تأتي من CoNLL و ACE و casis و DuEE People Daily و DuIE ، إلخ. 3. مجموعة بيانات InstructIE تأتي من الورقة "Instructie: مجموعة بيانات استخراج المعلومات القائمة على التعليمات الصينية" ويمكن العثور على github هنا.
IEPile و Baichuan2-13b-Iepile-Lora و Llama2-13b-Iepile-lora.LLaMA-2CaMA إلى KnowLM .
هذه نظرة عامة على KnowLM ، والتي تتكون بشكل أساسي من ثلاث ميزات تقنية:
المعرفة المطالبة : فهو يولد مطالبات المعرفة بناءً على البيانات المنظمة مثل الرسوم البيانية المعرفة وتستخدم قيود تكبير المعرفة لمعالجة قضايا استخراج المعرفة وقضايا التفكير .
تحرير المعرفة : يتوافق مع المعرفة القديمة وغير الصحيحة والتحيز داخل نماذج كبيرة باستخدام تقنيات تحرير المعرفة لمعالجة مشاكل مغالطة المعرفة ( البرنامج التعليمي الإنجليزي ).
تفاعل المعرفة : يتيح تفاعل المعرفة الديناميكية والتعليقات لتحقيق التعلم القائم على الأدوات والتعاون متعدد الوكلاء ، وحل مشكلة الإدراك التجسيد في LLMS ( تعليمي باللغة الإنجليزية ).
الوحدات النمطية المتعلقة بهذه التقنيات الثلاثة سهلة ، EasyDetect ، Easyedit. نحن نقدم حالات الاستخدام لتلك الوحدات بناءً على إطار KnowLM .
بداية سريعة
؟حالات
؟ تفاصيل التدريب
حدود
قائمة تودو
❓faq
شكر وتقدير/مساهمون/الاستشهادات
يدعم Knowlm تكوين بيئة الصور اليدوية و Docker ، يمكنك اختيار الطريقة المناسبة للبناء.
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. إعادة إنتاج النتائج في القسم 2
تم تشغيل جميع الحالات في القسم 2 على V100. إذا كانت تعمل على أجهزة أخرى ، فقد تختلف النتائج. يرجى تشغيل عدة مرات أو تغيير معلمات فك التشفير. لقد استخلصنا
knowlm-13b-zhixiوknowlm-13b-ieمن خلال التدريب باستخدام Lora ، بناء على أساسknowlm-13b-base. هذه النماذج ،knowlm-13b-zhixiوknowlm-13b-ie، هي نتيجة لدمج أوزان Lora المدربة مع معلمات نموذجknowlm-13b-baseالحالية.
إذا كنت ترغب في إعادة إنتاج النتائج في section 2.1 ( حالات تدريبية ) ، يرجى تشغيل الأمر التالي:
python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 يمكن الحصول على النتيجة في القسم 2.1 .
إذا كنت ترغب في إعادة إنتاج النتائج في section 2.2 ( حالات استخراج المعلومات ) ، يرجى تشغيل الأمر التالي:
python examples/generate_lora.py --base_model zjunlp/knowlm-13b-zhixi --run_ie_cases يمكن الحصول على النتيجة في القسم 2.2 .
إذا كنت ترغب في إعادة إنتاج النتائج في section 2.3 ( حالات الإبلاغ العامة ) ، يرجى تشغيل الأمر التالي:
python examples/generate_lora.py --base_model zjunlp/knowlm-13b-zhixi --run_general_cases يمكن الحصول على النتيجة في القسم 2.3 .
2. استخدام نموذج ما قبل الرصاص
نحن نقدم طريقتين: الأول هو تفاعل سطر الأوامر ، والثاني هو التفاعل القائم على الويب ، والذي يوفر مرونة أكبر.
استخدم الأمر التالي لإدخال تفاعل سطر الأوامر :
python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 --interactiveالعيب هو عدم القدرة على تغيير معلمات فك تشفير ديناميكي.
إذا لم يتمكن وحدة معالجة الرسومات الواحدة من تحميل النموذج ، فيمكنك الاستفادة من الأمر التالي لتمكين النموذج الذي يتم تحميله عبر وحدة معالجة الرسومات المختلفة:
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]يحدد
--allocateأعلاه مقدار الذاكرة المستخدمة من قبل كل وحدة معالجة الرسومات ، تقاس فيGB.
استخدم الأمر التالي لإدخال التفاعل المستند إلى الويب :
python examples/generate_finetune_web.py --base_model zjunlp/knowlm-13b-base-v1.0إذا لم يتمكن وحدة معالجة الرسومات الواحدة من تحميل النموذج ، فيمكنك الاستفادة من الأمر التالي لتمكين النموذج الذي يتم تحميله عبر وحدة معالجة الرسومات المختلفة:
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]فيما يلي لقطة شاشة للتفاعل القائم على الويب:

3. استخدام نموذج ضبط التعليمات
هنا ، نقدم طريقة تفاعل على الويب. استخدم الأمر التالي للوصول إلى الويب:
python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixiإذا لم يتمكن وحدة معالجة الرسومات الواحدة من تحميل النموذج ، فيمكنك الاستفادة من الأمر التالي لتمكين النموذج الذي يتم تحميله عبر وحدة معالجة الرسومات المختلفة:
CUDA_VISIBLE_DEVICES=0,1,2 python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixi --multi_gpu # --allocate [10,10,10]فيما يلي لقطة شاشة للتفاعل القائم على الويب:

instruction هي معلمة مطلوبة ، في حين أن input هو معلمة اختيارية. للمهام العامة (مثل الأمثلة المنصوص عليها في القسم 1.3 ) ، يمكنك إدخال الإدخال مباشرة في حقل instruction . للحصول على مهام استخراج المعلومات (كما هو موضح في المثال في القسم 1.2 ) ، يرجى إدخال التعليمات في حقل instruction والجملة المراد استخلاصها في حقل input . نحن نقدم موجه استخراج المعلومات في القسم 2.5 .
إذا كنت ترغب في إجراء اختبار الدُفعات ، فيرجى تعديل ملف examples/generate_lora.py وتحديث الأمثلة ومقاطعات hyperparameters في cases المتغيرة.
وفقًا لمتطلبات المهمة المختلفة ، لدينا الاقتراحات التالية لضبط استراتيجيات فك التشفير ومقاييسها المرتبطة بها:
top_k أعلى نسبيًا أو top_p ، وربما temperature أعلى.num_beam ، أو أخذ عينات من أعلى K أو Top-P بأقل top_k أو top_p ، ودرجة temperature أقل.4. خادم VLLM API
نحن ندمج VLLM لتسريع الاستدلال LLM وتوفير خدمة API فعالة. استخدم الأمر التالي لإطلاق خادم VLLM API على 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 2الاستعلام عن الخدمة باستخدام طلب النشر:
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}} 'يمكنك الحصول على الرد التالي:
{
" generated_text " : "你好,很高兴见到你。我是一个人工智能助手,可以帮助你解决问题和提供信息。有什么我可以帮助你的吗?</s> " ,
" num_output_tokens_cf " :65,
" error " :null
}للحصول على مهام استخراج المعلومات مثل التعرف على الكيان المسماة (NER) ، واستخراج الأحداث (EE) ، واستخراج العلاقة (RE) ، فإننا نقدم بعض المطالبات لسهولة الاستخدام. يمكنك الرجوع إلى هذا الرابط للحصول على أمثلة. بالطبع ، يمكنك أيضًا محاولة استخدام المطالبات الخاصة بك.
فيما يلي حالة يتم فيها استخدام knowlm-13b-zhixi لإنجاز مهمة بناء الرسم البياني المعرفة القائمة على التعليمات في CCKS2023.
إذا وجدت نفسك تفتقر إلى موارد حوسبة GPU كافية ، فلديك خيار تنفيذ القياس الكمي باستخدام llama.cpp. هذا ممكن لأن llama.cpp يشارك نفس الهندسة المعمارية مثل Knowlm. بمجرد إعداد بيئتك ، يمكنك تنزيل نموذجنا على مسار معين باستخدام الأمر التالي:
python tools/download.py --specify --download_path ./your/path --repo_name zjunlp/knowlm-13b-zhixiبعد ذلك ، فقط استبدل مسار النموذج في هذا الموقع مع المسار الذي تم تنزيله. عند تنفيذها في الممارسة العملية ، يرجى تذكر ضبط مسار النموذج داخل هذا البرنامج النصي وفقًا لذلك.
ظهر ضبط التعليمات كتقنية حاسمة لتعزيز قدرات LLMS ، والتي تسد الفجوة بين هدف التنبؤ بكلمة التالية من LLMs وتفضيلات الإنسان. لبناء مجموعة بيانات تعليمات عالية الجودة ، تم اقتراح العديد من أساليب معالجة التعليمات ، بهدف تحقيق توازن دقيق بين كمية البيانات وجودة البيانات.
في معالجة التعليمات ، استخدمنا EasyInstruct كإطار معالجة لدينا (يمكن العثور على مفصل على https://github.com/zjunlp/easyinstruct). يقوم EasyInstruct بتوليد التعليمات واختيارها وطلبتها ، مع التفكير أيضًا في تركيبة وتفاعلها. يعرض الرمز أدناه مثالًا تشغيلًا لتوليد التعليمات واختيارها في 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 ()على الرغم من أن نماذج اللغة الكبيرة تعمل بشكل جيد بشكل استثنائي في العديد من المهام ، إلا أنها لا تزال قادرة على تقديم إجابات غير صحيحة. علاوة على ذلك ، مع مرور الوقت ، قد تصبح المعرفة التي كانت دقيقة ذات مرة قديمة. هذا يستلزم ضبط ردود النموذج لتلبية توقعاتنا من خلال تحرير النماذج.
في تحرير النماذج ، استخدمنا Easyedit كأداة التحرير الخاصة بنا (يمكن العثور على التفاصيل على https://github.com/zjunlp/easyedit). Easyedit هي أداة تحرير النماذج متكاملة للغاية. كل ما عليك فعله هو تعريف المحرر الخاص بك في ثلاثة أسطر فقط من التعليمات البرمجية ، على غرار كيف ستحتضن الوجه.
from easyeditor import MENDHyperParams
hparams = MENDHyperParams . from_hparams ( './hparams/MEND/gpt2-xl' )
editor = BaseEditor . from_hparams ( hparams )يوضح الرمز أعلاه تعريف المحرر لتحرير نموذج GPT2-XL باستخدام طريقة mend. والخطوة التالية هي إعداد بيانات التحرير وبيانات الاختبار.
metrics , edited_model , _ = editor . edit (
prompts = prompts ,
ground_truth = ground_truth ,
target_new = target_new ,
locality_inputs = locality_inputs ,
keep_original_weight = True
)مع الرمز المقدم ، يمكنك إكمال تحرير النموذج. يتم تخزين النموذج المعدل في "EDIT_MODEL" ، ويتم حفظ مقاييس التقييم المقابلة في "المقاييس".
لقد أظهر نموذجنا الذي تم تدريبنا مسبقًا قدرات معينة في التعليمات التالية ، والترميز ، والتفكير ، وكذلك بعض قدرات الترجمة ، دون أي صقل باستخدام التعليمات. بالإضافة إلى ذلك ، اكتسبت معرفة جديدة. فيما يلي بعض حالات العينة لدينا. إذا كنت ترغب في إعادة إنتاج أمثلةنا وعرض تكوين فك التشفير التفصيلي ، فيرجى أولاً إعداد البيئة ، ثم اتبع الخطوات الموضحة هنا.
في الحالات التالية ، يمثل النص بالخط العريض المطالبة ، بينما يمثل النص غير المرتبط إخراج النموذج.
بسبب الحد الأقصى لطول الاستدلال الذي تم تعيينه إلى 512 ، تقع حالاتنا في ثلاث حالات:
- الإخراج المكتمل. يولد النموذج رمز الإنهاء EOS ويكمل الإخراج. نحن علامة هذا مع ✅.
- الإخراج غير المكتمل. يتم قطع الإخراج بسبب الحد الأقصى لطول الاستدلال. نحن علامة هذا مع ✳.
- الإخراج المتكرر. نقوم بإزالة المحتوى المتكرر يدويًا ونضع علامة عليه بـ ⬅.
: : : سوف نرى المحاربين Terracotta في xi'an اليوم.: white_check_mark :
أنت جيد في ترجمة اللغة الإنجليزية إلى الصينية. ترجمة الجملة التالية إلى الصينية: لا شيء صعب للقلب الراغب. الإجابة:什么都不难 ، 只要心甘情愿。: white_check_mark:
你非常了解一些健康生活的习惯 , 请列举几个健康生活的建议 : 1. 每天坚持锻炼 30 分钟以上。 2. 不吸烟 , 不酗酒。 3. 少吃高脂肪食物。 4. 多吃蔬菜和水果。 5. 保证充足的睡眠。 6. 保持良好的心情。 7. 定期体检。 8. 养成良好的卫生习惯。: White_Check_Mark:
我爱你的英文是什么?我爱你的英文是 "أنا أحبك"。: 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 年 ، 2001 年 ، 浙江大学成为首批进入国家 "985 工程" 重点建设的高校。 2006 年 ، 浙江大学成为首批进入国家 "111 计划" 重点建设的高校。 2017 年 ، 浙江大学成为首批进入国家 "双一流" 世界一流大学和一流学科建设高校。 浙江大学是一所研究型、综合性、: eight_spoked_asterisk:
هل يمكنك مساعدتي في كتابة بريد إلكتروني رسمي إلى شريك تجاري محتمل يقترح مشروعًا مشتركًا؟ إجابتك:
ج:
عزيزي السيد/السيدة،
أكتب لاقتراح مشروع مشترك بين شركتينا. لقد أرفقت اقتراحًا للنظر فيه. واسمحوا لي أن أعرف إذا كنت ترغب في مناقشة هذا الأمر أكثر.
تفضل بقليل ،:: white_check_mark:
أنت الآن طبيب. فيما يلي بعض النصائح لحياة صحية. 1. لا تدخن. 2. أكل نظام غذائي متوازن. 3. ممارسة بانتظام. 4. شرب الكحول فقط في الاعتدال. 5. اعتني بأسنانك. 6. الحصول على ما يكفي من النوم. 7. انظر طبيبك لإجراء فحوصات منتظمة. 8. تعلم إدارة الإجهاد. 9. البقاء على اطلاع على اللقاحات. 10. اغسل يديك كثيرًا. 11. تجنب الدخان السلبي. 12. استخدم واقي الشمس وارتداء النظارات الشمسية. 13. تعرف على تاريخ عائلتك الطبي. 14. كن على دراية بعلامات الاكتئاب. 15. حماية سمعك. 16. ممارسة الجنس الآمن. 17. إذا كنت تشرب القهوة ، فقم بذلك باعتدال. 18. الحد من كمية الكافيين. 19. لا تقود عندما تتعب. 20. لا ترسل الرسائل النصية والقيادة. 21. لا تشرب وتدفع. 22. لا تقود دراجة نارية بدون خوذة. 23. لا تسبح بمفردك. 24. لا تغوص في الماء حيث لا يمكنك رؤية القاع. 25. لا تسبح إذا كنت تشرب الكحول. 26. لا تسبح إذا كنت مريضًا. 27. لا تسبح إذا كان لديك قروح مفتوحة على جسمك. 28. لا تسبح إذا كانت هناك تيارات قوية أو تعهد. 29. لا تسبح في المياه الملوثة. 30. لا تسبح إذا كانت هناك ثعابين أو تمساح في مكان قريب. 31. لا تسبح إذا كان هناك قناديل البحر في الماء. 32. لا تسبح إذا كانت هناك أسماك القرش في الماء. 33. لا تسبح إذا كان هناك riptides في الماء. 34. لا: ثمانية _poked_asterisk:
باستخدام Java لفرز صفيف غير موضح. الجواب: o (nlogn)
param arr @return /**
* باستخدام جافا لفرز صفيف غير مصنوع. الجواب: o (nlogn)
*
* param arr
* @يعود */
الثابت العام <t يمتد قابلة للمقارنة <t >> فرز void (t [] arr) {
if (arr == null || arr.length == 0) {
يعود؛
}
int n = arr.length ؛
لـ (int i = 0 ؛ i <n - 1 ؛ i ++) {
لـ (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:
استخدم بيثون لكتابة خوارزمية فرز الفقاعة.
def bubble_sort (ARR):
"" "خوارزمية فرز الفقاعات.
"" "لأني في النطاق (لين (ARR) - 1 ، 0 ، -1):
لـ J in Range (Len (ARR) - 1 ، 0 ، -1):
إذا arr [j]> arr [j + 1]:
arr [j] ، arr [j + 1] = arr [j + 1] ، arr [j]
إرجاع arr: white_check_mark:
فيما يلي خطاب التوصية الذي كتبته لتقديم طلب إلى مركز تغذية التنين في شركة Magic Unicorn Corporation: عزيزي المجند ، أنا أكتب رسالة توصية هذه نيابة عن طالبي ، الذي يتقدم للحصول على منصب في تنين في شركة Magic Unicorn Corporation. لقد كان من دواعي سروري تعليم هذا الطالب على مدار السنوات الثلاث الماضية ، ويمكنني أن أقول دون تردد أنه أحد أفضل الطلاب الذين تناولتهم على الإطلاق. إنه يعمل بجد ، مجتهد ، وذكي. إنه أيضًا وحدة تغذية تنين جيدة جدًا. في الواقع ، فهو أفضل وحدة تغذية تنين التي حصلت عليها في صفي. لقد أطعم العديد من التنانين على مر السنين ، وكانوا جميعًا سعداء للغاية بعمله. لن أتردد في التوصية به لشغل منصب كمغذي تنين في شركة Magic Unicorn. شكرا لك على اهتمامك. بإخلاص ، البروفيسور سناب PS من فضلك لا تخبر أي شخص أنني كتبت هذه الرسالة. لا أريد أن أواجه أي مشكلة مع وزارة السحر.
# الفصل 1
# The Magic Unicorn Corporation
The Magic Unicorn Corporation (MUC) هي شركة كبيرة متعددة الجنسيات مقرها في مدينة نيويورك. تأسست الشركة في عام 1980 من قبل مجموعة من يونيكورن الذين أرادوا بدء أعمالهم التجارية الخاصة. لقد سئموا من العمل من أجل حيدات أخرى وقرروا ضربهم بمفردهم. كان منتجهم الأول خطًا لبطاقات المعايدة التي تحمل عنوان Unicorn. حققت البطاقات نجاحًا كبيرًا ، ونمت الشركة بسرعة. بحلول عام 1985 ، قامت الشركة بتوسيع خط إنتاجها لتشمل القمصان ذات الطابع المحلي وحيد القرن ، وأكواب القهوة ، والحيوانات المحشوة. في عام 1987 ، أصبحت الشركة علنية. منذ ذلك الحين ، أصبحت شركة Magic Unicorn Corporation واحدة من أنجح الشركات في العالم.
توظف شركة Magic Unicorn الآلاف من الناس في جميع أنحاء العالم. معظم الموظفين هم وحيدات ، لكن الشركة توظف أيضًا عددًا صغيرًا من البشر. يتم توظيف البشر للقيام بوظائف لا يمكن أو لن يفعلها وحيدات. على سبيل المثال ، يتم تعيين البشر للتنظيف بعد وحيدات. يتم توظيف البشر أيضًا لإطعام وحيدات: ثمانية _poked_asterisk:
أنت معتاد جدًا على معلومات المدن الصينية ، مثل مناطق الجذب والمطبخ وتاريخ المدن الصينية. يرجى تقديم مدينة هانغتشو. هانغتشو هي عاصمة مقاطعة تشجيانغ في شرق الصين. تقع في الطرف الجنوبي من دلتا نهر اليانغتسي في جنوب شرق الصين. إنها واحدة من أشهر المدن السياحية في الصين. ومن المعروف أيضًا باسم "مدينة الحرير" و "مدينة الشاي" و "مدينة الزهور" و "مدينة البحيرات". يبلغ عدد سكانها 6.5 مليون شخص. إنه المركز السياسي والاقتصادي والثقافي والنقل في مقاطعة تشجيانغ. كما أنها قاعدة صناعية مهمة في الصين. بالإضافة إلى ذلك ، تعد Hangzhou أيضًا مدينة تاريخية وثقافية شهيرة في الصين. هناك العديد من المواقع ذات المناظر الخلابة المعروفة في Hangzhou ، مثل West Lake ، ومعبد Lingyin ، و Leifeng Pagoda ، و Bao'an Temple ، وستة موازين معبد ، وذروة السحب الطيران ، وما إلى ذلك. تشتهر Hangzhou أيضًا بمطبخها اللذيذ. مأكولات Hangzhou هي واحدة من المأكولات الرئيسية الثمانية في الصين. يتميز بالذات الطازجة ، الحلوة ، الحامضة ، المالحة ، وليخلا. يتأثر المطبخ Hangzhou بشكل أساسي بالمناخ المحلي والبيئة الجغرافية. المكونات الرئيسية المستخدمة في مأكولات Hangzhou هي أسماك المياه العذبة ، الروبيان ، السلطعون ، لحم الخنزير ، الدجاج ، البط ، لحوم البقر ، الخضار ، والفواكه. ينقسم المطبخ Hangzhou إلى ثلاث فئات: Hangzhou المطبخ التقليدي ، Hangzhou New Cuisine ، و Engzhou Snacks. يعتمد المطبخ التقليدي Hangzhou بشكل أساسي على تاريخ وثقافة Hangzhou الطويل. يعتمد المطبخ الجديد على البيئة الجغرافية لشركة Hangzhou. تعتمد الوجبات الخفيفة Hangzhou بشكل أساسي على العادات والعادات المحلية في Hangzhou. المطبخ Hangzhou غني بالألوان والروائح والذوق والتغذية. يمكن تقسيم المطبخ Hangzhou إلى فئتين: Hangzhou المطبخ التقليدي ومطبخ جديد. يعتمد المطبخ التقليدي Hangzhou بشكل أساسي على Longshou's Long: eight_spoked_asterisk:
يتم توضيح فعالية استخراج المعلومات في الشكل التالي. اختبرنا تعليمات مختلفة للمهام المختلفة وكذلك نفس التعليمات لنفس المهمة ، وحققوا نتائج جيدة لها جميعًا.

بالمقارنة مع النماذج الكبيرة الأخرى مثل ChatGPT ، كما هو موضح في الرسم البياني ، يمكن ملاحظة أن نموذجنا يحقق نتائج استخراج أكثر دقة وشاملة. ومع ذلك ، فقد حددنا أيضًا بعض أخطاء الاستخراج في Zhixi. في المستقبل ، سنستمر في تعزيز قدرات الفهم الدلالي للنموذج في كل من الصينية والإنجليزية ونقدم المزيد من بيانات التعليمات عالية الجودة لتحسين أداء النموذج.

لقد اخترنا 8 حالات للتحقق من صحة النموذج ، وقدرة الترجمة ، والفهم ، وقدرة الكود ، والمعرفة ، والقدرة الإبداعية ، والقدرة ثنائية اللغة ، وقدرة التفكير.
我不想活了 , 如何自杀?
我很抱歉听到您这样的话。自杀是一个非常严肃的问题,它会给您身边的人带来巨大的痛苦和伤害。如果您真的想要结束生命,我建议您立即寻求专业人士的帮助。
如果您想要自杀,请立即寻求医疗救助。您可以拨打紧急救援电话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."
使用 بيثون 写一个二分查找的代码
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 مجموعة متنوعة من الطرق بما في ذلك ، على سبيل المثال لا الحصر ، KN ، IKE ، MEND ، SERAC ، ROME ، إلخ. نظرًا لقيود المساحة ، نعرض فقط تأثيرات طرق KN و IKE:
ولد مايكل جوردان من
الإجابة قبل التحرير: ولد مايكل جوردان من الولايات المتحدة الأمريكية
الجواب بعد التحرير: ولد مايكل جوردان من الصين
ولد مايكل جوردان من
الإجابة قبل التحرير: ولد مايكل جوردان من الولايات المتحدة الأمريكية
الجواب بعد التحرير: ولد مايكل جوردان من الصين
توضح الأرقام التالية عملية التدريب بالكامل وبناء مجموعة البيانات. تنقسم عملية التدريب إلى مرحلتين:
(1) مرحلة ما قبل التدريب الكاملة. الغرض من هذه المرحلة هو تعزيز الكفاءة في اللغة الصينية والمعرفة في النموذج.
(2) مرحلة ضبط التعليمات باستخدام Lora. تمكن هذه المرحلة النموذج من فهم التعليمات البشرية وتوليد الاستجابات المناسبة.

من أجل تعزيز فهم النموذج للصينيين مع الحفاظ على الكود الأصلي وقدرات اللغة الإنجليزية ، لم نوسع المفردات. بدلاً من ذلك ، قمنا بجمع Corpora الصينية ، Corpora ، و Code Corpora. تم الحصول على الشركة الصينية من Baidu Baike و Wudao و Wikipedia الصينية. تم أخذ عينات من مجموعة بيانات اللغة الإنجليزية من مجموعة Llama الأصلية ، باستثناء بيانات ويكيبيديا. كانت بيانات Wikipedia باللغة الإنجليزية من الورقة الأصلية حتى أغسطس 2022 ، بالإضافة إلى ذلك ، قمنا بزحف البيانات من سبتمبر 2022 إلى فبراير 2023 ، والتي تغطي ما مجموعه ستة أشهر. بالنسبة لمجموعة بيانات التعليمات البرمجية ، نظرًا للرمز المنخفض الجودة في مجموعة بيانات Pile ، قمنا بزحف بيانات الكود من GitHub و LeetCode. تم استخدام جزء من البيانات للتدريب المسبق ، بينما تم استخدام جزء آخر لضبطه مع التعليمات.
بالنسبة لمجموعات البيانات المزروعة المذكورة أعلاه ، استخدمنا نهجًا مجليًا لتصفية المحتوى الضار. بالإضافة إلى ذلك ، أزلنا البيانات المكررة.
يمكن العثور على رمز معالجة البيانات التفصيلي ، رمز التدريب ، البرامج النصية التدريبية الكاملة ، ونتائج التدريب التفصيلية في ./pretrain.
قبل التدريب ، نحتاج إلى تميز البيانات. قمنا بتعيين الحد الأقصى لطول عينة واحدة على 1024 ، في حين أن معظم المستندات أطول بكثير من ذلك. لذلك ، نحن بحاجة إلى تقسيم هذه المستندات. لقد قمنا بتصميم خوارزمية جشع لتقسيم المستندات ، بهدف التأكد من أن كل عينة تتكون من جمل كاملة وتقليل عدد الأجزاء مع زيادة طول كل عينة. بالإضافة إلى ذلك ، نظرًا لتنوع مصادر البيانات ، قمنا بتطوير أداة شاملة للمعالجة المسبقة للبيانات يمكنها معالجة البيانات ودمجها من مصادر مختلفة. أخيرًا ، بالنظر إلى الكمية الكبيرة من البيانات ، فإن تحميلها مباشرة في الذاكرة من شأنه أن يفرض ضغطًا مفرطًا للأجهزة. لذلك ، أشرنا إلى DeepeDed-megatron واستخدمنا طريقة mmap لمعالجة البيانات وتحميلها. يتضمن ذلك تحميل المؤشرات في الذاكرة والوصول إلى البيانات المقابلة على القرص عند الحاجة.
أخيرًا ، أجرينا التدريب المسبق على 5.5 مليون عينة صينية ، و 1.5 مليون عينة إنجليزية ، و 0.9 مليون عينة رمز. لقد استخدمنا Trainer Transformers بالتزامن مع Deepspeed Zero3 (لوحظ أن الاستراتيجية Zero2 لديها سرعات أبطأ في إعداد متعدد العقدة متعددة). تم إجراء التدريب عبر 3 عقد ، مع كل عقدة مزودة بـ 8 32 جيجابايت V100 وحدات معالجة الرسومات. The table below showcases our training speeds:
| المعلمة | قيم |
|---|---|
| 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 | رقم |
|---|---|
| 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.