በኤልኤልኤም ማመራመር ውስጥ ያሉ እድገቶች፡ ቴክኒካል ጥልቅ ዳይቭ | B4N1

በኤልኤልኤም ማመራመር ውስጥ ያሉ እድገቶች፡ ቴክኒካል ጥልቅ ዳይቭ

9 months ago · b4n1 Read time: 3 min

መግቢያ

ትላልቅ የቋንቋ ሞዴሎች (LLMs) በቅርብ ዓመታት ውስጥ በተፈጥሮ ቋንቋ ማቀናበሪያ መስክ (NLP) ላይ ለውጥ አድርገዋል። እነዚህ ሞዴሎች የቋንቋ ትርጉም፣ የፅሁፍ ማጠቃለያ እና የጥያቄ መልስን ጨምሮ በተለያዩ የNLP ተግባራት ውስጥ ዘመናዊ ውጤቶችን አግኝተዋል። ሆኖም፣ የኤል.ኤል.ኤም.ኤዎች እውነተኛ አቅም በፅንሰ-ሀሳቦች መካከል ያለውን ውስብስብ ግንኙነት የማመዛዘን እና የመረዳት ችሎታቸው ላይ ነው። በዚህ ጽሑፍ ውስጥ፣ በኤልኤልኤም አመክንዮ ውስጥ ያሉትን እድገቶች እንቃኛለን፣ ከስር ያሉትን ቴክኒኮች፣ አርክቴክቸር እና ተግዳሮቶችን እንቃኛለን።

ዳራ

LLMs በቃላት እና በፅንሰ-ሀሳቦች መካከል ዘይቤዎችን እና ግንኙነቶችን ለመማር እጅግ በጣም ብዙ በሆነ የፅሁፍ መረጃ ላይ የሰለጠኑ የነርቭ አውታረ መረብ አይነት ናቸው። እነዚህ ሞዴሎች ብዙውን ጊዜ ኢንኮደር እና ዲኮደርን ያቀፉ ሲሆን ኢንኮደሩ የግቤት ጽሑፉን ያስኬዳል እና ዲኮደር የውጤት ጽሑፉን ያመነጫል። ኢንኮደሩ ብዙውን ጊዜ በትራንስፎርመር ላይ የተመሰረተ አርክቴክቸር ነው፣ እሱም በተለይ እንደ ጽሁፍ ላለው ተከታታይ መረጃ በጣም ተስማሚ ነው።

ትራንስፎርመር አርክቴክቸር

የትራንስፎርመር አርክቴክቸር፣ በቫስዋኒ እና ሌሎች “ትኩረት የሚያስፈልጋችሁ ሁሉ ነው” በሚለው ወረቀት ላይ አስተዋውቋል። (2017)፣ ለኤል.ኤል.ኤም.ዎች ትክክለኛ መስፈርት ሆኗል። ትራንስፎርመር ኢንኮደር እና ዲኮደርን ያቀፈ ነው, እያንዳንዱም ብዙ ንብርብሮችን ያቀፈ ነው. እያንዳንዱ ሽፋን ሁለት ንኡስ ንጣፎችን ያቀፈ ነው-የራስ ትኩረት ዘዴ እና ሙሉ በሙሉ የተገናኘ የምግብ ማስተላለፊያ አውታር (ኤፍኤፍኤንኤን).

`` ፓይቶን አስመጪ ችቦ አስመጣ torch.nn እንደ nn

ክፍል TransformerLayer(nn.Module): def init(ራስ፣ 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)
    # የራስ ትኩረት ዘዴ
    x_attn = ራስን.self_attn (x, x)
    x_attn = ራስን መውረድ(x_attn)
    x_attn = x + x_attn

    # ኤፍኤንኤን
    x_ffnn = self.ffnn(x_attn)
    x_ffnn = ራስን መውረድ (x_ffnn)
    x_ffnn = self.layer_norm(x_ffnn + x_attn)

    x_ffnn ተመለስ

## በኤልኤልኤም ማመራመር ላይ ያሉ እድገቶች

LLMs በፅንሰ-ሀሳቦች መካከል ያሉ ውስብስብ ግንኙነቶችን በማመዛዘን እና በመረዳት ረገድ ከፍተኛ እድገት አድርገዋል። አንዳንድ ቁልፍ እድገቶች የሚከተሉትን ያካትታሉ:

### 1. በግራፍ ላይ የተመሰረተ ምክንያት

በግራፍ ላይ የተመሰረተ አስተሳሰብ እውቀትን እንደ ግራፍ መወከልን ያካትታል፣ አንጓዎች ጽንሰ-ሀሳቦችን የሚወክሉ እና ጠርዞች በመካከላቸው ያለውን ግንኙነት የሚወክሉበት። LLMs ስለእነዚህ ግራፎች ለማመዛዘን፣ በአንጓዎች መካከል ስላለው ግንኙነት ትንበያ ለመስጠት መሰልጠን ይችላሉ።

`` ዝገት
ግራፍ ተጠቀም :: ግራፍ;
Neural_network ተጠቀም :: NeuralNetwork;

fn graph_reasoning(ግራፍ፡ &ግራፍ፣ መጠይቅ፡ &str) -> ሕብረቁምፊ {
    እናድርግ = neural_network.query (ግራፍ, መጠይቅ);
    ውጤት ይሁን = neural_network.ምክንያት (ግራፍ, መክተት);
    ውጤት.ወደ_ሕብረቁምፊ()
}

2. ባለብዙ ተግባር ትምህርት

ባለብዙ ተግባር ትምህርት አንድን ሞዴል በበርካታ ተግባራት ላይ በአንድ ጊዜ ማሰልጠን ያካትታል። ይህ አካሄድ የኤልኤልኤምኤስን በተለያዩ ተግባራት ላይ ያለውን አፈጻጸም ለማሻሻል ታይቷል፣ ማመዛዘን እና ውስብስብ ግንኙነቶችን መረዳትን ጨምሮ።

``ሂድ ጥቅል ዋና

አስመጣ ( "ኤፍኤምቲ" "gonum.org/v1/gonum/mat" )

የሞዴል መዋቅር ይተይቡ { * nn.መስመር * nn.መስመር }

func (m *ሞዴል) ወደፊት(x *mat.Dense) *mat.Dense { // ወደፊት ማለፍ z:= m.Linear(x) z = m.Linear(z) መመለስ z }


### 3. የትኩረት ዘዴዎች

የትኩረት ዘዴዎች LLMs ውጤቱን በሚያመነጩበት ጊዜ በተወሰኑ የግቤት ጽሑፍ ክፍሎች ላይ እንዲያተኩሩ ያስችላቸዋል። ይህ አካሄድ የኤልኤልኤምኤስን በተለያዩ ተግባራት ላይ ያለውን አፈጻጸም ለማሻሻል ታይቷል፣ ማመዛዘን እና ውስብስብ ግንኙነቶችን መረዳትን ጨምሮ።

`` ፓይቶን
አስመጪ ችቦ
አስመጣ torch.nn እንደ nn

ክፍል ትኩረት ሜካኒዝም(nn.Module)፦
    def __init__(ራስ፣ 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)

    ወደፊት መከላከል(ራስ፣ x)
        # ጥያቄ፣ ቁልፍ እና እሴት
        q = ራስን መጠይቅ (x)
        k = self.key(x)
        v = ራስን ዋጋ (x)

        # ትኩረት ክብደቶች
        ክብደቶች = ችቦ.ማትሙል(q፣ k.T) /math.sqrt(q.ቅርጽ[1])
        ክብደቶች = ራስን መውረድ(ክብደቶች)
        ክብደት = ችቦ.softmax(ክብደቶች፣ ደብዛዛ=-1)

        # የአውድ ቬክተር
        አውድ = ችቦ.ማትሙል(ክብደቶች፣ v)

        አውድ መመለስ

እይታ

በተለያዩ ተግባራት ላይ የኤልኤልኤምኤስን አፈጻጸም በዓይነ ሕሊና ለማየት፣ በአንድ ተግባር ላይ የተለያዩ ሞዴሎችን ትክክለኛነት ለማነፃፀር ቻርትን መጠቀም እንችላለን። Chart.jsን የሚጠቀም የገበታ ምሳሌ እዚህ አለ፡-

``json { "አይነት": "ባር", "ውሂብ": { "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 } ] } "አማራጮች": { "ርዕስ": { "ማሳያ": እውነት, "text": "በተለያዩ ተግባራት ላይ የተለያዩ ሞዴሎች ትክክለኛነት" } "ሚዛኖች": { "yAxes": [ { "መዥገሮች": { "beginAtZero"፡ እውነት } } ] } } }


## መደምደሚያ

በዚህ ጽሑፍ ውስጥ፣ በግራፍ ላይ የተመሰረተ አስተሳሰብን፣ ባለብዙ ተግባር ትምህርትን እና የትኩረት ዘዴዎችን ጨምሮ የኤልኤልኤም አመክንዮ እድገትን መርምረናል። እነዚህን ጽንሰ-ሀሳቦች ለማሳየት በ Python፣ Rust እና Go ውስጥ የኮድ ምሳሌዎችን አቅርበናል። በመጨረሻም፣ በተለያዩ ተግባራት ላይ የኤልኤልኤምኤስ አፈጻጸምን በዓይነ ሕሊናህ ለማየት ቻርትን ተጠቅመናል። እነዚህ እድገቶች የ NLP መስክ ላይ ለውጥ የማምጣት አቅም አላቸው፣ ይህም LLMs እንዲያመዛዝኑ እና በፅንሰ-ሀሳቦች መካከል ያሉ ውስብስብ ግንኙነቶችን እንዲረዱ ያስችላቸዋል።

## ዋቢዎች

* ቫስዋኒ እና ሌሎች. (2017) ትኩረት የምትፈልገው ብቻ ነው። arXiv ቅድመ ማተም arXiv:1706.03762.
* ዴቭሊን እና ሌሎች. (2018) BERT፡ ለቋንቋ ግንዛቤ ጥልቅ ባለ ሁለት አቅጣጫዊ ትራንስፎርመሮች ቅድመ-ስልጠና። arXiv ቅድመ ማተም arXiv:1810.04805.
* ራድፎርድ እና ሌሎች. (2019) የቋንቋ ሞዴሎች ቁጥጥር የማይደረግባቸው ባለብዙ ተግባር ተማሪዎች ናቸው። arXiv ቅድመ ማተም arXiv:1906.08237.

Have Questions?

Let's Talk

Contact me on LinkedIn