Home
Login

نموذج لغوي حواري ثنائي اللغة مفتوح المصدر تم إصداره بشكل مشترك بواسطة Zhipu AI ومختبر KEG بجامعة Tsinghua ، يدعم استدعاء الأدوات وتنفيذ التعليمات البرمجية ووظائف أخرى.

Apache-2.0Python 13.7kTHUDM Last Updated: 2025-01-13

نظرة عامة على مشروع ChatGLM3

ChatGLM3 هو نموذج حوار مُدرَّب مسبقًا تم إصداره بالاشتراك بين Zhipu AI ومختبر KEG بجامعة Tsinghua. ChatGLM3-6B هو نموذج مفتوح المصدر في سلسلة ChatGLM3، مع الحفاظ على العديد من الميزات الممتازة للجيلين السابقين، مثل سلاسة الحوار وانخفاض عتبة النشر، ويقدم ChatGLM3-6B عددًا من الميزات والتحسينات الجديدة الهامة.

عنوان المشروع: https://github.com/THUDM/ChatGLM3

الميزات الأساسية

1. نموذج أساسي أقوى

يعتمد النموذج الأساسي لـ ChatGLM3-6B، وهو ChatGLM3-6B-Base، على بيانات تدريب أكثر تنوعًا وخطوات تدريب أكثر شمولاً واستراتيجيات تدريب أكثر منطقية. أظهرت التقييمات على مجموعات بيانات مختلفة من وجهات نظر دلالية ورياضية واستنتاجية وبرمجية ومعرفية أن ChatGLM3-6B-Base يتمتع بأقوى أداء بين النماذج الأساسية التي تقل عن 10 مليارات معلمة.

2. دعم وظيفي أكثر اكتمالاً

  • تنسيق المطالبة الجديد: اعتماد تنسيق مطالبة مصمم حديثًا يدعم تفاعلات حوارية أكثر مرونة.
  • استدعاء الأدوات (Function Call): دعم أصلي لوظيفة استدعاء الأدوات، يمكن للنموذج استدعاء أدوات خارجية بشكل استباقي.
  • تنفيذ التعليمات البرمجية (Code Interpreter): دعم تنفيذ التعليمات البرمجية في بيئة Jupyter والحصول على النتائج.
  • مهام الوكيل (Agent Tasks): دعم سيناريوهات مهام الوكيل الذكي المعقدة.

3. سلسلة مفتوحة المصدر أكثر شمولاً

توفير إصدارات متعددة لتلبية الاحتياجات المختلفة:

  • ChatGLM3-6B: نموذج حوار قياسي، يدعم طول سياق 8K.
  • ChatGLM3-6B-Base: نموذج أساسي مُدرَّب مسبقًا.
  • ChatGLM3-6B-32K: نموذج حوار نصي طويل، يدعم سياق 32K.
  • ChatGLM3-6B-128K: نموذج فهم نصي طويل جدًا، يدعم سياق 128K.

الأداء

تقييم القدرات الأساسية

نتائج الاختبار على 8 مجموعات بيانات نموذجية باللغتين الصينية والإنجليزية:

النموذج GSM8K MATH BBH MMLU C-Eval CMMLU MBPP AGIEval
ChatGLM2-6B-Base 32.4 6.5 33.7 47.9 51.7 50.0 - -
ChatGLM3-6B-Base 72.3 25.7 66.1 61.4 69.0 67.5 52.4 53.7

قدرة معالجة النصوص الطويلة

تم إجراء تقييم يدوي لـ ChatGLM3-6B-32K في سيناريوهات تطبيق نصوص طويلة متعددة. مقارنةً بنموذج الجيل الثاني، تحسن التأثير بمعدل يزيد عن 50٪. التحسين ملحوظ بشكل خاص في تطبيقات مثل قراءة الأوراق وملخصات المستندات وتحليل التقارير المالية.

التثبيت والاستخدام

إعداد البيئة

git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
pip install -r requirements.txt

مثال على الاستخدام الأساسي

from transformers import AutoTokenizer, AutoModel

# تحميل النموذج
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')
model = model.eval()

# تفاعل الحوار
response, history = model.chat(tokenizer, "你好", history=[])
print(response)

المتطلبات المادية

  • تحميل قياسي: يتطلب حوالي 13 جيجابايت من ذاكرة GPU (دقة FP16).
  • تحميل الكمية: يتم تقليل متطلبات ذاكرة GPU بشكل كبير بعد تكميم 4 بت.
  • الاستدلال على وحدة المعالجة المركزية: يتطلب حوالي 32 جيجابايت من الذاكرة.
  • دعم GPU متعدد: يمكن توزيع النموذج على بطاقات GPU متعددة.

طرق النشر

1. نشر واجهة الويب

# إصدار Gradio
python web_demo_gradio.py

# إصدار Streamlit
streamlit run web_demo_streamlit.py

2. تفاعل سطر الأوامر

python cli_demo.py

3. نشر خدمة API

cd openai_api_demo
python api_server.py

توفير واجهة برمجة تطبيقات متوافقة مع OpenAI، تدعم:

  • واجهة حوار قياسية
  • واجهة استدعاء الأدوات
  • استجابة متدفقة
  • التحكم في معلمات درجة الحرارة و top_p

الضبط الدقيق والتوسع

دعم الضبط الدقيق

يوفر المشروع مجموعة كاملة من الضبط الدقيق، تدعم:

  • الضبط الدقيق للتعليمات
  • الضبط الدقيق للحوار
  • الضبط الدقيق الخاص بالمهمة

النظام البيئي للمجتمع

يدعم العديد من المشاريع مفتوحة المصدر الممتازة:

تسريع الاستدلال:

  • chatglm.cpp: حل تسريع الكمية مشابه لـ llama.cpp.
  • ChatGLM3-TPU: تسريع الاستدلال TPU.
  • TensorRT-LLM: استدلال عالي الأداء لوحدة معالجة الرسومات NVIDIA.
  • OpenVINO: تسريع الاستدلال لأجهزة Intel.

أطر الضبط الدقيق:

  • LLaMA-Factory: إطار ضبط دقيق فعال.

أطر التطبيق:

  • LangChain-Chatchat: مشروع قاعدة المعرفة RAG.
  • BISHENG: منصة تطوير تطبيقات نموذجية كبيرة.
  • RAGFlow: محرك RAG لفهم المستندات المتعمق.

وظيفة العرض التوضيحي الشامل

يوفر المشروع عرضًا توضيحيًا شاملاً يدمج ثلاثة أوضاع:

  1. وضع الدردشة: تفاعل حوار قياسي.
  2. وضع الأداة: عرض توضيحي لاستدعاء الأدوات.
  3. وضع مترجم التعليمات البرمجية: بيئة تنفيذ التعليمات البرمجية.

الترخيص وشروط الاستخدام

  • البحث الأكاديمي: استخدام مفتوح بالكامل.
  • الاستخدام التجاري: يُسمح بالاستخدام التجاري المجاني بعد ملء استبيان التسجيل.
  • قيود الاستخدام: لا يجوز استخدامه في الأغراض التي قد تضر بالدولة والمجتمع.
  • متطلبات السلامة: يجب أن تخضع الخدمات لتقييم السلامة والتسجيل.

الخصائص المعمارية التقنية

بنية النموذج

  • نسخة محسنة تعتمد على بنية GLM.
  • آلية انتباه محسنة.
  • دعم أفضل للغات متعددة.
  • دعم أصلي لاستدعاء الأدوات.

تحسين التدريب

  • بيانات تدريب أكثر تنوعًا.
  • خطوات تدريب أكثر شمولاً.
  • استراتيجيات تدريب أكثر منطقية.
  • تحسين للغة الصينية.

مساهمة المجتمع

يتبنى المشروع بنشاط مجتمع المصادر المفتوحة، ويتعاون بعمق مع العديد من المشاريع الممتازة، ويشكل نظامًا بيئيًا كاملاً. يمكن للمطورين تطوير تطبيقات مبتكرة مختلفة بناءً على ChatGLM3.