LLM سەۋەبىدىكى ئىلگىرلەشلەر: تېخنىكىلىق چوڭقۇر چۆكۈش | B4N1

LLM سەۋەبىدىكى ئىلگىرلەشلەر: تېخنىكىلىق چوڭقۇر چۆكۈش

9 months ago · b4n1 Read time: 4 min

تونۇشتۇرۇش

چوڭ تىل مودېللىرى (LLMs) يېقىنقى يىللاردا تەبىئىي تىل بىر تەرەپ قىلىش ساھەسىدە ئىنقىلاب ئېلىپ باردى. بۇ مودېللار تىل تەرجىمىسى ، تېكىست خۇلاسىلەش ۋە سوئاللارغا جاۋاب بېرىش قاتارلىق ھەر خىل NLP ۋەزىپىلىرىدە زامانىۋى نەتىجىلەرنى قولغا كەلتۈردى. قانداقلا بولمىسۇن ، LLM نىڭ ھەقىقىي يوشۇرۇن كۈچى ئۇلارنىڭ ئۇقۇم ئوتتۇرىسىدىكى مۇرەككەپ مۇناسىۋەتنى پىكىر قىلىش ۋە چۈشىنىش ئىقتىدارىدا. بۇ ماقالىدە LLM تەپەككۇرىدىكى ئىلگىرلەشلەر ئۈستىدە ئىزدىنىپ ، ئاساسىي تېخنىكا ، بىناكارلىق ۋە خىرىس ئۈستىدە ئىزدىنىمىز.

تەگلىك

LLM بولسا نېرۋا تورىنىڭ بىر تۈرى بولۇپ ، سۆز ۋە ئۇقۇم ئوتتۇرىسىدىكى ئەندىزە ۋە مۇناسىۋەتلەرنى ئۆگىنىش ئۈچۈن زور مىقداردىكى تېكىست سانلىق مەلۇماتلىرى بويىچە تەربىيلىنىدۇ. بۇ مودېللار ئادەتتە كودلاشتۇرغۇچ ۋە كود يەشكۈچتىن تەركىب تاپىدۇ ، كودلاشتۇرغۇچ كىرگۈزۈش تېكىستىنى بىر تەرەپ قىلىدۇ ، كود يەشكۈچ چىقىرىش تېكىستى ھاسىل قىلىدۇ. كودلاشتۇرغۇچ ئادەتتە تىرانسفورموتورنى ئاساس قىلغان قۇرۇلما بولۇپ ، تېكىستكە ئوخشاش تەرتىپلىك سانلىق مەلۇماتلارغا ئالاھىدە ماس كېلىدۇ.

تىرانسفورموتور قۇرۇلمىسى

ۋاسۋانى قاتارلىقلار يازغان «دىققەت قىلىش سىز ئېھتىياجلىق» ناملىق ماقالىدە تونۇشتۇرۇلغان تىرانسفورموتور قۇرۇلمىسى. (2017) ، LLMs نىڭ ئەمەلىيەتتە ئۆلچىمىگە ئايلاندى. تىرانسفورموتور كودلاشتۇرغۇچ ۋە كود يەشكۈچتىن تەركىب تاپقان بولۇپ ، ھەر بىرى كۆپ قاتلامدىن تەركىب تاپقان. ھەر بىر قەۋەت ئۆز-ئۆزىگە دىققەت قىلىش مېخانىزمى ۋە تولۇق ئۇلانغان يەم-خەشەك تورى (FFNN) دىن ئىبارەت ئىككى تارماق قاتلامدىن تەركىب تاپقان.

`` python مەشئەل ئەكىرىش torch.nn نى nn قىلىپ ئەكىرىڭ

class TransformerLayer (nn.Module): def init __ (ئۆزى ، d_model ، n_heads ، d_ff): دەرىجىدىن تاشقىرى (TransformerLayer ، ئۆزى) . 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 forward (self, x):
    # ئۆزىگە دىققەت قىلىش مېخانىزمى
    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)

    return x_ffnn

`` `

LLM سەۋەبىدىكى ئىلگىرىلەشلەر

LLM لار ئۇقۇم ئوتتۇرىسىدىكى مۇرەككەپ مۇناسىۋەتنى چۈشىنىش ۋە چۈشىنىشتە كۆرۈنەرلىك ئىلگىرىلەشلەرنى قولغا كەلتۈردى. بەزى مۇھىم ئىلگىرلەشلەر تۆۋەندىكىلەرنى ئۆز ئىچىگە ئالىدۇ:

1. گرافىك ئاساس قىلىنغان سەۋەب

گرافىكنى ئاساس قىلغان تەپەككۇر بىلىملەرنى گرافىك سۈپىتىدە ئىپادىلەشنى ئۆز ئىچىگە ئالىدۇ ، بۇ يەردە تۈگۈن ئۇقۇملارغا ۋەكىللىك قىلىدۇ ، قىرلار ئۇلار ئوتتۇرىسىدىكى مۇناسىۋەتكە ۋەكىللىك قىلىدۇ. LLM لارنى بۇ گرافىكلار ھەققىدە پىكىر يۈرگۈزۈشكە ، تۈگۈن ئوتتۇرىسىدىكى مۇناسىۋەتكە ئالدىن پەرەز قىلىشقا بولىدۇ.

`` rust گرافىكنى ئىشلىتىڭ :: Graph; neural_network نى ئىشلىتىڭ :: NeuralNetwork;

fn graph_reasoning (graph: & Graph, query: & str) -> String { embedding = neural_network.query (گرافىك ، سوئال); let result = neural_network.reason (گرافىك ، قىستۇرما); result.to_string () } `` `

2. كۆپ ۋەزىپە ئۆگىنىش

كۆپ ۋەزىپە ئۆگىنىش بىرلا ۋاقىتتا كۆپ خىل ۋەزىپىلەرنى بىرلا ۋاقىتتا تەربىيىلەشنى ئۆز ئىچىگە ئالىدۇ. بۇ خىل ئۇسۇل LLM لارنىڭ تەپەككۇر قىلىش ۋە مۇرەككەپ مۇناسىۋەتلەرنى چۈشىنىش قاتارلىق ھەر خىل ۋەزىپىلەردىكى ئىقتىدارىنى يۇقىرى كۆتۈرىدىغانلىقى كۆرسىتىلدى.

`` go pack main

import ( "fmt" "gonum.org/v1/gonum/mat" )

تىپ مودېل قۇرۇلمىسى { * nn.Linear * nn.Linear }

فۇنكسىيە (m * مودېل) ئالدىغا (x * mat.Dense) * mat.Dense { // ئالدىغا ئۆتۈش z: = m.Linear (x) z = m.Linear (z) return z } `` `

3. دىققەت مېخانىزىمى

دىققەت مېخانىزىمى LLM لارنى چىقىرىشتا كىرگۈزۈش تېكىستىنىڭ مەلۇم قىسىملىرىغا مەركەزلەشتۈرۈشىگە يول قويىدۇ. بۇ خىل ئۇسۇل LLM لارنىڭ تەپەككۇر قىلىش ۋە مۇرەككەپ مۇناسىۋەتلەرنى چۈشىنىش قاتارلىق ھەر خىل ۋەزىپىلەردىكى ئىقتىدارىنى يۇقىرى كۆتۈرىدىغانلىقى كۆرسىتىلدى.

`` python مەشئەل ئەكىرىش torch.nn نى nn قىلىپ ئەكىرىڭ

class AttentionMechanism (nn.Module): def init __ (ئۆزى ، 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.LayerNorm (d_model)

def forward (self, x):
    # سوئال ، ئاچقۇچ ۋە قىممەت
    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 (ئېغىرلىقى ، dim = -1)

    # مەزمۇن ۋېكتورى
    context = torch.matmul (ئېغىرلىقى ، v)

    قايتىش مەزمۇنى

`` `

Visualization

LLM لارنىڭ ھەر خىل ۋەزىپىلەردىكى ئىپادىسىنى تەسەۋۋۇر قىلىش ئۈچۈن ، بىز دىئاگرامما ئارقىلىق ئوخشىمىغان مودېللارنىڭ مەلۇم بىر ۋەزىپەدىكى توغرىلىقىنى سېلىشتۇرالايمىز. بۇ يەردە Chart.js نى ئىشلىتىپ دىئاگراممىنىڭ مىسالى:

json { "type": "bar", "data": { "بەلگە": ["1-ۋەزىپە" ، "2-ۋەزىپە" ، "3-ۋەزىپە"], "datasets": [ { "label": "Model 1", "data": [0.8, 0.7, 0.9], "backgroundColor": "rgba (255, 99, 132, 0.2)", "borderColor": "rgba (255, 99, 132, 1)", "borderWidth": 1 }, { "label": "Model 2", "data": [0.9, 0.8, 0.7], "backgroundColor": "rgba (54, 162, 235, 0.2)", "borderColor": "rgba (54, 162, 235, 1)", "borderWidth": 1 } ] }, "options": { "title": { "display": true, "text": "ھەر خىل ۋەزىپىلەردىكى ئوخشىمىغان مودېللارنىڭ توغرىلىقى" }, "تارازا": { "yAxes": [ { "ticks": { "startAtZero": راست } } ] } } } `

خۇلاسە

بۇ ماقالىدە بىز LLM تەپەككۇرىدىكى ئىلگىرلەشلەر ئۈستىدە ئىزدەندۇق ، بۇلار گرافىكلىق تەپەككۇر ، كۆپ ۋەزىپە ئۆگىنىش ۋە دىققەت مېخانىزىمى قاتارلىقلارنى ئۆز ئىچىگە ئالىدۇ. بىز بۇ ئۇقۇملارنى چۈشەندۈرۈش ئۈچۈن Python ، Rust ۋە Go قاتارلىقلاردا كود مىساللىرىنى تەمىنلىدۇق. ئاخىرىدا ، بىز دىئاگرامما ئىشلىتىپ LLMs نىڭ ھەر خىل ۋەزىپىلەردىكى ئىپادىسىنى تەسۋىرلىدۇق. بۇ ئىلگىرلەشلەر NLP ساھەسىدە ئىنقىلاب ئېلىپ بېرىش ئىمكانىيىتىگە ئىگە بولۇپ ، LLM نى ئۇقۇملار ئارىسىدىكى مۇرەككەپ مۇناسىۋەتلەرنى چۈشىنىش ۋە چۈشىنىش ئىمكانىيىتىگە ئىگە قىلىدۇ.

پايدىلانما

  • ۋاسۋانى قاتارلىقلار. (2017). دىققەت قىلىشقا تىگىشلىك ئىش. arXiv ئالدىن بېسىش arXiv: 1706.03762.
  • Devlin قاتارلىقلار. (2018). BERT: تىل چۈشىنىش ئۈچۈن چوڭقۇر قوش يۆنىلىشلىك تىرانسفورموتورنى ئالدىن مەشىقلەندۈرۈش. arXiv ئالدىن بېسىش arXiv: 1810.04805.
  • رادفورد قاتارلىقلار. (2019). تىل مودېللىرى نازارەت قىلىنمىغان كۆپ ۋەزىپە ئۆگەنگۈچىلەر. arXiv ئالدىن بېسىش arXiv: 1906.08237.

Have Questions?

Let's Talk

Contact me on LinkedIn