HeadlinesBriefing favicon HeadlinesBriefing.com

Modelo tipo Jev de engenharia reversa: pontuação de opções

Hacker News •
×

Treine um modelo pequeno que escolhe entre uma lista variável de opções de texto. Um modelo tipo Jev recebe um trecho de texto e uma lista de N opções de texto. Ele retorna uma probabilidade para cada opção em uma única passada, em vez de escrever uma resposta palavra por palavra. Jev é o modelo comercial da Type Safe para esta tarefa, mas a Type Safe não publicou seu design. Este repositório é um modelo iniciador independente com a mesma forma de entrada e saída.

A mesma cabeça de atenção de opções pode pontuar botões de controle a partir de patches de imagem. Um filme de dez segundos une duas janelas selecionadas de cinco segundos: combate letal ao vivo de deadly_corridor nos sete botões do Doom, depois um controle de xadrez caminhando até as jogadas e jogando-as com cinco teclas. A janela do Doom veio do checkpoint conjunto fornecido, que teve média de 0,60 abates e -97,50 de recompensa em seus dez episódios registrados. A janela de xadrez veio do checkpoint mais forte apenas de xadrez, que obteve 4 vitórias, 46 empates e 0 derrotas em 50 partidas amostradas contra um jogador aleatório, mas 0 vitórias, 2 empates e 48 derrotas contra o Stockfish nível 0. As janelas foram selecionadas por atividade e não são alegações de jogo típico ou competência.

Instale os extras de jogos e grave um novo traço de Doom 640 por 480 a partir do checkpoint conjunto lançado: uv pip install -e '.[games]' python examples/doom/play.py examples/checkpoints/joint-imitation.pt --episodes 10 --game-seconds 35.3 --device cpu --capture-resolution 640x480 --output runs/doom.mp4 --trace runs/doom-trace.json Renderize o traço no mesmo layout visual. Isso grava um filme silencioso porque a fonte de trilha sonora de propriedade do autor não faz parte do repositório. (cd examples/film && npm install && npx playwright install chromium) examples/film/make-film.sh runs/doom-trace.json runs/doom-film.mp4 10

O lançamento inclui o exemplo de Doom, o exemplo de xadrez, os checkpoints de jogo único e o checkpoint compartilhado de 12 opções. Ambos os jogos importam o pontuador visual de jevlike.vision; não há uma segunda cópia do modelo em nenhum dos exemplos. Arquitetura Cada opção se torna um vetor de consulta, uma curta lista de números que representa seu texto. A consulta atribui pesos de atenção aos tokens de contexto. Esses pesos formam um vetor de contexto para essa opção. Um produto escalar compartilhado transforma cada par de opção e contexto em uma pontuação. Um softmax é executado entre as opções. O codificador padrão aprende embeddings de bytes do zero. O caminho opcional do Hugging Face usa um codificador pré-treinado congelado. Formato de dados Use um objeto JSON por linha: {"context":"The customer needs a refund.","options":["refund","sales","technical support"],"label":0} label é o índice baseado em zero da opção correta. Cada linha pode ter um número diferente de opções, com um mínimo de duas. Início rápido Execute estes comandos a partir da raiz do repositório: uv venv source .venv/bin/activate uv pip install -e '.[dev]' jevlike-data synthetic --output data/synthetic jevlike-train data/synthetic/train.jsonl --validation data/synthetic/validation.jsonl --output runs/synthetic.pt jevlike-eval runs/synthetic.pt data/synthetic/test.jsonl jevlike-predict runs/synthetic.pt --context "Choose the exact badge amber badger. Badge: amber badger." --option "azure crane" --option "amber badger" --option "gold heron" A avaliação imprime a precisão top-1, a precisão top-3, o erro de calibração esperado e um controle de contexto embaralhado. Use seus próprios dados: Exporte arquivos JSONL de treino, validação e teste no formato acima.

Entidades principais: Empresas: Type Safe