{"id":23828763,"url":"https://github.com/ssoudan/nanogptrs","last_synced_at":"2025-09-07T10:32:35.186Z","repository":{"id":157410404,"uuid":"620459270","full_name":"ssoudan/nanogptrs","owner":"ssoudan","description":"Rust implementation of a simple language model.","archived":false,"fork":false,"pushed_at":"2025-03-11T06:45:29.000Z","size":1112,"stargazers_count":16,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-07T23:41:25.169Z","etag":null,"topics":["language-model","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ssoudan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-28T18:13:25.000Z","updated_at":"2025-03-29T21:33:25.000Z","dependencies_parsed_at":"2023-12-05T08:26:08.259Z","dependency_job_id":"2d1ee932-66fb-400f-a245-d5a802acfef9","html_url":"https://github.com/ssoudan/nanogptrs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ssoudan/nanogptrs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssoudan%2Fnanogptrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssoudan%2Fnanogptrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssoudan%2Fnanogptrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssoudan%2Fnanogptrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssoudan","download_url":"https://codeload.github.com/ssoudan/nanogptrs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssoudan%2Fnanogptrs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274026690,"owners_count":25209739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["language-model","rust"],"created_at":"2025-01-02T13:36:37.849Z","updated_at":"2025-09-07T10:32:34.862Z","avatar_url":"https://github.com/ssoudan.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nanoGPT(rs)\n\nThis is a Rust implementation of the nanoGPT model from Andrej Karpathy's YT\nvideo: https://www.youtube.com/watch?v=kCc8FmEb1nY\u0026t=12s\n\nWith some help from: https://github.com/LaurentMazare/tch-rs/blob/main/examples/min-gpt/main.rs and\nhttps://github.com/karpathy/nanoGPT/blob/master/model.py.\n\n# Setup\n\nCreate micromamba environment (or conda):\n\n```bash\nmicromamba env create -f environment.yml\n```\n\nActivate environment:\n\n```bash\nmicromamba activate nanogptrs\n```\n\n```bash\nexport LD_LIBRARY_PATH=/opt/conda/lib/python3.10/site-packages/torch/lib/:$LD_LIBRARY_PATH\n```\n\n# Run - generate from pretrained GPT-2\n\n```bash\n./data/download.sh\n./models/download.sh gpt2\ncargo run --release -- --device=cuda --restore-from models/gpt2/model.safetensors generate --max-len 32 --prompt \"Once upon a time\" gpt2\n```\n\n# Run - train nano-gpt\n\n```bash\ncargo run --release -- --device=cuda train --n-epochs=3 --final-checkpoint-path=models/nanogptrs.safetensors nano-gpt\n```\n\nShould eventually (~5h on my Titan XP) produce something like this:\n\n```\nDUCHESS OF YORK:\nHere comes already.\n\nEXTOLY:\nO, by the means of your crown?\n\nKING HENRY VI:\nBrother, that my lord, change thou givest queen.\n\nKING RICHARD II:\nMine honour, because I am advertised\nThe queen our is not your voice. Would thy sight\nNext Rome, among, insible express to dictliffe:\nFor ere for goings\nAbova drunking redel her food pain soul to every it.\n\nQUEEN MARGARET:\nI took! O, if you so, good and the Montague of slave,\nThat he's breathing which holy a holy brats.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssoudan%2Fnanogptrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssoudan%2Fnanogptrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssoudan%2Fnanogptrs/lists"}