Rhagymadrodd
Mae Modelau Iaith Mawr (LLMs) wedi chwyldroi maes prosesu iaith naturiol (NLP) yn y blynyddoedd diwethaf. Mae'r modelau hyn wedi cyflawni canlyniadau o'r radd flaenaf mewn amrywiol dasgau NLP, gan gynnwys cyfieithu iaith, crynhoi testun, ac ateb cwestiynau. Fodd bynnag, mae gwir botensial LLMs yn gorwedd yn eu gallu i resymu a deall perthnasoedd cymhleth rhwng cysyniadau. Yn yr erthygl hon, byddwn yn ymchwilio i ddatblygiadau ymresymu LLM, gan archwilio'r technegau, pensaernïaeth a heriau sylfaenol.
Cefndir
Mae LLMs yn fath o rwydwaith niwral sydd wedi'i hyfforddi ar lawer iawn o ddata testun i ddysgu patrymau a pherthnasoedd rhwng geiriau a chysyniadau. Mae'r modelau hyn fel arfer yn cynnwys amgodiwr a datgodiwr, lle mae'r amgodiwr yn prosesu'r testun mewnbwn a'r datgodiwr yn cynhyrchu'r testun allbwn. Mae'r amgodiwr fel arfer yn bensaernïaeth sy'n seiliedig ar drawsnewidydd, sy'n arbennig o addas ar gyfer data dilyniannol fel testun.
Pensaernïaeth y Trawsnewidydd
Mae pensaernïaeth y trawsnewidyddion, a gyflwynwyd yn y papur "Attention is All You Need" gan Vaswani et al. (2017), wedi dod yn safon de facto ar gyfer LLMs. Mae'r trawsnewidydd yn cynnwys amgodiwr a datgodiwr, pob un yn cynnwys haenau lluosog. Mae pob haen yn cynnwys dwy is-haen: mecanwaith hunan-sylw a rhwydwaith bwydo ymlaen wedi'i gysylltu'n llawn (FFNN).
tortsh mewnforio
mewnforio torch.nn fel nn
Class TransformerHayer(nn.Modiwl):
def __init__(hunan, d_model, n_heads, d_ff):
uwch(TransformerHayer, 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 ymlaen(hunan, x):
# Mecanwaith hunan-sylw
x_attn = hunan.self_attn(x, x)
x_attn = hunan.dropout(x_attn)
x_attn = x + x_attn
# FFNN
x_ffnn = hunan.ffnn(x_attn)
x_ffnn = hunan.dropout(x_ffnn)
x_ffnn = hunan.layer_norm(x_ffnn + x_attn)
dychwelyd x_ffnn
Cynnydd mewn Rhesymeg LLM
Mae LLMs wedi gwneud cynnydd sylweddol o ran rhesymu a deall perthnasoedd cymhleth rhwng cysyniadau. Mae rhai o’r datblygiadau allweddol yn cynnwys:
1. Rhesymeg Seiliedig ar Graff
Mae rhesymu ar sail graff yn golygu cynrychioli gwybodaeth fel graff, lle mae nodau'n cynrychioli cysyniadau ac ymylon yn cynrychioli perthnasoedd rhyngddynt. Gellir hyfforddi LLMs i resymu am y graffiau hyn, gan wneud rhagfynegiadau am y berthynas rhwng nodau.
defnyddio graff::Graph;
defnyddio neural_network ::NeuralNetwork;
fn graph_reasoning(graff: &Graph, query: &str) -> Llinyn {
gadewch i ni fewnosod = neural_network.query(graff, ymholiad);
gadewch canlyniad = neural_network.reason(graff, mewnosod);
canlyniad.to_string()
}
2. Dysgu Aml-Dasg
Mae dysgu aml-dasg yn golygu hyfforddi un model ar dasgau lluosog ar yr un pryd. Dangoswyd bod y dull hwn yn gwella perfformiad LLMs ar dasgau amrywiol, gan gynnwys rhesymu a deall perthnasoedd cymhleth.
prif becyn
mewnforio (
"fmt"
"gonum.org/v1/gonum/mat"
)
teipiwch strwythur model {
*nn.Llinol
*nn.Llinol
}
func (m *Model) Ymlaen(x *mat.Dense) *mat.Dense {
// Forward pass
z := m.Llinellol(x)
z = m.Llinellol(z)
dychwelyd z
}
3. Mecanweithiau Sylw
Mae mecanweithiau sylw yn galluogi LLMs i ganolbwyntio ar rannau penodol o'r testun mewnbwn wrth gynhyrchu'r allbwn. Dangoswyd bod y dull hwn yn gwella perfformiad LLMs ar dasgau amrywiol, gan gynnwys rhesymu a deall perthnasoedd cymhleth.
tortsh mewnforio
mewnforio torch.nn fel nn
Class AttentionMechanism(nn.Modiwl):
def __init__(hunan, d_model, n_heads):
uwch (Mecanwaith Sylw, hunan). __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 ymlaen(hunan, x):
# Ymholiad, allwedd, a gwerth
q = ymholiad hunan(x)
k = hunan. allwedd(x)
v = hunan.werth(x)
# Pwysau sylw
pwysau = tortsh.matmul(q, k.T) / math.sqrt(q.shape[1])
pwysau = hunan.dropout(pwysau)
pwysau = tortsh.softmax(pwysau, dim=-1)
# Fector cyd-destun
cyd-destun = torch.matmul(pwysau, v)
cyd-destun dychwelyd
Delweddu
I ddelweddu perfformiad LLMs ar dasgau amrywiol, gallwn ddefnyddio siart i gymharu cywirdeb modelau gwahanol ar dasg benodol. Dyma enghraifft o siart yn defnyddio Chart.js:
{
"type": "bar",
"data": {
"labels": ["Tasg 1", "Tasg 2", "Tasg 3"],
"setiau data": [
{
" label " : " Model 1 " ,
"data": [0.8, 0.7, 0.9],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"BorderColor": "rgba(255, 99, 132, 1)",
"Lled y ffin": 1
},
{
" label " : " Model 2 " ,
"data": [0.9, 0.8, 0.7],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
"Lled y ffin": 1
}
]
},
"opsiynau": {
"title": {
"arddangos": gwir,
"text": "Cywirdeb Modelau Gwahanol ar Dasgau Amrywiol"
},
"graddfeydd": {
"yEchelin": [
{
"ticiau": {
"dechrau AtZero": gwir
}
}
]
}
}
}
Casgliad
Yn yr erthygl hon, rydym wedi archwilio’r datblygiadau mewn rhesymu LLM, gan gynnwys rhesymu ar sail graff, dysgu aml-dasg, a mecanweithiau canolbwyntio. Rydym hefyd wedi darparu enghreifftiau cod yn Python, Rust, a Go i ddarlunio'r cysyniadau hyn. Yn olaf, rydym wedi defnyddio siart i ddelweddu perfformiad LLMs ar dasgau amrywiol. Mae gan y datblygiadau hyn y potensial i chwyldroi maes NLP, gan alluogi LLMs i resymu a deall perthnasoedd cymhleth rhwng cysyniadau.
Cyfeiriadau
- Vaswani et al. (2017). Sylw yw'r cyfan sydd ei angen arnoch chi. arXiv rhagargraffiad arXiv:1706.03762.
- Mae Devlin et al. (2018). BERT: Rhag-hyfforddiant Trawsnewidwyr Deugyfeiriadol Dwfn ar gyfer Deall Iaith. arXiv rhagargraffiad arXiv:1810.04805.
- Radford et al. (2019). Mae Modelau Iaith yn Ddysgwyr Aml-dasg heb Oruchwyliaeth. arXiv rhagargraffiad arXiv:1906.08237.