Ai-assistida de codificação e engenharia rápida llm
Introdução
Este repositório fornece recursos e demos relacionados à codificação assistida por AI, aos modelos de grandes idiomas autorregressivos (LLMS) e técnicas avançadas de engenharia.
Tópicos abordados:
- Codificação assistida por AI
- Modelos de idiomas grandes autoregressivos (LLMS)
- Engenharia rápida 201
Codificação assistida por AI
O repositório contém um notebook Jupyter ( AI_ASSISTED_CODING.ipynb ) demonstrando técnicas de codificação AI-assistida usando modelos de idiomas.
Modelos de idiomas autoregressivos
Os LLMs autoregressivos prevêem a próxima palavra com base no texto de entrada e operam como kernels de probabilidade.
Conceitos -chave:
- Previsão da próxima palavra: Dado um prefixo, o modelo gera a próxima palavra mais provável.
- Natureza estocástica: uma dada entrada pode produzir diferentes saídas amostradas a partir de distribuições de probabilidade, o que pode resultar em inconsistências ou alucinações.
- Cálculos de probabilidade: Os modelos de idiomas atribuem probabilidades a seqüências de palavras com base em observações anteriores.
Tipos de grandes modelos de linguagem:
- Base LLM (pré-treinado): treinado em grandes corpora de texto para prever a próxima palavra em uma frase.
- LLM ajustado para instrução (ajustado fino): Otimizado para seguir as instruções e melhorar a precisão da resposta usando técnicas como:
- Ajuste fino supervisionado (SFT)
- Aprendizagem de reforço com feedback humano (RLHF)
- Otimização de preferência direta (DPO)
Amostragem e parâmetros
Parâmetros -chave que controlam saídas do modelo:
- Temperatura: controla a aleatoriedade (valores mais altos = mais criatividade, valores mais baixos = respostas mais determinísticas).
- Top-P (amostragem de núcleo): limita a seleção do token ao subconjunto mais provável.
- LogProbs: Logs Probabilize as pontuações para análise de depuração e confiança.
- Penalidades:
- Pena de frequência: reduz a repetição de palavras frequentes.
- Penalidade de presença: incentiva diversos resultados, evitando frases repetidas.
- Tokens máximos: limita o comprimento da resposta.
- Sequências de parada: define sequências de token que interrompem a geração de texto.
- n & best_of: controla o número de conclusões geradas.
Engenharia rápida 201
O repositório inclui um notebook Jupyter ( PROMPT_ENGINEERING.ipynb ) demonstrando técnicas de otimização imediata para o LLMS.
Tópicos principais:
- Compreendendo o comportamento do modelo: avisos de ajuste fino para alcançar respostas desejadas.
- Controlando a criatividade e precisão: ajustando parâmetros para saídas estruturadas, coerentes e relevantes.
- Respostas do modelo de depuração: usando probabilidades de log para refinar os avisos.
Demonstração e uso
Para explorar os conceitos, execute os notebooks Jupyter fornecidos:
-
AI_ASSISTED_CODING.ipynb -demonstrações de codificação assistidas por AI. -
PROMPT_ENGINEERING.ipynb - Estratégias avançadas de engenharia rápidas.
Referências
- Deeplearning.ai - Chatgpt Prompt de engenharia
- Stanford NLP (CS224N)
- Pesquisa de engenharia da IA
Para contribuições, abra uma solicitação de tração ou crie um problema neste repositório. Codificação feliz!