Inteligência Artificial

Seu agente não precisa de um modelo maior

Por Vivian Kang
Pumpkin LabsPumpkin ExplainsSérieEnsaio Nº 07
Seu agente não
precisa de um
modelo maior
Um bom prompt já é um LoRA. A matemática de por que modelos pequenos bastam.
Pumpkin Labs
Como funcionam os LLMs
Por Pumpkin Labs · pesquisa
pumpkinlabs.io
~12 min · jun 2026
A intuição em cinco esquemas · esquemático
Fig. 01–05
01.
Produto externo
vira rank 1
02.
Fast weight
o peso age
03.
SVD
amplifica σ
modelo extra necessário → 0 · um bom prompt já é um LoRA
S01 · E07
Pumpkin Explica, #7
(Um prompt é um LoRA em tempo de execução, e é por isso que um modelo pequeno bem instruído rende tanto)
Nota da editora: este post defende uma tese contraintuitiva: modelo maior nem sempre é melhor. Boa parte do trabalho de construir um agente está em saber quando um modelo pequeno, bem instruído, já dá conta. Os blocos de matemática estão marcados e podem ser pulados por quem só quer o argumento. Há um glossário no fim.
TL;DR

O instinto de jogar o modelo mais forte em todo problema é caro e muitas vezes errado. A maior parte dos passos de um agente é execução, não estratégia, e execução não precisa do modelo mais inteligente: precisa de um modelo que siga instruções com fidelidade. A boa notícia é que um modelo pequeno, bem instruído, rende muito mais do que parece, e tem um motivo concreto para isso. Um bom prompt age como uma atualização de pesos de baixo rank no modelo, no limite um LoRA de rank um, sem retreino e sem parâmetros extras. Este post prova essa equivalência com a matemática da atenção, explica por que o ajuste é de baixo rank, e por que só funciona em modelos treinados para obediência. É a conta que mostra por que o harness funciona.

Toda vez que o agente erra um passo, o reflexo é o mesmo: troca pelo modelo mais forte. É caro, e na maioria das vezes é a resposta errada. Porque a maior parte do que um agente faz não é pensar, é executar: extrair um campo, seguir um formato, aplicar uma regra. E execução não precisa do modelo mais inteligente, precisa de um que obedeça.

O instinto da indústria é resolver tudo com o modelo mais forte disponível. Mas a tese deste post é outra. Num agente, a maior parte dos passos é execução, não estratégia: extrair um campo, seguir um formato, aplicar uma regra, repassar uma decisão. Execução não exige um modelo que saiba elucubrar; exige um modelo que siga instruções com fidelidade. A habilidade que importa não é ter o maior modelo, é saber quando o menor já resolve. E um modelo pequeno, bem instruído, rende mais do que a intuição sugere.

Tem um motivo concreto para isso, e é o que a Pumpkin entende sobre harnessing. Quando você embrulha um modelo pequeno numa boa camada de instruções e estrutura (o harness), você não está só pedindo com jeitinho. Você está induzindo no modelo uma modificação de baixo rank nos pesos efetivos, a mesma coisa que um LoRA faz, só que em tempo de execução e sem tocar em nenhum parâmetro. É por isso que harnessing funciona, e a gente vai abrir essa conta por inteiro. O princípio se apoia em quatro afirmações, e cada uma tem matemática por trás:

  1. Um prompt é uma atualização de pesos em tempo de execução, não só texto que influencia.
  2. Essa atualização é de baixo rank, no limite um LoRA de rank um.
  3. Isso só funciona em modelos treinados para obediência, e dá para dizer exatamente o que esse treino faz.
  4. Logo, a competência de um modelo grande pode ser transferida para um pequeno via harness, em tempo de execução. Destilação online.

Vamos uma por uma.

01 — A conta

O problema econômico: por que "tudo no modelo de fronteira" não fecha

Antes da matemática, o porquê de a gente se importar. Modelos de fronteira custam, por token, ordens de magnitude mais que modelos pequenos. Um agente pode fazer em torno de dezenas a centenas de chamadas por tarefa. Se cada chamada usa o modelo mais caro, o custo explode, e a maior parte desse gasto vai para passos que um modelo pequeno faria igual, desde que bem instruído.

A divisão natural é uma cadeia: no topo, pouca chamada e muita cognição (planejar, decidir, dar a estrutura); na base, muita chamada e pouca cognição (executar a estrutura com fidelidade). O erro é usar cognição de topo na base. A oportunidade é fazer o topo, caro e raro, produzir a estrutura que a base, barata e frequente, executa.

Isso só é viável se a base conseguir, de fato, absorver a competência do topo via estrutura, sem que você precise treinar um modelo novo para cada tarefa. A pergunta é se isso é real ou se só um prompt bom ajuda. A resposta está nas próximas seções.

02 — Afirmação 1

Um prompt é uma atualização de pesos em tempo de execução

FIG. 02 · FAST WEIGHTO contexto constrói um peso na horaum termo por tokenW_fast·φ(q)=oo = W_fast · φ(q)essa matriz não estava nos pesos: o contexto a construiu na hora
0:00.00
0:24.00

Comece pelo bloco de self-attention, onde tudo acontece. Considere uma posição de query, com vetor qq (a projeção da entrada pela matriz WQW_Q). Cada token do contexto vira uma key kik_i e um value viv_i (projeções por WKW_K e WVW_V). Essas três matrizes de projeção são os slow weights: aprendidos no treino, fixos na inferência. A saída da atenção para essa query, que vamos chamar de oo, é uma soma ponderada dos values: cada value viv_i entra com um peso αi\alpha_i (o quanto a query presta atenção naquele token, sempre entre 0 e 1, e o conjunto soma 1), e dd é a dimensão dos vetores, que aparece só para manter a escala estável:

o=∑iαi vi,αi=exp⁡(q⊤ki/d)∑jexp⁡(q⊤kj/d)o = \sum_i \alpha_i\, v_i, \qquad \alpha_i = \frac{\exp(q^\top k_i/\sqrt{d})}{\sum_j \exp(q^\top k_j/\sqrt{d})}

Lendo a fórmula: oo é a saída, os αi\alpha_i são os pesos de atenção, e a soma percorre todos os tokens do contexto (o índice ii numera os tokens; o jj no denominador é o mesmo percurso, só para normalizar).

Agora separe o contexto em duas partes: o prefixo PP (a instrução, os exemplos, a skill, o que o harness coloca para ensinar o modelo na hora) e o conteúdo CC (o que você de fato quer que ele processe). A soma se parte:

o=∑i∈Pαivi⏟contribuic¸a˜o do prefixo  +  ∑i∈Cαivi⏟contribuic¸a˜o do conteuˊdoo = \underbrace{\sum_{i\in P} \alpha_i v_i}_{\text{contribuição do prefixo}} \;+\; \underbrace{\sum_{i\in C} \alpha_i v_i}_{\text{contribuição do conteúdo}}

(A notação i∈Pi \in P quer dizer "somando sobre os tokens que estão no prefixo"; i∈Ci \in C, sobre os que estão no conteúdo.) O prefixo não é um bloco à parte: ele entra na mesma conta da query, e a contribuição dele desloca a saída.

Bloco de matemática · pode pular

O passo decisivo é reescrever a atenção como uma matriz. Para isso, troca-se o softmax por uma versão linear: uma função ϕ\phi transforma a query e cada key antes do produto. Pense em ϕ\phi como o que ocupa o lugar da exponencial do softmax: em vez do peso exp⁡(q⊤ki/d)\exp(q^\top k_i/\sqrt{d}), o peso passa a ser simplesmente ϕ(q)⊤ϕ(ki)\phi(q)^\top\phi(k_i). Com essa troca, a saída vira:

o=∑i(ϕ(q)⊤ϕ(ki)) vi=(∑ivi ϕ(ki)⊤⏟Wfast) ϕ(q)=Wfast ϕ(q)o = \sum_i \big(\phi(q)^\top \phi(k_i)\big)\, v_i = \Big(\underbrace{\textstyle\sum_i v_i\,\phi(k_i)^\top}_{\displaystyle W_{\text{fast}}}\Big)\,\phi(q) = W_{\text{fast}}\,\phi(q)

Repare no que aconteceu: a saída é uma matriz WfastW_{\text{fast}} multiplicando a query. Essa matriz não estava nos pesos do modelo, ela foi construída pelo contexto, na hora. É o que a literatura chama de fast weight: um peso temporário, induzido pela entrada, por cima dos slow weights fixos. Cada token contribui com um termo vi ϕ(ki)⊤v_i\,\phi(k_i)^\top, que é um produto externo: uma matriz de rank 1, isto é, que aponta numa única direção (o rank de uma matriz é o número de direções independentes que ela ocupa).

FIG. 01 · PRODUTO EXTERNOUm produto externo tem posto 1kᵀ0.60.90.40.70.50.8v0.90.40.70.30.80.5Mᵢⱼ = vᵢ · kⱼtoda linha é a mesma kᵀ reescalada → posto 1
0:00.00
0:26.00

A conclusão da afirmação 1: o prompt não muda os pesos do modelo, mas produz, na saída, o efeito de uma matriz extra agindo sobre a query. Dar um prefixo é, matematicamente, somar um WfastW_{\text{fast}} aos pesos efetivos. É por isso que in-context learning também se chama fast learning: o modelo se adapta na hora, sem passo de gradiente, sem retreino. A adaptação vive no contexto e equivale a um delta de peso.

Um prompt não é texto que influencia o modelo. É uma matriz que o contexto constrói e soma aos pesos efetivos, em tempo de execução. Some o contexto, some a matriz.

03 — Afirmação 2

A atualização é de baixo rank, no limite um LoRA de rank um

FIG. 04 · RANKPosto baixo é um esmagamentoespaço cheioposto altouma direçãoposto 1o delta do prefixo vive num punhado de direções
0:00.00
0:22.00

Daqui em diante, ΔW\Delta W ("delta W") é o ajuste que o contexto soma aos pesos efetivos: o símbolo Δ\Delta é a notação usual para "a variação", a diferença entre os pesos com e sem o prefixo. O que vem a seguir mostra que esse ΔW\Delta W tem rank baixo.

A matriz WfastW_{\text{fast}} não é qualquer matriz: ela é uma soma de produtos externos, um por token. E vale uma regra simples: a soma de nn matrizes de rank 1 tem rank no máximo nn. Separe de novo o prefixo do conteúdo:

Wfast=∑i∈Pvi ϕ(ki)⊤⏟ΔWprefixo,    rank ≤ ∣P∣  +  ∑i∈Cvi ϕ(ki)⊤W_{\text{fast}} = \underbrace{\sum_{i\in P} v_i\,\phi(k_i)^\top}_{\Delta W_{\text{prefixo}},\;\; \mathrm{rank}\,\le\,|P|} \;+\; \sum_{i\in C} v_i\,\phi(k_i)^\top

O prefixo induz um ΔWprefixo\Delta W_{\text{prefixo}} cujo rank é, no máximo, ∣P∣|P| (as barras significam "a quantidade de tokens em PP"), ou seja, limitado pelo número de tokens do prefixo. Um prefixo curto, ou um prefixo cujas direções se concentram (que é o que um bom harness produz), gera um delta de rank baixo.

FIG. 05 · ACÚMULOO rank cresce com os tokens, e travat₁t₂t₃t₄t₅t6t7t8t9ranktokens do prefixo →rank ≤ nº de tokens; direções que se repetem não somam rank → o harness mantém baixo
0:00.00
0:20.00

No limite de uma única direção dominante, o delta colapsa num só produto externo:

ΔWprefixo=vp ϕ(kp)⊤=b a⊤\Delta W_{\text{prefixo}} = v_p\,\phi(k_p)^\top = b\,a^\top

Compare com o LoRA. O LoRA grava nos pesos um ajuste ΔW=BA\Delta W = BA, com B∈Rd×rB\in\mathbb{R}^{d\times r} e A∈Rr×dA\in\mathbb{R}^{r\times d}, de rank no máximo rr. No caso mínimo, r=1r=1:

W′=W+b a⊤W' = W + b\,a^\top

São a mesma forma. O fast weight do prefixo, vp ϕ(kp)⊤v_p\,\phi(k_p)^\top, é estruturalmente idêntico a um LoRA de rank um, b a⊤b\,a^\top, com b=vpb = v_p e a=ϕ(kp)a = \phi(k_p). A diferença é só o lugar do delta: o LoRA grava nos pesos (permanente, slow); o prompt induz nas ativações (passageiro, fast). Mesmo subespaço, permanências diferentes.

E por que importa na prática? Porque o modelo pequeno já expõe, pela própria atenção, uma porta de baixo rank onde o contexto escreve. Você não precisa retreinar nada para instalar um comportamento, a estrutura do transformer já oferece o encaixe. O harness é o que escreve nesse encaixe.

Nota: atenção linear vs. softmax. A identidade o=Wfast ϕ(q)o = W_{\text{fast}}\,\phi(q) é exata para atenção linear. No softmax real, a normalização (o denominador da αi\alpha_i) acopla os termos, então o delta de peso não fatora de forma perfeitamente limpa: ele é uma aproximação, válida na vizinhança de operação, não uma igualdade fechada. O que sobrevive ao softmax é o essencial: o contexto induz uma modificação dependente da entrada, e o rank dela é limitado pelo número de tokens do prefixo. A afirmação forte (é um LoRA) é uma idealização; a afirmação robusta (é uma atualização de baixo rank induzida pelo contexto) se segura no modelo real.

04 — Afirmação 3

Por que só funciona em modelos obedientes: a história dos valores singulares

FIG. 03 · SVDObediência é ganho alto numa direçãoσ₁= 1.0modelo cruo empurrão some no ruídoo instruction tuning estica σ ao longo da direção de controle
0:00.00
0:22.00

Se o prompt instala um delta de baixo rank, por que ele funciona em uns modelos e em outros não? Por que escrever "seja direto" num modelo bem treinado o deixa direto, e num modelo cru não muda quase nada? A resposta está na SVD (decomposição em valores singulares), que fatora qualquer matriz nas suas direções mais importantes. Aplicada ao delta induzido:

ΔW=∑k=1rσk uk wk⊤,σ1≥σ2≥⋯≥0\Delta W = \sum_{k=1}^{r} \sigma_k\, u_k\, w_k^\top, \qquad \sigma_1 \ge \sigma_2 \ge \cdots \ge 0

Cada termo da soma é uma direção de controle. Os vetores singulares uku_k e wkw_k formam um par de direções (uma de entrada, uma de saída) que diz para que lado o delta empurra; o valor singular σk\sigma_k associado diz com que força. Quanto maior o σk\sigma_k, mais aquela direção desloca a saída: o deslocamento ao longo de uku_k é proporcional a σk\sigma_k.

O ponto é o seguinte. Num modelo pouco treinado para obediência, os valores singulares ao longo das direções de controle são fracos: o prefixo empurra, mas σk\sigma_k é pequeno, e o deslocamento some no ruído. O modelo não obedece, não porque ignore o prompt, mas porque o canal de controle tem ganho baixo. O que o instruction tuning faz (datasets de instrução, RLHF) é amplificar esses valores singulares. Ele reformata a atenção para que, quando um contexto relevante chega, o σk\sigma_k correspondente seja grande, e o deslocamento aconteça de verdade.

Em uma frase: um modelo obediente é um modelo cujas direções de controle foram treinadas para ter valores singulares fortes. É a história da low-rank representation, e é função de compressão: o modelo aprende a concentrar a dirigibilidade em poucas direções de ganho alto, em vez de espalhá-la inutilmente por milhares de eixos. Consequência prática direta: você não escolhe qualquer modelo pequeno para a base. Você escolhe um modelo instruction-tuned, justamente porque ele foi treinado para ser um bom receptor do LoRA que o harness instala. Obediência, aqui, é ganho alto no canal de baixo rank.

05 — Afirmação 4

Competência transferida via harness: destilação online

Junte as três afirmações. Um prompt é uma atualização de pesos (1), de baixo rank (2), que um modelo obediente recebe com ganho alto (3). Agora pense em quem escreve esse prompt. Quando o harness que embrulha o modelo pequeno carrega a competência de um modelo maior, seja porque um modelo maior o escreveu, seja porque foi destilado de exemplos dele, é essa competência que define qual delta de baixo rank o modelo pequeno passa a rodar a cada chamada. O modelo pequeno roda esse delta sem nunca ter sido treinado, sem um passo de gradiente, sem um parâmetro a mais. A inteligência do modelo grande chega ao comportamento do pequeno pela estrutura, não pelos pesos.

Há uma evidência prática de que esse delta é uma coisa concreta: os steering vectors. Você roda o modelo com e sem uma instrução, subtrai as ativações, tira a média, e fica com um vetor direção. Depois soma esse vetor direto numa camada, sem repetir o prompt, e o modelo se comporta como se tivesse recebido a instrução. O steering vector é o delta do prompt isolado e descolado do texto: a prova de que o efeito é um vetor de baixo rank que dá para extrair e reaplicar. É o intermediário entre o prompt (fast, nas ativações) e o LoRA (slow, nos pesos).

Isso é destilação, transferir a competência de um modelo grande para um pequeno, mas de um tipo específico. Vale separar dos dois sabores. A destilação clássica treina um modelo-aluno pequeno com as saídas de um professor grande, e a competência fica gravada nos pesos do aluno: é offline, custa um treino, e o resultado é estático. A destilação online injeta a competência em tempo de execução, como fast weight, e ela muda a cada contexto: nada fica gravado nos pesos do modelo pequeno, você troca o harness e troca o comportamento, na hora. É mais barata (sem treino), mais flexível (muda por chamada) e compõe (vários deltas de baixo rank coexistem no mesmo subespaço).

De onde essa competência vem, como ela é produzida e como ela é mantida ao longo de uma tarefa é, de novo, a parte que depende do caso. O princípio é que ela cabe num delta de baixo rank que o modelo pequeno sabe receber. O resto é craft.

06 — A Pumpkin

Onde a Pumpkin entra

A gente focou no prompt porque é onde a matemática fica mais limpa: o prompt é a parte do harness que se lê, com clareza, como um delta de baixo rank. Mas o prompt é só uma das partes. Um harness não é um prompt bem escrito, é o aparato inteiro em volta do modelo, e ele tem várias peças. Um modelo é probabilístico; um sistema precisa ser confiável; o harness é o que faz a ponte, cercando o miolo probabilístico de estrutura determinística.

Uma coisa o princípio deixa clara: modelo maior nem sempre é melhor. Em parte porque um modelo maior continua sendo um núcleo probabilístico, e boa parte da confiabilidade que você precisa vem das peças determinísticas do harness, que modelo nenhum substitui. Tem casos em que a resposta é o modelo de fronteira. Tem muito mais casos em que não é, e é aí que o harness compensa.

Na Pumpkin a gente monta as peças do harness em torno do seu caso: o que o modelo precisa ver, quais instruções instalam o delta certo, onde os checkpoints determinísticos seguram o erro, como o fluxo roteia entre um modelo pequeno e um grande, e como medir tudo isso em produção. O resultado é um agente confiável e escalável: confiável porque o miolo probabilístico vem cercado de estrutura determinística, escalável porque a maior parte do trabalho roda em modelos pequenos com um bom harness, cujo preço é estável. Saber que um prompt é um LoRA é o ponto de partida. Fazer isso virar um sistema que aguenta o mundo real é o que a gente entrega.

O que está provado e o que é interpretação

Formalizado. A identidade fast weight (a saída da atenção como uma matriz construída por soma de produtos externos) é exata para atenção linear (Schlag, Irie e Schmidhuber, 2021); o limite de rank pelo número de tokens é álgebra linear; a forma do LoRA e a SVD são definições.

Robusto (suporte empírico e teórico). Que o contexto induz uma atualização de baixo rank dependente da entrada também no softmax, sustentado indiretamente por in-context learning como otimização implícita (von Oswald et al., 2023; Akyürek et al., 2022) e pela dimensão intrínseca baixa do fine-tuning (Aghajanyan et al., 2020). Os steering vectors (Turner et al., 2023; Rimsky et al., 2023) são a evidência prática de que o delta do prompt é uma direção extraível e reaplicável.

Interpretação (consistente, não um teorema fechado). Que o instruction tuning amplifica os valores singulares das direções de controle. É a leitura mecanística do que torna modelos dirigíveis, coerente com a low-rank representation, apresentada como modelo mental, não como resultado provado em forma fechada.

FAQ · Perguntas frequentes

Um modelo maior é sempre melhor para um agente?

Não. Num agente, a maior parte dos passos é execução, não estratégia: extrair um campo, seguir um formato, aplicar uma regra. Execução não exige o modelo mais inteligente, exige um que siga instruções com fidelidade. Um modelo pequeno bem instruído resolve a maioria desses passos com qualidade igual e custo muito menor. A habilidade que importa não é ter o maior modelo, é saber quando o menor já basta.

Por que um prompt funciona como uma atualização de pesos?

Na atenção, a saída para uma query é uma soma ponderada dos values do contexto. Reagrupando essa soma (exata na atenção linear), ela vira uma matriz multiplicando a query: o = W_fast · φ(q). Essa matriz, o fast weight, não estava nos pesos do modelo, foi construída pelo contexto na hora. Dar um prefixo equivale, matematicamente, a somar um W_fast aos pesos efetivos, sem nenhum passo de gradiente e sem tocar em parâmetro nenhum.

O que significa dizer que o efeito de um prompt é de baixo rank?

O fast weight é uma soma de produtos externos, um por token do prefixo, e cada produto externo é uma matriz de rank 1. A soma de n matrizes de rank 1 tem rank no máximo n, então um prefixo curto, ou um prefixo cujas direções se concentram, gera um delta de rank baixo. No limite de uma direção dominante, o delta tem a forma b·aᵀ, estruturalmente idêntica a um LoRA de rank um.

Por que o efeito do prompt só funciona em modelos obedientes?

A SVD do delta induzido tem valores singulares que medem a força de cada direção de controle. Num modelo pouco treinado para obediência, esses valores são fracos: o prefixo empurra, mas o deslocamento some no ruído. O instruction tuning (datasets de instrução, RLHF) amplifica os valores singulares das direções de controle, fazendo o deslocamento acontecer de verdade. Um modelo obediente é um modelo cujas direções de controle têm valores singulares fortes.

O que é destilação online?

É transferir a competência de um modelo grande para um pequeno em tempo de execução, via harness, como fast weight, sem retreino e sem parâmetros extras. A destilação clássica treina um aluno pequeno com as saídas de um professor grande e grava a competência nos pesos do aluno (offline, estática). A destilação online injeta a competência por chamada: nada fica gravado, você troca o harness e troca o comportamento na hora. É mais barata, mais flexível e compõe.

Quando ainda vale usar o modelo de fronteira?

Nos passos de topo da cadeia: pouca chamada e muita cognição, como planejar, decidir e produzir a estrutura que a base vai executar. O erro é usar cognição de topo na base, onde há muita chamada e pouca cognição. A oportunidade é fazer o topo, caro e raro, produzir a estrutura que a base, barata e frequente, executa com fidelidade num modelo pequeno.
Glossário rápido
Slow weights
Os parâmetros que o modelo aprendeu no treino. Fixos na inferência, iguais para qualquer entrada. É o que o modelo sabe.
Fast weight
A matriz que o contexto constrói na hora, Wfast=∑iviϕ(ki)⊤W_{\text{fast}} = \sum_i v_i\phi(k_i)^\top, e que age sobre a query como se fosse um peso extra. Temporária: some quando a chamada acaba.
Prefixo
A parte do contexto que ensina o modelo na hora (instrução, exemplos, skill), separada do conteúdo que você quer processar. Induz o ΔWprefixo\Delta W_{\text{prefixo}}.
Baixo rank
Propriedade de uma matriz que ocupa poucas direções independentes. A soma de nn produtos externos tem rank ≤n\le n, então um prefixo curto gera um delta de rank baixo.
LoRA e LoRA de rank um
Ajuste aditivo ΔW=BA\Delta W = BA de rank rr; no caso mínimo, ΔW=b a⊤\Delta W = b\,a^\top. Mesma forma do fast weight de um prefixo concentrado.
SVD e valor singular
Fatoração ΔW=∑kσkukwk⊤\Delta W = \sum_k \sigma_k u_k w_k^\top. Os σk\sigma_k medem a força de cada direção de controle. O instruction tuning amplifica os σk\sigma_k das direções úteis.
Steering vector
Vetor extraído do delta que um prefixo produz nas ativações, reaplicável sem o texto original. A evidência prática de que o efeito é uma direção de baixo rank concreta.
Harness
A camada de prompting estruturado que embrulha o modelo. Quando carrega a competência de um modelo maior, induz no menor um delta de baixo rank, um LoRA em tempo de execução.
Destilação online
Transferir competência de um modelo grande para um pequeno em tempo de execução, via harness, como fast weight, sem retreino e sem pesos extras. Oposto da destilação clássica, que grava nos pesos do aluno.
Referências
  • Schlag, Irie e Schmidhuber. Linear Transformers Are Secretly Fast Weight Programmers. ICML, 2021. (a identidade fast weight)
  • Hu et al. LoRA: Low-Rank Adaptation of Large Language Models. ICLR, 2022. (o delta de baixo rank explícito nos pesos)
  • Aghajanyan, Zettlemoyer e Gupta. Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning. ACL, 2020. (fine-tuning vive em dimensão baixa)
  • von Oswald et al. Transformers Learn In-Context by Gradient Descent. ICML, 2023. (in-context learning como otimização implícita)
  • Akyürek et al. What Learning Algorithm Is In-Context Learning?. ICLR, 2022. (ICL implementando regressão e atualização)
  • Li e Liang. Prefix-Tuning: Optimizing Continuous Prompts for Generation. ACL, 2021. (o prefixo como parâmetro de baixo custo)
  • Turner et al. Activation Addition: Steering Language Models Without Optimization. 2023. (steering vectors)
  • Rimsky et al. Steering Llama 2 via Contrastive Activation Addition. 2023. (extração e reaplicação de direções de controle)
  • Ba et al. (2016); Schmidhuber (1992). (origem da ideia de fast weights)
Modelo maior nem sempre é melhor. A maior parte do trabalho de um agente é execução, e execução cabe num delta de baixo rank que um modelo pequeno e obediente sabe receber, o mesmo encaixe que um LoRA usa, só que induzido pelo contexto em tempo de execução. Saber que um prompt é um LoRA é o ponto de partida; transformar isso num sistema que aguenta produção é o trabalho de harness que a Pumpkin entrega.

Gostou do conteúdo?

Entre em contato conosco para descobrir como implementar essas soluções na sua empresa.