Reverse-engineered Jev-like model
Recorded: Sept. 17, 2026, 12:28 a.m.
| Original | Summarized |
GitHub - vinnylarouge/jevlike · GitHub Skip to content Navigation MenuSign inAppearance settingsPlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub Copilot appDirect agents from issue to mergeMCP RegistryIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesCode QualityEnforce quality at mergeAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricingSearch/Sign inSign upAppearance settings You signed in with another tab or window. Reload to refresh your session. Dismiss alert vinnylarouge jevlike Public
Notifications
Fork
Star Code Issues Pull requests Actions Projects Security and quality Insights
Additional navigation options
Code Issues Pull requests Actions Projects Security and quality Insights
mainBranchesTagsGo to fileCodeOpen more actions menuLatest commit History3 Commits3 CommitsFolders and filesNameNameLast commit messageLast commit datedocsdocs examplesexamples jevlikejevlike scriptsscripts teststests .gitignore.gitignore AGENTS.mdAGENTS.md LICENSELICENSE README.mdREADME.md pyproject.tomlpyproject.toml View all filesRepository files navigationREADMEMIT licenseMore itemsJevlike Install the game extras and record a fresh 640 by 480 Doom trace from the released joint checkpoint: The default encoder learns byte embeddings from scratch. An encoder is the part that turns text into vectors. The optional Hugging Face path uses a frozen pretrained encoder, whose existing weights stay fixed while the small scorer learns. jevlike-data synthetic --output data/synthetic Export train, validation and test JSONL files in the format above. The default byte encoder truncates context to 192 bytes and each option to 32 bytes. Raise --context-tokens or --option-tokens when your text needs more room. Training supports CPU, Apple MPS for a Mac GPU, and CUDA for an NVIDIA GPU through --device. This is a research starter, not a copy of Jev. Licence Footer © 2026 GitHub, Inc. Footer navigation Terms Privacy Security Status Community Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. |
The jevlike repository presents an independent starter model designed to train a small model capable of selecting among a changing list of text options, drawing inspiration from TypeSafe's commercial Jev model, although the specific design of Jev is not published. The model utilizes a one-pass scoring mechanism, which processes a piece of text and a list of text options simultaneously to return a probability distribution for each option rather than generating an answer word by word. Architecturally, each option is represented as a query vector, a short numerical list encoding its text. This query vector assigns attention weights across the context tokens, which in turn derive a context vector for that specific option. A shared dot product then calculates a score for each option against the context. Finally, a softmax function converts these scores into probabilities that sum to one across all available options. The system incorporates an encoder component responsible for transforming text into these numerical vectors. The default implementation learns byte embeddings from scratch during training. Alternatively, the implementation allows for the use of a frozen pretrained encoder from the Hugging Face library, where the weights remain fixed while the small scorer head learns the necessary scoring mechanism. The data format for training involves structuring input as JSON objects, with each line representing a context, a list of options, and a label indicating the zero-based index of the correct option. This data can be used for synthetic data generation, where synthetic examples are created and used to train, validate, and evaluate the model. The quickstart process involves generating synthetic data, training the model, evaluating it, and demonstrating prediction on new contexts. When using external datasets, such as the Wikispeedia next-click data, the process involves downloading the data, constructing JSONL files, and training the model on these splits. Performance evaluations focus on metrics like top-1 accuracy, which measures the fraction of correct first choices, and top-3 accuracy, which measures the fraction with the correct answer among the three highest-scoring options. The evaluation process also includes a shuffled-context control to measure the model's ability to distinguish relevant contexts. Experimental results indicate that the one-pass scorer achieved approximately ninety-eight percent accuracy on synthetic menus. When tested against target-disjoint Wikispeedia next-click data using a frozen Qwen2.5-0.5B encoder, the model reached twenty-six percent accuracy, compared to approximately eight percent for controls using shuffled contexts or random encoders. Furthermore, a small model trained from scratch on forty thousand clicks achieved twenty-nine percent accuracy. The framework also demonstrates significant speed advantages, noting that one-pass scoring is about one hundred times faster than a small decoder forced to generate four hundred tokens. Limitations associated with this research starter include the dependency of accuracy on the quality of the training and validation splits, the choice of the encoder, and the quality of the data itself. The byte encoder is computationally inexpensive but lacks semantic understanding of language. When utilizing a pretrained encoder, the model requires access to that large model, which necessitates additional memory. Additionally, the one-pass scoring method requires the complete set of options to be available before making a prediction. The comparison speed also used a smaller local decoder rather than a large commercial model. The code is released under the MIT License, with the datasets and pretrained models retaining their separate terms. |