Pular para o conteúdo principal

Quiz: LoRA em Detalhes

Teste seu conhecimento sobre a matemática, implementação e boas práticas do LoRA.

30 questões - Clique em cada pergunta para revelar a resposta correta.


Questão 1​

O que significa LoRA?

A) Low-Rank Adaptation
B) Algoritmo de Regularização Linear de Saída
C) Otimização por Camada para Representações
D) Abordagem de Redução de Saída em Larga Escala

Mostrar Resposta

Resposta Correta: A

LoRA significa Low-Rank Adaptation, referindo-se à decomposição de matriz de baixa ordem usada para representar atualizações de pesos.


Questão 2​

Como o LoRA representa as atualizações de peso?

A) Como uma única matriz
B) Como o produto de duas matrizes de baixa ordem (BA)
C) Como uma matriz esparsa
D) Como um vetor

Mostrar Resposta

Resposta Correta: B

O LoRA representa as atualizações de peso ΔW como o produto de duas matrizes: B (d×r) e A (r×k), onde r é muito menor que d e k.


Questão 3​

Por que a matriz B é inicializada com zero?

A) Para acelerar o treinamento
B) Para que BA=0 no início, mantendo a saída inicial inalterada
C) Para economizar memória
D) Ela é inicializada aleatoriamente, não com zero

Mostrar Resposta

Resposta Correta: B

Quando B é inicializada com zero, BA=0, o que significa que o modelo começa exatamente com o mesmo comportamento do modelo base, garantindo um início de treinamento estável.


Questão 4​

Qual é o fator de escala efetivo para r=16 e alpha=32?

A) 0,5
B) 1,0
C) 2,0
D) 16

Mostrar Resposta

Resposta Correta: C

A escala efetiva é alpha/r = 32/16 = 2,0.


Questão 5​

Para uma matriz de peso 4096×4096 com r=16, quantos parâmetros LoRA são adicionados?

A) 16.777.216
B) 131.072
C) 65.536
D) 4.194.304

Mostrar Resposta

Resposta Correta: B

O LoRA adiciona r×d + r×k = 16×4096 + 16×4096 = 131.072 parâmetros.


Questão 6​

Quais camadas são comumente alvo do LoRA em transformers?

A) Apenas camadas de embedding
B) Projeções de Query, Key, Value (q_proj, k_proj, v_proj)
C) Apenas a camada de saída
D) Normalização de camada

Mostrar Resposta

Resposta Correta: B

As camadas de projeção de atenção (q_proj, k_proj, v_proj, o_proj) são comumente alvo do LoRA.


Questão 7​

Qual é o propósito do parâmetro lora_alpha?

A) Definir a taxa de aprendizado
B) Escalar a contribuição das atualizações do LoRA
C) Determinar o tamanho do batch
D) Controlar a taxa de dropout

Mostrar Resposta

Resposta Correta: B

lora_alpha é um fator de escala que controla a magnitude da contribuição do LoRA. A escala efetiva é alpha/r.


Questão 8​

Qual função é usada para aplicar LoRA a um modelo?

A) apply_lora()
B) get_peft_model()
C) create_lora()
D) add_adapter()

Mostrar Resposta

Resposta Correta: B

get_peft_model(base_model, lora_config) é usada para envolver um modelo base com a configuração LoRA.


Questão 9​

O que faz o model.merge_and_unload()?

A) Salva o modelo em disco
B) Mescla os pesos do LoRA ao modelo base e remove o adaptador
C) Carrega um novo adaptador
D) Limpa a memória da GPU

Mostrar Resposta

Resposta Correta: B

merge_and_unload() mescla os pesos do adaptador LoRA aos pesos do modelo base, criando um modelo padrão sem a sobrecarga do adaptador.


Questão 10​

Qual é a taxa de aprendizado típica para fine-tuning com LoRA?

A) 1e-2
B) 1e-4 a 5e-4
C) 1e-6
D) 1.0

Mostrar Resposta

Resposta Correta: B

O fine-tuning com LoRA normalmente usa taxas de aprendizado entre 1e-4 e 5e-4, mais altas do que o fine-tuning completo.


Questão 11​

Qual é o rank inicial recomendado para experimentos com LoRA?

A) r=1
B) r=16
C) r=256
D) r=1024

Mostrar Resposta

Resposta Correta: B

r=16 é um ponto de partida comum, proporcionando um bom equilíbrio entre capacidade e eficiência.


Questão 12​

O que significa "low rank" no LoRA?

A) O modelo tem baixa qualidade
B) As matrizes têm baixa dimensionalidade (r muito menor que d)
C) A taxa de aprendizado é baixa
D) O modelo tem poucas camadas

Mostrar Resposta

Resposta Correta: B

"Low rank" significa que a dimensão intermediária r é muito menor que as dimensões originais (r ≪ d), resultando em menos parâmetros.


Questão 13​

Após a mesclagem, qual é a sobrecarga de inferência do LoRA?

A) 10% mais lento
B) 50% mais lento
C) Zero (idêntico ao modelo base)
D) 2x mais lento

Mostrar Resposta

Resposta Correta: C

Após a mesclagem, os pesos do LoRA se tornam parte dos pesos do modelo base, resultando em zero sobrecarga adicional na inferência.


Questão 14​

Qual é a relação típica entre alpha e rank?

A) Alpha deve ser muito menor que o rank
B) Alpha é tipicamente 1-2x o rank
C) Alpha é igual ao quadrado do rank
D) Eles são não relacionados

Mostrar Resposta

Resposta Correta: B

A prática comum é definir alpha como 1-2x o rank (ex: r=16, alpha=32).


Questão 15​

Como verificar os parâmetros treináveis em um modelo PEFT?

A) model.count_params()
B) model.print_trainable_parameters()
C) model.trainable()
D) model.params()

Mostrar Resposta

Resposta Correta: B

model.print_trainable_parameters() exibe a contagem e a porcentagem de parâmetros treináveis.


Questão 16​

Para que serve o lora_dropout?

A) Reduzir o tamanho do modelo
B) Regularização para evitar overfitting
C) Acelerar o treinamento
D) Otimização de memória

Mostrar Resposta

Resposta Correta: B

lora_dropout aplica regularização por dropout nas camadas LoRA para ajudar a evitar overfitting.


Questão 17​

O que é o parâmetro bias no LoraConfig?

A) Definir o viés da taxa de aprendizado
B) Indicar se os termos de bias das camadas LoRA serão treinados
C) Viés de amostragem de dados
D) Correção de viés do gradiente

Mostrar Resposta

Resposta Correta: B

O parâmetro bias controla se os termos de bias serão treinados: "none" (não treina), "all" (treina todos) ou "lora_only" (treina apenas os bias do LoRA).


Questão 18​

Qual é a equação do forward pass no LoRA?

A) h = Wx
B) h = Wx + BAx
C) h = BA + Wx
D) h = W + BA

Mostrar Resposta

Resposta Correta: B

O forward pass é h = Wx + (α/r)BAx, combinando o caminho congelado do modelo base com o caminho treinável do LoRA.


Questão 19​

O que torna o LoRA eficiente em memória durante o treinamento?

A) Comprimir o modelo
B) Armazenar gradientes/otimizador apenas para os pequenos adaptadores, não para os pesos congelados
C) Usar int8 por padrão
D) Reduzir o batch size automaticamente

Mostrar Resposta

Resposta Correta: B

A economia de memória vem do fato de não armazenar gradientes e estados do otimizador para os pesos congelados do modelo base—apenas os pequenos parâmetros do LoRA precisam disso.


Questão 20​

É possível usar múltiplos adaptadores LoRA em um modelo base?

A) Não, apenas um adaptador permitido
B) Sim, usando add_adapter e set_adapter
C) Apenas dois adaptadores
D) Apenas durante o treinamento

Mostrar Resposta

Resposta Correta: B

Múltiplos adaptadores podem ser adicionados com add_adapter() e alternados usando set_adapter().


Questão 21​

Para que serve o TaskType.CAUSAL_LM?

A) Tarefas de classificação
B) Modelagem de linguagem causal (geração de texto)
C) Geração de imagens
D) Apenas tradução

Mostrar Resposta

Resposta Correta: B

TaskType.CAUSAL_LM indica que o modelo é usado para modelagem de linguagem causal, que é a geração padrão de texto.


Questão 22​

O que fazer se o loss de treinamento for NaN?

A) Aumentar a taxa de aprendizado
B) Reduzir a taxa de aprendizado, habilitar gradient clipping
C) Usar batch size maior
D) Treinar por mais tempo

Mostrar Resposta

Resposta Correta: B

Loss NaN geralmente indica instabilidade numérica. Soluções incluem reduzir a taxa de aprendizado, habilitar gradient clipping e verificar problemas nos dados.


Questão 23​

Qual é o tamanho típico do arquivo do adaptador LoRA para um modelo 7B?

A) ~15GB
B) ~1GB
C) ~10-50MB
D) ~500MB

Mostrar Resposta

Resposta Correta: C

Arquivos de adaptador LoRA normalmente têm 10-50MB, enquanto modelos completos têm ~15GB+ para 7B parâmetros.


Questão 24​

O que é DoRA?

A) Um formato de dataset
B) Weight-Decomposed Low-Rank Adaptation
C) Um tipo de otimizador
D) Uma arquitetura de modelo

Mostrar Resposta

Resposta Correta: B

DoRA (Weight-Decomposed Low-Rank Adaptation) é uma variante do LoRA que separa magnitude e direção dos pesos.


Questão 25​

Como salvar apenas o adaptador LoRA?

A) model.save_pretrained(path)
B) model.save_weights(path)
C) model.save_adapter(path)
D) Tanto A quanto C funcionam

Mostrar Resposta

Resposta Correta: A

model.save_pretrained(path) em um modelo PEFT salva apenas o adaptador por padrão, não o modelo base.


Questão 26​

Qual é o propósito do gradient checkpointing com LoRA?

A) Salvar checkpoints de treinamento
B) Trocar computação por memória para reduzir uso de VRAM
C) Treinamento mais rápido
D) Melhor qualidade

Mostrar Resposta

Resposta Correta: B

Gradient checkpointing recomputa ativações durante o backward pass ao invés de armazená-las, reduzindo o uso de memória ao custo de computação adicional.


Questão 27​

Qual parâmetro determina quais camadas recebem LoRA?

A) r
B) lora_alpha
C) target_modules
D) lora_dropout

Mostrar Resposta

Resposta Correta: C

O parâmetro target_modules especifica quais matrizes de peso recebem adaptadores LoRA.


Questão 28​

Qual é a fórmula para a contagem de parâmetros no LoRA?

A) d × k
B) r × (d + k)
C) r × r
D) d + k

Mostrar Resposta

Resposta Correta: B

O LoRA adiciona r×d (para B) + r×k (para A) = r×(d+k) parâmetros por matriz de peso.


Questão 29​

Por que o LoRA funciona bem para fine-tuning?

A) Ele usa mais parâmetros
B) As atualizações de fine-tuning têm baixa dimensionalidade intrínseca
C) Sempre treina mais rápido
D) Foi criado pela OpenAI

Mostrar Resposta

Resposta Correta: B

Pesquisas mostram que as atualizações de fine-tuning frequentemente estão em um subespaço de baixa dimensão, podendo ser representadas de forma eficiente com matrizes de baixa ordem.


Questão 30​

Qual é a abordagem recomendada para deploy em produção?

A) Manter o adaptador sempre separado
B) Mesclar o adaptador ao modelo base para um deploy mais simples
C) Usar fine-tuning completo
D) Nunca usar LoRA em produção

Mostrar Resposta

Resposta Correta: B

Para produção, mesclar o adaptador ao modelo base simplifica o deploy e elimina a sobrecarga do adaptador na inferência.


Resultados​

PontuaçãoNível
27-30Excelente - Mestre em LoRA!
21-26Bom - Revise detalhes de implementação
15-20Médio - Revise todos os capítulos
Abaixo de 15Precisa de revisão completa

Voltar ao Módulo 4 | Continuar para o Módulo 5