Ro-ràdh
Tha Modalan Cànain Mòra (LLMn) air atharrachadh a dhèanamh air raon giollachd cànain nàdarra (NLP) anns na bliadhnachan mu dheireadh. Tha na modailean sin air toraidhean ùr-nodha a choileanadh ann an grunn ghnìomhan NLP, a’ gabhail a-steach eadar-theangachadh cànain, geàrr-chunntas teacsa, agus freagairt cheistean. Ach, tha fìor chomas LLMn na laighe nan comas air dàimhean iom-fhillte eadar bun-bheachdan a reusanachadh agus a thuigsinn. San artaigil seo, nì sinn sgrùdadh air na h-adhartasan ann an reusanachadh LLM, a’ sgrùdadh nan dòighean bunaiteach, ailtireachd agus dùbhlain.
Cùl-fhiosrachadh
Is e seòrsa de lìonra neural a th’ ann an LLMn a tha air an trèanadh air tòrr mòr dàta teacsa gus pàtrain agus dàimhean ionnsachadh eadar faclan is bun-bheachdan. Mar as trice bidh na modailean sin a’ toirt a-steach encoder agus decoder, far am bi an encoder a ’giullachd an teacsa cuir a-steach agus an decoder a’ gineadh an teacsa toraidh. Mar as trice is e ailtireachd stèidhichte air cruth-atharrachaidh a th’ anns an encoder, a tha gu sònraichte freagarrach airson dàta sreath mar teacsa.
Ailtireachd Transformer
Tha ailtireachd cruth-atharrachaidh, a chaidh a thoirt a-steach anns a’ phàipear "Attention is All You Need" le Vaswani et al. (2017), air a thighinn gu bhith na inbhe de facto airson LLMn. Tha an cruth-atharrachaidh air a dhèanamh suas de encoder agus decoder, gach fear air a dhèanamh suas de ioma-fhilleadh. Tha dà fho-fhilleadh anns gach còmhdach: inneal fèin-aire agus lìonra beathachaidh air adhart làn-cheangailte (FFNN).
lòchran a-steach
toirt a-steach torch.nn mar nn
clas TransformerLayer(nn.Module):
def __init__(fèin, d_model, n_heads, d_ff):
super (TransformerLayer, fèin). __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 air adhart (fèin, x):
# Uidheam fèin-aire
x_attn = fèin.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)
tilleadh x_ffnn
Adhartasan ann an Adhbhar LLM
Tha LLMn air adhartas mòr a dhèanamh ann a bhith a’ reusanachadh agus a’ tuigsinn dàimhean iom-fhillte eadar bun-bheachdan. Am measg cuid de na prìomh adhartasan tha:
1. Adhbhar stèidhichte air graf
Tha reusanachadh stèidhichte air graf a’ ciallachadh eòlas a riochdachadh mar ghraf, far a bheil nodan a’ riochdachadh bhun-bheachdan agus oirean a’ riochdachadh dàimhean eatorra. Faodar LLMn a thrèanadh gus reusanachadh a dhèanamh mu na grafaichean sin, a’ dèanamh ro-innse mu na dàimhean eadar nodan.
``meirge cleachd graf::Graph; cleachd neural_network ::NeuralNetwork;
fn graph_reasoning(graf: &Graph, ceist: &str) -> String { let embedding = neural_network.query(graf, ceist); leig toradh = neural_network.reason (graf, neadachadh); toradh.to_string() }
### 2. Ionnsachadh Ioma-ghnìomh
Tha ionnsachadh ioma-ghnìomh a’ toirt a-steach trèanadh aon mhodail air iomadh gnìomh aig an aon àm. Thathas air sealltainn gu bheil an dòigh-obrach seo a’ leasachadh coileanadh LLMn air diofar ghnìomhan, a’ gabhail a-steach reusanachadh agus tuigse air dàimhean iom-fhillte.
``` falbh
prìomh phacaid
ion-phortadh (
"fmt"
"gonum.org/v1/gonum/mat"
)
seòrsa structar modail {
*nn.Lìneach
*nn.Lìneach
}
func (m * Model) Air adhart (x * mat.Dense) * mat.Dense {
// Pas air adhart
z := m.Linear(x)
z = m.Linear(z)
tilleadh z
}
3. Innealan aire
Tha dòighean aire a’ leigeil le LLMn fòcas a chuir air pàirtean sònraichte den teacsa cuir a-steach nuair a bhios iad a’ gineadh an toraidh. Thathas air sealltainn gu bheil an dòigh-obrach seo a’ leasachadh coileanadh LLMn air diofar ghnìomhan, a’ gabhail a-steach reusanachadh agus tuigse air dàimhean iom-fhillte.
lòchran a-steach
toirt a-steach torch.nn mar nn
clas AttentionMechanism(nn.Module):
def __init__(fèin, d_model, n_heads):
super (AttentionMechanism, fèin). __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 air adhart (fèin, x):
# Ceist, iuchair, agus luach
q = fèin.query(x)
k = fèin.key(x)
v = fèin.luach(x)
# Cuideam aire
cuideaman = lòchran.matmul(q, k.T) / math.sqrt(q.shape[1])
cuideaman = fèin.dropout (cuideaman)
cuideaman = lòchran.softmax (cuideaman, dim = -1)
# Co-theacsa vector
co-theacsa = torch.matmul(cuideaman, v)
co-theacs tilleadh
Sealladh
Gus coileanadh LLMn air diofar ghnìomhan fhaicinn, is urrainn dhuinn cairt a chleachdadh gus coimeas a dhèanamh eadar cruinneas diofar mhodalan air gnìomh sònraichte. Seo eisimpleir de chairt a’ cleachdadh Chart.js:
{
"type": "bàr",
"dàta": {
"labels": ["Tasg 1", "Tasg 2", "Tasg 3"],
"stòr-dàta": [
{
"label": "Modail 1",
"dàta": [0.8, 0.7, 0.9],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"Leud na crìche": 1
},
{
"label": "Modail 2",
"dàta": [0.9, 0.8, 0.7],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
"Leud na crìche": 1
}
]
},
"roghainnean": {
"tiotal": {
"taisbeanadh": fìor,
"text": "Cruinneas diofar mhodalan air diofar ghnìomhan"
},
"sgàilean": {
"yAxes": [
{
"breacan": {
"toiseach AtZero": fìor
}
}
]
}
}
}
Co-dhùnadh
San artaigil seo, tha sinn air na h-adhartasan ann an reusanachadh LLM a sgrùdadh, a’ gabhail a-steach reusanachadh stèidhichte air graf, ionnsachadh ioma-ghnìomh, agus dòighean aire. Tha sinn cuideachd air eisimpleirean còd a thoirt seachad ann am Python, Rust, agus Go gus na bun-bheachdan sin a nochdadh. Mu dheireadh, tha sinn air clàr a chleachdadh gus coileanadh LLMn air diofar ghnìomhan fhaicinn. Tha comas aig na h-adhartasan sin raon NLP ath-nuadhachadh, a’ toirt cothrom do LLM dàimhean iom-fhillte eadar bun-bheachdan a reusanachadh agus a thuigsinn.
Iomraidhean
- Vaswani et al. (2017). Is e an aire a tha a dhìth ort. arXiv preprint arXiv: 1706.03762.
- Devlin et al. (2018). BERT: Ro-thrèanadh air cruth-atharraichean domhainn dà-thaobhach airson tuigse cànain. arXiv preprint arXiv: 1810.04805.
- Radford et al. (2019). Tha Modalan Cànain nan Luchd-ionnsachaidh Ioma-ghnìomhach gun stiùireadh. arXiv preprint arXiv: 1906.08237.