Ajuste fino da adaptação de baixa classificação

O ajuste fino da adaptação de baixo nível ( LoRA ) adapta um modelo de base para uma tarefa, alterando os pesos de um subconjunto representativo dos parâmetros do modelo, chamados de adaptadores de baixo nível, em vez dos pesos do modelo de base durante o ajuste. No momento da inferência, os pesos dos adaptadores ajustados são adicionados aos pesos do modelo de base para gerar um resultado ajustado para uma tarefa.

Como funciona o ajuste do LoRA

LoRA é uma técnica de ajuste fino eficiente em termos de parâmetros (PEFT) que adiciona um subconjunto de parâmetros ao modelo básico congelado e atualiza o subconjunto durante o experimento de ajuste, sem modificar os parâmetros do modelo básico. Quando o modelo de base ajustado é inferido, os novos pesos dos parâmetros do subconjunto são adicionados aos pesos dos parâmetros do modelo de base para gerar um resultado personalizado para uma tarefa.

O modo como o subconjunto de parâmetros é criado envolve um pouco de matemática. Lembre-se de que a rede neural de um modelo de fundação é composta de camadas, cada uma com uma matriz complexa de parâmetros. Esses parâmetros têm valores de peso que são definidos quando o modelo de base é inicialmente treinado. O subconjunto de parâmetros usados para o ajuste do LoRA é derivado pela aplicação da decomposição de classificação aos pesos do modelo básico de fundação. A classificação de uma matriz indica o número de vetores na matriz que são linearmente independentes uns dos outros. A decomposição de classificação, também conhecida como decomposição de matriz, é um método matemático que usa essas informações de classificação para representar a matriz original em duas matrizes menores que, quando multiplicadas, formam uma matriz do mesmo tamanho da matriz original. Com esse método, as duas matrizes menores juntas capturam os principais padrões e relacionamentos da matriz maior, mas com menos parâmetros. As matrizes menores produzidas são chamadas de matrizes de baixa classificação ou adaptadores de baixa classificação.

Durante um experimento de ajuste do LoRA, os valores de peso dos parâmetros no subconjunto - os adaptadores de classificação baixa - são ajustados. Como os adaptadores têm menos parâmetros, o experimento de ajuste é mais rápido e precisa de menos recursos para armazenar e computar as alterações. Embora as matrizes do adaptador não tenham algumas das informações das matrizes do modelo de base, o método de ajuste LoRA é eficaz porque o LoRA explora o fato de que os modelos de fundação grandes normalmente usam muito mais parâmetros do que o necessário para uma tarefa.

O resultado de um experimento de ajuste fino do LoRA é um conjunto de adaptadores que contém novos pesos. Quando esses adaptadores ajustados são multiplicados, eles formam uma matriz que tem o mesmo tamanho da matriz do modelo básico. No momento da inferência, os novos pesos do produto dos adaptadores são adicionados diretamente aos pesos do modelo básico para gerar a saída ajustada.

Você pode configurar os parâmetros do experimento de ajuste LoRA, como as camadas do modelo de base a serem direcionadas e a classificação a ser usada ao decompor as matrizes do modelo de base. Para obter mais detalhes, consulte Parâmetros para ajuste de modelos de fundação.

Ao implantar o ativo do adaptador, você deve implantar o ativo em um espaço de implantação em que o modelo básico também seja implantado. Você pode usar o método de ajuste fino LoRA em watsonx.ai para ajustar apenas os modelos de fundação não quantizados.

Os benefícios de usar a técnica de ajuste fino do LoRA incluem:

  • Os adaptadores menores e treináveis usados pela técnica LoRA exigem menos recursos computacionais e de armazenamento durante o ajuste.
  • Os ajustes dos adaptadores são aplicados no momento da inferência sem afetar o comprimento da janela de contexto ou a velocidade das respostas do modelo.
  • Você pode implantar um modelo básico de fundação e usar o modelo com diferentes adaptadores para personalizar as saídas para diferentes tarefas.

LoRA ajuste fino do fluxo de trabalho

Durante o experimento de ajuste fino do modelo de base ( LoRA ), os pesos dos parâmetros de um subconjunto representativo dos parâmetros do modelo, chamados adaptadores de baixa classificação (low-rank adapters), são ajustados repetidamente para que as previsões do modelo de base ajustado possam melhorar ao longo do tempo.

O diagrama a seguir ilustra as etapas que ocorrem durante a execução de um experimento de ajuste fino no site LoRA.

As partes do fluxo do experimento que você pode configurar são destacadas com um ícone de usuário Usuário. Esses pontos de decisão correspondem aos parâmetros de ajuste de experimentos que você controla. Consulte Parâmetros para ajustar os modelos de fundação.

Detalhes do processo de ajuste fino da adaptação de classificação baixa descritos nas etapas

O diagrama mostra as seguintes etapas do experimento:

  1. O experimento lê os dados de treinamento, tokeniza-os e os converte em lotes.

    O tamanho dos lotes é determinado pelo parâmetro de tamanho do lote.

  2. São desenvolvidos adaptadores de baixa classificação, que são um subconjunto representativo dos parâmetros do modelo básico. Os pesos iniciais dos adaptadores de classificação baixa são aplicados às camadas do modelo que você especifica no parâmetro target_modules e são calculados com base no valor que você especifica para o parâmetro de classificação.

  3. Envia a entrada dos exemplos no lote para os adaptadores LoRA e, em seguida, para o modelo básico para processar e gerar saída.

  4. Compara o resultado do modelo com o resultado dos dados de treinamento que correspondem à entrada de dados de treinamento que foi enviada. Em seguida, calcula o gradiente de perda, que é a diferença entre a saída prevista e a saída real dos dados de treinamento.

    O experimento ajusta os pesos dos parâmetros do adaptador LoRA com base na perda calculada do modelo. O momento em que esse ajuste ocorre depende de como o parâmetro Etapas de acumulação está configurado.

  5. Os ajustes são aplicados aos pesos dos parâmetros dos adaptadores do site LoRA. O grau em que os pesos são alterados é controlado por uma combinação dos valores dos parâmetros de taxa de aprendizado, alfa e abandono.

  6. A entrada do próximo exemplo nos dados de treinamento é enviada ao adaptador LoRA como entrada. O adaptador aplica as alterações de peso mais recentes e as adiciona aos pesos do modelo básico da fundação para ajustá-los à tarefa.

  7. O processo se repete até que todos os exemplos de todos os lotes sejam processados.

  8. O conjunto inteiro de lotes é processado novamente quantas vezes forem especificadas no parâmetro Number of epochs (Número de épocas ).

Saiba mais