ايل ايل ايم ريزننگ ۾ ترقي: هڪ ٽيڪنيڪل ڊيپ ڊيو | B4N1

ايل ايل ايم ريزننگ ۾ ترقي: هڪ ٽيڪنيڪل ڊيپ ڊيو

9 months ago · b4n1 Read time: 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.Multihead Attention(d_model, n_heads) self.ffnn = nn.Linear (d_model، d_ff) self.dropout = nn.dropout(0.1) self.layer_norm = nn.layer_norm(d_model)

def اڳتي (خود، x):
    # پاڻمرادو ڌيان ڏيڻ وارو ميڪانيزم
    x_attn = self.self_attn(x, x)
    x_attn = self.dropout(x_attn)
    x_attn = x + x_attn

    # ايف ايف اين اين
    x_ffnn = خود.ffnn(x_attn)
    x_ffnn = خود. ڇڏڻ (x_ffnn)
    x_ffnn = self.layer_norm(x_ffnn + x_attn)

    واپسي x_ffnn

``

ايل ايل ايم ريزننگ ۾ پيش رفت

LLMs تصورن جي وچ ۾ پيچيده رشتن کي سمجھڻ ۽ سمجھڻ ۾ وڏي ترقي ڪئي آھي. ڪجھ اهم پيش رفت شامل آھن:

1. گراف تي ٻڌل دليل

گراف جي بنياد تي استدلال شامل آهي علم جي نمائندگي هڪ گراف جي طور تي، جتي نوڊس تصورات جي نمائندگي ڪن ٿا ۽ ڪنڊن انهن جي وچ ۾ رشتي جي نمائندگي ڪن ٿا. ايل ايل ايمز کي تربيت ڏئي سگهجي ٿي انهن گرافن بابت دليل ڏيڻ لاءِ، نوڊس جي وچ ۾ لاڳاپن بابت اڳڪٿيون ڪرڻ.

`` زنگ گراف استعمال ڪريو::گراف؛ استعمال ڪريو 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" )

قسم ماڊل struct { * nn.Linear * n. لڪير }

func (m *Model) Forward (x *mat.Dense) *mat.Dense { // اڳتي وڌو z := m. لڪير(x) z = m. لڪير(z) واپسي z } ``

3. ڌيان ڏيڻ واري ميڪانيزم

ڌيان ڏيڻ واري ميڪانيزم LLMs کي اجازت ڏئي ٿي ته هو ان پٽ ٽيڪسٽ جي مخصوص حصن تي ڌيان ڏين جڏهن آئوٽ ٺاهي رهيا آهن. اهو طريقو مختلف ڪمن تي LLMs جي ڪارڪردگي کي بهتر ڪرڻ لاءِ ڏيکاريو ويو آهي، جنهن ۾ پيچيده رشتا استدلال ۽ سمجھڻ شامل آهن.

``پٿون مشعل درآمد ڪريو torch.nn کي nn طور درآمد ڪريو

ڪلاس AttentionMechanism(nn.Module): def init (self, d_model, n_heads): سپر (AttentionMechanism، self).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.layer_norm(d_model)

def اڳتي (خود، x):
    # سوال، اهم، ۽ قدر
    q = خود سوال (x)
    k = self.key(x)
    v = ذاتي قدر(x)

    # ڌيان جو وزن
    وزن = torch.matmul(q, k.T) / math.sqrt(q.shape[1])
    وزن = پاڻ کي ڇڏڻ (وزن)
    وزن = torch.softmax (وزن، dim=-1)

    # حوالو ویکٹر
    context = torch.matmul (وزن، v)

    واپسي جي حوالي سان

``

بصري

مختلف ڪمن تي LLMs جي ڪارڪردگي کي ڏسڻ لاءِ، اسان ھڪ چارٽ استعمال ڪري سگھون ٿا ھڪ ڏنل ڪم تي مختلف ماڊلز جي درستگي کي موازنہ ڪرڻ لاءِ. هتي چارٽ جو هڪ مثال آهي Chart.js استعمال ڪندي:

جيسن { "قسم": "بار"، "ڊيٽا": { "labels": ["ٽاسڪ 1"، "ٽاسڪ 2"، "ٽاسڪ 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 } ] }، "اختيارن": { "عنوان": { "display": سچ، "text": "مختلف ڪمن تي مختلف ماڊلز جي درستگي" }، "ترازو": { "yAxes": [ { "ticks": { "beginAtZero": سچ } } ] } } } ``

نتيجو

هن آرٽيڪل ۾، اسان ايل ايل ايم استدلال ۾ پيش رفت جي ڳولا ڪئي آهي، بشمول گراف تي ٻڌل دليل، ملٽي ٽاسڪ لرننگ، ۽ توجه جي ميڪانيزم. اسان انهن تصورن کي واضح ڪرڻ لاءِ Python، Rust ۽ Go ۾ ڪوڊ جا مثال پڻ ڏنا آهن. آخرڪار، اسان مختلف ڪمن تي LLMs جي ڪارڪردگي کي ڏسڻ لاءِ چارٽ استعمال ڪيو آھي. انهن پيش رفتن ۾ اين ايل پي جي فيلڊ ۾ انقلاب آڻڻ جي صلاحيت آهي، ايل ايل ايمز کي سمجھڻ ۽ تصورن جي وچ ۾ پيچيده رشتن کي سمجهڻ جي قابل بڻائي ٿي.

حوالا

  • واسواڻي وغيره. (2017). ڌيان توهان سڀني جي ضرورت آهي. arXiv پريپرنٽ arXiv:1706.03762.
  • Devlin et al. (2018). BERT: ٻوليءَ جي سمجھاڻي لاءِ ڊيپ باڊائريڪشنل ٽرانسفارمرز جي پري ٽريننگ. arXiv پريپرنٽ arXiv:1810.04805.
  • Radford et al. (2019). ٻوليءَ جا ماڊل غير نگراني ٿيل ملٽي ٽاسڪ سکيا وارا آهن. arXiv پريپرنٽ arXiv:1906.08237.

Have Questions?

Let's Talk

Contact me on LinkedIn