مقدمة
أحدثت نماذج اللغات الكبيرة (LLMs) ثورة في مجال معالجة اللغات الطبيعية (NLP) في السنوات الأخيرة. حققت هذه النماذج أحدث النتائج في مختلف مهام البرمجة اللغوية العصبية، بما في ذلك ترجمة اللغة، وتلخيص النص، والإجابة على الأسئلة. ومع ذلك، فإن الإمكانات الحقيقية للماجستير في القانون تكمن في قدرتهم على التفكير وفهم العلاقات المعقدة بين المفاهيم. في هذه المقالة، سوف نتعمق في التقدم في استدلال LLM، واستكشاف التقنيات والبنى والتحديات الأساسية.
الخلفية
LLMs هي نوع من الشبكات العصبية التي يتم تدريبها على كميات هائلة من البيانات النصية لتعلم الأنماط والعلاقات بين الكلمات والمفاهيم. تتكون هذه النماذج عادةً من جهاز تشفير وجهاز فك تشفير، حيث يقوم جهاز التشفير بمعالجة نص الإدخال ويقوم جهاز فك التشفير بإنشاء نص الإخراج. عادةً ما يكون برنامج التشفير عبارة عن بنية قائمة على المحولات، وهي مناسبة بشكل خاص للبيانات المتسلسلة مثل النص.
هندسة المحولات
بنية المحولات، التي تم تقديمها في ورقة "الانتباه هو كل ما تحتاجه" بقلم فاسواني وآخرون. (2017)، أصبح المعيار الفعلي لـ LLMs. يتكون المحول من جهاز التشفير وجهاز فك التشفير، ويتكون كل منهما من طبقات متعددة. تتكون كل طبقة من طبقتين فرعيتين: آلية الاهتمام الذاتي وشبكة التغذية الأمامية المتصلة بالكامل (FFNN).
استيراد الشعلة
استيراد torch.nn كـ nn
فئة TransformerLayer(nn.Module):
def __init__(self, d_model, n_heads, d_ff):
super(TransformerLayer, self).__init__()
self.self_attn = nn.MultiHeadAttention(d_model, n_heads)
self.ffnn = nn.Linear(d_model, d_ff)
self.dropout = nn.Dropout(0.1)
self.layer_norm = nn.LayerNorm(d_model)
Def للأمام (النفس، x):
# آلية الاهتمام الذاتي
x_attn = self.self_attn(x, x)
x_attn = self.dropout(x_attn)
x_attn = x + x_attn
#ففنن
x_ffnn = self.ffnn(x_attn)
x_ffnn = self.dropout(x_ffnn)
x_ffnn = self.layer_norm(x_ffnn + x_attn)
إرجاع x_ffnn
التقدم في الاستدلال في LLM
حققت LLMs تقدمًا كبيرًا في التفكير وفهم العلاقات المعقدة بين المفاهيم. بعض التطورات الرئيسية تشمل ما يلي:
1. الاستدلال المبني على الرسم البياني
يتضمن الاستدلال القائم على الرسم البياني تمثيل المعرفة كرسم بياني، حيث تمثل العقد المفاهيم وتمثل الحواف العلاقات بينها. يمكن تدريب LLMs على التفكير في هذه الرسوم البيانية، وإجراء تنبؤات حول العلاقات بين العقد.
''''الصدأ استخدام الرسم البياني :: الرسم البياني. استخدم الشبكة العصبية::NeuralNetwork;
fn graph_reasoning(graph: &Graph, query: &str) -> سلسلة { Let embedding = neural_network.query(graph, query); Let result = neural_network.reason(graph, embedding); result.to_string() }
### 2. التعلم متعدد المهام
يتضمن التعلم متعدد المهام تدريب نموذج واحد على مهام متعددة في وقت واحد. لقد ثبت أن هذا النهج يعمل على تحسين أداء حاملي الماجستير في المهام المختلفة، بما في ذلك التفكير وفهم العلاقات المعقدة.
```اذهب
الحزمة الرئيسية
استيراد (
"إف إم تي"
"gonum.org/v1/gonum/mat"
)
اكتب هيكل النموذج {
*ن.خطي
*ن.خطي
}
func (m *Model) Forward(x *mat.Dense) *mat.Dense {
// تمريرة إلى الأمام
ض := م.خطي (خ)
ض = م.الخطي (ض)
العودة ض
}
3. آليات الاهتمام
تسمح آليات الانتباه لـ LLMs بالتركيز على أجزاء محددة من نص الإدخال عند إنشاء المخرجات. لقد ثبت أن هذا النهج يعمل على تحسين أداء حاملي الماجستير في المهام المختلفة، بما في ذلك التفكير وفهم العلاقات المعقدة.
استيراد الشعلة
استيراد torch.nn كـ nn
آلية انتباه الفئة (nn.Module):
تعريف __init__(self, d_model, n_heads):
سوبر (آلية الانتباه، الذات).__init__()
الاستعلام الذاتي = nn.Linear(d_model, d_model)
self.key = nn.Linear(d_model, d_model)
القيمة الذاتية = nn.Linear(d_model, d_model)
self.dropout = nn.Dropout(0.1)
self.layer_norm = nn.LayerNorm(d_model)
Def للأمام (النفس، x):
# الاستعلام والمفتاح والقيمة
ف = الاستعلام الذاتي(خ)
ك = self.key(x)
ت = القيمة الذاتية (خ)
# اهتمام الأوزان
الأوزان = torch.matmul(q, k.T) / math.sqrt(q.shape[1])
الأوزان = self.dropout(الأوزان)
الأوزان = torch.softmax(الأوزان، خافتة=-1)
# ناقل السياق
السياق = torch.matmul(الأوزان، الخامس)
سياق العودة
التصور
لتصور أداء LLMs في المهام المختلفة، يمكننا استخدام مخطط لمقارنة دقة النماذج المختلفة في مهمة معينة. فيما يلي مثال لمخطط يستخدم Chart.js:
{
"النوع": "شريط"،
"البيانات": {
"التسميات": ["المهمة 1"، "المهمة 2"، "المهمة 3"]،
"مجموعات البيانات": [
{
"التسمية": "النموذج 1"،
"البيانات": [0.8، 0.7، 0.9]،
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"عرض الحدود": 1
},
{
"التسمية": "النموذج 2"،
"البيانات": [0.9، 0.8، 0.7]،
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
"عرض الحدود": 1
}
]
},
"الخيارات": {
"العنوان": {
"العرض": صحيح،
"text": "دقة النماذج المختلفة في المهام المختلفة"
},
"المقاييس": {
"المحاور": [
{
"القراد": {
"beginAtZero": صحيح
}
}
]
}
}
}
الخلاصة
في هذه المقالة، قمنا باستكشاف التطورات في الاستدلال في LLM، بما في ذلك الاستدلال القائم على الرسم البياني، والتعلم متعدد المهام، وآليات الاهتمام. لقد قدمنا أيضًا أمثلة التعليمات البرمجية في Python وRust وGo لتوضيح هذه المفاهيم. وأخيرًا، استخدمنا مخططًا لتصور أداء حاملي شهادات الماجستير في المهام المختلفة. هذه التطورات لديها القدرة على إحداث ثورة في مجال البرمجة اللغوية العصبية، وتمكين ماجستير إدارة الأعمال من التفكير وفهم العلاقات المعقدة بين المفاهيم.
المراجع
- فاسواني وآخرون. (2017). الاهتمام هو كل ما تحتاجه. arXiv الطباعة المسبقة arXiv:1706.03762.
- ديفلين وآخرون. (2018). بيرت: التدريب المسبق للمحولات العميقة ثنائية الاتجاه لفهم اللغة. arXiv الطباعة المسبقة arXiv:1810.04805.
- رادفورد وآخرون. (2019). نماذج اللغة هي متعلمون متعددو المهام غير خاضعين للرقابة. arXiv الطباعة المسبقة arXiv:1906.08237.