Please enable JavaScript.
Coggle requires JavaScript to display documents.
Dager (código) - Coggle Diagram
Dager (código)
"Muriel é Atleta" "José é aluno"
Reconstruct
orig_batch
= tokenizer (sequences)
true_grads
= model_wrapper.compute_grads (orig_batch)
B, R_Qs
= model_wrapper.get_matrices_expansions (true_grads)
Get_matrices_expansions
Monta Matrix R_Qs
Para grad_Q em (true_grads[4] e true_grads[16])
Get_layer_decomp (grad_Q, B)
1 more item...
No Gpt2 usa 4 e 16. (Primeira e segunda camada pesos da atenção)
Calcula número de "Tokens distintos" (B), baseado no rank de true_grads das camadas de atenção. (10 camadas?)
np.linalg.matrix_rank( grad.cpu() , tol=tol)
calcula o posto (rank) da matriz, ou seja, o número de linhas ou colunas linearmente independentes
Usar B em SVD para montar a matrix R_Qs
Gera R_Qs e B
Compute_grads
Gera os gradientes para a entrada (orig_batch)
Treinamento convencional:
Tokeniza / Forwar do Modelo / output / loss = output.loss / loss.backwad (calcula gradiente) / Adam (Otimizador)
"O computador reiniciou" "Amanhã não é quarta-feira" "As aulas começaram"
Modelo=Gpt2 dataset=coda B=2, n_inputs=2