GPT-3
GPT-3 é o modelo de linguagem da OpenAI com 175 bilhões de parâmetros, lançado em 2020, que aprendeu tarefas com exemplos no prompt e abriu caminho para o ChatGPT.
GPT-3 (Transformador pré-treinado generativo 3) é um modelo de linguagem de grande porte (LLM) com 175 bilhões de parâmetros, descrito pela OpenAI em maio de 2020 no artigo Modelos de linguagem são aprendizes few-shot. Era mais de 100 vezes maior que seu antecessor GPT-2, e seu principal resultado foi o aprendizado em contexto: diante da descrição de uma tarefa e de alguns exemplos no prompt, o mesmo modelo congelado podia traduzir, responder a perguntas ou fazer cálculos sem nenhum ajuste fino. A OpenAI nunca lançou os pesos e ofereceu o GPT-3 somente por meio de sua API, lançada em junho de 2020. Descendentes do GPT-3 ajustados por instruções se tornaram os modelos GPT-3.5 por trás do ChatGPT, que tornou a família GPT conhecida do grande público no fim de 2022.
Arquitetura e treinamento#
O GPT-3 é um Transformer com arquitetura exclusivamente decodificadora, baseada no mesmo projeto do GPT-2, mas em escala maior. O maior modelo tem 96 camadas, largura de 12.288, 96 cabeças de atenção com 128 dimensões cada e uma janela de contexto de 2.048 tokens; suas camadas alternam entre atenção densa e atenção esparsa com bandas locais. Ele reutiliza a tokenização BPE em nível de byte do GPT-2, com um vocabulário de 50.257 tokens. O artigo treinou oito modelos, com tamanhos que variavam de 125 milhões a 175 bilhões de parâmetros, cada um treinado com 300 bilhões de tokens provenientes do Common Crawl filtrado (60% da mistura de treinamento), do WebText2 (22%), de dois corpora de livros (8% cada) e da Wikipédia em inglês (3%), usando GPUs V100 em um cluster fornecido pela Microsoft. Esses hiperparâmetros explicam o tamanho do modelo e o custo do treinamento:
# GPT-3 175B: layers, width, and context from the paper's Table 2.1, plus GPT-2's vocabulary
n_layers, d_model, vocab_size, context = 96, 12288, 50257, 2048
# Each decoder block holds 4 * d^2 attention weights and 8 * d^2 feed-forward weights (4x hidden width)
blocks = n_layers * 12 * d_model**2
embeddings = (vocab_size + context) * d_model # token and learned position embeddings
params = blocks + embeddings
print(f"Parameters: {params / 1e9:.1f} billion ({blocks / params:.1%} in the decoder blocks)")
# Training compute: about 6 FLOPs per parameter per token, over 300 billion training tokens
flops = 6 * params * 300e9
print(f"Training compute: {flops:.2e} FLOPs = {flops / (1e15 * 86400):,.0f} petaflop/s-days")O código exibe 174.6 bilhões de parâmetros, 99.6% deles nos blocos decodificadores, e 3.14e+23 FLOPs, ou 3,637 petaflop/s-dias, correspondendo aos 174,600 milhões de parâmetros e 3.14e+23 FLOPs listados no apêndice do artigo.
Aprendizado few-shot e em contexto#
O artigo avaliou três configurações de prompt. Zero-shot apresenta apenas uma instrução, one-shot acrescenta um único exemplo resolvido e few-shot acrescenta tantos exemplos quantos couberem na janela de contexto, normalmente de 10 a 100. O desempenho aumentou tanto com o tamanho do modelo quanto com o número de exemplos: no benchmark de resposta a perguntas TriviaQA, o modelo com 175 bilhões de parâmetros obteve 64.3% em zero-shot, 68.0% em one-shot e 71.2% em few-shot; este último resultado superou sistemas ajustados no mesmo cenário de resposta sem consulta a fontes externas. Os prompts few-shot tornaram a engenharia de prompts uma forma padrão de usar LLMs, e os resultados apoiaram a perspectiva das leis de escala, segundo a qual modelos maiores aprendem mais com o contexto. A mesma ideia de usar prompts em vez de retreinar chega à deteção de objetos no YOLOE-26, cujos prompts visuais usam caixas desenhadas ao redor de exemplos em uma imagem de referência para definir uma classe que o modelo então encontra em novas imagens, sem atualizar os pesos.
Do GPT-3 ao ChatGPT#
A Microsoft recebeu uma licença exclusiva do modelo subjacente do GPT-3 em setembro de 2020, e o Codex da OpenAI, um descendente do GPT-3 ajustado com código público, deu suporte à primeira versão do GitHub Copilot em 2021. O GPT-3 básico continuava bem os textos, mas seguia instruções mal, então a OpenAI aplicou ajuste por instruções e aprendizado por reforço com feedback humano (RLHF). Os avaliadores preferiram as saídas do modelo InstructGPT, com 1.3 bilhão de parâmetros, às do GPT-3, com 175 bilhões. Essa linha levou ao GPT-3.5 e ao ChatGPT em novembro de 2022 e, em seguida, ao GPT-4 multimodal em março de 2023. O OPT-175B da Meta e o BLOOM da BigScience reproduziram modelos na escala do GPT-3 com pesos abertos em 2022.
GPT-3 e modelos relacionados#
- GPT-2: O antecessor de 2019, com 1.5 bilhão de parâmetros, a mesma arquitetura e o mesmo tokenizador, mas cerca de um centésimo do tamanho e com contexto de 1,024 tokens.
- GPT-4: O sucessor de 2023, que aceita imagens além de texto e segue instruções com muito mais confiabilidade após o pós-treino.
- BERT: O modelo de 2018 do Google, somente codificador, que lê texto nas duas direções e é adequado para tarefas de classificação e extração.
Limitações#
O próprio artigo sobre GPT-3 enumera muitas das limitações do modelo. Ele se repete, perde a coerência em trechos longos e comete erros básicos de senso comum físico; assim como LLMs posteriores, apresenta fatos falsos com confiança, fenômeno agora chamado de alucinações. Os autores mediram vieses de gênero, raça e religião nas conclusões geradas e descobriram que alguns conjuntos de teste de benchmarks haviam vazado para os dados de treino da Web. Também era difícil distinguir a geração de texto do modelo da escrita humana: avaliadores identificaram artigos de notícias de 200 palavras escritos pelo modelo de 175 bilhões de parâmetros apenas 52% das vezes. A OpenAI desativou os modelos de API originais ada, babbage, curie e davinci em 4 de janeiro de 2024, substituindo-os por babbage-002 e davinci-002.










