Was ist eine Padding-Maske und warum ist es wichtig, sie bei der Aufmerksamkeit zu berücksichtigen?
sobes.tech KI
Antwort von AI
Padding-Maske ist eine Maske, die den Transformer-Modellen angibt, welche Positionen in der Sequenz Platzhalter (Padding) sind und welche echte Daten. Bei NLP-Aufgaben haben Eingabesequenzen oft unterschiedliche Längen, daher werden sie auf eine einheitliche Länge mit speziellen Tokens (Padding) ergänzt.
Es ist wichtig, die Padding-Maske bei der Attention zu berücksichtigen, damit das Modell diese Platzhalter bei der Berechnung der Aufmerksamkeit nicht berücksichtigt. Wenn Padding nicht maskiert wird, könnte das Modell auf leere Positionen achten, was zu falschen Berechnungen und einer Verschlechterung der Qualität führt.
In der Implementierung wird die Attention-Maske auf die Score-Matrix angewendet (meist wird eine große negative Zahl zu den Padding-Positionen vor der Anwendung von Softmax addiert), damit die Attention-Gewichte für Padding nahe bei null liegen.
Beispiel (Pseudocode):
scores = Q @ K.T / sqrt(d_k)
# mask — boolesches Array, wobei True für Padding steht
scores = scores.masked_fill(mask, -1e9)
attention_weights = softmax(scores)