ایل ایل ایم استدلال میں پیشرفت: ایک تکنیکی گہری غوطہ | B4N1

ایل ایل ایم استدلال میں پیشرفت: ایک تکنیکی گہری غوطہ

9 months ago · b4n1 Tiempo de lectura: 4 min

تعارف

بڑے لینگویج ماڈلز (LLMs) نے حالیہ برسوں میں نیچرل لینگویج پروسیسنگ (NLP) کے میدان میں انقلاب برپا کر دیا ہے۔ ان ماڈلز نے مختلف NLP کاموں میں جدید ترین نتائج حاصل کیے ہیں، جن میں زبان کا ترجمہ، متن کا خلاصہ، اور سوالوں کے جوابات شامل ہیں۔ تاہم، LLMs کی حقیقی صلاحیت تصورات کے درمیان پیچیدہ تعلقات کو استدلال کرنے اور سمجھنے کی ان کی صلاحیت میں مضمر ہے۔ اس مضمون میں، ہم بنیادی تکنیکوں، فن تعمیرات، اور چیلنجوں کی کھوج کرتے ہوئے، ایل ایل ایم استدلال میں پیش رفت کا جائزہ لیں گے۔

پس منظر

LLMs اعصابی نیٹ ورک کی ایک قسم ہے جو الفاظ اور تصورات کے درمیان پیٹرن اور تعلقات کو سیکھنے کے لیے متنی ڈیٹا کی وسیع مقدار پر تربیت یافتہ ہے۔ یہ ماڈل عام طور پر ایک انکوڈر اور ڈیکوڈر پر مشتمل ہوتے ہیں، جہاں انکوڈر ان پٹ ٹیکسٹ پر کارروائی کرتا ہے اور ڈیکوڈر آؤٹ پٹ ٹیکسٹ تیار کرتا ہے۔ انکوڈر عام طور پر ایک ٹرانسفارمر پر مبنی فن تعمیر ہے، جو خاص طور پر متن جیسے ترتیب وار ڈیٹا کے لیے موزوں ہے۔

ٹرانسفارمر آرکیٹیکچر

ٹرانسفارمر آرکیٹیکچر، واسوانی وغیرہ کے کاغذ "توجہ آپ کی ضرورت ہے" میں متعارف کرایا گیا ہے۔ (2017)، LLMs کے لیے اصل معیار بن گیا ہے۔ ٹرانسفارمر ایک انکوڈر اور ایک ڈیکوڈر پر مشتمل ہوتا ہے، ہر ایک متعدد پرتوں پر مشتمل ہوتا ہے۔ ہر پرت دو ذیلی پرتوں پر مشتمل ہوتی ہے: ایک خود توجہ کا طریقہ کار اور ایک مکمل طور پر منسلک فیڈ فارورڈ نیٹ ورک (FFNN)۔

`` ازگر ٹارچ درآمد کریں۔ torch.nn کو بطور nn درآمد کریں۔

کلاس TransformerLayer(nn.Module): def init(self, d_model, n_heads, d_ff): سپر (ٹرانسفارمر لیئر، خود)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)

ڈی ایف فارورڈ (خود، ایکس):
    # خود توجہ کا طریقہ کار
    x_attn = self.self_attn(x, x)
    x_attn = self.dropout(x_attn)
    x_attn = x + x_attn

    # FFNN
    x_ffnn = self.ffnn(x_attn)
    x_ffnn = self.dropout(x_ffnn)
    x_ffnn = self.layer_norm(x_ffnn + x_attn)

    x_ffnn واپس کریں۔

``

ایل ایل ایم ریزننگ میں پیشرفت

LLMs نے تصورات کے درمیان پیچیدہ تعلقات کو استدلال اور سمجھنے میں اہم پیش رفت کی ہے۔ کچھ اہم پیشرفت میں شامل ہیں:

1. گراف پر مبنی استدلال

گراف پر مبنی استدلال میں علم کی نمائندگی گراف کے طور پر ہوتی ہے، جہاں نوڈس تصورات کی نمائندگی کرتے ہیں اور کنارے ان کے درمیان تعلقات کی نمائندگی کرتے ہیں۔ LLMs کو ان گرافس کے بارے میں استدلال کرنے کی تربیت دی جا سکتی ہے، نوڈس کے درمیان تعلقات کے بارے میں پیشین گوئیاں کرتے ہیں۔

``زنگ گراف استعمال کریں::گراف؛ neural_network::NeuralNetwork استعمال کریں؛

fn graph_reasoning(graph: &graph, query: &str) -> String { let embedding = neural_network.query(گراف، استفسار)؛ let result = neural_network.reason(گراف، ایمبیڈنگ)؛ result.to_string() } ``

2. ملٹی ٹاسک لرننگ

ملٹی ٹاسک لرننگ میں ایک ہی ماڈل کو بیک وقت متعدد کاموں پر تربیت دینا شامل ہے۔ یہ نقطہ نظر مختلف کاموں پر LLMs کی کارکردگی کو بہتر بنانے کے لیے دکھایا گیا ہے، بشمول استدلال اور پیچیدہ تعلقات کو سمجھنا۔

``جاو اہم پیکیج

درآمد کریں ( "fmt" "gonum.org/v1/gonum/mat" )

قسم ماڈل ساخت { *nn.Linear *nn.Linear }

func (m *Model) Forward(x *mat.Dense) *mat.Dense { // فارورڈ پاس z := m.Linear(x) z = m.Linear(z) واپس z } ``

3. توجہ دینے کا طریقہ کار

توجہ کا طریقہ کار LLMs کو آؤٹ پٹ تیار کرتے وقت ان پٹ ٹیکسٹ کے مخصوص حصوں پر توجہ مرکوز کرنے کی اجازت دیتا ہے۔ یہ نقطہ نظر مختلف کاموں پر LLMs کی کارکردگی کو بہتر بنانے کے لیے دکھایا گیا ہے، بشمول استدلال اور پیچیدہ تعلقات کو سمجھنا۔

`` ازگر ٹارچ درآمد کریں۔ torch.nn کو بطور nn درآمد کریں۔

کلاس AttentionMechanism(nn.Module): def init(self, d_model, n_heads): سپر (توجہ کا طریقہ کار، خود)init() self.query = nn.Linear(d_model, d_model) self.key = nn.Linear(d_model, d_model) self.value = nn.Linear(d_model, d_model) self.dropout = nn.Dropout(0.1) self.layer_norm = nn.LayerNorm(d_model)

ڈی ایف فارورڈ (خود، ایکس):
    # استفسار، کلید اور قدر
    q = self.query(x)
    k = self.key(x)
    v = self.value(x)

    # توجہ کا وزن
    وزن = torch.matmul(q, k.T) / math.sqrt(q.shape[1])
    وزن = self.dropout(وزن)
    وزن = torch.softmax(وزن، مدھم =-1)

    # سیاق و سباق ویکٹر
    context = torch.matmul(وزن، v)

    واپسی سیاق و سباق

``

تصور

مختلف کاموں پر LLMs کی کارکردگی کو دیکھنے کے لیے، ہم دیئے گئے کام پر مختلف ماڈلز کی درستگی کا موازنہ کرنے کے لیے ایک چارٹ استعمال کر سکتے ہیں۔ یہاں Chart.js استعمال کرنے والے چارٹ کی ایک مثال ہے۔

json { "type": "بار"، "ڈیٹا": { "labels": ["Task 1", "Task 2", "Task 3"], "ڈیٹا سیٹ": [ { "label": "ماڈل 1", "ڈیٹا": [0.8، 0.7، 0.9]، "backgroundColor": "rgba(255, 99, 132, 0.2)", "borderColor": "rgba(255, 99, 132, 1)", سرحد کی چوڑائی: 1 }، { "label": "ماڈل 2", "ڈیٹا": [0.9، 0.8، 0.7]، "backgroundColor": "rgba(54, 162, 235, 0.2)", "borderColor": "rgba(54, 162, 235, 1)", سرحد کی چوڑائی: 1 } ] }، "اختیارات": { "عنوان": { "ڈسپلے": سچ، "text": "مختلف کاموں پر مختلف ماڈلز کی درستگی" }، "پیمانہ": { "yAxes": [ { "ticks": { "beginAtZero": سچ ہے۔ } } ] } } }

نتیجہ

اس مضمون میں، ہم نے LLM استدلال میں پیشرفت کی کھوج کی ہے، بشمول گراف پر مبنی استدلال، ملٹی ٹاسک لرننگ، اور توجہ کے طریقہ کار۔ ان تصورات کو واضح کرنے کے لیے ہم نے Python، Rust اور Go میں کوڈ کی مثالیں بھی فراہم کی ہیں۔ آخر میں، ہم نے مختلف کاموں پر LLMs کی کارکردگی کو دیکھنے کے لیے ایک چارٹ استعمال کیا ہے۔ یہ پیشرفت NLP کے میدان میں انقلاب لانے کی صلاحیت رکھتی ہے، LLMs کو تصورات کے درمیان پیچیدہ تعلقات کو استدلال اور سمجھنے کے قابل بناتی ہے۔

حوالہ جات

  • واسوانی وغیرہ۔ (2017)۔ توجہ صرف آپ کی ضرورت ہے. arXiv preprint arXiv:1706.03762۔
  • Devlin et al. (2018)۔ BERT: زبان کی تفہیم کے لیے گہری دو طرفہ ٹرانسفارمرز کی پری ٹریننگ۔ arXiv preprint arXiv:1810.04805۔
  • Radford et al. (2019)۔ زبان کے ماڈل غیر زیر نگرانی ملٹی ٹاسک سیکھنے والے ہیں۔ arXiv preprint arXiv:1906.08237۔

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn