Open Source
LoRA: ajustar modelos grandes treinando pouco
O LoRA congela o modelo original e treina só pequenas matrizes adicionais. O ajuste fica muito mais barato, e um modelo-base pode servir a várias tarefas.
@raulelgreco1 min de leitura
Ajustar todos os parâmetros de um modelo grande exige muita memória e gera uma cópia inteira do modelo para cada tarefa. O LoRA (Low-Rank Adaptation), de Hu e colegas (Microsoft, 2021), resolve os dois problemas.
A ideia
Em vez de alterar uma matriz de pesos grande, o LoRA aprende uma atualização escrita como o produto de duas matrizes estreitas. O modelo original fica congelado; só essas matrizes pequenas são treinadas.
Ganhos
- Os autores relataram redução de milhares de vezes no número de parâmetros treináveis no GPT-3, com qualidade comparável ao ajuste completo.
- O "adaptador" resultante tem poucos megabytes e pode ser trocado conforme a tarefa.
- Na inferência, a atualização pode ser somada aos pesos, sem custo extra.
O LoRA virou a forma padrão de personalizar modelos abertos, e a comunidade publica milhares de adaptadores para estilos, idiomas e domínios específicos.
Foto: Chris Ried / Unsplash.